dxgldotorg / dxgl

DXGL DirectX-to-OpenGL Wrapper source code
https://dxgl.org
GNU Lesser General Public License v2.1
200 stars 18 forks source link

DXGL fails to work in Wine 8.0 in a 32-bit WINEPREFIX. #17

Open KynikossDragonn opened 1 year ago

KynikossDragonn commented 1 year ago

I'm using Wine 8.0 on Void Linux currently on kernel release 6.1.12.

I have no idea how to even debug this, all my 32-bit multilib is setup properly and the regular built in Wine DDRAW functions correctly but when I try to use DXGL this happens all the time now:

libGL error: MESA-LOADER: failed to open iris: libLLVM-12.so: failed to map segment from shared object (search paths /usr/lib32/dri, suffix _dri)
libGL error: failed to load driver: iris
libGL error: MESA-LOADER: failed to open iris: libLLVM-12.so: failed to map segment from shared object (search paths /usr/lib32/dri, suffix _dri)
libGL error: failed to load driver: iris
libGL error: MESA-LOADER: failed to open swrast: libLLVM-12.so: failed to map segment from shared object (search paths /usr/lib32/dri, suffix _dri)
libGL error: failed to load driver: swrast
0024:err:wgl:X11DRV_WineGL_InitOpenglInfo  couldn't initialize OpenGL, expect problems
0024:err:d3d:wined3d_caps_gl_ctx_create Failed to find a suitable pixel format.
0024:err:module:LdrInitializeThunk "ddraw.dll" failed to initialize, aborting
0024:err:module:LdrInitializeThunk Initializing dlls for L"C:\\Program Files\\DXGL\\dxglcfg.exe" failed, status c0000005

Everything was working fine when I had my packages held at Wine 7.0, and nothing I can search for "failed to map segment from shared object" gives me any clues on how to debug this or why this is even happening or why the default built-in DDRAW works but not DXGL.

dxgldotorg commented 1 year ago

Are you able to run any OpenGL apps in the 32-bit wineprefix? The log looks like Wine failed to initialize OpenGL.

KynikossDragonn commented 1 year ago

Yeah, I can run Unreal's original OpenGLDrv from versions 224, and 225 just fine, which is one of the oldest OpenGL things I can run on these Mesa drivers.

I don't get problems like this when I'm using "sfall2" with Fallout 2 which pretends to be a ddraw.dll file, and thus requires the same "native,builtin" DLL override option.