Итак, Wine 2.17 обзавелся и набором патчей d3d, и я собрал себе -staging с nine (хотя, учитывая мое железо, это можно было и
не делать -- достаточно простого -staging). Речь в данной теме пойдет о запуске игр, в том числе и World of Tanks/World of Tanks Blitz. Для начала, меня неприятно удивила разница -- если запускать Need for Speed: Most Wanted через *.desktop, то игра запускается и работает нормально, а вот если из консоли -- получим сегфолт. Отладочной информации по нему у меня пока нет, но в "ярлыке" игра запускается такой командой:
[console]env WINEPREFIX="/home/yars/.wine/nfs_mw" /usr/bin/wine C:\\windows\\command\\start.exe /Unix /home/yars/.wine/nfs_mw/dosdevices/c:/users/Public/Рабочий\ стол/Need\ for\ Speed™\ Most\ Wanted.lnk
[/console]
А из консоли такой:
[console]WINEPREFIX=~/.wine/nfs_mw/ wine ~/.wine/nfs_mw/drive_c/Program\ Files\ \(x86\)/EA\ GAMES/Need\ for\ Speed\ Most\ Wanted/speed.exe[/console]
А теперь, внимание, вопрос: почему поведение NFS:MW различается?
Три танкиста, три веселых друга...
А теперь, внимание, вопрос: почему поведение NFS:MW различается?
можно только предположить...
Возможно через линк передаются какие-то переменные окружения, или другой вариант - сам вайн по разному обрабатывает вызов, например какой-нибудь(от фанаря) длл для корректной работы нужно обыгрывать очередной вайновский(версионный) костыль и при одном варианте этот костыль обыгрывается, а при другом он игнорируется.
Ровно такая же ситуация была со сталкерами, сперва для SHOC требовался патч вайна для правильной работы мышки, потом, с многочисленными скандалами и воплями(в духе потеринга аль-ля "нотобаг") всё таки поправили этот модуль и мышь стала работать "из каробки", но при этом (!) прямой запуск из консоли экзешника сталкера стал невозможен, хотя через десктоп-файл работал стабильно и без глюков. При вдумчивом разбирательстве выяснилось следующее - экзешник находился по пути S.T.A.L.K.E.R/bin/XR_3DA.exe, но при запуске(прямом, из консоли) он требовал(сам в себе) наличие конфигурационного файла который находился в каталоге выше S.T.A.L.K.E.R/bin и он просто его не видел, при вызове же через десктоп-файл он чудесным образом начинал его видеть, так как линк был в этом самом S.T.A.L.K.E.R/bin .
Этот винигрет со сталкерами продолжается и по сей день, в один релиз всё работает, в другой начинаются какие-то дикие глюки, потом опять всё ровно. И такое поведение именно из-за вайна, косвенно это можно увидеть при установке некоторых частей из вайнтрикса - там часто проскакивает что-то в духе "запуск этой байды не возможен, применяем финт ушами для обхода бага номер стопицот..."
У тебя скорее всего проблема растет от туда же, тут сложно что-то советовать, читай багтрекер.
Даже так? :) Ого...
Даже так? :) Ого...
ну я предположил, потому как очень схожая ситуация. В последнее время вайн больше расстраивает чем радует, всех охватил психоз Поттеринга-Гномеров3, когда работающие и отлаженные решения объявляются некошерными и устаревшими, а вместо них пишутся какие-то уродливые глюкавые монстры под которые потом пытаются подстраивать всё и вся. Очень показателен выхлоп сборки нативного mono последней инкарнации, в нем внезапно появляются куча чисто виндовских частей, которые, по логике бы прямо использовать в вайне, но... Вайн собирает свои! Нагло заявляя "де mono в системе не обнаружен, эта и эта хреновина работать не будет, пишите письма дедушке Страуструппу...".
Я по тихой грусти обложился учебниками Шилдта, прикупил Visual Studio 2008 и сижу, в свободное время медитирую над этим всем, чтобы хоть чутка понимать что со всем этим делать когда припрет... *PARDON*
yars,
не разбирался с примером, но первое, что бросается в глаза -- внутри .lnk прописан рабочий каталог, который станет текущим для запущенного по ярлыку процесса.
Посмотрите этот каталог внутри .lnk, перейдите в указанный каталог (с учётом префикса wine), попробуйте запустить .exe.
Каков результат? Если проблема ушла, то дело только в текущем каталоге запуска.
Если нет, можно будет продолжить поиски иных причин.
bormant, так и есть, после того, как создал тему, попробовал, успешно запустил.
yars, очень интересует запуск World of Tanks :)
Если можно, то поподробней чего да как запустил.
Wolf, ок, вечером займусь.
yars, спасибо *DRINK*
Wolf, не выходит каменный цветок :( До этого все нормально работало, никаких особых ухищрений не требовалось. Установил 32/64-разрядный Wine, на Slackware с мультилибом, увидел, что миникарта не прорисовывается, собрал libtxc_dxtn в варианте -compat32, и все заработало. Потом вышел патч 0.9.18, в настройках Wine пришлось выставлять версию винды win10, а после 0.9.20 "танки" просто падают при загрузке клиента (сам лончер-то запускается и работает), последнее, что есть в выхлопе --
Показать
fixme:imm:ImmReleaseContext (0xc0058, 0x1f473928): stub
fixme:msctf:UIElementMgr_GetUIElement STUB:(0xa713890)
fixme:d3d11:d3d11_device_CheckFormatSupport iface 0x1ad1b0, format 10, format_support 0x33f7b0 partial-stub!
fixme:d3d11:d3d11_device_CheckFormatSupport iface 0x1ad1b0, format 10, format_support 0x33f7b0 partial-stub!
fixme:d3d:wined3d_buffer_create Ignoring access flags (pool).
fixme:d3d11:shdr_handler Unhandled chunk "RDEF".
fixme:d3d11:shdr_handler Unhandled chunk "STAT".
fixme:d3d11:shdr_handler Unhandled chunk "RDEF".
fixme:d3d11:shdr_handler Unhandled chunk "STAT".
fixme:d3d11:shdr_handler Unhandled chunk "RDEF".
fixme:d3d11:shdr_handler Unhandled chunk "STAT".
fixme:d3d11:shdr_handler Unhandled chunk "RDEF".
fixme:d3d11:shdr_handler Unhandled chunk "STAT".
fixme:d3d11:shdr_handler Unhandled chunk "RDEF".
fixme:d3d11:shdr_handler Unhandled chunk "STAT".
fixme:d3d11:shdr_handler Unhandled chunk "RDEF".
fixme:d3d11:shdr_handler Unhandled chunk "STAT".
fixme:wbemprox:client_security_SetBlanket 0xf533482c, 0x1a529d00, 10, 0, (null), 3, 3, (nil), 0x00000000
fixme:wbemprox:client_security_Release 0xf533482c
fixme:wbemprox:wbem_services_CreateInstanceEnum unsupported flags 0x00000030
fixme:wbemprox:wbem_services_CreateInstanceEnum unsupported flags 0x00000030
fixme:wbemprox:wbem_services_CreateInstanceEnum unsupported flags 0x00000030
fixme:wbemprox:wbem_services_CreateInstanceEnum unsupported flags 0x00000030
fixme:wbemprox:wbem_services_CreateInstanceEnum unsupported flags 0x00000030
fixme:wbemprox:wbem_services_CreateInstanceEnum unsupported flags 0x00000030
fixme:d3d11:d3d11_device_CheckFormatSupport iface 0x1ad1b0, format 45, format_support 0x33f998 partial-stub!
fixme:d3d11:d3d11_device_CheckFormatSupport iface 0x1ad1b0, format 87, format_support 0x33f994 partial-stub!
fixme:d3d11:d3d11_device_CheckFormatSupport iface 0x1ad1b0, format 45, format_support 0x33f994 partial-stub!
fixme:dxgi:dxgi_swapchain_GetDesc iface 0x21c2f8, desc 0x33f9b4 partial stub!
fixme:dxgi:dxgi_swapchain_GetDesc Ignoring ScanlineOrdering, Scaling and SwapEffect.
fixme:dxgi:dxgi_factory_CreateSwapChain iface 0x161568, device 0x1ad1b0, desc 0x33f978, swapchain 0x87806a8 partial stub!
fixme:dxgi:dxgi_factory_CreateSwapChain Ignoring SwapEffect 0.
fixme:d3d:swapchain_init The application requested more than one back buffer, this is not properly supported.
Please configure the application to use double buffering (1 back buffer) if possible.
fixme:d3d11:device_parent_create_swapchain_texture device_parent 0x1ad1dc, container_parent 0x1d2718, wined3d_desc 0x33f778, texture flags 0, wined3d_texture 0x1e4c78 partial stub!
fixme:d3d11:device_parent_create_swapchain_texture Implement DXGI<->wined3d usage conversion.
fixme:d3d11:device_parent_create_swapchain_texture device_parent 0x1ad1dc, container_parent 0x1d2718, wined3d_desc 0x33f778, texture flags 0, wined3d_texture 0xa778628 partial stub!
fixme:d3d11:device_parent_create_swapchain_texture Implement DXGI<->wined3d usage conversion.
fixme:d3d11:device_parent_create_swapchain_texture device_parent 0x1ad1dc, container_parent 0x1d2718, wined3d_desc 0x33f778, texture flags 0, wined3d_texture 0xa77862c partial stub!
fixme:d3d11:device_parent_create_swapchain_texture Implement DXGI<->wined3d usage conversion.
fixme:d3d11:device_parent_create_swapchain_texture device_parent 0x1ad1dc, container_parent 0x1d2718, wined3d_desc 0x33f778, texture flags 0, wined3d_texture 0xa778630 partial stub!
fixme:d3d11:device_parent_create_swapchain_texture Implement DXGI<->wined3d usage conversion.
fixme:dxgi:dxgi_factory_MakeWindowAssociation iface 0x161568, window 0xc0058, flags 0x7 stub!
fixme:d3d:create_texture_view OpenGL implementation does not support texture views.
fixme:d3d11:d3d11_device_CheckFormatSupport iface 0x1ad1b0, format 87, format_support 0x33f96c partial-stub!
fixme:d3d11:d3d11_device_CheckFormatSupport iface 0x1ad1b0, format 87, format_support 0x33f96c partial-stub!
fixme:d3d:wined3d_buffer_create Ignoring access flags (pool).
fixme:d3d11:d3d11_device_CheckFormatSupport iface 0x1ad1b0, format 87, format_support 0x33f970 partial-stub!
fixme:d3d11:d3d11_device_CheckFormatSupport iface 0x1ad1b0, format 87, format_support 0x33f970 partial-stub!
fixme:d3d11:d3d11_device_CheckFormatSupport iface 0x1ad1b0, format 87, format_support 0x33f9cc partial-stub!
fixme:d3d11:d3d11_device_CheckFormatSupport iface 0x1ad1b0, format 87, format_support 0x33f9cc partial-stub!
fixme:d3d:wined3d_buffer_create Ignoring access flags (pool).
fixme:d3d:wined3d_buffer_create Ignoring access flags (pool).
fixme:d3d11:d3d11_device_CheckFormatSupport iface 0x1ad1b0, format 87, format_support 0x33f8fc partial-stub!
fixme:d3d11:d3d11_device_CheckFormatSupport iface 0x1ad1b0, format 87, format_support 0x33f8fc partial-stub!
fixme:d3d11:d3d11_device_CheckFormatSupport iface 0x1ad1b0, format 87, format_support 0x33f8fc partial-stub!
fixme:d3d11:d3d11_device_CheckFormatSupport iface 0x1ad1b0, format 87, format_support 0x33f8fc partial-stub!
fixme:d3d11:d3d11_device_CheckFormatSupport iface 0x1ad1b0, format 87, format_support 0x33e9dc partial-stub!
fixme:d3d11:d3d11_device_CheckFormatSupport iface 0x1ad1b0, format 87, format_support 0x33ea64 partial-stub!
fixme:d3d11:d3d11_device_CheckFormatSupport iface 0x1ad1b0, format 87, format_support 0x33ea1c partial-stub!
fixme:d3d11:d3d11_device_CheckFormatSupport iface 0x1ad1b0, format 87, format_support 0x33f9ec partial-stub!
fixme:d3d11:d3d11_device_CheckFormatSupport iface 0x1ad1b0, format 87, format_support 0x33f9ec partial-stub!
fixme:d3d11:d3d11_device_CheckFormatSupport iface 0x1ad1b0, format 87, format_support 0x96fe688 partial-stub!
fixme:d3d11:d3d11_device_CheckFormatSupport iface 0x1ad1b0, format 87, format_support 0x33f7f4 partial-stub!
fixme:d3d11:d3d11_device_CheckFormatSupport iface 0x1ad1b0, format 87, format_support 0x33f7f4 partial-stub!
fixme:d3d11:d3d11_device_CheckFormatSupport iface 0x1ad1b0, format 77, format_support 0x96fe688 partial-stub!
fixme:d3d11:d3d11_device_CheckFormatSupport iface 0x1ad1b0, format 77, format_support 0x96fe688 partial-stub!
AL lib: (WW) ReleaseThreadCtx: 0xf4f05ee0 current for thread being destroyed
AL lib: (WW) ReleaseThreadCtx: 0xf4f05ee0 current for thread being destroyed
fixme:ntdll:EtwEventUnregister (deadbeef) stub.
yars, с сегодняшними обновлениями slackware64-current:alien-multilib:alien-ktown5:wine-2.10, клиент обновился сам(на сегодня) - работает всё, только я в танчики не умею, меня расстреливают на первых двух минутах, поэтому не играю.
Я тоже в этой игре погряз, раньше гонял много времени. Сейчас только 1-2 раза по выходным.
А вообще стараюсь не играть в эту игру.
а после 0.9.20 "танки" просто падают при загрузке клиента (сам лончер-то запускается и работает)
У меня такая же хрень :(
yars, а как обычно в консоли посмотреть разницу параметров, применяемых аргументов и их значений не?