External Monitors not Working at High Refresh Rate

A recent update seems to have largely broken my laptop’s ability to use an external monitor. While the monitor is detected and can be configured, the display does not function if the refresh rate is greater than 60 Hz. This doesn’t appear to be a hardware issue; the Windows install on the same laptop can drive the display at its intended 240 Hz.

While I found a few posts in the forums about monitors being broken or laggy, I couldn’t find anything that was specific to high-refresh rate displays.

Any ideas what might have caused the issue? I get the feeling I missed a change in how Hyprland and/or Wayland require external displays to be configured and this could just be a settings issue somewhere that I wouldn’t know to look.

Output of garuda-inxi

System:
  Kernel: 6.10.6-AMD-znver3 arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
    clocksource: hpet avail: acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-amd-znver3
    root=UUID=9f662d8d-670c-4fc5-8ee9-dc07a83cba8a rw rootflags=subvol=@
    quiet loglevel=3 ibt=off
  Desktop: Hyprland v: N/A with: waybar tools: avail: swayidle,swaylock
    dm: SDDM Distro: Garuda base: Arch Linux
Machine:
  Type: Laptop System: ASUSTeK product: ROG Strix G513QR_G513QR v: 1.0
    serial: <filter>
  Mobo: ASUSTeK model: G513QR v: 1.0 serial: <filter>
    uuid: 3094f494-0bd5-0b4d-bfab-29f362ec6b68 UEFI: American Megatrends LLC.
    v: G513QR.331 date: 02/24/2023
Battery:
  ID-1: BAT0 charge: 77.3 Wh (100.0%) condition: 77.3/90.0 Wh (85.9%)
    volts: 16.7 min: 15.9 model: AS3GWYF3KC GA50358 type: Li-ion
    serial: <filter> status: full
CPU:
  Info: model: AMD Ryzen 9 5900HX with Radeon Graphics socket: FP6 bits: 64
    type: MT MCP arch: Zen 3 gen: 4 level: v3 note: check built: 2021-22
    process: TSMC n7 (7nm) family: 0x19 (25) model-id: 0x50 (80) stepping: 0
    microcode: 0xA50000B
  Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
    L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 4 MiB desc: 8x512 KiB
    L3: 16 MiB desc: 1x16 MiB
  Speed (MHz): avg: 4131 high: 4312 min/max: 400/4890 base/boost: 3300/4650
    scaling: driver: amd-pstate-epp governor: powersave volts: 1.2 V
    ext-clock: 100 MHz cores: 1: 4033 2: 4155 3: 4179 4: 3494 5: 4208 6: 4312
    7: 4110 8: 4297 9: 3842 10: 4242 11: 4228 12: 4263 13: 4178 14: 4160
    15: 4170 16: 4228 bogomips: 105433
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities: <filter>
Graphics:
  Device-1: NVIDIA GA104M [GeForce RTX 3070 Mobile / Max-Q] vendor: ASUSTeK
    driver: nvidia v: 560.35.03 alternate: nvidia_drm non-free: 550.xx+
    status: current (as of 2024-06; EOL~2026-12-xx) arch: Ampere code: GAxxx
    process: TSMC n7 (7nm) built: 2020-2023 pcie: gen: 3 speed: 8 GT/s
    lanes: 8 link-max: gen: 4 speed: 16 GT/s lanes: 16 ports: active: none
    empty: DP-1 bus-ID: 01:00.0 chip-ID: 10de:249d class-ID: 0300
  Device-2: AMD Cezanne [Radeon Vega Series / Radeon Mobile Series]
    vendor: ASUSTeK driver: amdgpu v: kernel arch: GCN-5 code: Vega
    process: GF 14nm built: 2017-20 pcie: gen: 3 speed: 8 GT/s lanes: 16
    link-max: gen: 4 speed: 16 GT/s ports: active: HDMI-A-1,eDP-1 empty: none
    bus-ID: 05:00.0 chip-ID: 1002:1638 class-ID: 0300 temp: 74.0 C
  Display: unspecified server: X.org v: 1.21.1.13 with: Xwayland v: 24.1.2
    compositor: Hyprland driver: X: loaded: amdgpu,nvidia
    unloaded: modesetting,nouveau alternate: fbdev,nv,vesa dri: radeonsi
    gpu: amdgpu display-ID: :1
  Monitor-1: HDMI-A-1 model: ASUS XG17A serial: <filter> built: 2021
    res: 1920x1080 dpi: 128 gamma: 1.2 size: 382x215mm (15.04x8.46")
    diag: 438mm (17.3") ratio: 16:9 modes: max: 1920x1080 min: 720x400
  Monitor-2: eDP-1 model: BOE Display 0x0973 built: 2020 res: 2560x1440
    dpi: 189 gamma: 1.2 size: 344x194mm (13.54x7.64") diag: 395mm (15.5")
    ratio: 16:9 modes: max: 2560x1440 min: 640x480
  API: Vulkan Message: No Vulkan data available.
  API: OpenGL Message: Unable to show GL data. glxinfo is missing.
Audio:
  Device-1: NVIDIA GA104 High Definition Audio vendor: ASUSTeK
    driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 8
    link-max: gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 01:00.1
    chip-ID: 10de:228b class-ID: 0403
  Device-2: AMD Renoir Radeon High Definition Audio vendor: ASUSTeK
    driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16
    link-max: gen: 4 speed: 16 GT/s bus-ID: 05:00.1 chip-ID: 1002:1637
    class-ID: 0403
  Device-3: AMD ACP/ACP3X/ACP6x Audio Coprocessor vendor: ASUSTeK
    driver: N/A alternate: snd_pci_acp3x, snd_rn_pci_acp3x, snd_pci_acp5x,
    snd_pci_acp6x, snd_acp_pci, snd_rpl_pci_acp6x, snd_pci_ps pcie: gen: 3
    speed: 8 GT/s lanes: 16 link-max: gen: 4 speed: 16 GT/s bus-ID: 05:00.5
    chip-ID: 1022:15e2 class-ID: 0480
  Device-4: AMD Family 17h/19h HD Audio vendor: ASUSTeK
    driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16
    link-max: gen: 4 speed: 16 GT/s bus-ID: 05:00.6 chip-ID: 1022:15e3
    class-ID: 0403
  Device-5: SteelSeries ApS Arctis Nova Pro Wireless
    driver: hid-generic,snd-usb-audio,usbhid type: USB rev: 2.0 speed: 12 Mb/s
    lanes: 1 mode: 1.1 bus-ID: 3-1.3.2:7 chip-ID: 1038:12e0 class-ID: 0300
  API: ALSA v: k6.10.6-AMD-znver3 status: kernel-api tools: N/A
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: PipeWire v: 1.2.3 status: n/a (root, process) 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: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    vendor: ASUSTeK driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 port: e000 bus-ID: 02:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: enp2s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Device-2: MEDIATEK MT7921 802.11ax PCI Express Wireless Network Adapter
    vendor: AzureWave driver: mt7921e v: kernel pcie: gen: 2 speed: 5 GT/s
    lanes: 1 bus-ID: 03:00.0 chip-ID: 14c3:7961 class-ID: 0280
  IF: wlp3s0 state: up mac: <filter>
  Info: services: NetworkManager, systemd-timesyncd, wpa_supplicant
Bluetooth:
  Device-1: IMC Networks Wireless_Device driver: btusb v: 0.8 type: USB
    rev: 2.1 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-4:3 chip-ID: 13d3:3563
    class-ID: e001 serial: <filter>
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 5.2
    lmp-v: 11 status: discoverable: no pairing: no class-ID: 6c010c
Drives:
  Local Storage: total: 19.12 TiB used: 2.33 TiB (12.2%)
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Intel model: SSDPEKNU010TZ
    size: 953.87 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
    lanes: 4 tech: SSD serial: <filter> fw-rev: 002C temp: 32.9 C scheme: GPT
  SMART: yes health: PASSED on: 1y 91d 7h cycles: 2,101
    read-units: 66,501,334 [34.0 TB] written-units: 66,570,630 [34.0 TB]
  ID-2: /dev/sda maj-min: 8:0 vendor: Hitachi model: HUH721010ALE601
    size: 9.1 TiB block-size: physical: 4096 B logical: 512 B type: USB rev: 3.0
    spd: 5 Gb/s lanes: 1 mode: 3.2 gen-1x1 sata: 3.2 speed: 6.0 Gb/s tech: HDD
    rpm: 7200 serial: <filter> fw-rev: LHGL0003 temp: 42 C
  SMART: yes state: enabled health: PASSED on: 4y 247d 13h cycles: 95
    read: 1.51 PiB written: 1.51 PiB
  ID-3: /dev/sdb maj-min: 8:16 vendor: Hitachi model: HUH721010ALE601
    size: 9.1 TiB block-size: physical: 4096 B logical: 512 B type: USB rev: 3.0
    spd: 5 Gb/s lanes: 1 mode: 3.2 gen-1x1 sata: 3.2 speed: 6.0 Gb/s tech: HDD
    rpm: 7200 serial: <filter> fw-rev: LHGL0003 temp: 42 C
  SMART: yes state: enabled health: PASSED on: 4y 34d 13h cycles: 95
    read: 2.49 PiB written: 1.47 PiB
Partition:
  ID-1: / raw-size: 81.06 GiB size: 81.06 GiB (100.00%)
    used: 68.43 GiB (84.4%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p7
    maj-min: 259:7
  ID-2: /boot/efi raw-size: 260 MiB size: 256 MiB (98.46%)
    used: 26.5 MiB (10.4%) fs: vfat block-size: 512 B dev: /dev/nvme0n1p1
    maj-min: 259:1
  ID-3: /home raw-size: 81.06 GiB size: 81.06 GiB (100.00%)
    used: 68.43 GiB (84.4%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p7
    maj-min: 259:7
  ID-4: /var/log raw-size: 81.06 GiB size: 81.06 GiB (100.00%)
    used: 68.43 GiB (84.4%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p7
    maj-min: 259:7
  ID-5: /var/tmp raw-size: 81.06 GiB size: 81.06 GiB (100.00%)
    used: 68.43 GiB (84.4%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p7
    maj-min: 259:7
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: zram size: 30.78 GiB used: 0 KiB (0.0%) priority: 100
    comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 16 dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 82.0 C mobo: 34.0 C gpu: amdgpu temp: 74.0 C
  Fan Speeds (rpm): N/A
Info:
  Memory: total: 32 GiB note: est. available: 30.78 GiB
    used: 10.78 GiB (35.0%)
  Processes: 419 Power: uptime: 4h 26m states: freeze,mem,disk
    suspend: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
    suspend, test_resume image: 12.23 GiB services: upowerd Init: systemd
    v: 256 default: graphical tool: systemctl
  Packages: pm: pacman pkgs: 1827 libs: 530 tools: pacseek,paru Compilers:
    gcc: 14.2.1 Shell: garuda-inxi (sudo) default: Bash v: 5.2.32
    running-in: foot inxi: 3.3.35
Garuda (2.6.26-1):
  System install date:     2024-01-13
  Last full system update: 2024-09-05
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut nvidia-dkms
  Windows dual boot:       Yes
  Failed units:            

Did you read Hyprland Wiki about Nvidia.
Also Hyprland Downloads | 240428 | Fixes | Nvidia

use arandr for monitor settings.

Yes, I’m aware of Hyprland’s wiki page on NVidia graphics cards and the fact that, officially, they’re not supported. I’d followed those steps when I first installed Garuda Linux around the start of the year, but I’ll go through them again in case anything has changed.

You also might want to downgrade the nvidia driver tell the next update ive heard nothing but issues with 560, and a bit with the 555. Not much else you can do though.

Personally when you get a working one i would add it to the pacman ignore list. An only update it as needed

Looks like something messed with my Hyprland configuration at some point as the required environment variables were missing from my hyprland.conf even though I’m certain I set those shortly after my initial install. I added the four environment variables, the cursor configuration, and the optional tweak to help with Firefox’s hardware acceleration.

After restarting, the display still wasn’t working at first. Changing the refresh rate to 60 brought it to life, then changing it back to its full refresh rate continued to work. I’d say resetting the refresh rate might be a useful troubleshooting step for others with this or similar problems in the future.

Thanks for pointing me in the right direction. Wouldn’t have thought to re-read and re-do the setup steps.

It’s nice this was solved easily. :slightly_smiling_face:
Nevertheless, I think nvidia may have nothing to do with it. Or you can keep it in your watch list, if something goes wrong with the refresh rate in the future.

It seems that both of your current outputs are connected to the AMD GPU, not to Nvidia.

Just pointing out what inxi report reports :stuck_out_tongue_winking_eye: .

3 Likes