UPDATE:
ROOT CAUSE IDENTIFIED:
Kernel log shows: “nvidia-modeset: WARNING: GPU:0: HDMI FRL link training failed.”
- This error appears after display power events (DPMS)
- FRL (Fixed Rate Link) is HDMI 2.1’s high-bandwidth mode required for 5120x2160@180Hz
- When FRL training fails, driver falls back to HDMI 2.0 TMDS mode
- HDMI 2.0 TMDS cannot support 5120x2160, so driver only exposes lower resolutions
- Power cycling the monitor forces a fresh FRL negotiation which succeeds
DESCRIPTION:
Hardware:
- GPU: NVIDIA GeForce RTX 4070 Ti SUPER
- Monitor: Samsung Odyssey G75F 40" (5120x2160 @ 180Hz native)
- Connection: HDMI 2.1
- OS: Fedora 43
- Kernel: 6.18.8-200.fc43.x86_64
- Driver: 580.119.02
Problem:
After the display enters power saving mode (screen blank/DPMS) or when switching monitor inputs and returning, the NVIDIA driver fails to properly re-read the monitor’s EDID. The correct native resolution (5120x2160 @ 180Hz) disappears from available modes and the system falls back to 3440x1440 @ 60Hz.
Reproduction Steps:
- Boot system with monitor connected via HDMI 2.1
- Verify 5120x2160 @ 180Hz is active and available in xrandr output
- Wait for screen to blank due to inactivity (or manually switch monitor input away and back)
- Wake display by moving mouse
- Resolution is now 3440x1440 @ 60Hz, and 5120x2160 is no longer listed in available modes
Expected Behavior:
The driver should re-read the monitor’s EDID after display power events and maintain the correct native resolution (5120x2160 @ 180Hz).
Actual Behavior:
- Before power event: /sys/class/drm/card1-HDMI-A-1/modes contains “5120x2160”
- After power event: /sys/class/drm/card1-HDMI-A-1/modes only shows up to “3840x2160”
- The monitor’s EDID is valid and contains the correct modes (verified with edid-decode)
- Power cycling the monitor (physical power button) forces a full EDID re-read and restores 5120x2160
Workaround:
Physically power cycling the monitor forces the driver to re-detect the correct resolution.
Additional Notes:
- Tested with both nvidia-drm.modeset=1 and nvidia-drm.modeset=0 - issue persists in both cases
- Monitor EDID correctly advertises 5120x2160 @ 60Hz (VIC 126) and @ 120Hz (VIC 193) with DSC support
- GNOME’s monitors.xml shows it previously worked at 5120x2160 @ 179.985Hz
- Journal shows: “Failed to use stored monitor configuration: Invalid mode 5120x2160 (179.985)”
Attached: nvidia-bug-report.log.gz (generated immediately after reproducing the issue)
nvidia-bug-report.log.gz (612.1 KB)
nvidia-bug-report-working.log.gz (619.6 KB)
After restarting monitor and reolution is detected correctly, re ran nvidia-bug-report.sh for output here.
Diff:
- XRANDR OUTPUT - Current Resolution
BROKEN: HDMI-1 connected primary 3440x1440+0+0
WORKING: HDMI-1 connected primary 5120x2160+0+0
- XRANDR OUTPUT - Preferred Mode
BROKEN: 3440x1440 (0x38e) 419.500MHz -HSync +VSync *current +preferred
WORKING: 5120x2160 (0x23) 3124.750MHz -HSync +VSync *current +preferred
- AVAILABLE MODES - 5120x2160 Detection
BROKEN: No 5120x2160 modes listed at all (0 occurrences in entire log)
WORKING: 5120x2160 appears as primary mode with multiple refresh rates
- KERNEL DRM MODES (/sys/class/drm/card1-HDMI-A-1/modes)
BROKEN: 3440x1440, 3840x2160, 2560x1440… (no 5120x2160)
WORKING: 5120x2160, 5120x2160, 5120x2160, 3840x2160… (multiple 5120x2160 entries)
- EDID DATA
IDENTICAL in both logs (same base64 encoded EDID)
- Monitor hasn’t changed
- EDID physically contains 5120x2160 modes (VIC 126, VIC 193)
- Driver simply fails to parse it correctly after display power events
Potentially similar symptoms here.
- LG C2 4K@120hz
- Nvidia 3080
- arch linux
- nvidia-open-dkms
- EFI boot stub
When I boot, sometimes my monitor sleeps, and I have to reboot for it to detect.
Then if my monitor sleeps after logged in, it falls back to 60hz and 120hz isn’t available. Power cycling the monitor will cause it to be redetected.
sudo dmesg | grep -iE 'nvidia|edid'
...
[ 6.477220] NVRM: loading NVIDIA UNIX Open Kernel Module for x86_64 590.48.01 Release Build (root@)
[ 6.526547] nvidia-modeset: Loading NVIDIA UNIX Open Kernel Mode Setting Driver for x86_64 590.48.01 Release Build (root@)
[ 6.607513] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
[ 8.144493] [drm] Initialized nvidia-drm 0.0.0 for 0000:01:00.0 on minor 1
[ 8.179783] nvidia 0000:01:00.0: vgaarb: deactivate vga console
[ 8.357912] fbcon: nvidia-drmdrmfb (fb0) is primary device
[ 8.653521] nvidia-modeset: WARNING: GPU:0: HDMI FRL link training failed.
[ 8.699289] nvidia 0000:01:00.0: [drm] fb0: nvidia-drmdrmfb frame buffer device
[ 36.404326] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input20
[ 36.404778] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input21
[ 36.405293] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input22
[ 36.405748] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input23
[ 39.768981] nvidia-modeset: WARNING: GPU:0: HDMI FRL link training failed.
[ 49.419544] nvidia-modeset: WARNING: GPU:0: HDMI FRL link training failed.
[ 85.783179] nvidia-modeset: WARNING: GPU:0: HDMI FRL link training failed.
[ 96.219103] nvidia-modeset: WARNING: GPU:0: HDMI FRL link training failed.
Xorg.log
...
[ 37.813] (II) Module nvidia: vendor="NVIDIA Corporation"
[ 37.813] compiled for 1.16.99.901, module version = 1.0.0
[ 37.813] Module class: X.Org Video Driver
[ 37.813] (II) LoadModule: "nouveau"
[ 37.813] (WW) Warning, couldn't open module nouveau
[ 37.813] (EE) Failed to load module "nouveau" (module does not exist, 0)
[ 37.813] (II) LoadModule: "nv"
[ 37.814] (WW) Warning, couldn't open module nv
[ 37.814] (EE) Failed to load module "nv" (module does not exist, 0)
[ 37.814] (II) LoadModule: "modesetting"
[ 37.814] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[ 37.814] (II) Module modesetting: vendor="X.Org Foundation"
[ 37.814] compiled for 1.21.1.21, module version = 1.21.1
[ 37.814] Module class: X.Org Video Driver
[ 37.814] ABI class: X.Org Video Driver, version 25.2
[ 37.814] (II) LoadModule: "fbdev"
[ 37.815] (WW) Warning, couldn't open module fbdev
[ 37.815] (EE) Failed to load module "fbdev" (module does not exist, 0)
[ 37.815] (II) LoadModule: "vesa"
[ 37.815] (WW) Warning, couldn't open module vesa
[ 37.815] (EE) Failed to load module "vesa" (module does not exist, 0)
[ 37.815] (II) NVIDIA dlloader X Driver 590.48.01 Mon Dec 8 12:52:06 UTC 2025
[ 37.815] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[ 37.815] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[ 37.842] (II) Loading sub module "fb"
[ 37.842] (II) LoadModule: "fb"
[ 37.842] (II) Module "fb" already built-in
[ 37.842] (II) Loading sub module "wfb"
[ 37.842] (II) LoadModule: "wfb"
[ 37.842] (II) Loading /usr/lib/xorg/modules/libwfb.so
[ 37.842] (II) Module wfb: vendor="X.Org Foundation"
[ 37.842] compiled for 1.21.1.21, module version = 1.0.0
[ 37.842] ABI class: X.Org ANSI C Emulation, version 0.4
[ 37.843] (WW) Falling back to old probe method for modesetting
[ 37.843] (EE) open /dev/dri/card0: No such file or directory
[ 37.844] (II) NVIDIA(0): Creating default Display subsection in Screen section
"Default Screen Section" for depth/fbbpp 24/32
[ 37.844] (==) NVIDIA(0): Depth 24, (==) framebuffer bpp 32
[ 37.844] (==) NVIDIA(0): RGB weight 888
[ 37.844] (==) NVIDIA(0): Default visual is TrueColor
[ 37.844] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[ 37.844] (II) Applying OutputClass "nvidia" options to /dev/dri/card1
[ 37.844] (**) NVIDIA(0): Option "AllowEmptyInitialConfiguration"
[ 37.844] (**) NVIDIA(0): Enabling 2D acceleration
[ 37.844] (II) Loading sub module "glxserver_nvidia"
[ 37.844] (II) LoadModule: "glxserver_nvidia"
[ 37.844] (II) Loading /usr/lib/nvidia/xorg/libglxserver_nvidia.so
[ 37.920] (II) Module glxserver_nvidia: vendor="NVIDIA Corporation"
[ 37.920] compiled for 1.16.99.901, module version = 1.0.0
[ 37.920] Module class: X.Org Server Extension
[ 37.920] (II) NVIDIA GLX Module 590.48.01 Mon Dec 8 12:52:09 UTC 2025
[ 37.920] (II) NVIDIA: The X server supports PRIME Render Offload.
[ 37.927] (--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:1:0:0
[ 37.927] (--) NVIDIA(0): DFP-0 (boot)
[ 37.927] (--) NVIDIA(0): DFP-1
[ 37.927] (--) NVIDIA(0): DFP-2
[ 37.927] (--) NVIDIA(0): DFP-3
[ 37.927] (--) NVIDIA(0): DFP-4
[ 37.927] (--) NVIDIA(0): DFP-5
[ 37.927] (--) NVIDIA(0): DFP-6
[ 37.961] (II) NVIDIA(0): NVIDIA GPU NVIDIA GeForce RTX 3080 (GA102-A) at PCI:1:0:0
[ 37.961] (II) NVIDIA(0): (GPU-0)
[ 37.961] (--) NVIDIA(0): Memory: 10485760 kBytes
[ 37.961] (--) NVIDIA(0): VideoBIOS: 94.02.26.40.9b
[ 37.961] (II) NVIDIA(0): Detected PCI Express Link width: 16X
[ 38.170] (--) NVIDIA(GPU-0): LG Electronics LG TV SSCR2 (DFP-0): connected
[ 38.170] (--) NVIDIA(GPU-0): LG Electronics LG TV SSCR2 (DFP-0): Internal TMDS
[ 38.170] (--) NVIDIA(GPU-0): LG Electronics LG TV SSCR2 (DFP-0): 42666.7 MHz maximum pixel clock
[ 38.170] (--) NVIDIA(GPU-0):
[ 38.170] (--) NVIDIA(GPU-0): DFP-1: disconnected
[ 38.170] (--) NVIDIA(GPU-0): DFP-1: Internal DisplayPort
[ 38.170] (--) NVIDIA(GPU-0): DFP-1: 2670.0 MHz maximum pixel clock
[ 38.170] (--) NVIDIA(GPU-0):
[ 38.170] (--) NVIDIA(GPU-0): DFP-2: disconnected
[ 38.170] (--) NVIDIA(GPU-0): DFP-2: Internal TMDS
[ 38.170] (--) NVIDIA(GPU-0): DFP-2: 165.0 MHz maximum pixel clock
[ 38.170] (--) NVIDIA(GPU-0):
[ 38.170] (--) NVIDIA(GPU-0): DFP-3: disconnected
[ 38.170] (--) NVIDIA(GPU-0): DFP-3: Internal DisplayPort
[ 38.170] (--) NVIDIA(GPU-0): DFP-3: 2670.0 MHz maximum pixel clock
[ 38.170] (--) NVIDIA(GPU-0):
[ 38.171] (--) NVIDIA(GPU-0): DFP-4: disconnected
[ 38.171] (--) NVIDIA(GPU-0): DFP-4: Internal TMDS
[ 38.171] (--) NVIDIA(GPU-0): DFP-4: 165.0 MHz maximum pixel clock
[ 38.171] (--) NVIDIA(GPU-0):
[ 38.171] (--) NVIDIA(GPU-0): DFP-5: disconnected
[ 38.171] (--) NVIDIA(GPU-0): DFP-5: Internal DisplayPort
[ 38.171] (--) NVIDIA(GPU-0): DFP-5: 2670.0 MHz maximum pixel clock
[ 38.171] (--) NVIDIA(GPU-0):
[ 38.171] (--) NVIDIA(GPU-0): DFP-6: disconnected
[ 38.171] (--) NVIDIA(GPU-0): DFP-6: Internal TMDS
[ 38.171] (--) NVIDIA(GPU-0): DFP-6: 165.0 MHz maximum pixel clock
[ 38.171] (--) NVIDIA(GPU-0):
[ 38.297] (==) NVIDIA(0):
[ 38.297] (==) NVIDIA(0): No modes were requested; the default mode "nvidia-auto-select"
[ 38.297] (==) NVIDIA(0): will be used as the requested mode.
[ 38.297] (==) NVIDIA(0):
[ 38.302] (II) NVIDIA(0): Validated MetaModes:
[ 38.302] (II) NVIDIA(0): "DFP-0:nvidia-auto-select"
[ 38.302] (II) NVIDIA(0): Virtual screen size determined to be 3840 x 2160
[ 38.649] (--) NVIDIA(0): DPI set to (60, 60); computed from "UseEdidDpi" X config
[ 38.649] (--) NVIDIA(0): option
[ 38.649] (II) UnloadModule: "modesetting"
[ 38.649] (II) Unloading modesetting
[ 38.651] (II) NVIDIA: Reserving 24576.00 MB of virtual memory for indirect memory
[ 38.651] (II) NVIDIA: access.
[ 38.693] (II) NVIDIA(0): Setting mode "DFP-0:nvidia-auto-select"
[ 39.803] (==) NVIDIA(0): Disabling shared memory pixmaps
[ 39.803] (==) NVIDIA(0): Backing store enabled
[ 39.803] (==) NVIDIA(0): Silken mouse enabled
[ 39.803] (==) NVIDIA(0): DPMS enabled
[ 39.803] (II) Loading sub module "dri2"
[ 39.803] (II) LoadModule: "dri2"
[ 39.803] (II) Module "dri2" already built-in
[ 39.803] (II) NVIDIA(0): [DRI2] Setup complete
[ 39.803] (II) NVIDIA(0): [DRI2] VDPAU driver: nvidia
[ 39.804] (II) Initializing extension Generic Event Extension
[ 39.804] (II) Initializing extension SHAPE
[ 39.804] (II) Initializing extension MIT-SHM
[ 39.804] (II) Initializing extension XInputExtension
[ 39.804] (II) Initializing extension XTEST
[ 39.804] (II) Initializing extension BIG-REQUESTS
[ 39.804] (II) Initializing extension SYNC
[ 39.804] (II) Initializing extension XKEYBOARD
[ 39.805] (II) Initializing extension XC-MISC
[ 39.805] (II) Initializing extension SECURITY
[ 39.805] (II) Initializing extension XFIXES
[ 39.805] (II) Initializing extension RENDER
[ 39.805] (II) Initializing extension RANDR
[ 39.805] (II) Initializing extension COMPOSITE
[ 39.805] (II) Initializing extension DAMAGE
[ 39.805] (II) Initializing extension MIT-SCREEN-SAVER
[ 39.805] (II) Initializing extension DOUBLE-BUFFER
[ 39.805] (II) Initializing extension RECORD
[ 39.805] (II) Initializing extension DPMS
[ 39.805] (II) Initializing extension Present
[ 39.805] (II) Initializing extension DRI3
[ 39.805] (II) Initializing extension X-Resource
[ 39.805] (II) Initializing extension XVideo
[ 39.805] (II) Initializing extension XVideo-MotionCompensation
[ 39.805] (II) Initializing extension GLX
[ 39.805] (II) Initializing extension GLX
[ 39.805] (II) Indirect GLX disabled.
[ 39.805] (II) GLX: Another vendor is already registered for screen 0
[ 39.805] (II) Initializing extension XFree86-VidModeExtension
[ 39.805] (II) Initializing extension XFree86-DGA
[ 39.806] (II) Initializing extension XFree86-DRI
[ 39.806] (II) Initializing extension DRI2
[ 39.806] (II) Initializing extension NV-GLX
[ 39.806] (II) Initializing extension NV-CONTROL
[ 39.806] (II) Initializing extension XINERAMA
...