Hi,
I’m on 390.87 with an ultrawide monitor (3440x1440) with an EDID (in DP) with only one true resolution/timing available:
From the Xorg debug log
[ 1357.596] (--) NVIDIA(GPU-0): --- EDID for Acer X34A (DP-0) ---
[ 1357.596] (--) NVIDIA(GPU-0): EDID Version : 1.4
[ 1357.596] (--) NVIDIA(GPU-0): Manufacturer : ACR
[ 1357.596] (--) NVIDIA(GPU-0): Monitor Name : Acer X34A
[ 1357.596] (--) NVIDIA(GPU-0): Product ID : 0x0450
[ 1357.596] (--) NVIDIA(GPU-0): 32-bit Serial Number : 0xffffffff
[ 1357.596] (--) NVIDIA(GPU-0): Serial Number String : XXXXXXXXXXXXX
[ 1357.596] (--) NVIDIA(GPU-0): Manufacture Date : 2016, week 255
[ 1357.596] (--) NVIDIA(GPU-0): DPMS Capabilities :
[ 1357.596] (--) NVIDIA(GPU-0): Input Type : Digital
[ 1357.596] (--) NVIDIA(GPU-0): Prefer first detailed timing : Yes
[ 1357.596] (--) NVIDIA(GPU-0): Supports Continuous Frequency: No
[ 1357.596] (--) NVIDIA(GPU-0): EDID 1.4 YCbCr 422 support : No
[ 1357.596] (--) NVIDIA(GPU-0): EDID 1.4 YCbCr 444 support : No
[ 1357.596] (--) NVIDIA(GPU-0): Maximum Image Size : 800 mm x 340 mm
[ 1357.596] (--) NVIDIA(GPU-0): Valid HSync Range : 73.0 kHz - 151.0 kHz
[ 1357.596] (--) NVIDIA(GPU-0): Valid VRefresh Range : 30.0 Hz - 100.0 Hz
[ 1357.596] (--) NVIDIA(GPU-0): EDID maximum pixel clock : 540.0 MHz
[ 1357.596] (--) NVIDIA(GPU-0): G-Sync capable : Yes
[ 1357.596] (--) NVIDIA(GPU-0): G-Sync minimum refresh rate : 1 Hz
[ 1357.596] (--) NVIDIA(GPU-0): CEA-861 extension block # : 0
[ 1357.596] (--) NVIDIA(GPU-0):
[ 1357.596] (--) NVIDIA(GPU-0): CEA-861 revision : 3
[ 1357.596] (--) NVIDIA(GPU-0):
[ 1357.596] (--) NVIDIA(GPU-0): IEEE Vendor Registration ID: 00-04-4b
[ 1357.596] (--) NVIDIA(GPU-0): Supports YCbCr 4:4:4 : No
[ 1357.596] (--) NVIDIA(GPU-0): Supports YCbCr 4:2:2 : No
[ 1357.596] (--) NVIDIA(GPU-0): Supports Basic Audio : Yes
[ 1357.596] (--) NVIDIA(GPU-0): Audio Descriptor : 0
[ 1357.596] (--) NVIDIA(GPU-0): Audio Format : PCM
[ 1357.596] (--) NVIDIA(GPU-0): Maximum Channels : 2
[ 1357.596] (--) NVIDIA(GPU-0): Sample Rates : 32KHz, 44KHz, 48KHz
[ 1357.596] (--) NVIDIA(GPU-0): Sample Sizes : 16-bits
[ 1357.596] (--) NVIDIA(GPU-0): Speaker Allocation Data :
[ 1357.596] (--) NVIDIA(GPU-0): Front Left + Front Right
[ 1357.596] (--) NVIDIA(GPU-0): EDID bits per component : 8
[ 1357.596] (--) NVIDIA(GPU-0):
[ 1357.596] (--) NVIDIA(GPU-0): Detailed Timings:
[ 1357.596] (--) NVIDIA(GPU-0): 3440 x 1440 @ 60 Hz
[ 1357.596] (--) NVIDIA(GPU-0): Pixel Clock : 319.75 MHz
[ 1357.596] (--) NVIDIA(GPU-0): HRes, HSyncStart : 3440, 3488
[ 1357.596] (--) NVIDIA(GPU-0): HSyncEnd, HTotal : 3520, 3600
[ 1357.596] (--) NVIDIA(GPU-0): VRes, VSyncStart : 1440, 1443
[ 1357.596] (--) NVIDIA(GPU-0): VSyncEnd, VTotal : 1453, 1481
[ 1357.596] (--) NVIDIA(GPU-0): H/V Polarity : +/-
[ 1357.596] (--) NVIDIA(GPU-0): Image Size : 798 mm x 335 mm
[ 1357.596] (--) NVIDIA(GPU-0): RGB 444 bpcs : 8
[ 1357.596] (--) NVIDIA(GPU-0):
[ 1357.596] (--) NVIDIA(GPU-0): Established Timings:
[ 1357.596] (--) NVIDIA(GPU-0): 640 x 480 @ 60 Hz
[ 1357.596] (--) NVIDIA(GPU-0): 800 x 600 @ 60 Hz
[ 1357.596] (--) NVIDIA(GPU-0): 1024 x 768 @ 60 Hz
[ 1357.596] (--) NVIDIA(GPU-0):
[ 1357.596] (--) NVIDIA(GPU-0): Extension Block Detailed Timings:
[ 1357.596] (--) NVIDIA(GPU-0): 3440 x 1440 @ 50 Hz
[ 1357.596] (--) NVIDIA(GPU-0): Pixel Clock : 265.25 MHz
[ 1357.596] (--) NVIDIA(GPU-0): HRes, HSyncStart : 3440, 3488
[ 1357.596] (--) NVIDIA(GPU-0): VRes, VSyncStart : 1440, 1443
[ 1357.596] (--) NVIDIA(GPU-0): VSyncEnd, VTotal : 1453, 1474
[ 1357.596] (--) NVIDIA(GPU-0): H/V Polarity : +/-
[ 1357.596] (--) NVIDIA(GPU-0): Image Size : 798 mm x 335 mm
[ 1357.596] (--) NVIDIA(GPU-0): RGB 444 bpcs : 8
[ 1357.596] (--) NVIDIA(GPU-0): 3440 x 1440 @ 100 Hz
[ 1357.596] (--) NVIDIA(GPU-0): Pixel Clock : 531.52 MHz
[ 1357.596] (--) NVIDIA(GPU-0): HRes, HSyncStart : 3440, 3448
[ 1357.596] (--) NVIDIA(GPU-0): HSyncEnd, HTotal : 3480, 3520
[ 1357.596] (--) NVIDIA(GPU-0): VRes, VSyncStart : 1440, 1496
[ 1357.596] (--) NVIDIA(GPU-0): VSyncEnd, VTotal : 1504, 1510
[ 1357.596] (--) NVIDIA(GPU-0): H/V Polarity : +/-
[ 1357.596] (--) NVIDIA(GPU-0): Image Size : 798 mm x 335 mm
[ 1357.596] (--) NVIDIA(GPU-0): RGB 444 bpcs : 8
[ 1357.596] (--) NVIDIA(GPU-0): 3440 x 1440 @ 95 Hz
[ 1357.596] (--) NVIDIA(GPU-0): Pixel Clock : 515.00 MHz
[ 1357.596] (--) NVIDIA(GPU-0): HRes, HSyncStart : 3440, 3488
[ 1357.596] (--) NVIDIA(GPU-0): HSyncEnd, HTotal : 3520, 3600
[ 1357.596] (--) NVIDIA(GPU-0): VRes, VSyncStart : 1440, 1443
[ 1357.596] (--) NVIDIA(GPU-0): VSyncEnd, VTotal : 1453, 1506
[ 1357.596] (--) NVIDIA(GPU-0): H/V Polarity : +/-
[ 1357.596] (--) NVIDIA(GPU-0): Image Size : 798 mm x 335 mm
[ 1357.596] (--) NVIDIA(GPU-0): RGB 444 bpcs : 8
[ 1357.596] (--) NVIDIA(GPU-0): 3440 x 1440 @ 90 Hz
[ 1357.596] (--) NVIDIA(GPU-0): Pixel Clock : 486.75 MHz
[ 1357.596] (--) NVIDIA(GPU-0): HRes, HSyncStart : 3440, 3488
[ 1357.596] (--) NVIDIA(GPU-0): HSyncEnd, HTotal : 3520, 3600
[ 1357.596] (--) NVIDIA(GPU-0): VRes, VSyncStart : 1440, 1443
[ 1357.596] (--) NVIDIA(GPU-0): VSyncEnd, VTotal : 1453, 1503
[ 1357.596] (--) NVIDIA(GPU-0): H/V Polarity : +/-
[ 1357.596] (--) NVIDIA(GPU-0): Image Size : 798 mm x 335 mm
[ 1357.596] (--) NVIDIA(GPU-0): RGB 444 bpcs : 8
[ 1357.596] (--) NVIDIA(GPU-0): 3440 x 1440 @ 85 Hz
[ 1357.596] (--) NVIDIA(GPU-0): Pixel Clock : 458.50 MHz
[ 1357.596] (--) NVIDIA(GPU-0): HRes, HSyncStart : 3440, 3488
[ 1357.596] (--) NVIDIA(GPU-0): HSyncEnd, HTotal : 3520, 3600
[ 1357.596] (--) NVIDIA(GPU-0): VRes, VSyncStart : 1440, 1443
[ 1357.596] (--) NVIDIA(GPU-0): VSyncEnd, VTotal : 1453, 1499
[ 1357.596] (--) NVIDIA(GPU-0): H/V Polarity : +/-
[ 1357.596] (--) NVIDIA(GPU-0): Image Size : 798 mm x 335 mm
[ 1357.596] (--) NVIDIA(GPU-0): RGB 444 bpcs : 8
[ 1357.596] (--) NVIDIA(GPU-0): 3440 x 1440 @ 80 Hz
[ 1357.596] (--) NVIDIA(GPU-0): Pixel Clock : 430.75 MHz
[ 1357.596] (--) NVIDIA(GPU-0): HRes, HSyncStart : 3440, 3488
[ 1357.596] (--) NVIDIA(GPU-0): HSyncEnd, HTotal : 3520, 3600
[ 1357.596] (--) NVIDIA(GPU-0): VRes, VSyncStart : 1440, 1443
[ 1357.596] (--) NVIDIA(GPU-0): VSyncEnd, VTotal : 1453, 1496
[ 1357.596] (--) NVIDIA(GPU-0): H/V Polarity : +/-
[ 1357.596] (--) NVIDIA(GPU-0): Image Size : 798 mm x 335 mm
[ 1357.596] (--) NVIDIA(GPU-0): RGB 444 bpcs : 8
[ 1357.596] (--) NVIDIA(GPU-0):
[ 1357.597] (--) NVIDIA(GPU-0): --- End of EDID for Acer X34A (DP-0) ---
I tried (hard) to build an alternative EDID with more resolutions but only got to make work two more (1920x1080 and 1280x720 @60hz activating the TV EDID video modes )
Any attempt to build a custom 2560x1440 has failed and when applied the screen goes black.
I tried custom modelines but They don’t work either (Possibly related with another bug apparently fixed in the upcoming version but the 2560x1440 didn’t work in EDID so i don’t expect to work in modeline either)
So, then I tried to play with the scaling to make the games start in the desired resolution but they only detect the native resolution and not the scaling.
To put an example. If I open HITMAN the only resolution available is 3440x1440 so even if I apply
Option "metamodes" "nvidia-auto-select +0+0 {viewportin=2560x1440,viewportout=2560x1440+440+0}"
The image is compressed from 3440x1440 and the game doesn’t give me other options to play than 3440x1440
So, my questions:
Is there a way to make the game think i have other resolutions apart from the native?
Is there a way to make a custom 2560x1440 modeline or EDID that works with this monitor (in win obviously i have the options and it works as expected (even considering the EDID doesn’t provide the timings for that resolution) ?
I already tricked some games to think i have this resolutions with the nonworking EDID 2560x1440 resolution and playing in windows or (HITMAN) allows me to select that resolution and it doesn’t try to change the desktop resolution so in that case, with a metamode scaling, i can play.
In wine i can play in virtual screen and it matches the metamode(but it has other problems in this mode) but if i try plain wine and try the non working resolution it changes the desktop res and I get a black screen.
Well, i hope there’s something it can be done cause I’m all about gaming in linux from now on and this is a real gaming blocker in some scenarios.
Edit1: adding other case
I saw other related post (kind of angry user…)
https://devtalk.nvidia.com/default/topic/907961/linux/340-96-gpu-aspect-ratio-scaling-problem/
But it ends more or less in the same scenario.
I wonder if Wouldn’t be possible for the driver to hijack the xrandr resolutions system call and offer the available scaling ? same way to hijack the xrandr call to change resolution and replace it with GPU scaling instead? Like a Forced Full GPU Scaling control of the resolution?
nvidia-bug-report.log.gz (155 KB)