https://bugs.winehq.org/show_bug.cgi?id=50479
Bug ID: 50479 Summary: A Vampyre Story from GOG crashes due to missing resolution Product: Wine Version: 6.0-rc6 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: titan.costa@gmail.com Distribution: ---
Created attachment 69115 --> https://bugs.winehq.org/attachment.cgi?id=69115 log with +d3d,+ddraw
The game wants a resolution of 1024x768 but does not find it.
https://bugs.winehq.org/show_bug.cgi?id=50479
--- Comment #1 from Christian Costa titan.costa@gmail.com --- Created attachment 69116 --> https://bugs.winehq.org/attachment.cgi?id=69116 The assert popup
https://bugs.winehq.org/show_bug.cgi?id=50479
--- Comment #2 from Christian Costa titan.costa@gmail.com --- Created attachment 69117 --> https://bugs.winehq.org/attachment.cgi?id=69117 backtrace
https://bugs.winehq.org/show_bug.cgi?id=50479
--- Comment #3 from Christian Costa titan.costa@gmail.com --- All 3 renderes show the same problem i.e pandadx9 (default), pandadx9 and pandagl (file etc/Config.prc).
The game works with emulated virtual desktop. Tested with 640x400, 800x600, 1024x768 and 1920x1080. The window is resized to 1024x768. The game needs CSMT to be disabled to run otherwise it's horribly slow.
Setting xrandr to 1024x768 with "xrandr -s 1024x768" does not help.
https://bugs.winehq.org/show_bug.cgi?id=50479
--- Comment #4 from Christian Costa titan.costa@gmail.com --- Tested the demo from https://www.gamepressure.com/download.asp?ID=21731 does not show the same issue. The demo just freeze with Control-C not working. The command "wineserver --kill" needs to be used. The symptom seems different for bug #37659.
Didn't tested with staging yet.
https://bugs.winehq.org/show_bug.cgi?id=50479
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zzhang@codeweavers.com
--- Comment #5 from Zhiyi Zhang zzhang@codeweavers.com --- What's the output from xrandr --verbose? Does your monitor support 1024x768?
https://bugs.winehq.org/show_bug.cgi?id=50479
--- Comment #6 from Christian Costa titan.costa@gmail.com --- Created attachment 69119 --> https://bugs.winehq.org/attachment.cgi?id=69119 xrandr log
No. Only 1920x1080 apparently. Is that a problem? Many games do not complain and change the resolution to lower values.
https://bugs.winehq.org/show_bug.cgi?id=50479
--- Comment #7 from Zhiyi Zhang zzhang@codeweavers.com --- (In reply to Christian Costa from comment #6)
Created attachment 69119 [details] xrandr log
No. Only 1920x1080 apparently. Is that a problem? Many games do not complain and change the resolution to lower values.
Yes. Because the game wants 1024x768 and xrandr only reports 1920x1080. I assume you're using a Wayland session, which generally reports one resolution. You can try using X11 session or Proton.
https://bugs.winehq.org/show_bug.cgi?id=50479
--- Comment #8 from Christian Costa titan.costa@gmail.com --- I'm not using Wayland (and never did):
$ echo $DESKTOP_SESSION ubuntu
It think reporting the native resolution has been around for a while with my nvidia cards. Isn't this the case for xrand > 1.0 on nvidia?
wine reports: 006c:err:winediag:is_broken_driver Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead.
Is falling back to xrandr 1.0 on nvidia supposed to provides lower resolutions?
https://bugs.winehq.org/show_bug.cgi?id=50479
--- Comment #9 from Christian Costa titan.costa@gmail.com --- --q1 option reports modes using 1.1 interface
$ xrandr --q1 SZ: Pixels Physical Refresh *0 1920 x 1080 ( 381mm x 211mm ) *50 1 1680 x 1050 ( 333mm x 205mm ) 51 2 1440 x 900 ( 285mm x 175mm ) 52 3 1366 x 768 ( 271mm x 150mm ) 53 4 1280 x 1024 ( 254mm x 200mm ) 54 5 1280 x 800 ( 254mm x 156mm ) 55 6 1280 x 720 ( 254mm x 140mm ) 56 7 1024 x 768 ( 203mm x 150mm ) 57 8 800 x 600 ( 158mm x 117mm ) 58 9 640 x 480 ( 127mm x 93mm ) 59 Current rotation - normal Current reflection - none Rotations possible - normal left inverted right Reflections possible - X Axis Y Axis
Hum, I tought 1.0 was supposed to do that and not 1.1. There is a --q12 for use of 1.2 interface which would let think --q1 would stand for 1.0 not 1.1. Weird...
https://bugs.winehq.org/show_bug.cgi?id=50479
--- Comment #10 from Zhiyi Zhang zzhang@codeweavers.com --- (In reply to Christian Costa from comment #8)
I'm not using Wayland (and never did):
$ echo $DESKTOP_SESSION ubuntu
It think reporting the native resolution has been around for a while with my nvidia cards. Isn't this the case for xrand > 1.0 on nvidia?
wine reports: 006c:err:winediag:is_broken_driver Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead.
Is falling back to xrandr 1.0 on nvidia supposed to provides lower resolutions?
Yes. From your log, Wine is already using xrandr 1.0 as a fallback. I think the problem is probably related to the graphics driver. I recommend updating it to the latest if you haven't done that already. The xrandr output from comment #6 shows that you're using a monitor 120Hz 1920x1080 display. But the xrandr output in comment #9 shows that you're using a 50Hz monitor. What's weirder, see the refresh rate list in comment #9, it's increasing by 1 from 50Hz. I don't think those data are valid. So the root cause should be a mismatch of the frequency. The game was probably tring to look for a 1028x768 60Hz mode.
https://bugs.winehq.org/show_bug.cgi?id=50479
--- Comment #11 from Christian Costa titan.costa@gmail.com --- My setup was GTX1070, Ubuntu 20.04.1 LTS and nvidia driver 450.80.02. I did an update which updates driver to 450.102.04 with the same result. I switched then to the latest driver 460.32.03 also with the same result. I finally upgraded to Ubuntu 20.10 which uses also 460.32.03 and again same result.
Indeed this refresh rate increment is a bit weird. I'll try to fake the refresh rate to 50 Hz and 60 Hz to see if that pleases the game.
https://bugs.winehq.org/show_bug.cgi?id=50479
--- Comment #12 from Christian Costa titan.costa@gmail.com --- Created attachment 69121 --> https://bugs.winehq.org/attachment.cgi?id=69121 log with 50 Hz
Same result with 50 Hz
https://bugs.winehq.org/show_bug.cgi?id=50479
--- Comment #13 from Christian Costa titan.costa@gmail.com --- Created attachment 69122 --> https://bugs.winehq.org/attachment.cgi?id=69122 log with 60 Hz
With 60 Hz, game goes further but still not happy.
https://bugs.winehq.org/show_bug.cgi?id=50479
--- Comment #14 from Henri Verbeet hverbeet@gmail.com --- (In reply to Zhiyi Zhang from comment #10)
Yes. From your log, Wine is already using xrandr 1.0 as a fallback. I think the problem is probably related to the graphics driver. I recommend updating it to the latest if you haven't done that already. The xrandr output from comment #6 shows that you're using a monitor 120Hz 1920x1080 display. But the xrandr output in comment #9 shows that you're using a 50Hz monitor. What's weirder, see the refresh rate list in comment #9, it's increasing by 1 from 50Hz. I don't think those data are valid. So the root cause should be a mismatch of the frequency. The game was probably tring to look for a 1028x768 60Hz mode.
Over a decade ago, when I still had NVIDIA GPUs, that behaviour could be disabled with the "DynamicTwinView" xorg.conf option. There have been a couple of other instances of this issue over the years, I think Battlefield 2 was one of the applications affected.
https://bugs.winehq.org/show_bug.cgi?id=50479
--- Comment #15 from Christian Costa titan.costa@gmail.com --- I tested also the following refresh rates: 59, 70, 100 and 120. So basically, the game accepts refresh rates >= 60 Hz. This seems clearly a bug in xrandr part of nvidia driver. I'll try to file a bug for that. So remains the 2nd problem.
https://bugs.winehq.org/show_bug.cgi?id=50479
--- Comment #16 from Christian Costa titan.costa@gmail.com --- (In reply to Henri Verbeet from comment #14)
(In reply to Zhiyi Zhang from comment #10)
Yes. From your log, Wine is already using xrandr 1.0 as a fallback. I think the problem is probably related to the graphics driver. I recommend updating it to the latest if you haven't done that already. The xrandr output from comment #6 shows that you're using a monitor 120Hz 1920x1080 display. But the xrandr output in comment #9 shows that you're using a 50Hz monitor. What's weirder, see the refresh rate list in comment #9, it's increasing by 1 from 50Hz. I don't think those data are valid. So the root cause should be a mismatch of the frequency. The game was probably tring to look for a 1028x768 60Hz mode.
Over a decade ago, when I still had NVIDIA GPUs, that behaviour could be disabled with the "DynamicTwinView" xorg.conf option. There have been a couple of other instances of this issue over the years, I think Battlefield 2 was one of the applications affected.
Ah ok. Thanks!
https://bugs.winehq.org/show_bug.cgi?id=50479
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |DUPLICATE
--- Comment #17 from Zhiyi Zhang zzhang@codeweavers.com --- Duplicate of 34348
*** This bug has been marked as a duplicate of bug 34348 ***
https://bugs.winehq.org/show_bug.cgi?id=50479
--- Comment #18 from Christian Costa titan.costa@gmail.com --- Ah didn't see that bug. Thanks! I tried with Nouveau and the game works. With nvidia driver, I've not been able to disable DynamicTwinView. The option is no more recognized (as well as TwinView). Apparently we can't disable it anymore.
https://bugs.winehq.org/show_bug.cgi?id=50479
--- Comment #19 from Zhiyi Zhang zzhang@codeweavers.com --- Created attachment 69134 --> https://bugs.winehq.org/attachment.cgi?id=69134 patch
Please try this patch and see if it fixes the issue for you with NVIDIA proprietary drivers.
https://bugs.winehq.org/show_bug.cgi?id=50479
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|A Vampyre Story from GOG |A Vampyre Story from GOG |crashes due to missing |crashes due to missing |resolution |resolution when NVIDIA | |Dynamic TwinView is enabled
https://bugs.winehq.org/show_bug.cgi?id=50479
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #20 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- Closing Duplicate.
https://bugs.winehq.org/show_bug.cgi?id=50479
--- Comment #21 from Christian Costa titan.costa@gmail.com --- (In reply to Zhiyi Zhang from comment #19)
Created attachment 69134 [details] patch
Please try this patch and see if it fixes the issue for you with NVIDIA proprietary drivers.
With the patch, this freezes the system with a black screen most of the time. Less often it kills the X server and more rarely just do a lot of flickering leading to a black screen and make the system unstable.
https://bugs.winehq.org/show_bug.cgi?id=50479
--- Comment #22 from Zhiyi Zhang zzhang@codeweavers.com --- (In reply to Christian Costa from comment #21)
(In reply to Zhiyi Zhang from comment #19)
Created attachment 69134 [details] patch
Please try this patch and see if it fixes the issue for you with NVIDIA proprietary drivers.
With the patch, this freezes the system with a black screen most of the time. Less often it kills the X server and more rarely just do a lot of flickering leading to a black screen and make the system unstable.
Maybe using XF86VidMode is causing the issue. If that's the case, we can't fall back to using XF86VidMode when TwinView is enabled. Just to be sure, you built Wine with XF86VidMode support enabled, right? There should be no such warnings at the end of executing the configure script. And please upload a WINEDEBUG=+x11settings log.
https://bugs.winehq.org/show_bug.cgi?id=50479
--- Comment #23 from Christian Costa titan.costa@gmail.com --- Created attachment 69157 --> https://bugs.winehq.org/attachment.cgi?id=69157 WINEDEBUG=+x11settings log
Yes, XF86VidMode support is enabled. Here is the log.
https://bugs.winehq.org/show_bug.cgi?id=50479
Aaron Plattner aplattner@nvidia.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |aplattner@nvidia.com
--- Comment #24 from Aaron Plattner aplattner@nvidia.com --- Please see https://bugs.winehq.org/show_bug.cgi?id=34348#c34 and the followup discussion in that bug thread for some additional history.
https://bugs.winehq.org/show_bug.cgi?id=50479
--- Comment #25 from Zhiyi Zhang zzhang@codeweavers.com --- I expected XF86VidMode to work, but maybe it's just too old, and no one maintains it anymore. I did occasionally get X server crashes when I was migrating the XF86VidMode display settings handler to a new interface. Using XRandR transforms is indeed the correct way to go forward. It's similar to the fullscreen hack currently used by Proton.