Nearly entire screen turns black when attempting to increase monitor framerate past 60 hz

hi theree, just got garuda linux running today and im loving it! ive encountered one slight hiccup so far
in the display configuration menu of the system settings, i noticed that the refresh rate was set to 60 and wanted to change it as my monitor supports higher refresh rates
however, setting the rate any higher seems to mess up the display in some way - the higher the framerate, the more of the screen goes black, with just a sliver visible at the very top. at 120 HZ i can only make out my browse tabs names, and at 165 HZ i can only see a very small line of lit pixels at the top
i tried searching through the forums but couldnt find any solutions that worked for me. i should note that i havent tried changing the window manager to wayland (as that was one proposed solution) as wayland has caused me other issues and id prefer not to switch to it if possible

System:
  Kernel: 6.9.7-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 14.1.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=12098956-cae1-40e3-a55f-e0ef525fe9ab rw rootflags=subvol=@
    quiet loglevel=3 ibt=off
  Desktop: KDE Plasma v: 6.1.2 tk: Qt v: N/A info: frameworks v: 6.3.0
    wm: kwin_x11 vt: 2 dm: SDDM Distro: Garuda base: Arch Linux
Machine:
  Type: Desktop Mobo: Micro-Star model: MAG B650 TOMAHAWK WIFI (MS-7D75)
    v: 1.0 serial: <superuser required> uuid: <superuser required> UEFI: American
    Megatrends LLC. v: 1.I0 date: 06/07/2024
CPU:
  Info: model: AMD Ryzen 7 7800X3D bits: 64 type: MT MCP arch: Zen 4 gen: 5
    level: v4 note: check built: 2022+ process: TSMC n5 (5nm) family: 0x19 (25)
    model-id: 0x61 (97) stepping: 2 microcode: 0xA601206
  Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
    L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 8 MiB desc: 8x1024 KiB
    L3: 96 MiB desc: 1x96 MiB
  Speed (MHz): avg: 1465 high: 4400 min/max: 545/5050 scaling:
    driver: amd-pstate-epp governor: powersave cores: 1: 4395 2: 545 3: 4139
    4: 545 5: 545 6: 545 7: 545 8: 545 9: 3976 10: 545 11: 545 12: 545 13: 545
    14: 4400 15: 545 16: 545 bogomips: 134401
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities: <filter>
Graphics:
  Device-1: AMD Navi 32 [Radeon RX 7700 XT / 7800 XT] vendor: Sapphire
    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-2
    empty: DP-1, HDMI-A-1, HDMI-A-2, Writeback-1 bus-ID: 03:00.0
    chip-ID: 1002:747e class-ID: 0300
  Device-2: AMD Raphael vendor: Micro-Star MSI driver: amdgpu v: kernel
    arch: RDNA-2 code: Navi-2x process: TSMC n7 (7nm) built: 2020-22 pcie:
    gen: 4 speed: 16 GT/s lanes: 16 ports: active: none empty: DP-3, DP-4,
    DP-5, HDMI-A-3, Writeback-2 bus-ID: 12:00.0 chip-ID: 1002:164e
    class-ID: 0300 temp: 40.0 C
  Display: x11 server: X.Org v: 21.1.13 with: Xwayland v: 24.1.0
    compositor: kwin_x11 driver: X: loaded: amdgpu unloaded: modesetting,radeon
    alternate: fbdev,vesa dri: radeonsi gpu: amdgpu display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.00x11.22")
    s-diag: 582mm (22.93")
  Monitor-1: DP-2 mapped: DisplayPort-1 model: Idek Iiyama PL2770H
    serial: <filter> built: 2020 res: 1920x1080 hz: 60 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: kms_swrast
    surfaceless: drv: radeonsi x11: drv: radeonsi inactive: wayland
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 24.1.2-arch1.1
    glx-v: 1.4 direct-render: yes renderer: AMD Radeon RX 7800 XT (radeonsi
    navi32 LLVM 17.0.6 DRM 3.57 6.9.7-zen1-1-zen) device-ID: 1002:747e
    memory: 15.62 GiB unified: no
  API: Vulkan v: 1.3.279 layers: 7 device: 0 type: discrete-gpu name: AMD
    Radeon RX 7800 XT (RADV NAVI32) driver: mesa radv v: 24.1.2-arch1.1
    device-ID: 1002:747e surfaces: xcb,xlib device: 1 type: integrated-gpu
    name: AMD Radeon Graphics (RADV RAPHAEL_MENDOCINO) driver: mesa radv
    v: 24.1.2-arch1.1 device-ID: 1002:164e surfaces: xcb,xlib device: 2
    type: cpu name: llvmpipe (LLVM 17.0.6 256 bits) driver: mesa llvmpipe
    v: 24.1.2-arch1.1 (LLVM 17.0.6) device-ID: 10005:0000 surfaces: xcb,xlib
Audio:
  Device-1: AMD 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: AMD Rembrandt Radeon High Definition Audio
    vendor: Micro-Star MSI driver: snd_hda_intel v: kernel pcie: gen: 4
    speed: 16 GT/s lanes: 16 bus-ID: 12:00.1 chip-ID: 1002:1640 class-ID: 0403
  Device-3: AMD Family 17h/19h HD Audio vendor: Micro-Star MSI
    driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
    bus-ID: 12:00.6 chip-ID: 1022:15e3 class-ID: 0403
  Device-4: Focusrite-Novation Scarlett Solo 4th Gen driver: snd-usb-audio
    type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-5.1:4
    chip-ID: 1235:8218 class-ID: 0102 serial: <filter>
  Device-5: Micro Star USB Audio driver: hid-generic,snd-usb-audio,usbhid
    type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-6:3
    chip-ID: 0db0:422d class-ID: 0300
  API: ALSA v: k6.9.7-zen1-1-zen status: kernel-api tools: N/A
  Server-1: PipeWire v: 1.2.0 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: Realtek RTL8125 2.5GbE vendor: Micro-Star MSI driver: r8169
    v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 1 port: c000 bus-ID: 0e:00.0
    chip-ID: 10ec:8125 class-ID: 0200
  IF: enp14s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Device-2: MEDIATEK MT7922 802.11ax PCI Express Wireless Network Adapter
    driver: mt7921e v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 1
    bus-ID: 0f:00.0 chip-ID: 14c3:0616 class-ID: 0280
  IF: wlp15s0 state: down mac: <filter>
  Info: services: NetworkManager, smbd, systemd-timesyncd, wpa_supplicant
Bluetooth:
  Device-1: MediaTek Wireless_Device driver: btusb v: 0.8 type: USB rev: 2.1
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-7:5 chip-ID: 0e8d:0616
    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: 6c0104
Drives:
  Local Storage: total: 953.87 GiB used: 25.74 GiB (2.7%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Lexar model: SSD NM790 1TB
    size: 953.87 GiB block-size: physical: 512 B logical: 512 B speed: 63.2 Gb/s
    lanes: 4 tech: SSD serial: <filter> fw-rev: 18950 temp: 33.9 C scheme: GPT
Partition:
  ID-1: / raw-size: 953.57 GiB size: 953.57 GiB (100.00%)
    used: 25.74 GiB (2.7%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  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:1
  ID-3: /home raw-size: 953.57 GiB size: 953.57 GiB (100.00%)
    used: 25.74 GiB (2.7%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-4: /var/log raw-size: 953.57 GiB size: 953.57 GiB (100.00%)
    used: 25.74 GiB (2.7%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-5: /var/tmp raw-size: 953.57 GiB size: 953.57 GiB (100.00%)
    used: 25.74 GiB (2.7%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: zram size: 30.46 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: 47.1 C mobo: 38.0 C
  Fan Speeds (rpm): N/A
  GPU: device: amdgpu temp: 40.0 C mem: 44.0 C fan: 0 watts: 13.00
    device: amdgpu temp: 40.0 C
Info:
  Memory: total: 32 GiB note: est. available: 30.46 GiB used: 3.31 GiB (10.9%)
  Processes: 383 Power: uptime: 1m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
    suspend, test_resume image: 12.17 GiB services: org_kde_powerdevil,
    power-profiles-daemon, upowerd Init: systemd v: 256 default: graphical
    tool: systemctl
  Packages: pm: pacman pkgs: 1343 libs: 391 tools: octopi,paru Compilers:
    gcc: 14.1.1 Shell: garuda-inxi default: Bash v: 5.2.26 running-in: alacritty
    inxi: 3.3.35
Garuda (2.6.26-1):
  System install date:     2024-07-05
  Last full system update: 2024-07-05
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut
  Windows dual boot:       No/Undetected
  Failed units:

I use to have different issues when I would change resolution on X11 (screen cut in half). Best solution for me was to do it via command line.
use xrandr -q to find the display name, resolution and supported framerates.
Then try changing it.
xrandr --output eDP-1 --mode 1920x1080 --pos 0x0 --rate 60.1

WARNING!
Before you try anything, I suggest you make a snapshot. I once messed up, but I had previously run a command that didn’t fail, so even though I had black screen, I tapped the up arrow key twice and hit enter, and my screen was back.

1 Like

thank you! ill give this a try. this would be my first time doing something ‘risky’ so i just wanted to make sure - how can i make the snapshot and return to it via the terminal exactly?

1 Like

actually nevermind, i managed to change the framerate and then come back but it seems like the same thing happens as when doing it in the GUI - most of the screen goes black and i have to return to 60Hz for it to fix itself
im wondering if there are maybe any commands i could run while the screen is messed up to maybe help clue in what the exact issue is? ive tried switching outputs as well but that didnt seem to do much

wanted to leave a quick update here to outline some things ive tried since making the post, maybe they can help with figuring out whats up here:

  • ive tried changing where the display port is plugged in but it didnt seem to change anything
  • ive tried using a different display port cable but it didnt seem to help. i didnt have a good HDMI on hand and… im not even sure if higher framerates would work on that one
  • ive tried playing around with the monitor settings to see if anything there could be messing it up. the only potential culprit was freesync but i noticed no difference after turning it off and rebooting the system

You don’t need to make a snapshot in terminal, just use snapper to create a manual snapshot and then if you want to restore into that snapshot, just select it during boot, under other options.

Were you able to get higher frame rate other Distros or on Windows?

thank you for the explanation and help! i think i figured this out, in this case it just seems like an issue with the monitor itself :confused:
i tried plugging it into my brother’s pc which runs windows 10 with an nvidia card and trying to set the frame rate higher caused the exact same issue. might just have to get a new one sometime

honestly, trying to plug it into a different system first is probably the best thing to do initially if i encounter any issues with something like a monitor again haha. spent a lot of time researching arch-specific troubleshooting resources just to figure out that its an issue with the monitor itself and not the system

still, thank you for the help! im now aware of xrandrwhich is very handy, alongside a plethora of other potential fixes if my future monitor acts up as well

1 Like

Usually it’s the problem with the cable. I always use the cable provided with the monitor.
Glad you were able to narrow it down.

1 Like

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