Weird monitor issue after recent update

So a few weeks ago I installed updates like normal, rebooted my system, and after logging back in noticed my primary monitor keeps blanking repeatedly. The screen goes black for about a second and a half, then it comes back and it displays the “Display Port” message like it had just switched inputs or turned back on. After a few seconds it repeats. After messing around with a few things I just rolled the update back and it was back to working normally. I waited a few days hoping maybe there was a bad package or something and retried the update to the same result. At various times over the last couple weeks I’ve repeated this, as well as checked the output of various logs to see if there was some kind of obvious error message I could look for fixes for, but there’s absolutely no errors I can find I the logs that seem relevant.

I initially suspected this was an issue with Hyprland or one of its dependencies, so I swapped over to Plasma and that did initially seem to fix the issue, but when I enabled variable refresh rate in the plasma settings it started exhibiting the same behavior. I thought that if I just keep that disabled it would fix the problem, but once I started attempting to game it started happening semi-randomly, usually when cutscenes played, although I could also trigger it by simply focusing a window in my second monitor (which has been working perfectly this entire time). So this might be something related to either changes to refresh rate, or possibly mode line. It seems to happen fairly infrequently in Plasma (but it still happens), where as Hyprland it triggers very very often. By disabling VRR in my Hyprland config I can reduce it, but it still occurs far more often than it does in Plasma.

I’m honestly a little stumped on what to do next as I’m not even sure of what component is to blame. It could by the GPU driver, it could be the compositor, it could even be the monitor hardware itself I suppose, although the fact the issue goes away if I rollback to an earlier state seems to suggest it’s software and not hardware.

At this point, if someone doesn’t have an idea what the issue is I’d like to hear suggestions of logs to check to help debug. I checked dmesg and nothing jumps out there, and I checked Hyprlands logs and likewise nothing looks out of the ordinary there. I’m considering once again rolling back to my last known good state, but since it’s been weeks since then I’m not thrilled with that idea. I’d prefer staying up to date with my software if I can, but with my primary monitor being nearly useless because of this bug I’m not sure if I can actually do that.

System:
  Kernel: 6.13.1-arch1-1-znver4 arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-znver4
    root=UUID=1370fb7d-5f33-4b95-9dd2-7ddfcba26fe7 rw rootflags=subvol=@
    resume=UUID=b7305021-7806-494b-becc-291170d3e056 loglevel=3 splash quiet
    ibt=off
  Desktop: KDE Plasma v: 6.2.5 tk: Qt v: N/A info: frameworks v: 6.10.0
    wm: kwin_wayland tools: avail: hypridle, hyprlock, swayidle, swaylock vt: 1
    dm: SDDM Distro: Garuda base: Arch Linux
Machine:
  Type: Desktop System: Gigabyte product: X870E AORUS MASTER v: N/A
    serial: <superuser required>
  Mobo: Gigabyte model: X870E AORUS MASTER v: x.x
    serial: <superuser required> uuid: <superuser required> UEFI: American
    Megatrends LLC. v: F4g date: 11/12/2024
Battery:
  Device-1: hidpp_battery_0 model: Logitech MX Master 3S serial: <filter>
    charge: 20% rechargeable: yes status: discharging
CPU:
  Info: model: AMD Ryzen 7 9700X bits: 64 type: MT MCP arch: N/A level: v4
    note: check family: 0x1A (26) model-id: 0x44 (68) stepping: 0
    microcode: 0xB404023
  Topology: cpus: 1x dies: 1 clusters: 1 cores: 8 threads: 16 tpc: 2
    smt: enabled cache: L1: 640 KiB desc: d-8x48 KiB; i-8x32 KiB L2: 8 MiB
    desc: 8x1024 KiB L3: 32 MiB desc: 1x32 MiB
  Speed (MHz): avg: 4970 min/max: 600/5581 boost: enabled scaling:
    driver: amd-pstate-epp governor: performance cores: 1: 4970 2: 4970 3: 4970
    4: 4970 5: 4970 6: 4970 7: 4970 8: 4970 9: 4970 10: 4970 11: 4970 12: 4970
    13: 4970 14: 4970 15: 4970 16: 4970 bogomips: 120587
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities: <filter>
Graphics:
  Device-1: Advanced Micro Devices [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900
    XTX/7900 GRE/7900M] vendor: XFX RX-79XMERCB9 driver: amdgpu v: kernel
    arch: RDNA-3 code: Navi-3x process: TSMC n5 (5nm) built: 2022+ pcie:
    gen: 4 speed: 16 GT/s lanes: 16 ports: active: DP-1,HDMI-A-1
    empty: DP-2,DP-3,Writeback-1 bus-ID: 03:00.0 chip-ID: 1002:744c
    class-ID: 0300
  Device-2: Advanced Micro Devices [AMD/ATI] Granite Ridge [Radeon Graphics]
    vendor: Gigabyte driver: amdgpu v: kernel pcie: gen: 4 speed: 16 GT/s
    lanes: 16 ports: active: none empty: DP-4, DP-5, HDMI-A-2, HDMI-A-3,
    Writeback-2 bus-ID: 7b:00.0 chip-ID: 1002:13c0 class-ID: 0300 temp: 39.0 C
  Display: wayland server: X.org v: 1.21.1.15 with: Xwayland v: 24.1.4
    compositor: kwin_wayland driver: X: loaded: amdgpu
    unloaded: modesetting,radeon alternate: fbdev,vesa dri: radeonsi
    gpu: amdgpu d-rect: 4480x1440 display-ID: 0
  Monitor-1: DP-1 pos: primary,left model: RDD0013 serial: <filter>
    built: 2021 res: mode: 2560x1440 hz: 120 scale: 100% (1) dpi: 92 gamma: 1.2
    size: 708x399mm (27.87x15.71") diag: 813mm (32") ratio: 16:9 modes:
    max: 2560x1440 min: 640x480
  Monitor-2: HDMI-A-1 pos: right model: ASUS VZ279 serial: <filter>
    built: 2017 res: mode: 1920x1080 hz: 60 scale: 100% (1) dpi: 82 gamma: 1.2
    size: 598x336mm (23.54x13.23") diag: 686mm (27") ratio: 16:9 modes:
    max: 1920x1080 min: 720x400
  API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi
    device: 1 drv: radeonsi device: 2 drv: swrast gbm: drv: radeonsi
    surfaceless: drv: radeonsi wayland: drv: radeonsi x11: drv: radeonsi
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 24.3.4-arch1.1
    glx-v: 1.4 direct-render: yes renderer: AMD Radeon RX 7900 XTX (radeonsi
    navi31 LLVM 19.1.7 DRM 3.59 6.13.1-arch1-1-znver4) device-ID: 1002:744c
    memory: 23.44 GiB unified: no display-ID: :1.0
  API: Vulkan v: 1.4.303 layers: 14 device: 0 type: discrete-gpu name: AMD
    Radeon RX 7900 XTX (RADV NAVI31) driver: N/A device-ID: 1002:744c
    surfaces: xcb,xlib,wayland device: 1 type: integrated-gpu name: AMD
    Radeon Graphics (RADV RAPHAEL_MENDOCINO) driver: N/A device-ID: 1002:13c0
    surfaces: xcb,xlib,wayland device: 2 type: cpu name: llvmpipe (LLVM
    19.1.7 256 bits) driver: N/A device-ID: 10005:0000
    surfaces: xcb,xlib,wayland
  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
    de: kscreen-console,kscreen-doctor gpu: corectrl wl: kanshi, wayland-info,
    wdisplays, wlr-randr x11: xdpyinfo, xprop, xrandr
Audio:
  Device-1: Advanced Micro Devices [AMD/ATI] Navi 31 HDMI/DP Audio
    driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
    bus-ID: 03:00.1 chip-ID: 1002:ab30 class-ID: 0403
  Device-2: Advanced Micro Devices [AMD/ATI] Rembrandt Radeon High
    Definition Audio driver: snd_hda_intel v: kernel pcie: gen: 4
    speed: 16 GT/s lanes: 16 bus-ID: 7b:00.1 chip-ID: 1002:1640 class-ID: 0403
  Device-3: Advanced Micro Devices [AMD] Family 17h/19h/1ah HD Audio
    vendor: Gigabyte driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s
    lanes: 16 bus-ID: 7b:00.6 chip-ID: 1022:15e3 class-ID: 0403
  API: ALSA v: k6.13.1-arch1-1-znver4 status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: PipeWire v: 1.2.7 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Qualcomm WCN785x Wi-Fi 7 320MHz 2x2 [FastConnect 7800]
    vendor: Foxconn driver: ath12k_pci v: N/A modules: ath12k pcie: gen: 3
    speed: 8 GT/s lanes: 1 link-max: lanes: 2 bus-ID: 0f:00.0
    chip-ID: 17cb:1107 class-ID: 0280
  IF: wlp15s0 state: up mac: <filter>
  Device-2: Realtek vendor: Gigabyte driver: r8169 v: kernel pcie: gen: 3
    speed: 8 GT/s lanes: 1 port: e000 bus-ID: 10:00.0 chip-ID: 10ec:8126
    class-ID: 0200
  IF: enp16s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  IF-ID-1: docker0 state: down mac: <filter>
  Info: services: NetworkManager, smbd, sshd, systemd-timesyncd,
    wpa_supplicant
Bluetooth:
  Device-1: Foxconn / Hon Hai driver: btusb v: 0.8 type: USB rev: 1.1
    speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-10:3 chip-ID: 0489:e10d
    class-ID: e001
  Report: hciconfig ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 5.3
    lmp-v: 12 sub-v: 43fb hci-v: 12 class-ID: 6c0104
  Info: acl-mtu: 1024:8 sco-mtu: 240:4 link-policy: rswitch hold sniff
    link-mode: peripheral accept service-classes: rendering, capturing, audio,
    telephony
Drives:
  Local Storage: total: 5.46 TiB used: 1.77 TiB (32.3%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:5 vendor: Crucial model: CT4000T705SSD3
    size: 3.64 TiB block-size: physical: 512 B logical: 512 B speed: 126 Gb/s
    lanes: 4 tech: SSD serial: <filter> fw-rev: PACR5111 temp: 43.9 C
    scheme: GPT
  ID-2: /dev/nvme1n1 maj-min: 259:0 vendor: Samsung
    model: SSD 970 EVO Plus 2TB size: 1.82 TiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: 2B2QEXM7 temp: 49.9 C scheme: GPT
Partition:
  ID-1: / raw-size: 3.57 TiB size: 3.57 TiB (100.00%) used: 1.77 TiB (49.4%)
    fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:7
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 584 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:6
  ID-3: /home raw-size: 3.57 TiB size: 3.57 TiB (100.00%)
    used: 1.77 TiB (49.4%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:7
  ID-4: /var/log raw-size: 3.57 TiB size: 3.57 TiB (100.00%)
    used: 1.77 TiB (49.4%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:7
  ID-5: /var/tmp raw-size: 3.57 TiB size: 3.57 TiB (100.00%)
    used: 1.77 TiB (49.4%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:7
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: partition size: 68.65 GiB used: 0 KiB (0.0%)
    priority: -2 dev: /dev/nvme0n1p3 maj-min: 259:8
  ID-2: swap-2 type: zram size: 60.44 GiB used: 0 KiB (0.0%) priority: 100
    comp: zstd avail: lzo-rle,lzo,lz4,lz4hc,deflate,842 max-streams: 16
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 63.8 C mobo: N/A
  Fan Speeds (rpm): N/A
  GPU: device: amdgpu temp: 39.0 C device: amdgpu temp: 51.0 C mem: 60.0 C
    fan: 0 watts: 40.00
Info:
  Memory: total: 60 GiB note: est. available: 60.44 GiB used: 7.86 GiB (13.0%)
  Processes: 521 Power: uptime: 3m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
    suspend, test_resume image: 24.15 GiB services: org_kde_powerdevil,upowerd
    Init: systemd v: 257 default: graphical tool: systemctl
  Packages: pm: pacman pkgs: 2939 libs: 639 tools: pacseek,pamac,paru
    pm: flatpak pkgs: 0 Compilers: clang: 19.1.7 gcc: 14.2.1 Shell: garuda-inxi
    default: Zsh v: 5.9 running-in: alacritty inxi: 3.3.37
Garuda (2.6.26-1.1):
  System install date:     2024-10-04
  Last full system update: 2025-02-02
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut
  Windows dual boot:       Probably (Run as root to verify)
  Failed units:
1 Like

New piece of info to consider. My monitor supports both HDR and AMD Freesync, but only one or the other. I prefer having HDR enabled, so I had disabled Freesync in the monitor settings. While attempting various things to resolve this I went in and enabled Freesync in the monitor settings since the HDR support has been iffy in general. As soon as it did that, the monitor stopped blanking.

1 Like

Upon considering everything known so far my current thinking is as follows.

  • This is most likely a bug in the amdgpu kernel driver
  • Either:
    1. The bug is in the Freesync implementation. Even though I had disabled Freesync in the monitors settings, the driver had somehow determined it was supported by the monitor and kept attempting to use it. Perhaps there’s a disabled flag returned by the Freesync API that was being ignored? I know nothing about the actual Freesync API so this is pure speculation.
    2. The bug is in the HDR implementation. It had nothing to do with Freesync, but by enabling Freesync the monitor no longer advertises support for HDR disabling the buggy implementation. Something about the way HDR is being used is causing the monitor to reset the Display Port connection.

I’m currently leaning towards option 2 as the most likely explanation of what’s going on, although I am a little confused about why toggling the variable refresh rate support in various places seemed to have such a large impact on the frequency of the error occurring.

Assuming I’m correct that this is a bug in the amdgpu driver, I suppose the next steps would be to file a bug report with whoever maintains that driver, although without some kind of error message or easy reproduction steps (I can hardly ask them to purchase my exact model of monitor), or even a definitive root cause I’m not really feeling like I’ve reached that point yet.

1 Like

If you want to add new information, please edit your last post if no one has replied yet.
Thanks :slight_smile:

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.