https://bugs.winehq.org/show_bug.cgi?id=41098
Bug ID: 41098 Summary: Descent 3 (GOG version) has problem when running with OpenGL renderer (Nvidia proprietary drivers) Product: Wine Version: 1.7.55 Hardware: x86 OS: Linux Status: NEW Keywords: regression Severity: normal Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: gyebro69@gmail.com CC: hverbeet@gmail.com Regression SHA1: c92451f295242110bf016facf0e80564f3643d94 Distribution: ---
The bug reported here occurs with Nvidia binary drivers 367.35, but can't reproduce it with nouveau/mesa. I tried the official demo version, but it just hangs with a black screen with the OpenGL renderer (unrelated to this regression, occurs with nouveau as well and with older Wine versions).
When OpenGL renderer is selected in the launcher, the game starts and plays the intro video, then the game quits after displaying this error message: 'Error: Generic renderer error."
The OpenGL renderer in Descent 3 used to work until
commit c92451f295242110bf016facf0e80564f3643d94 Author: Henri Verbeet hverbeet@codeweavers.com Date: Wed Nov 4 00:02:48 2015 +0100
wined3d: Always use the same formats in context_create() when "always_offscreen" is enabled.
Disabling "AlwaysOffScreen" in the registry works around the problem.
Terminal output shows only fixme:win:EnumDisplayDevicesW ((null),0,0x33f0d8,0x00000000), stub! fixme:x11drv:X11DRV_desktop_SetCurrentMode Cannot change screen BPP from 32 to 16 fixme:x11drv:X11DRV_desktop_SetCurrentMode Cannot change screen BPP from 32 to 16 fixme:x11drv:X11DRV_desktop_SetCurrentMode Cannot change screen BPP from 32 to 16
Wine 1.9.16 Fedora 24 OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: GeForce GT 730/PCIe/SSE2 OpenGL core profile version string: 4.5.0 NVIDIA 367.35 OpenGL core profile shading language version string: 4.50 NVIDIA
https://bugs.winehq.org/show_bug.cgi?id=41098
--- Comment #1 from Henri Verbeet hverbeet@gmail.com --- (In reply to Béla Gyebrószki from comment #0)
The bug reported here occurs with Nvidia binary drivers 367.35, but can't reproduce it with nouveau/mesa. I tried the official demo version, but it just hangs with a black screen with the OpenGL renderer (unrelated to this regression, occurs with nouveau as well and with older Wine versions).
It may not be entirely unrelated, I'd somewhat expect this to be another instance where mixing OpenGL and D3D causes problems. We may have been getting lucky with the pixel format we selected before commit c92451f295242110bf016facf0e80564f3643d94, and likewise still do on Mesa. If that's the case, +wgl before and after the commit in question may clarify that.
https://bugs.winehq.org/show_bug.cgi?id=41098
--- Comment #2 from Béla Gyebrószki gyebro69@gmail.com --- Created attachment 56690 --> https://bugs.winehq.org/attachment.cgi?id=56690 +wgl log (commit c92451f295242110bf016facf0e80564f3643d94)
This is a +wgl log with commit c92451f295242110bf016facf0e80564f3643d94.
https://bugs.winehq.org/show_bug.cgi?id=41098
--- Comment #3 from Béla Gyebrószki gyebro69@gmail.com --- Created attachment 56691 --> https://bugs.winehq.org/attachment.cgi?id=56691 +wgl log (good)
+wgl log with the previous commit.
https://bugs.winehq.org/show_bug.cgi?id=41098
--- Comment #4 from Henri Verbeet hverbeet@gmail.com --- Created attachment 56692 --> https://bugs.winehq.org/attachment.cgi?id=56692 possible hack
It looks like the main difference between the pixel format we select before that commit and after that commit are the depth and stencil buffers. Perhaps the attached patch makes a difference.
https://bugs.winehq.org/show_bug.cgi?id=41098
--- Comment #5 from Béla Gyebrószki gyebro69@gmail.com --- Created attachment 56697 --> https://bugs.winehq.org/attachment.cgi?id=56697 +wgl log (patch applied)
The patch doesn't work, I'm still getting 'Error: Generic renderer error." and the game quits after playing the intro videos.
wine-2.0-rc3-14-g56959b1 OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: GeForce GT 730/PCIe/SSE2 OpenGL core profile version string: 4.5.0 NVIDIA 375.26
https://bugs.winehq.org/show_bug.cgi?id=41098
--- Comment #6 from Henri Verbeet hverbeet@gmail.com --- I guess the issue is more subtle than just the pixel format then. You could perhaps also try WINED3DFMT_B8G8R8X8_UNORM for the color format, which in theory should result in the exact same pixel format as before c92451f295242110bf016facf0e80564f3643d94, but the general issue is that mixing OpenGL and Direct3D on the same thread/drawable just doesn't work reliably.
https://bugs.winehq.org/show_bug.cgi?id=41098
--- Comment #7 from Béla Gyebrószki gyebro69@gmail.com --- (In reply to Henri Verbeet from comment #6)
I guess the issue is more subtle than just the pixel format then. You could perhaps also try WINED3DFMT_B8G8R8X8_UNORM for the color format, which in theory should result in the exact same pixel format as before c92451f295242110bf016facf0e80564f3643d94, but the general issue is that mixing OpenGL and Direct3D on the same thread/drawable just doesn't work reliably.
That doesn't work either.
https://bugs.winehq.org/show_bug.cgi?id=41098
--- Comment #8 from Henri Verbeet hverbeet@gmail.com --- csmt doesn't make a difference here, right?
https://bugs.winehq.org/show_bug.cgi?id=41098
--- Comment #9 from Béla Gyebrószki gyebro69@gmail.com --- (In reply to Henri Verbeet from comment #8)
csmt doesn't make a difference here, right?
No, it doesn't.
wine-3.0-rc5 OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: GeForce GT 730/PCIe/SSE2 OpenGL core profile version string: 4.5.0 NVIDIA 387.34
https://bugs.winehq.org/show_bug.cgi?id=41098
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #10 from joaopa jeremielapuree@yahoo.fr --- Is still a bug in current wine(3.20)? If yes, does it happen with the demo http://www.descent3.com/files/descent3demo2/descent3demo2.exe
https://bugs.winehq.org/show_bug.cgi?id=41098
--- Comment #11 from Béla Gyebrószki gyebro69@gmail.com --- Still valid in wine-3.20-254-g55bcfea8f0.
The demo version is not affected.
OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: GeForce GT 730/PCIe/SSE2 OpenGL core profile version string: 4.6.0 NVIDIA 415.18
https://bugs.winehq.org/show_bug.cgi?id=41098
Pete pete@sectorgame.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |pete@sectorgame.com
--- Comment #12 from Pete pete@sectorgame.com --- Try applying the following OpenGL patch to Descent 3: https://sectorgame.com/d3/downloads/?nav=display&file=864
Replace the MAIN.EXE file with the one inside the zip.
In addition, use these command lines in the Descent 3 launcher: -launched -usesmoothing -nomultitexture -himem -hividmem -subpixelcorrect -nocompress -nointro -nooutragelogo -nosparkles -nomotionblur -z32bit
Double check that OpenGL is selected in the renderer options before proceeding.
Additional commands such as these can be used to set resolution: -width 1920 -height 1080 -aspect 1.78 (mash ingame keys - and + to adjust viewport)
Failing that, attempt to use the nGlide Wrapper and select 3DFX Glide in the setup options.
I haven't had any luck with Descent 3 in fullscreen on Wine, it could be my environment, but the game is always invisible - yet still running. Instead I've opted to run the game in a windowed wine environment, applying the same resolution to the wine configuration and the game launcher.
https://bugs.winehq.org/show_bug.cgi?id=41098
--- Comment #13 from Gijs Vermeulen gijsvrm@gmail.com --- I can reproduce this with wine-6.0-rc1-29-g310019789f7, a GTX 750 Ti and driver version 455.45.01.
https://bugs.winehq.org/show_bug.cgi?id=41098
--- Comment #14 from joaopa jeremielapuree@yahoo.fr --- Does the bug still occur with wine-6.23?
https://bugs.winehq.org/show_bug.cgi?id=41098
Béla Gyebrószki gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |6d04e6c3a9c4c8b1cc2d1ba337c | |33cc56d1a8ab2 Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #15 from Béla Gyebrószki gyebro69@gmail.com --- This was fixed by https://source.winehq.org/git/wine.git/commit/6d04e6c3a9c4c8b1cc2d1ba337c33c...
wine-7.0-rc2-59-g7555573dc54 OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: NVIDIA GeForce GT 730/PCIe/SSE2 OpenGL core profile version string: 4.6.0 NVIDIA 470.94
https://bugs.winehq.org/show_bug.cgi?id=41098
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #16 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 7.0-rc3.
https://bugs.winehq.org/show_bug.cgi?id=41098
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |6.0.x
https://bugs.winehq.org/show_bug.cgi?id=41098
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|6.0.x |---
--- Comment #17 from Michael Stefaniuc mstefani@winehq.org --- Removing the 6.0.x milestone from bug fixes included in 6.0.4.