https://bugs.winehq.org/show_bug.cgi?id=56949
Bug ID: 56949 Summary: Incorrect heuristic used in "winex11: Detect broken NVIDIA RandR setups." Product: Wine Version: 9.9 Hardware: aarch64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winex11.drv Assignee: wine-bugs@winehq.org Reporter: dofficialgman@gmail.com Distribution: ---
The commit https://github.com/wine-mirror/wine/commit/8776e1c0e1597fec169d169888660deb5... uses an incorrect assumption heuristic where a display with only one possible resolution output must be using a bad driver version. this is an incorrect heuristic as some displays (such as embedded display panels) only have one supported resolution and cause wine to fallback to using RandR 1.0 unnecessarily.
This heuristic causes users of such devices (such as the Nintendo Switch with its builtin screen) to incorrectly think that the driver is old or needs to be replaced.
Example proper xrandr output from such a device:
xrandr --verbose Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384 DSI-0 connected (normal left inverted right x axis y axis) Identifier: 0x18c Timestamp: 28445 Subpixel: unknown Clones: CRTCs: 1 Transform: 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 filter: TegraOverlayBlendmode: Opaque supported: Opaque, SourceAlphaBlend, PremultSourceAlphaBlend TegraOverlayPriority: 255 range: (0, 255) BorderDimensions: 4 supported: 4 Border: 0 0 0 0 range: (0, 65535) SignalFormat: TMDS supported: TMDS ConnectorType: Panel non-desktop: 0 supported: 0, 1 720x1280 (0x18d) 78.003MHz +HSync +VSync +preferred h: width 720 start 856 end 928 total 1000 skew 0 clock 78.00KHz v: height 1280 start 1290 end 1291 total 1300 clock 60.00Hz