LINUX.ORG.RU
ФорумGames

Dead Space + Wine 1.1.3.6 не запускается.


0

0

Все никак не могу запустить Дед Спейс под вайном. Вот выхлоп (вот на paste.org если там удобнее читать: http://paste.org/pastebin/view/14880 ):

sideobserver@Eva-05:~$ wine '/home/sideobserver/.wine/dosdevices

/c:/DEAD SPACE/Dead space.exe'

fixme:actctx:parse_depend_manifests Could not find dependent assembly

L"Microsoft.VC80.CRT" (8.0.50727.762)

fixme:ntdll:NtQuerySystemInformation info_class

SYSTEM_HANDLE_INFORMATION

fixme:ntdll:NtQueryObject Unsupported information class 3

fixme:debugstr:CheckRemoteDebuggerPresent (0xffffffff)->(0x2306778):

Stub!

err:rpc:I_RpcGetBuffer no binding

fixme:ntdll:NtQueryInformationProcess (process=0xffffffff)

Unimplemented information class: ProcessDebugFlags

fixme:win:EnumDisplayDevicesW ((null),0,0x23064dc,0x00000000), stub!

fixme:win:EnumDisplayDevicesW ((null),0,0x230605c,0x00000000), stub!

fixme:psapi:EnumPageFilesA (0x14bac20, 0x22e5a5c) stub

fixme:psapi:EnumPageFilesA (0x14bac20, 0x22b0378) stub

fixme:win:EnumDisplayDevicesW ((null),0,0x224c454,0x00000000), stub!

fixme:win:EnumDisplayDevicesW ((null),0,0x224bfd4,0x00000000), stub!

fixme:win:EnumDisplayDevicesW ((null),0,0x224bd18,0x00000000), stub!

fixme:win:EnumDisplayDevicesW ((null),0,0x224b898,0x00000000), stub!

fixme:win:EnumDisplayDevicesW ((null),0,0x224c458,0x00000000), stub!

fixme:win:EnumDisplayDevicesW ((null),0,0x224bfd8,0x00000000), stub!

fixme:ntdll:NtQueryInformationProcess (process=0xffffffff)

Unimplemented information class: ProcessDeviceMap

fixme:ntdll:NtQuerySystemInformation info_class

SYSTEM_HANDLE_INFORMATION

fixme:ntdll:NtQueryObject Unsupported information class 3

fixme:debugstr:CheckRemoteDebuggerPresent (0xffffffff)->(0x231f834):

Stub!

err:rpc:I_RpcGetBuffer no binding

fixme:ntdll:NtQueryInformationProcess (process=0xffffffff)

Unimplemented information class: ProcessDebugFlags

fixme:d3d9:D3DPERF_GetStatus (void) : stub

fixme:d3d9:D3DPERF_SetOptions (0x1) : stub

fixme:thread:SetThreadIdealProcessor (0x774): stub

AffinityMask = 1; Initial APIC = 0; Physical ID = 0, Core ID = 0,

SMT ID = 0 AffinityMask = 2; Initial APIC = 1; Physical ID = 0, Core ID = 1,

SMT ID = 0 AffinityMask = 4; Initial APIC = 2; Physical ID = 0, Core ID = 2,

SMT ID = 0

AffinityMask = 8; Initial APIC = 3; Physical ID = 0, Core ID = 3,

SMT ID = 0

fixme:thread:SetThreadIdealProcessor (0x778): stub

fixme:thread:SetThreadIdealProcessor (0x77c): stub

fixme:thread:SetThreadIdealProcessor (0x780): stub

fixme:thread:SetThreadIdealProcessor (0x794): stub

fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub

fixme:win:EnumDisplayDevicesW ((null),0,0x231eb24,0x00000000), stub!

fixme:d3d:WineD3D_ChoosePixelFormat Add OpenGL context recreation

support to SetDepthStencilSurface

fixme:d3d:debug_d3dformat Unrecognized 875710020 (as fourcc: DF24)

WINED3DFORMAT!

fixme:d3d:getFormatDescEntry Can't find format

unrecognized(875710020) in the format lookup table

fixme:d3d:debug_d3dformat Unrecognized 1515667794 (as fourcc: RAWZ)

WINED3DFORMAT!

fixme:d3d:getFormatDescEntry Can't find format

unrecognized(1515667794) in the format lookup table

fixme:d3d:debug_d3dformat Unrecognized 1515474505 (as fourcc: INTZ)

WINED3DFORMAT!

fixme:d3d:getFormatDescEntry Can't find format

unrecognized(1515474505) in the format lookup table

fixme:d3d:debug_d3dformat Unrecognized 1111774798 (as fourcc: NVDB)

WINED3DFORMAT!

fixme:d3d:getFormatDescEntry Can't find format

unrecognized(1111774798) in the format lookup table

fixme:thread:SetThreadIdealProcessor (0x98c): stub

fixme:thread:SetThreadIdealProcessor (0x990): stub

fixme:thread:SetThreadIdealProcessor (0x994): stub

fixme:wbemprox:wbem_locator_ConnectServer 0xafe29b8, L"\\\\.\\root

\\cimv2", (null), (null), (null), 0x00000000, (null), (nil),

0x231edb8)

fixme:wbemprox:wbem_locator_ConnectServer 0xafe2fa8, L"\\\\.\\root

\\cimv2", (null), (null), (null), 0x00000000, (null), (nil),

0x231edb8)

fixme:xinput:XInputGetState (0 0x231efd4)

fixme:xinput:XInputGetState (1 0x231efd4)

fixme:xinput:XInputGetState (2 0x231efd4)

fixme:xinput:XInputGetState (3 0x231efd4)

fixme:win:EnumDisplayDevicesW ((null),0,0x231ebf8,0x00000000), stub!

wine: Unhandled page fault on read access to 0x00000004 at address

0x1d51977 (thread 0009), starting debugger...

Terminated

Слышал, что главная проблема в EnumDisplayDevicesW, но как пофиксить?

Ответ на: комментарий от SideObserver

Как и со всеми патчами, скинуть в каталог с исходниками и patch -pN < имяпатча (где N — разница в глубине каталогов, обычно 0, если не сработало 1 :)

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

Я никогда ничего не патчил. То есть получается так:

1. Качаю исходники Вайна 2. в каталог с ними кидаю патч. 3. Ввожу в терминале patch -pN < имя патча 4. Собираю исходники и устанавливаю Вайн.

Верно? Перед этим надо удалить старый Вайн и скачать откуда-то патч... Откуда? И еще, как собрать исходники для установки? Просто последний раз, когда я собирал что-то, пришлось установить более 20-ти пакетов для сборки, а после вся система похерилась из-за нарушения зависимостей после установки всех пакетов, нужных для сборки из исходников программы.

SideObserver
() автор топика
Ответ на: комментарий от Gary

Да, но тогда какой смысл? То есть мне надо скачать исходники Вайна, скинуть их в каталог с патчем, запустить патч и все? Но как пропатчится Вайн, если я пропатчу всего лишь его исходники, а не установленную версию Вайна?

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

> Да, но тогда какой смысл? То есть мне надо скачать исходники Вайна, скинуть их в каталог с патчем, запустить патч и все? Но как пропатчится Вайн, если я пропатчу всего лишь его исходники, а не установленную версию Вайна?

Он имеет в виду скомпилировать патченный вайн и запускать без установки. Обычно достаточно ./configure && make (с вайном не пробовал, могут понадобиться какие-то опции для ./configure).

Либо собрать патченный вайн и установить его вместо стандартного средствами дистрибутива. Это расписано в соответствующей докуументации.

Какой дистрибутив? В Gentoo можно установить патченный пакет так (http://en.gentoo-wiki.com/wiki/Overlay, http://en.gentoo-wiki.com/wiki/Writing_Ebuilds):

  • Создать директории /usr/local/portage/app-emulation/wine/ и /usr/local/portage/app-emulation/wine/files/ . Добавить /usr/local/portage/ в список оверлеев — вставить в /etc/make.conf строку PORTDIR_OVERLAY=«$PORTDIR_OVERLAY /usr/local/portage».
  • Скопировать /usr/portage/app-emulation/wine/wine-1.1.36.ebuild в /usr/local/portage/app-emulation/wine/wine-1.1.36-r1.ebuild
  • Скопировать все необходимые патчи из /usr/portage/app-emulation/wine/files/ в /usr/local/portage/app-emulation/wine/files/ (если не уверен, то все).
  • Добавить в /usr/local/portage/app-emulation/wine/files/ свой патч.
  • Найти в ебилде wine-1.1.36-r1.ebuild место, где добавляются патчи (обычно это начало функций src_unpack, src_prepare или src_compile) и добавить свой: epatch «${FILESDIR}»/имяпатча
  • Добавить ебилд в базу: ebuild /usr/local/portage/app-emulation/wine/wine-1.1.36-r1.ebuild digest
  • Установить пакет app-emulation/wine-1.1.36-r1

В других дистрибутивах поступать аналогично. Распаковать пакет с исходниками и скриптами для сборки, найти, где лежат патчи (по-моему в Debian/Ubuntu это один большой файл, про SRPM не помню), добавить туда свой патч, если надо — поправить скрипты по аналогии с остальными патчами, собрать из этого бинарный пакет.

И по-моему у патча http://bugs2.winehq.org/attachment.cgi?id=25844 нужно отрезать строки выше
diff --git a/dlls/user32/misc.c b/dlls/user32/misc.c
и последние 2 строки.

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