LINUX.ORG.RU

Wine в отдельном X сервере

 , ,


0

1

Собственно проблема. Захотел запускать wine игрушки в отдельном Х, дабы не мучиться с переключением, да и пошустрее это. Поправил Xwrapper.config, вторые иксы заводятся, но игры не работают, выдавая одинаковую ошибку. Например, для запуска Neverwinter nights я создал такой скрипт:

#!/bin/bash
X :2 -ac -terminate -config only_one_monitor.conf & sleep 2
DISPLAY=:2 nice -20 env WINEPREFIX="/home/user/.wine" wine "C:\GOG Games\NWN2 Complete\nwn2.exe" 
после запуска wine выдает ошибку:
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x0044bd82).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:0044bd82 ESP:0033f85c EBP:012f0ac0 EFLAGS:00010246(  R- --  I  Z- -P- )
 EAX:00000000 EBX:012f0a70 ECX:012f0aa0 EDX:009c69dc
 ESI:012f0ac0 EDI:012f9020
Stack dump:
0x0033f85c:  0033f9d8 012f0aa0 00fddfc0 00b47c58
0x0033f86c:  012f0aa0 012f0ac0 012f9020 0047fef7
0x0033f87c:  009c69dc 00fde1f4 00040003 012f0b34
0x0033f88c:  00fde1f4 000e000d 004351e8 00000050
0x0033f89c:  00fddfc0 0033f9dc 00000000 00000001
0x0033f8ac:  00000000 00000000 60020000 00000320
000c: sel=0067 base=00000000 limit=00000000 32-bit r-x
Backtrace:
=>0 0x0044bd82 in nwn2main (+0x4bd82) (0x012f0ac0)
0x0044bd82: movl	0x0(%eax),%ecx
Modules:
И так на всех играх. В главном Х все запускается нормально. Elementary OS Freya x86_64. Пробовал также на Ubuntu 14.04 x86_64 - такая же беда. Есть идеи, как поправить?


Как у тебя сложно всё. Проще же

start_game

#!/bin/bash

env WINEPREFIX="/home/user/.wine" wine "C:\GOG Games\NWN2 Complete\nwn2.exe"

xinit `which ./start_game` -- :1

ну или сразу

xinit `which env WINEPREFIX="/home/user/.wine" wine "C:\GOG Games\NWN2 Complete\nwn2.exe"` -- :1
Хотя не уверен, что второй вариант будет работать.

xxblx ★★★ ()

Ну, хотя бы повесь лог второго сервера на pastebin.com. Может, пояснее будет. файл /var/log/Xorg.1.log (2, если :2)

И Что там с GLX.

$ DISPLAY=:1 glxinfo | grep OpenGL

Если у тебя :2 используется, то :1 тут на :2 замени или прямо из второго сервера запускай.

Zubok ★★★★★ ()
Последнее исправление: Zubok (всего исправлений: 2)
Ответ на: комментарий от Zubok

Ну, хотя бы повесь лог второго сервера на pastebin.com

http://pastebin.com/ArywAdQf

И Что там с GLX.

OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Mobile 
OpenGL core profile version string: 3.1 (Core Profile) Mesa 10.1.3
OpenGL core profile shading language version string: 1.40
OpenGL core profile context flags: (none)
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 10.1.3
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:

И, на всякий случай полный лог ошибки wine - http://pastebin.com/bmqwB5ry

Sidor ()
Ответ на: комментарий от Sidor

Пока сразу ничего странного не вижу. А простые вайновские программы типа winecfg, regedit и т. д. работают или тоже падают?

Zubok ★★★★★ ()

Поправил Xwrapper.config

Это кто такой, и что ты в нем поправил? А вообще иксовые проги у тебя запускаются таким макаром? xinit /usr/bin/прога -- :2

ashot ★★★ ()
Ответ на: комментарий от ashot

Это кто такой, и что ты в нем поправил?

user@elementary-book:~$ whatis Xwrapper.config
Xwrapper.config (5)  - configuration options for X server wrapper

Поменял «allowed_users=console» на «allowed_users=anybody», чтобы запускать дополнительные Х-серверы из-под уже работающего.

А вообще иксовые проги у тебя запускаются таким макаром? xinit /usr/bin/прога — :2

Да.

Sidor ()
Ответ на: комментарий от Sidor

Хм, может, игры хотят оконный менеджер? При таком способе запуска, как у тебя, он не запускается. Попробуй для проверки запустить не xinit, а startx (должен запуститься со средой), а затем запустить игру оттуда:

$ startx -- :2

Не факт, конечно, что дело вообще в этом.

Zubok ★★★★★ ()
Ответ на: комментарий от Sidor

Если гововоришь что в основных иксах нормально запускается... напиши полную команду команду из основных иксов.

ashot ★★★ ()
Ответ на: комментарий от Zubok

Черный экран, ничего не появляется. Выхлоп консоли:

Loading extension GLX
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Compat map for group 2 redefined
>                   Using new definition
> Warning:          Compat map for group 3 redefined
>                   Using new definition
> Warning:          Compat map for group 4 redefined
>                   Using new definition
Errors from xkbcomp are not fatal to the X server
(II) AIGLX: Suspending AIGLX clients for VT switch
(II) AIGLX: Suspending AIGLX clients for VT switch

Sidor ()
Ответ на: комментарий от Sidor

Наверное, имеется в виду, чтобы из основных иксов перед командой запуска поставить DISPLAY=:2. Тогда игра запустится на втором сервере. Выхлоп с ошибкой тогда?

Черный экран, ничего не появляется. Выхлоп консоли:

Странно. Попробуй и в Elementary, и в Ubuntu Со средой.

Zubok ★★★★★ ()
Ответ на: комментарий от Zubok

Странно. Попробуй и в Elementary, и в Ubuntu Со средой

Это в Elementary, в Ubuntu днем смогу попробовать.

Sidor ()
Ответ на: комментарий от ashot

У меня это просто работает: перехожу на 2-ю консоль и запускаю скрипт tes5

$cat tes5
#!/bin/bash
cd /mnt/wine/def/drive_c/Program\ Files/TES\ V\ -\ Skyrim/
xinit /usr/bin/wine TESV.exe -- :1

ashot ★★★ ()
Ответ на: комментарий от ashot

Ну как обычно игра запускается? С какими параметрами?

Понял. Что-то я туплю уже. Запускаю просто - wine /путь/к/программе.exe. Пробовал так же в скрипте для отдельного Х делать - та же ошибка.

А из консоли пробовал запускать? Alt-Ctrl-F2

То же самое.

Sidor ()
Ответ на: комментарий от Sidor

То же самое.

И иксы вторые не запускаются? Походу что-то дистроспецифичное с конфигами.

ashot ★★★ ()

Немного подниму тему. Есть ли возможность запретить автозакрытие второго Х? То есть, я запускаю игру скриптом

#!/bin/bash
cd /home/user/.wine/drive_c/GOG\ Games/Blood\ II\ -\ The\ Chosen/
nice -20 xinit /usr/bin/wine BLOOD2.EXE -- :2
В дополнительном Х открывается лаунчер. При нажатии PLAY лаунчер закрывается, и закрывается Х, хотя должна запускаться игра. В основном Х все работает естественно.

Sidor ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.