https://bugs.winehq.org/show_bug.cgi?id=43239
Bug ID: 43239 Summary: The Witcher 3: ground is too dark in some areas Product: Wine Version: 2.11 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: shtetldik@gmail.com Distribution: ---
Created attachment 58545 --> https://bugs.winehq.org/attachment.cgi?id=58545 The Witcher 3: dark ground
In Velen area in the game, the ground looks too dark (almost black) which contrasts it strongly with brighter vegetation. It looks like some lighting issue.
See attached screenshot.
Note: sample_c_lz hack is applied, but it appears without it too.
Game version: GOG, 1.31. System: Debian testing, x86_64. OpenGL renderer string: AMD Radeon RX 480 Graphics (AMD POLARIS10 / DRM 3.10.0 / 4.11.0-1-amd64, LLVM 4.0.1) OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.2.0-devel (git-f7f2fa8eb1) Resolution: 1920x1200. Settings: Max settings for all graphics (ambient occlusion: HBAO+), Nvidia hairworks is off.
https://bugs.winehq.org/show_bug.cgi?id=43239
--- Comment #1 from Shmerl shtetldik@gmail.com --- Created attachment 58570 --> https://bugs.winehq.org/attachment.cgi?id=58570 TW3 save in Velen where ground appears dark
Save right when you enter Velen. The bug is clearly visible in that area.
https://bugs.winehq.org/show_bug.cgi?id=43239
Sami Kankaristo sami@kankaristo.fi changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sami@kankaristo.fi
https://bugs.winehq.org/show_bug.cgi?id=43239
--- Comment #2 from Shmerl shtetldik@gmail.com --- Opened related Mesa bug (since according to some, this doesn't happen with Nvidia blob): https://bugs.freedesktop.org/show_bug.cgi?id=101654
https://bugs.winehq.org/show_bug.cgi?id=43239
Jonathan Strander mblackwell1024@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mblackwell1024@gmail.com
--- Comment #3 from Jonathan Strander mblackwell1024@gmail.com --- Quick question: When this manifests does changing a graphical setting (under Video not Postprocess) clear this issue?
Vague thought is it is related to a similar issue I saw a screenshot of where it appears some shaders "glitch out". Perhaps not but I sometimes see objects including surfaces like the ground manifest as dark and switching around some graphical options seems to fix it until a new area is streamed in.
https://bugs.winehq.org/show_bug.cgi?id=43239
scix asheldon55@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |asheldon55@gmail.com
--- Comment #4 from scix asheldon55@gmail.com --- This bug also affects nvidia cards: https://i.imgur.com/CzBcXQg.jpg
System information: Gentoo ~AMD64
OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: GeForce GTX 980 Ti/PCIe/SSE2 OpenGL core profile version string: 4.5.0 NVIDIA 384.47 OpenGL core profile shading language version string: 4.50 NVIDIA OpenGL version string: 4.5.0 NVIDIA 384.47
Resolution: 2560x1440
Settings: High with HBAO+ on, and Hairworks off (but bug is evident with any settings AFAICT)
https://bugs.winehq.org/show_bug.cgi?id=43239
--- Comment #5 from scix asheldon55@gmail.com --- (In reply to Jonathan Strander from comment #3)
Vague thought is it is related to a similar issue I saw a screenshot of where it appears some shaders "glitch out". Perhaps not but I sometimes see objects including surfaces like the ground manifest as dark and switching around some graphical options seems to fix it until a new area is streamed in.
I have that bug as well (perhaps Nvidia specific going by Shmerl's experience), but it doesn't affect the ground being dark issue.
https://bugs.winehq.org/show_bug.cgi?id=43239
--- Comment #6 from Jonathan Strander mblackwell1024@gmail.com --- (In reply to scix from comment #5)
(In reply to Jonathan Strander from comment #3)
Vague thought is it is related to a similar issue I saw a screenshot of where it appears some shaders "glitch out". Perhaps not but I sometimes see objects including surfaces like the ground manifest as dark and switching around some graphical options seems to fix it until a new area is streamed in.
I have that bug as well (perhaps Nvidia specific going by Shmerl's experience), but it doesn't affect the ground being dark issue.
That is too bad. Killing two birds with one stone would be nice!
https://bugs.winehq.org/show_bug.cgi?id=43239
--- Comment #7 from Shmerl shtetldik@gmail.com --- (In reply to Jonathan Strander from comment #3)
Quick question: When this manifests does changing a graphical setting (under Video not Postprocess) clear this issue?
I just checked, and changing video settings has no effect on this issue for me. The ground remains dark.
https://bugs.winehq.org/show_bug.cgi?id=43239
Manuel dev@mfxbe.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dev@mfxbe.de
https://bugs.winehq.org/show_bug.cgi?id=43239
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |joseph.kucia@gmail.com
--- Comment #8 from Józef Kucia joseph.kucia@gmail.com --- Created attachment 58842 --> https://bugs.winehq.org/attachment.cgi?id=58842 Patch
Please test if this patch fixes the issue.
https://bugs.winehq.org/show_bug.cgi?id=43239
--- Comment #9 from Shmerl shtetldik@gmail.com --- (In reply to Józef Kucia from comment #8)
Created attachment 58842 [details] Patch
Please test if this patch fixes the issue.
Yep, that fixed the dark ground for me. Thanks!
https://bugs.winehq.org/show_bug.cgi?id=43239
--- Comment #10 from Manuel dev@mfxbe.de --- (In reply to Józef Kucia from comment #8)
Created attachment 58842 [details] Patch
Please test if this patch fixes the issue.
Doesn't work for me. I've applied all patches listed on the WineHQ page of Witcher an your new one, the dark ground is still there.
Because I sometimes make stupid mistakes while appling patches I just checked it manually and the patch seems to be applied.
I use a NVIDIA card and driver.
https://bugs.winehq.org/show_bug.cgi?id=43239
Kai Sterker kai.sterker+wine@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |kai.sterker+wine@gmail.com
--- Comment #11 from Kai Sterker kai.sterker+wine@gmail.com --- Patch did not work for me either.
Building wine from the github mirror (commit 619b7e07d7ee1a20bb816ebec8e40eaedc47f870) and a number of patches from wine-staging (commit 2e99d9e46506408449c17539020ef4caa2e32896)
Building with
./patchinstall.sh DESTDIR=../../wine ntdll-Grow_Virtual_Heap wined3d-buffer_crea te wined3d-sample_c_lz xaudio2-get_al_format wined3d-Copy_Resource_Typeless cd ../../wine patch -p1 < ../interpolation.diff CC=gcc-7 CXX=g++-7 ./configure --enable-win64 --disable-tests --prefix=/opt/wine -witcher
Result can be seen at https://www.gamingonlinux.com/forum/topic/2753/post_id=11825 (different location from the save above, however, but no notable difference with or without the patch)
Using nVidia GTX 950 with the binary driver version 375.66.
https://bugs.winehq.org/show_bug.cgi?id=43239
--- Comment #12 from scix asheldon55@gmail.com --- Using the patch, the bug is fixed for me with a 980ti and 384.59 nvidia driver as well as with a RX550 and git Mesa.
https://bugs.winehq.org/show_bug.cgi?id=43239
--- Comment #13 from scix asheldon55@gmail.com --- With more testing, I've found that the patch doesn't work with the nvidia binary drivers if you force a core context (setting MaxVersionGL to 30002). If I leave it to use a compatibility context, the bug is fixed. However, using a core context with this patch works fine with the Mesa driver (it of course won't work any other way).
I seem to remember there being a staging patch that forces a core profile, but I don't know if that is just for Mesa, or all cards.
https://bugs.winehq.org/show_bug.cgi?id=43239
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
https://bugs.winehq.org/show_bug.cgi?id=43239
--- Comment #14 from Manuel dev@mfxbe.de --- Can confirme what scix wrote. The patch works fine if MaxVersionGL isn't set.
https://bugs.winehq.org/show_bug.cgi?id=43239
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1
--- Comment #15 from Józef Kucia joseph.kucia@gmail.com --- (In reply to Manuel from comment #14)
Can confirme what scix wrote. The patch works fine if MaxVersionGL isn't set.
Yeah, this is expected. If you want to set MaxVersionGL with Nvidia drivers you should set it to 4.50. Nvidia drivers return the exact version of OpenGL you requested when creating a context (with all extensions advertised).
https://bugs.winehq.org/show_bug.cgi?id=43239
--- Comment #16 from Manuel dev@mfxbe.de --- Then everything seems to be how it should. (Haven't even thought about this entry before scix mentioned it.)
https://bugs.winehq.org/show_bug.cgi?id=43239
--- Comment #17 from Kai Sterker kai.sterker+wine@gmail.com --- (In reply to Józef Kucia from comment #15)
Yeah, this is expected. If you want to set MaxVersionGL with Nvidia drivers you should set it to 4.50. Nvidia drivers return the exact version of OpenGL you requested when creating a context (with all extensions advertised).
Deleting the MaxVersionGL registry key, which I had set to the value recommended here (https://appdb.winehq.org/objectManager.php?sClass=version&iId=34698#note...) got it working for me.
Makes me wonder if that value was incorrect, or if there are other things at play. Anyway, kudos for your excellent work on getting all those issues ironed out!
https://bugs.winehq.org/show_bug.cgi?id=43239
--- Comment #18 from Shmerl shtetldik@gmail.com --- I updated the howto, to indicate that setting MasVersionGL is needed only for Mesa.
https://bugs.winehq.org/show_bug.cgi?id=43239
--- Comment #19 from Shmerl shtetldik@gmail.com --- (In reply to Józef Kucia from comment #15)
Yeah, this is expected.
With this bug worked around, the game is almost playable except for that freeze bug. Do you have any idea how it can be narrowed down? It seems to be an issue with amdgpu kernel driver, though I'm not really sure.
https://bugs.winehq.org/show_bug.cgi?id=43239
--- Comment #20 from scix asheldon55@gmail.com ---
(In reply to Józef Kucia from comment #15) Yeah, this is expected. If you want to set MaxVersionGL with Nvidia drivers you should set it to 4.50. Nvidia drivers return the exact version of OpenGL you requested when creating a context (with all extensions advertised).
Interestingly, I tried setting MaxVersionGL to 40005 and the bug still persists with the nvidia binary drivers. In practice I guess it doesn't matter since it works with the compat context, but there may still be a bug somewhere.
https://bugs.winehq.org/show_bug.cgi?id=43239
zefkerr zefkerrigan@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zefkerrigan@gmail.com
--- Comment #21 from zefkerr zefkerrigan@gmail.com --- (In reply to Shmerl from comment #18)
I updated the howto, to indicate that setting MaxVersionGL is needed only for Mesa.
You're not quite right. This information is out of date. Now MaxVersionGL is needed only for vanilla Wine. Since Wine Staging 2.12 it automatically uses the OpenGL core context when necessary. Users of the MESA driver no longer need to create the MaxVersionGL registry key when using Direct3D 10/11 applications. Starting with this release, Wine Staging automatically detects when to use a core or compatibility context: https://www.wine-staging.com/news/2017-07-12-release-2.12.html
https://bugs.winehq.org/show_bug.cgi?id=43239
--- Comment #22 from Shmerl shtetldik@gmail.com --- (In reply to zefkerr from comment #21)
You're not quite right. This information is out of date. Now MaxVersionGL is needed only for vanilla Wine. Since Wine Staging 2.12 it automatically uses the OpenGL core context when necessary.
The howto is useful not for staging wine, but for minimal patchset needed to run the game.
https://bugs.winehq.org/show_bug.cgi?id=43239
Daniel Oom oom.daniel@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |oom.daniel@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=43239
--- Comment #23 from Shmerl shtetldik@gmail.com --- Staging patchset was added, based on the dark ground fix: https://github.com/wine-compholio/wine-staging/tree/master/patches/wined3d-I...
https://bugs.winehq.org/show_bug.cgi?id=43239
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Staged patchset| |https://github.com/wine-com | |pholio/wine-staging/tree/ma | |ster/patches/wined3d-Interp | |olation_Modifiers Status|NEW |STAGED CC| |dmitry@baikal.ru, | |erich.e.hoover@wine-staging | |.com, michael@fds-team.de, | |sebastian@fds-team.de
https://bugs.winehq.org/show_bug.cgi?id=43239
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |DUPLICATE Status|STAGED |RESOLVED
--- Comment #24 from Józef Kucia joseph.kucia@gmail.com ---
*** This bug has been marked as a duplicate of bug 40873 ***
https://bugs.winehq.org/show_bug.cgi?id=43239
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #25 from Austin English austinenglish@gmail.com --- Closing.