Estou tentando fazer com que o emulador de PSX não $ psx seja executado. Eu vi algumas outras pessoas recebendo seus outros emuladores para GBA no $ gba e SNES (no $ sns) para rodar no Linux com a ajuda do vinho. No entanto, ninguém parece ter o mesmo problema que eu tenho. Quando tento usar um desses emuladores no vinho, recebo o mesmo erro do vinho:
Unhandled exception: assertion failed in 32-bit code (0xf7fe8db9).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
EIP:f7fe8db9 ESP:00a3f4e0 EBP:00a3f4fc EFLAGS:00000286( - -- I S - -P- )
EAX:00000000 EBX:00000002 ECX:00a3f4fc EDX:00000000
ESI:00000008 EDI:00000000
Stack dump:
0x00a3f4e0: 00a3f4fc 00000000 00a3f4fc f7c3fe42
0x00a3f4f0: 7d8d46c0 7d8d46f0 00000000 00000000
0x00a3f500: 00000000 7d734160 f7df26ee 7d8d4000
0x00a3f510: 7d8d46c0 7d8d46f0 00a3f768 7d8c0e3c
0x00a3f520: 7d8d46c0 7d8d46f0 00000000 00000000
0x00a3f530: 00a3f550 00a3f80c 00a3f57c 0000000b
Backtrace:
=>0 0xf7fe8db9 __kernel_vsyscall+0x9() in [vdso].so (0x00a3f4fc)
1 0xf7c3fe42 gsignal+0xc1() in libc.so.6 (0x00a3f4fc)
2 0xf7c41556 abort+0x1b5() in libc.so.6 (0x00a3f848)
3 0x7d6c8f3c pa_frame_size+0x7b() in libpulse.so.0 (0x00a3f848)
4 0x7d8c4ed0 in winepulse (+0x14ecf) (0x00a3f848)
5 0x7e3a58e1 in winmm (+0x158e0) (0x00a3f8c8)
6 0x7e3a5e6b in winmm (+0x15e6a) (0x00a3f8f8)
7 0x7e3a8d6f in winmm (+0x18d6e) (0x00a3f948)
8 0x7ea33e3a WINPROC_wrapper+0x19() in user32 (0x00a3f988)
9 0x7ea34487 in user32 (+0x94486) (0x00a3f9c8)
10 0x7ea3692a in user32 (+0x96929) (0x00a3fa18)
11 0x7e9f6dee in user32 (+0x56ded) (0x00a3fa88)
12 0x7e9fa729 in user32 (+0x5a728) (0x00a3fda8)
13 0x7ea00edf PeekMessageW+0x7e() in user32 (0x00a3fe18)
14 0x7e3a8098 in winmm (+0x18097) (0x00a3fed8)
15 0x7bc7eb54 call_thread_func_wrapper+0xb() in ntdll (0x00a3feec)
16 0x7bc81f89 in ntdll (+0x71f88) (0x00a3ffdc)
17 0x7bc7eb46 call_thread_exit_func+0x31() in ntdll (0x00a3ffec)
0xf7fe8db9 __kernel_vsyscall+0x9 in [vdso].so: popl %ebp
Modules:
Module Address Debug info Name (91 modules)
PE 400000- 5a5000 Deferred no$gba
ELF 7b400000-7b7eb000 Deferred kernel32<elf>
\-PE 7b420000-7b7eb000 \ kernel32
ELF 7bc00000-7bcfa000 Dwarf ntdll<elf>
\-PE 7bc10000-7bcfa000 \ ntdll
ELF 7c000000-7c004000 Deferred <wine-loader>
ELF 7d0a7000-7d0bf000 Deferred libgpg-error.so.0
ELF 7d0bf000-7d14b000 Deferred libvorbisenc.so.2
ELF 7d14b000-7d179000 Deferred libvorbis.so.0
ELF 7d179000-7d1ff000 Deferred libflac.so.8
ELF 7d1ff000-7d2dc000 Deferred libgcrypt.so.20
ELF 7d2dc000-7d36a000 Deferred libsndfile.so.1
ELF 7d36a000-7d3fd000 Deferred libsystemd.so.0
ELF 7d3fd000-7d44e000 Deferred libdbus-1.so.3
ELF 7d44e000-7d581000 Deferred oleaut32<elf>
\-PE 7d470000-7d581000 \ oleaut32
ELF 7d5fd000-7d615000 Deferred libresolv.so.2
ELF 7d615000-7d6a4000 Deferred libpulsecommon-11.1.so
ELF 7d6a4000-7d700000 Dwarf libpulse.so.0
ELF 7d80b000-7d837000 Deferred liblzma.so.5
ELF 7d8ab000-7d8d5000 Dwarf winepulse<elf>
\-PE 7d8b0000-7d8d5000 \ winepulse
ELF 7d8d5000-7d8dc000 Deferred libxfixes.so.3
ELF 7d8dc000-7d8e8000 Deferred libxcursor.so.1
ELF 7d8e8000-7d8fb000 Deferred libxi.so.6
ELF 7d8fb000-7d908000 Deferred libxrandr.so.2
ELF 7d908000-7d914000 Deferred libxrender.so.1
ELF 7d914000-7d91b000 Deferred libxxf86vm.so.1
ELF 7d91b000-7d922000 Deferred libxdmcp.so.6
ELF 7d922000-7d94c000 Deferred libxcb.so.1
ELF 7d94c000-7da99000 Deferred libx11.so.6
ELF 7da99000-7daae000 Deferred libxext.so.6
ELF 7daae000-7dab6000 Deferred libogg.so.0
ELF 7dab6000-7dac0000 Deferred librt.so.1
ELF 7dac0000-7dac7000 Deferred libasyncns.so.0
ELF 7dac7000-7daea000 Deferred mmdevapi<elf>
\-PE 7dad0000-7daea000 \ mmdevapi
ELF 7daea000-7db22000 Deferred uxtheme<elf>
\-PE 7daf0000-7db22000 \ uxtheme
ELF 7db22000-7dbb2000 Deferred winex11<elf>
\-PE 7db30000-7dbb2000 \ winex11
ELF 7dc8a000-7dc93000 Deferred libuuid.so.1
ELF 7dc93000-7dcc5000 Deferred libexpat.so.1
ELF 7dcc5000-7dd0f000 Deferred libfontconfig.so.1
ELF 7dd0f000-7dd86000 Deferred libpcre.so.1
ELF 7dd86000-7deb5000 Deferred libglib-2.0.so.0
ELF 7deb5000-7df70000 Deferred libharfbuzz.so.0
ELF 7df70000-7df89000 Deferred libz.so.1
ELF 7df89000-7dfc7000 Deferred libpng16.so.16
ELF 7dfc7000-7e097000 Deferred libfreetype.so.6
ELF 7e097000-7e105000 Deferred libncursesw.so.6
ELF 7e106000-7e10b000 Deferred libxau.so.6
ELF 7e179000-7e1a4000 Deferred msacm32<elf>
\-PE 7e180000-7e1a4000 \ msacm32
ELF 7e1a4000-7e226000 Deferred rpcrt4<elf>
\-PE 7e1b0000-7e226000 \ rpcrt4
ELF 7e226000-7e380000 Deferred ole32<elf>
\-PE 7e240000-7e380000 \ ole32
ELF 7e380000-7e439000 Dwarf winmm<elf>
\-PE 7e390000-7e439000 \ winmm
ELF 7e439000-7e477000 Deferred winspool<elf>
\-PE 7e440000-7e477000 \ winspool
ELF 7e477000-7e4ee000 Deferred shlwapi<elf>
\-PE 7e480000-7e4ee000 \ shlwapi
ELF 7e4ee000-7e741000 Deferred shell32<elf>
\-PE 7e500000-7e741000 \ shell32
ELF 7e741000-7e832000 Deferred comdlg32<elf>
\-PE 7e750000-7e832000 \ comdlg32
ELF 7e832000-7e856000 Deferred imm32<elf>
\-PE 7e840000-7e856000 \ imm32
ELF 7e856000-7e984000 Deferred gdi32<elf>
\-PE 7e860000-7e984000 \ gdi32
ELF 7e984000-7eb69000 Dwarf user32<elf>
\-PE 7e9a0000-7eb69000 \ user32
ELF 7eb69000-7eca0000 Deferred comctl32<elf>
\-PE 7eb70000-7eca0000 \ comctl32
ELF 7eca0000-7ed19000 Deferred advapi32<elf>
\-PE 7ecb0000-7ed19000 \ advapi32
ELF 7eeb4000-7eec8000 Deferred libnss_files.so.2
ELF 7eec8000-7ef8c000 Deferred libm.so.6
ELF 7ef8f000-7efa0000 Deferred libbz2.so.1.0
ELF 7efa0000-7efe6000 Deferred usp10<elf>
\-PE 7efb0000-7efe6000 \ usp10
ELF 7efe6000-7f000000 Deferred version<elf>
\-PE 7eff0000-7f000000 \ version
ELF f7b9a000-f7b9f000 Deferred libdl.so.2
ELF f7c13000-f7de6000 Dwarf libc.so.6
ELF f7de6000-f7e05000 Deferred libpthread.so.0
ELF f7e05000-f7fbc000 Dwarf libwine.so.1
ELF f7fbe000-f7fe5000 Deferred ld-linux.so.2
ELF f7fe8000-f7fe9000 Dwarf [vdso].so
Threads:
process tid prio (all id:s are in hex)
00000008 (D) Z:\home\georg\Downloads\no$gba\NO$GBA.EXE
00000035 15
00000034 0
00000033 0
00000032 0 <==
00000009 0
0000000e services.exe
00000022 0
0000001d 0
00000015 0
00000013 0
00000010 0
0000000f 0
00000011 winedevice.exe
0000001a 0
00000017 0
00000016 0
00000012 0
0000001b plugplay.exe
0000001f 0
0000001e 0
0000001c 0
00000020 winedevice.exe
00000029 0
00000026 0
00000024 0
00000023 0
00000021 0
0000002d explorer.exe
00000031 0
00000030 0
0000002f 0
0000002e 0
System information:
Wine build: wine-3.6
Platform: i386 (WOW64)
Version: Windows XP
Host system: Linux
Host version: 4.16.3-1-ARCH
Aqui está o que eu tentei até agora. Eu uso vinho para vapor e jogos GoG, então eu tenho dois prefixos de vinho no meu sistema, um para vapor e outro para o GoG. Ambos funcionam sem problemas. Então eu crio um terceiro prefixo win32 chamado nocashemulators
para armazenar os três emuladores que mencionei anteriormente. Tentando executar todos estes rendimentos praticamente o mesmo erro acima, variando ligeiramente no endereço onde a exceção é lançada.
Em seguida, eu tentei instalar dependências de tempo de execução adicionais com winetricks
como .NET e vcrun - ainda, o mesmo problema.
Por último, eu tentei PlayOnLinux para obter os emuladores para executar - mais uma vez, o mesmo erro.
Eu encontrei várias outras pessoas rodando sem $ gba em vinho, mas ninguém parece ter encontrado o mesmo problema que eu. De acordo com WineHQ pelo menos não $ gba 2.8f deve ser executado em vinho. Aqui estão algumas das minhas métricas de sistema:
Fora do desespero, tentei executar os emuladores em uma VM do Windows e lá eles funcionam bem. Mas ter emuladores em execução dentro de uma máquina virtual parece um pouco exagerado / muito início (além de consumir todos os recursos).
Alguém tem idéia de como colocar esses emuladores em wine / linux? Eu preciso especificamente desses emuladores, pois eles têm recursos de depuração que eu quero usar para testar meu próprio código.
Eu encontrei dois tópicos sobre problemas semelhantes, mas ambos parecem inconclusivos.
Tags wine winetricks emulation emulators