[SOLVED]Запуск игры в отдельном Xserver

Доброго дня!
Решил попробовать запускать приложения wine в отдельном Xserver - вроде как должно решить проблемы с переключением между приложениями.. Но не осилил.
Пробую запускать скрипт со следующим содержимым:


#!/bin/bash
env WINEPREFIX="/home/user/.wine"
cd C:\\windows\\command\\
wine start.exe /Unix /home/user/.wine/dosdevices/c:/users/Public/Рабочий\ стол/Sid\ Meier\'s\ Civilization\ V\ -\ Brave\ New\ World.lnk

Скрипт отлично стартует из консоли. Но, когда я пытаюсь запустить его через xinit, получаю ошибку. ВОт что пытаюсь запустить:

xinit ./civ5.sh -- :10

или

xinit ~/civ5.sh -- :1 vt$XDG_VTNR

Вот что получаю:
(EE) no screens found(EE)

Пытался запускать от рута - получил сообщение, что невозможно инициализировать экран 1 (или 2, или 10 - без разницы).
Как я понял, почему-то в принципе не подключается никакой экран, кроме :0

Конфигурация: arch x64, Nvidia с проприетарными драйверами, один монитор.

Куда копать?
Спасибо!
startx /your/script -- :1
marlock
startx /your/script -- :1
Забыл добавить, что и этот вариант пробовал, а также - скрипт из аура под названием xlaunch. Результат везде одинаковый.
Посмотрел внимательно лог, заинтересовали такие строчки:

[   411.311] (EE) NVIDIA(GPU-0): EVO Push buffer channel allocation failed
[   411.314] (EE) NVIDIA(GPU-0): Failed to allocate EVO core DMA push buffer
[   411.315] (EE) NVIDIA(0): Failing initialization of X screen 0

Первые две просто на всякий случай привёл, а вот последняя заставила задуматься: а почему это драйвер Nvidia ругается на X Screen 0, а не 1?? МОжет быть, дело в том, что драйвер Nvidia игнорирует параметры, переданные xinit, и определяет номер дисплея для запуска самостоятельно?
И дальше строчки такие:

[   411.315] (EE) Screen(s) found, but none have a usable configuration.
[   411.315] (EE)
Fatal server error:
[   411.315] (EE) no screens found(EE) 

Может быть, надо какой-нибудь Xorg.conf править (у меня его вообще нет)?
Попробуйте запустить подобным образом родную линуксовую игру, например
xinit /usr/bin/wesnoth -- :1
Может быть, проблема именно в вайне?

Насчет xlaunch. У меня работает такой вариант для Готики:
% cat /usr/local/bin/gothic
#!/bin/sh
cd /home/vdemin/games/gothic/drive_c/gothic
env WINEPREFIX=/home/vdemin/games/gothic wine gogwrap.exe GOGGOTHIC

% xlaunch gothic
Раньше работали таким же макаром Герои 3, но почему-то сейчас запускаются только без xlaunch. Разбираться впадлу. Мне кажется, зависит от игры и версии wine. Baldurs Gate 1, например, мне вообще не удалось запустить в отдельном сервере.
vdemin
Попробуйте запустить подобным образом родную линуксовую игру,

Чёрт возьми, вы правы! Дело в том, что я подобным образом пытался запустить произвольную графическую программу (например, medit). Она не запускалась, файлилась с теми же ошибками. Но дело в том, что я запускал её без указания полного пути! А сейчас указал полный путь, и всё получилось - и линуксовая игра, и линуксовые текстовый редактор, и даже программка winecfg.

Следующий шаг: переделал свой скрипт на следующий:

#!/bin/bash
cd /home/user/.wine/dosdevices/c\:/Program\ Files\ \(x86\)/2K\ Games/Sid\ Meier\'s\ Civilization\ V/
/usr/sbin/wine Launcher.exe

Так оно запускается с помощью xlaunch!
Но. Запускается только оболочка лончера Цивилизации. При попытке запустить саму игру (выбрав в лончере нужный пункт) она падает. ОДнако, просто из консоли на основном X server этот скрипт запускается нормально - игра потом стартует.

В таком варианте тоже работает только из основного X, а на новом не запускается даже лончер:
cd /home/user/.wine/dosdevices/c\:/Program\ Files\ \(x86\)/2K\ Games/Sid\ Meier\'s\ Civilization\ V/
env WINEPREFIX=/home/user/.wine/dosdevices/c\:/Program\ Files\ \(x86\)/2K\ Games/Sid\ Meier\'s\ Civilization\ V/ wine Launcher.exe 

И в таком:
cd /home/user/.wine/dosdevices/c:/windows/command
env WINEPREFIX="/home/user/.wine" wine start.exe /Unix /home/user/.wine/dosdevices/c:/users/Public/Рабочий\ стол/Sid\ Meier\'s\ Civilization\ V\ -\ Brave\ New\ World.lnk

В общем, пока максимум, чего удалось добиться - старта лончера.
Кстати, всё началось с того, что я захотел нормальное переключение между запущенной игрой и другими приложениями. Альт-таб работает, но глючно: нужно нажать раза 4-5, чтобы фокус таки переместился и была захвачена мышь. В некоторых случаях - например, в диалоге с другими правителями - если переключиться из игры, то вернуться уже не получится - курсор мыши не будет захвачен, то есть фокус никогда не перейдёт на окно игры. Поэтому я думал ещё на тему того, как перехватывать именно фокус вайн-приложения, но ничего на эту тему найти не смог, проще вроде как получается отдельные Иксы запускать..
Получилось!!
Всего-то в первый вариант вместо Launcher.exe прописал имя непосредственно приложения, запускающего Цивилизацию:

#!/bin/bash
cd /home/user/.wine/dosdevices/c\:/Program\ Files\ \(x86\)/2K\ Games/Sid\ Meier\'s\ Civilization\ V/
/usr/sbin/wine CivilizationV.exe
Звук при этом отлично работает, хотя, конечно, всякие мультимедийные клавиши и т.д. не фурычат. Но это и понятно - они остались в том экземпляре X server, где есть оконный менеджер.. В общем, и так сойдёт. Я-ху! :)
В своё время я действовал так: в новых иксах запускался терминал, в котором стартовал лаунчер обливиона. Работало.
А потом поломалось, то ли я перемудрил то ли что-то ещё.
такие дела.
cucullus
В своё время я действовал так: в новых иксах запускался терминал, в котором стартовал лаунчер обливиона
Ну вот я без терминала обошёлся :)
Кстати, стало работать ощутимо плавнее, и ход компьютерного игрока явно быстрее проходит!
Появилась проблема, создал отдельную тему:
http://archlinux.org.ru/forum/topic/13485/

Перестало работать переключение между X-server после того, как запускаю второй инстанс. Привычные Control+Alt+Fn не работают. Если запущен один X-server, то всё ок.
 
Зарегистрироваться или войдите чтобы оставить сообщение.