Wine + Enter The Matrix не запускается

Здравствуйте.
Прошу не судить строго, с archlinux только начинаю знакомиться, как в прочем и linux системой в целом, поэтому прошу отнестись с пониманием.
Долгое время не мог придумать применение старому ноутбуку Acer aspire 4315:
  • Intel Celeron processor 540 (1.86 Ghz, 533 MHz FSB, 1MB L2 cache);
  • UP to 252 MB Mobile Intel Graphics Media Accelerator X3 100;
    $ lspci | grep VGA
    00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (primary) (rev 03)
  • 1 GB DDR 2

Данную проблему решило желание попробовать linux = )

С успехом установил на него archlinux
$ uname -a
Linux arch-book 3.12.5-1-ARCH #1 SMP PREEMPT Thu Dec 12 13:32:40 CET 2013 i686 GNU/Linux
xfce4;
драйвера для intel;
wine
$ wine --version
wine-1.7.9
Через winetricks поставил практически все библиотеки.

Вот что у меня сейчас находится в реестре:
  • AlwaysOffscreen:disabled
  • DirectDrawRenderer:opengl
  • Multisampling:enabled
  • OffscreenRenderingMode:fbo
  • PixelShaderMode:enabled
  • RenderTargetLockMode:auto
  • StrictDrawOrdering:disabled
  • UseGLSL:enabled
  • VertexShaders:hardware
  • VideoMemorySize:128
  • MouseWarpOverride:enabled
  • ShowCrashDialog:0
  • GrabFullScreenDilog:N

После этого поставил для пробы cstrike 1.6, Dark Messiah Of Might And Magic, Vampire The Masquerade, Neverwinter Nights, Max Payne.
Все запускаются и работают. Правда с жуткими тормозами Dark Messiah Of Might And Magic.

Но самое интересное началось после попытки запустить Enter the Matrix.
Если ее запустить по ярлычку, то открывается окно wine и через несколько секунд закрывается.
Вот вывод программы после ее запуска из консоли:
$ wine ~/.wine/drive_c/Games/Enter\ the\ Matrix/Matrix.exe
fixme:advapi:RegisterTraceGuidsW (0x100778a, 0x100a060, {485e7de8-0a80-11d8-ad15-505054503030}, 1, 0x33fdc0, (null), (null), 0x100a068): stub
fixme:advapi:RegisterTraceGuidsW (0x100778a, 0x100a080, {485e7de9-0a80-11d8-ad15-505054503030}, 1, 0x33fdc0, (null), (null), 0x100a088): stub
fixme:advapi:RegisterTraceGuidsW (0x100778a, 0x100a0a0, {485e7dea-0a80-11d8-ad15-505054503030}, 1, 0x33fdc0, (null), (null), 0x100a0a8): stub
fixme:advapi:RegisterTraceGuidsW (0x100778a, 0x100a0c0, {485e7deb-0a80-11d8-ad15-505054503030}, 1, 0x33fdc0, (null), (null), 0x100a0c8): stub
fixme:advapi:RegisterTraceGuidsW (0x100778a, 0x100a0e0, {485e7dec-0a80-11d8-ad15-505054503030}, 1, 0x33fdc0, (null), (null), 0x100a0e8): stub
fixme:advapi:RegisterTraceGuidsW (0x100778a, 0x100a100, {485e7ded-0a80-11d8-ad15-505054503030}, 1, 0x33fdc0, (null), (null), 0x100a108): stub
fixme:win:RegisterDeviceNotificationW (hwnd=0x11dac0, filter=0x53e8bc,flags=0x00000001) returns a fake device notification handle!
fixme:d3d:check_fbo_compat Format WINED3DFMT_R16G16_UNORM with rendertarget flag is not supported as FBO color attachment, and no fallback specified.
fixme:d3d:check_fbo_compat Format WINED3DFMT_R16G16B16A16_UNORM with rendertarget flag is not supported as FBO color attachment, and no fallback specified.
fixme:win:EnumDisplayDevicesW ((null),0,0x33f828,0x00000000), stub!
fixme:d3d_surface:surface_init multisample_quality set to 1, substituting 0.
fixme:d3d_surface:surface_init multisample_quality set to 1, substituting 0.
fixme:d3d_surface:surface_init multisample_quality set to 1, substituting 0.
fixme:d3d_surface:surface_init multisample_quality set to 1, substituting 0.
fixme:d3d_surface:surface_init multisample_quality set to 1, substituting 0.
fixme:d3d_surface:surface_init multisample_quality set to 1, substituting 0.
fixme:d3d:resource_check_usage Unhandled usage flags 0x8.
fixme:d3d9:Direct3DShaderValidatorCreate9 stub
wine: Unhandled page fault on read access to 0x00000000 at address 0x7bbb53 (thread 0009), starting debugger...
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x007bbb53).
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
 EIP:007bbb53 ESP:0033fa94 EBP:0033fad8 EFLAGS:00210206(  R- --  I   - -P- )
 EAX:00000000 EBX:7b8b8000 ECX:0033faa8 EDX:00000000
 ESI:00000000 EDI:008a1ff3
Stack dump:
0x0033fa94:  00000000 0033faa8 00000000 00000000
0x0033faa4:  00000000 0033facc 7b8b8000 00002000
0x0033fab4:  00000004 016307d8 35545844 00000000
0x0033fac4:  00002000 0089fa0b 00000000 00000008
0x0033fad4:  016307d8 0033fafc 007bbc23 016307d8
0x0033fae4:  00000080 00000040 00000003 0000000f
Backtrace:
=>0 0x007bbb53 in matrix (+0x3bbb53) (0x0033fad8)
  1 0x007bbc23 in matrix (+0x3bbc22) (0x0033fafc)
  2 0x0079c7b1 in matrix (+0x39c7b0) (0x0033fb24)
  3 0x0079d15d in matrix (+0x39d15c) (0x0033fb34)
  4 0x0073e080 in matrix (+0x33e07f) (0x0033fd14)
  5 0x00642464 in matrix (+0x242463) (0x0033fd44)
  6 0x006440b1 in matrix (+0x2440b0) (0x0033fd58)
  7 0x007b01eb in matrix (+0x3b01ea) (0x0033fd80)
  8 0x007b0691 in matrix (+0x3b0690) (0x0033fdc4)
  9 0x008a20c1 in matrix (+0x4a20c0) (0x0033fe50)
  10 0x7b85fbfc call_process_entry+0xb() in kernel32 (0x0033fe68)
  11 0x7b860d43 in kernel32 (+0x50d42) (0x0033fea8)
  12 0x7bc7ecf0 call_thread_func_wrapper+0xb() in ntdll (0x0033fec8)
  13 0x7bc81c6f call_thread_func+0x9e() in ntdll (0x0033ff98)
  14 0x7bc7ecce RtlRaiseException+0x21() in ntdll (0x0033ffc8)
  15 0x7bc532d1 call_dll_entry_point+0x840() in ntdll (0x0033ffe8)
  16 0xb7567b2d wine_call_on_stack+0x1c() in libwine.so.1 (0x00000000)
  17 0xb7567c0e wine_switch_to_stack+0x2d() in libwine.so.1 (0xbfeb89a8)
  18 0x7bc58f82 LdrInitializeThunk+0x3a1() in ntdll (0xbfeb8a08)
  19 0x7b8676b3 __wine_kernel_init+0xa12() in kernel32 (0xbfeb9b28)
  20 0x7bc5954b __wine_process_init+0x19a() in ntdll (0xbfeb9bb8)
  21 0xb7565189 wine_init+0x2e8() in libwine.so.1 (0xbfeb9c28)
  22 0x7bf00dbc main+0x8b() in <wine-loader> (0xbfeba078)
  23 0xb73ab9a3 __libc_start_main+0xf2() in libc.so.6 (0x00000000)
0x007bbb53: movl        0x0(%eax),%ecx
Modules:
Module  Address                 Debug info      Name (105 modules)
PE        340000-  3ee000       Deferred        dinput8
PE        400000-  fa9000       Export          matrix
PE        fb0000- 1015000       Deferred        divxdecoder
PE       1020000- 1038000       Deferred        fileparser
PE       26f0000- 270b000       Deferred        mssds3d.m3d
PE      10000000-10018000       Deferred        divxmedialib
PE      21100000-21164000       Deferred        mss32
PE      22100000-22122000       Deferred        mssa3d.m3d
PE      22300000-2232b000       Deferred        msseax.m3d
PE      22400000-22419000       Deferred        msssoft.m3d
PE      22600000-2261f000       Deferred        mssdx7.m3d
PE      22700000-22768000       Deferred        mssrsx.m3d
PE      24100000-24121000       Deferred        mssdsp.flt
ELF     7b800000-7ba5e000       Dwarf           kernel32<elf>
  \-PE  7b810000-7ba5e000       \               kernel32
ELF     7bb07000-7bc00000       Deferred        libasound.so.2
ELF     7bc00000-7bce3000       Dwarf           ntdll<elf>
  \-PE  7bc10000-7bce3000       \               ntdll
ELF     7bd54000-7bdc6000       Deferred        setupapi<elf>
  \-PE  7bd60000-7bdc6000       \               setupapi
ELF     7bdc6000-7bf00000       Deferred        oleaut32<elf>
  \-PE  7bde0000-7bf00000       \               oleaut32
ELF     7bf00000-7bf04000       Dwarf           <wine-loader>
ELF     7c41a000-7c430000       Deferred        hid<elf>
  \-PE  7c420000-7c430000       \               hid
ELF     7d468000-7d473000       Deferred        libpciaccess.so.0
ELF     7d473000-7d48f000       Deferred        libgcc_s.so.1
ELF     7d578000-7d587000       Deferred        libdrm_radeon.so.1
ELF     7d587000-7d5a9000       Deferred        libdrm_intel.so.1
ELF     7d5a9000-7daee000       Deferred        i965_dri.so
ELF     7daee000-7dafc000       Deferred        libdrm.so.2
ELF     7dafc000-7db56000       Deferred        libgl.so.1
ELF     7db64000-7db6d000       Deferred        librt.so.1
ELF     7db90000-7dbc1000       Deferred        winealsa<elf>
  \-PE  7dba0000-7dbc1000       \               winealsa
ELF     7dbc1000-7dbe4000       Deferred        mmdevapi<elf>
  \-PE  7dbd0000-7dbe4000       \               mmdevapi
ELF     7dbe4000-7dc2f000       Deferred        dsound<elf>
  \-PE  7dbf0000-7dc2f000       \               dsound
ELF     7dd02000-7dd0a000       Deferred        libdrm_nouveau.so.2
ELF     7dd0a000-7dd10000       Deferred        libxcb-dri2.so.0
ELF     7dd10000-7dd29000       Deferred        libxcb-glx.so.0
ELF     7dd29000-7dd2c000       Deferred        libx11-xcb.so.1
ELF     7dd2c000-7dd30000       Deferred        libxdamage.so.1
ELF     7dd30000-7dd48000       Deferred        libglapi.so.0
ELF     7dd6b000-7dd91000       Deferred        imm32<elf>
  \-PE  7dd70000-7dd91000       \               imm32
ELF     7ddb5000-7ddec000       Deferred        uxtheme<elf>
  \-PE  7ddc0000-7ddec000       \               uxtheme
ELF     7ddec000-7ddf2000       Deferred        libxfixes.so.3
ELF     7ddf2000-7ddfd000       Deferred        libxcursor.so.1
ELF     7ddfd000-7de0e000       Deferred        libxi.so.6
ELF     7de0e000-7de19000       Deferred        libxrandr.so.2
ELF     7de19000-7de24000       Deferred        libxrender.so.1
ELF     7de24000-7de2a000       Deferred        libxxf86vm.so.1
ELF     7de2a000-7de4c000       Deferred        libxcb.so.1
ELF     7de4c000-7df83000       Deferred        libx11.so.6
ELF     7df83000-7df96000       Deferred        libxext.so.6
ELF     7dfb9000-7e050000       Deferred        winex11<elf>
  \-PE  7dfc0000-7e050000       \               winex11
ELF     7e050000-7e079000       Deferred        libexpat.so.1
ELF     7e079000-7e0b4000       Deferred        libfontconfig.so.1
ELF     7e0b4000-7e0ed000       Deferred        libpng16.so.16
ELF     7e0ed000-7e0fe000       Deferred        libbz2.so.1.0
ELF     7e0fe000-7e115000       Deferred        libz.so.1
ELF     7e115000-7e1b6000       Deferred        libfreetype.so.6
ELF     7e1b6000-7e215000       Deferred        libncursesw.so.5
ELF     7e215000-7e219000       Deferred        libxcomposite.so.1
ELF     7e238000-7e347000       Deferred        opengl32<elf>
  \-PE  7e260000-7e347000       \               opengl32
ELF     7e347000-7e48b000       Deferred        wined3d<elf>
  \-PE  7e360000-7e48b000       \               wined3d
ELF     7e48b000-7e4c9000       Deferred        d3d9<elf>
  \-PE  7e490000-7e4c9000       \               d3d9
ELF     7e4c9000-7e574000       Deferred        msvcrt<elf>
  \-PE  7e4e0000-7e574000       \               msvcrt
ELF     7e574000-7e681000       Deferred        comctl32<elf>
  \-PE  7e580000-7e681000       \               comctl32
ELF     7e681000-7e6ad000       Deferred        msacm32<elf>
  \-PE  7e690000-7e6ad000       \               msacm32
ELF     7e6ad000-7e733000       Deferred        rpcrt4<elf>
  \-PE  7e6c0000-7e733000       \               rpcrt4
ELF     7e733000-7e877000       Deferred        ole32<elf>
  \-PE  7e750000-7e877000       \               ole32
ELF     7e877000-7e931000       Deferred        winmm<elf>
  \-PE  7e880000-7e931000       \               winmm
ELF     7e931000-7e9a4000       Deferred        advapi32<elf>
  \-PE  7e940000-7e9a4000       \               advapi32
ELF     7e9a4000-7eac8000       Deferred        gdi32<elf>
  \-PE  7e9b0000-7eac8000       \               gdi32
ELF     7eac8000-7ec29000       Deferred        user32<elf>
  \-PE  7eae0000-7ec29000       \               user32
ELF     7ef8a000-7ef97000       Deferred        libnss_files.so.2
ELF     7ef97000-7efdd000       Deferred        libm.so.6
ELF     7efdf000-7efe6000       Deferred        libxdmcp.so.6
ELF     7efe6000-7f000000       Deferred        version<elf>
  \-PE  7eff0000-7f000000       \               version
ELF     b7360000-b7364000       Deferred        libxinerama.so.1
ELF     b7364000-b7368000       Deferred        libxau.so.6
ELF     b736a000-b736f000       Deferred        libdl.so.2
ELF     b7392000-b7542000       Dwarf           libc.so.6
ELF     b7542000-b755e000       Deferred        libpthread.so.0
ELF     b755e000-b7715000       Dwarf           libwine.so.1
ELF     b7716000-b7738000       Deferred        ld-linux.so.2
ELF     b7738000-b7739000       Deferred        [vdso].so
Threads:
process  tid      prio (all id:s are in hex)
00000008 (D) C:\Games\Enter the Matrix\Matrix.exe
        00000035    2
        00000034    0
        00000033   15
        00000031   15
        0000002e    0
        00000009    0 <==
0000000c winemenubuilder.exe
        0000000d    0
0000000e services.exe
        0000002d    0
        00000026    0
        00000025    0
        0000001c    0
        00000016    0
        00000014    0
        00000010    0
        0000000f    0
00000012 winedevice.exe
        00000019    0
        00000018    0
        00000017    0
        00000013    0
0000001a plugplay.exe
        0000001f    0
        0000001e    0
        0000001b    0
00000020 wdfmgr.exe
        0000002c    0
        0000002b    0
        0000002a    0
        00000029    0
        00000027    0
        00000021    0
00000022 explorer.exe
        00000024    0
        00000023    0
Куда и в какую сторону копать и что проверить я не понимаю.
Поэтому прошу помощи.
Заранее всем спасибо!
для начала сходить на http://www.winehq.org/, там посмотреть на историю успеха ( http://appdb.winehq.org/objectManager.php?sClass=application&iId=5175 ). Читаем, проникаемся ( смотрим www.youtube.com/watch?v=dBvkigBVgvY ).

Еще один совет: не пытайся понаставить все библиотеки сразу, потом не разберешся. Лучше попробовать запустить пагримушку на чистом вайне, а дальше внимательно изучать сообщения err:
ghost
для начала сходить на http://www.winehq.org/, там посмотреть на историю успеха ( http://appdb.winehq.org/objectManager.php?sClass=application&iId=5175 ). Читаем, проникаемся ( смотрим www.youtube.com/watch?v=dBvkigBVgvY ).

Еще один совет: не пытайся понаставить все библиотеки сразу, потом не разберешся. Лучше попробовать запустить пагримушку на чистом вайне, а дальше внимательно изучать сообщения err:

Посмотрел на appdb.winehq.org. Там практически у всех игра запустилась. Комментариев или особой информации по установке этой игры также нету.
Из видео на youtube ничего не понятно, т.к. там все на испанском и translate.google.com не помог.

Ставил на чистый wine - ничего не изменилось. Сообщений аля "err:" не выскакивает. Только несколько "fixme:"
из winetricks ставил dxdiag. DirectDraw и Direct3d тесты отрабатывают.

В логе после нескольких "fixme" выскакивает "wine: Unhandled page fault on read access to 0x00000000 at address 0x7bbb53 (thread 0009), starting debugger...", а дальше отладочная информация из которой вообще ничего не понятно.

Что еще можно сделать чтобы понять из-за чего игра сразу отваливается?

Может что-то с настройкой видеокарты?

glxgears работает, шестерни крутятся.

glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
303 frames in 5.0 seconds = 60.481 FPS
299 frames in 5.0 seconds = 59.688 FPS
299 frames in 5.0 seconds = 59.688 FPS
299 frames in 5.0 seconds = 59.691 FPS
shostakovsky
glxgears работает, шестерни крутятся
vblank_mode=0 glxgears

Natrio
shostakovsky
glxgears работает, шестерни крутятся
vblank_mode=0 glxgears


$ vblank_mode=0 glxgears
ATTENTION: default value of option vblank_mode overridden by environment.
ATTENTION: default value of option vblank_mode overridden by environment.
3404 frames in 5.0 seconds = 680.699 FPS
3401 frames in 5.0 seconds = 680.108 FPS
3405 frames in 5.0 seconds = 680.962 FPS
3407 frames in 5.0 seconds = 681.116 FPS
3405 frames in 5.0 seconds = 680.774 FPS
3338 frames in 5.0 seconds = 667.503 FPS
Согласен с ghost.
Почему не хотите воспользоваться его советом и поставить на чистый WINE?
Удалите ~/.wine (надеюсь, понятно), ну, или другую папку, куда ставите свою игру.
Повторите процедуру установки. Не ставьте лишнего, если оно не надо.
Можете использовать и другой WINEPREFIX для данной игры. Я для каждой программы использую отдельные префиксы.
У меня были случаи, что после установки directx с помщью winetricks старые игры переставали работать.
z-vladimir
Согласен с ghost.
Почему не хотите воспользоваться его советом и поставить на чистый WINE?
Удалите ~/.wine (надеюсь, понятно), ну, или другую папку, куда ставите свою игру.
Повторите процедуру установки. Не ставьте лишнего, если оно не надо.
Можете использовать и другой WINEPREFIX для данной игры. Я для каждой программы использую отдельные префиксы.
У меня были случаи, что после установки directx с помщью winetricks старые игры переставали работать.

Я уже что только не пробовал. Создавал новый префикс, оставлял все по-умолчанию. Игра устанавливается и при запуске сразу пишет дамп.
После этого последовательно пытался устанавливать разные библиотеки в надежде получить хотя бы какаю-нибудь "err". Безрезультатно.

По такому же принципу пробовал устанавливать Thief 2.
Эта игра хотя бы одну ошибку выдает:
err:winediag:wined3d_dll_init The GLSL shader backend has been disabled. You get to keep all the pieces if it breaks.
Перерыл весь интернет, но решение так и не нашел.
Пробовал играться с реестром по следующим параметрам:
AlwaysOffscreen:disabled
DirectDrawRenderer:opengl
Multisampling:enabled
OffscreenRenderingMode:fbo
PixelShaderMode:enabled
RenderTargetLockMode:auto
StrictDrawOrdering:disabled
UseGLSL:enabled
VertexShaders:hardware.

Но безрезультатно.

Попробовал в чистый префикс поставить Thief 3 - запустилась сразу без разговоров. Но текстуры отображаются черным пятном, в терминале получаю следующий вывод:
fixme:d3d:state_wrap (WINED3D_RS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3D_RS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3D_RS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3D_RS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3D_RS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3D_RS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3D_RS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3D_RS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3D_RS_WRAP0) Texture wrapping not yet supported.

Установка основных библиотек проблему не решило.

Единственное что запускается без проблем, так это Heroes 3 =)

Заметил что в играх The Matrix и Thief 2 игровое видео хранится в виде обычного видео. Пробовал кодеки, но (естесно) не помогло.

В бд успехов http://www.winehq.org/ версии вайна старые, может есть смысл попробовать те версии вайна поставить? Возможно ли это?
В бд успехов http://www.winehq.org/ версии вайна старые, может есть смысл попробовать те версии вайна поставить? Возможно ли это?

Да, можно. Поставь Play on Linux, там можно выбрать любую версию wine, а каждое приложение можно устанавливать в отдельный префикс
В версиях WINE после 1.7.1 у меня тоже посыпались проблемы со старыми играми. Всю голову сломал с этим. Скорее всего связано это было с тем, что вызовы directx перестали перенаправляться на OpenGL. Правда это тлько мое предположение. Может изменились только опции компиляции пакета... Если есть возможность, необходимо сами игры настраивать так, чтобы те использовали OpenGL. Если нет, то можно попробовать:
1. Поставить WINE 1.7.1 и ниже
2. Мне помогло использование библиотеки ddraw.dll (положил в папку с игрой и в настройках WINE указал использование сначала сторонней dll). После этого софтовая, судя по всему, обработка графики стала нормально и быстро отрисовываться аппаратно.
Все это безотносительно к Вашей проблеме, но может все же поможет, т.к. симптомы похожие на мои.
У меня правда графика nvidia и их проприетарные драйвера.
ghost
В бд успехов http://www.winehq.org/ версии вайна старые, может есть смысл попробовать те версии вайна поставить? Возможно ли это?

Да, можно. Поставь Play on Linux, там можно выбрать любую версию wine, а каждое приложение можно устанавливать в отдельный префикс

Поставил PlayOnLinux, периодически выдает ошибку "iCPP:known incorect sRGB profile". Пока не пытался разобраться в чем проблема, но если кто-то подскажет что это за ошибка и как ее исправить - буду благодарен.

При попытке установить игру сразу выдает ошибку.
 
Зарегистрироваться или войдите чтобы оставить сообщение.