kjliew / qemu-3dfx

MESA GL/3Dfx Glide pass-through for QEMU

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

QEMU crash on application launch

edleam opened this issue · comments

Having an issue with 'LEGO' games, other games are working no problem.

Fresh Windows XP installation, at launch of any LEGO game (I am using Lego Indiana Jones) results in the following crash:

mesapt: DLL loaded
glcntx: ChoosePixelFormat()
glcntx: FBConfig 0x13b visual 0x021 nAux 0 nSamples 0 0 vidMode 1
glcntx: MESAGL window [native 0x7800041] ready
mesapt: ..hooked timeGetTime
glcntx: SetPixelFormat()
mesapt: wglCreateContext cntx 0 curr 0
mesapt: wglMakeCurrent cntx 1 curr 0 lvl 0
mesapt: 22d4e46-16:35:42 Apr 28 2024 build WRAPGL32
mesapt: VertexArrayCache 32MB
mesapt: DispTimerSched 2000ms
mesapt: MappedBufferObject One-copy
mesapt: Guest GL Extensions pass-through for Year ALL Length ANY
mesapt: AMD Radeon Graphics (radeonsi, rembrandt, LLVM 16.0.6, DRM 3.57, 6.8.5-1) [ 82 ]
mesapt: wglCreateContextAttribsARB cntx 1 curr 0 ret 1 zero
mesapt: wglMakeCurrent cntx 1 curr 0 lvl 0
mesapt: 22d4e46-16:35:42 Apr 28 2024 build WRAPGL32
mesapt: VertexArrayCache 32MB
mesapt: DispTimerSched 2000ms
mesapt: MappedBufferObject One-copy
mesapt: Guest GL Extensions pass-through for Year ALL Length ANY
mesapt: AMD Radeon Graphics (radeonsi, rembrandt, LLVM 16.0.6, DRM 3.57, 6.8.5-1) [ 82 ]
mesapt: AMD [ 4 ]
mesapt: 4.6 (Core Profile) Mesa 24.0.2-manjaro1.1 [ 42 ]
mesapt: 4.60 [ 5 ]
mesapt: Wine-6.0.4 Direct3D build 17:45:06 May 9 2023
mesapt: wglDeleteContext cntx 1 curr 1 lvl 0
mesapt: VertexArrayStats: elemMax 000000 vertexCache 0000
mesapt: MGLStats: fifo 0x0000044 data 0x0000028
mesapt: wglCreateContextAttribsARB cntx 1 curr 0 ret 1 zero
mesapt: wglMakeCurrent cntx 1 curr 0 lvl 0
mesapt: 22d4e46-16:35:42 Apr 28 2024 build WRAPGL32
mesapt: VertexArrayCache 32MB
mesapt: DispTimerSched 2000ms
mesapt: MappedBufferObject One-copy
mesapt: Guest GL Extensions pass-through for Year ALL Length ANY
glcntx: wglSwapIntervalEXT(0) ret 1
mesapt: wglCreateContextAttribsARB cntx 1 curr 1 ret 1 incr
mesapt: wglMakeCurrent cntx 1 curr 1 lvl 1
mesapt: wglMakeCurrent cntx 1 curr 1 lvl 0
X Error of failed request: BadAccess (attempt to access private resource denied)
Major opcode of failed request: 152 (GLX)
Minor opcode of failed request: 26 (X_GLXMakeContextCurrent)
Serial number of failed request: 80
Current serial number in output stream: 80

Sourcing the PC DEMO from archive.org
https://archive.org/details/LegoIndianaJones-Demo-PC

I couldn't reproduce the same error, Console logs looked similar, without the X error in the end. The game seems to be a well-behave d3d9 implementation which is typically highly compatible with Wine implementation.

Screenshot from 2024-05-03 13-57-15

You will have to provide more details, including the QEMU invocation command line and meson-log.txt on how QEMU was built. You can also help to check if the DEMO will produce the X error on your QEMU build.

Thanks for your reply. I have downloaded the demo version from archive.org and I face the same error. I have also Lego Indiana Jones 2 which faces same issue.

mesapt: DLL loaded
glcntx: ChoosePixelFormat()
glcntx: FBConfig 0x118 visual 0x021 nAux 0 nSamples 0 0 vidMode 1
glcntx: MESAGL window [native 0x3600043] ready
mesapt: ..hooked timeGetTime
glcntx: SetPixelFormat()
mesapt: wglCreateContext cntx 0 curr 0
mesapt: wglMakeCurrent cntx 1 curr 0 lvl 0
mesapt: 22d4e46-16:35:42 Apr 28 2024 build WRAPGL32
mesapt: VertexArrayCache 32MB
mesapt: DispTimerSched 2000ms
mesapt: MappedBufferObject One-copy
mesapt: Guest GL Extensions pass-through for Year ALL Length ANY
mesapt: AMD Radeon Graphics (radeonsi, rembrandt, LLVM 16.0.6, DRM 3.57, 6.8.8-2-MANJARO) [ 82 ]
mesapt: wglCreateContextAttribsARB cntx 1 curr 0 ret 1 zero
mesapt: wglMakeCurrent cntx 1 curr 0 lvl 0
mesapt: 22d4e46-16:35:42 Apr 28 2024 build WRAPGL32
mesapt: VertexArrayCache 32MB
mesapt: DispTimerSched 2000ms
mesapt: MappedBufferObject One-copy
mesapt: Guest GL Extensions pass-through for Year ALL Length ANY  ✔
mesapt: AMD Radeon Graphics (radeonsi, rembrandt, LLVM 16.0.6, DRM 3.57, 6.8.8-2-MANJARO) [ 82 ]
mesapt: AMD [ 4 ]
mesapt: 4.6 (Core Profile) Mesa 24.0.2-manjaro1.1 [ 42 ]
mesapt: 4.60 [ 5 ]
mesapt: Wine-6.0.4 Direct3D build 17:45:06 May 9 2023
mesapt: wglDeleteContext cntx 1 curr 1 lvl 0
mesapt: VertexArrayStats: elemMax 000000 vertexCache 0000
mesapt: MGLStats: fifo 0x0000044 data 0x0000028
mesapt: wglCreateContextAttribsARB cntx 1 curr 0 ret 1 zero
mesapt: wglMakeCurrent cntx 1 curr 0 lvl 0
mesapt: 22d4e46-16:35:42 Apr 28 2024 build WRAPGL32
mesapt: VertexArrayCache 32MB
mesapt: DispTimerSched 2000ms
mesapt: MappedBufferObject One-copy
mesapt: Guest GL Extensions pass-through for Year ALL Length ANY
glcntx: wglSwapIntervalEXT(0) ret 1
mesapt: wglCreateContextAttribsARB cntx 1 curr 1 ret 1 incr
mesapt: wglMakeCurrent cntx 1 curr 1 lvl 1
mesapt: wglMakeCurrent cntx 1 curr 1 lvl 0
X Error of failed request: BadAccess (attempt to access private resource denied)
Major opcode of failed request: 152 (GLX)
Minor opcode of failed request: 26 (X_GLXMakeContextCurrent)
Serial number of failed request: 80
Current serial number in output stream: 80

meson-log.txt

QEMU invocation as follows:
/qemu-system-x86_64 -display sdl -m 2G -vga std -device lsi -device ac97
-hda "/home/myuser/VM/xp.qcow2" -M pc,accel=kvm,hpet=off -cpu host -smp 2 -boot menu=off
-usbdevice mouse
-netdev user,id=n0 -device e1000,netdev=n0

Remove -smp 2 from QEMU invocation. For some games, SMP can sometimes cause troubles for WineD3D.

The games are running without crash after removing -smp 2 . Thanks

You should be able to retain -smp 2 in QEMU invocation when you sync and rebuild your QEMU package.

Thank you for reporting the issue.