Bug report for Linux Driver 550.54.14, display error on multi-monitor with different refresh rate after sleep

Hi I’m using a laptop with original screen support 240hz and a second monitor of refresh rate at 60hz. If I do the following:

  1. Setting my laptop screen at 240hz, monitor at 60hz, connected with HDMI
  2. Wait until the system black the screen
  3. Wake the system up

Then the following display error shows:

I’m on manajro xfce, and the following is my system info

[shore@shore-82wm manjaro_note]$ inxi -Fxza
  Kernel: 6.6.19-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: hpet avail: acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.6-x86_64
    root=UUID=7bccc8d3-4548-40ce-a552-7e8bb0746a4a rw quiet splash
    resume=UUID=a88ededb-a990-426b-a52a-dc130e2dfd07 udev.log_priority=3
  Desktop: Xfce v: 4.18.1 tk: Gtk v: 3.24.36 wm: xfwm4 v: 4.18.0
    with: xfce4-panel tools: xfce4-screensaver vt: 7 dm: LightDM v: 1.32.0
    Distro: Manjaro base: Arch Linux
  Type: Laptop System: LENOVO product: 82WM v: Legion R9000P ARX8
    serial: <superuser required> Chassis: type: 10 v: Legion R9000P ARX8
    serial: <superuser required>
  Mobo: LENOVO model: LNVNB161216 v: SDK0T76479 WIN
    serial: <superuser required> part-nu: LENOVO_MT_82WM_BU_idea_FM_Legion
    R9000P ARX8 uuid: <superuser required> UEFI: LENOVO v: LPCN47WW
    date: 09/15/2023
  ID-1: BAT0 charge: 80.8 Wh (95.1%) condition: 85.0/80.0 Wh (106.2%)
    volts: 15.9 min: 15.4 model: COSMX L22X4PC0 type: Li-poly serial: <filter>
    status: full cycles: 1
  Info: model: AMD Ryzen 9 7945HX with Radeon Graphics 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: 0xA601203
  Topology: cpus: 1x cores: 16 tpc: 2 threads: 32 smt: enabled cache:
    L1: 1024 KiB desc: d-16x32 KiB; i-16x32 KiB L2: 16 MiB desc: 16x1024 KiB
    L3: 64 MiB desc: 2x32 MiB
  Speed (MHz): avg: 777 high: 3743 min/max: 400/5461 scaling:
    driver: amd-pstate-epp governor: powersave cores: 1: 400 2: 400 3: 3743
    4: 400 5: 3282 6: 400 7: 400 8: 400 9: 3200 10: 400 11: 400 12: 400
    13: 400 14: 400 15: 3468 16: 400 17: 400 18: 400 19: 400 20: 400 21: 400
    22: 400 23: 400 24: 400 25: 400 26: 400 27: 400 28: 400 29: 400 30: 400
    31: 400 32: 400 bogomips: 159757
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Type: gather_data_sampling status: Not affected
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: retbleed status: Not affected
  Type: spec_rstack_overflow status: Vulnerable: Safe RET, no microcode
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
  Type: spectre_v2 mitigation: Enhanced / Automatic IBRS, IBPB:
    conditional, STIBP: always-on, RSB filling, PBRSB-eIBRS: Not affected
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
  Device-1: NVIDIA AD107M [GeForce RTX 4060 Max-Q / Mobile] vendor: Lenovo
    driver: nvidia v: 550.54.14 alternate: nouveau,nvidia_drm non-free: 545.xx+
    status: current (as of 2024-02) arch: Lovelace code: AD1xx
    process: TSMC n4 (5nm) built: 2022+ pcie: gen: 2 speed: 5 GT/s lanes: 8
    link-max: gen: 4 speed: 16 GT/s bus-ID: 01:00.0 chip-ID: 10de:28e0
    class-ID: 0300
  Device-2: Syntek Integrated Camera driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-2.4:4 chip-ID: 174f:246a
    class-ID: fe01 serial: <filter>
  Display: x11 server: X.org v: compositor: xfwm4 v: 4.18.0
    driver: X: loaded: nvidia gpu: nvidia display-ID: :0.0 screens: 1
  Screen-1: 0 s-res: 5120x1600 s-size: <missing: xdpyinfo>
  Monitor-1: DP-4 pos: primary,left res: 2560x1600 hz: 60 dpi: 188
    size: 345x215mm (13.58x8.46") diag: 407mm (16") modes: N/A
  Monitor-2: HDMI-0 pos: right res: 2560x1440 hz: 60 dpi: 92
    size: 708x398mm (27.87x15.67") diag: 812mm (31.98") modes: N/A
  API: EGL v: 1.5 hw: drv: nvidia platforms: device: 0 drv: nvidia device: 2
    drv: swrast gbm: drv: kms_swrast surfaceless: drv: nvidia x11: drv: nvidia
    inactive: wayland,device-1
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 550.54.14
    glx-v: 1.4 direct-render: yes renderer: NVIDIA GeForce RTX 4060 Laptop
    GPU/PCIe/SSE2 memory: 7.81 GiB
  Device-1: NVIDIA driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s
    lanes: 8 bus-ID: 01:00.1 chip-ID: 10de:22be class-ID: 0403
  Device-2: AMD ACP/ACP3X/ACP6x Audio Coprocessor vendor: Lenovo
    driver: snd_rpl_pci_acp6x v: kernel alternate: snd_pci_acp3x,
    snd_rn_pci_acp3x, snd_pci_acp5x, snd_pci_acp6x, snd_acp_pci, snd_pci_ps,
    snd_sof_amd_renoir, snd_sof_amd_rembrandt, snd_sof_amd_vangogh pcie:
    gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 08:00.5 chip-ID: 1022:15e2
    class-ID: 0480
  Device-3: AMD Family 17h/19h HD Audio vendor: Lenovo driver: snd_hda_intel
    v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 08:00.6
    chip-ID: 1022:15e3 class-ID: 0403
  API: ALSA v: k6.6.19-1-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: JACK v: 1.9.22 status: off tools: N/A
  Server-2: PipeWire v: 1.0.3 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
  Device-1: MEDIATEK MT7922 802.11ax PCI Express Wireless Network Adapter
    vendor: Lenovo driver: mt7921e v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 1
    bus-ID: 04:00.0 chip-ID: 14c3:0616 class-ID: 0280
  IF: wlp4s0 state: up mac: <filter>
  Device-2: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    vendor: Lenovo RTL8111/8168/8411 driver: r8169 v: kernel pcie: gen: 1
    speed: 2.5 GT/s lanes: 1 port: 1000 bus-ID: 07:00.0 chip-ID: 10ec:8168
    class-ID: 0200
  IF: enp7s0 state: down mac: <filter>
  Info: services: NetworkManager, systemd-timesyncd, wpa_supplicant
  Device-1: Foxconn / Hon Hai Bluetooth Adapter driver: btusb v: 0.8 type: USB
    rev: 2.1 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 5-1.1:3
    chip-ID: 0489:e0d8 class-ID: e001 serial: <filter>
  Report: rfkill ID: hci0 rfk-id: 2 state: up address: see --recommends
  Local Storage: total: 2.75 TiB used: 73.72 GiB (2.6%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung
    model: MZVL21T0HCLR-00BL2 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: EL1QGXA7 temp: 43.9 C scheme: GPT
  ID-2: /dev/nvme1n1 maj-min: 259:6 vendor: Seagate
    model: WDC WDS200T2B0C-00PXH0 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: 21705000 temp: 36.9 C scheme: GPT
  ID-1: / raw-size: 1.77 TiB size: 1.74 TiB (98.37%) used: 73.71 GiB (4.1%)
    fs: ext4 dev: /dev/nvme1n1p2 maj-min: 259:8
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 296 KiB (0.1%) fs: vfat dev: /dev/nvme1n1p1 maj-min: 259:7
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default) zswap: yes
    compressor: zstd max-pool: 20%
  ID-1: swap-1 type: partition size: 51.4 GiB used: 0 KiB (0.0%)
    priority: -2 dev: /dev/nvme1n1p3 maj-min: 259:9
  System Temperatures: cpu: 66.1 C mobo: 48.0 C gpu: nvidia temp: 43 C
  Fan Speeds (rpm): N/A
  Memory: total: 48 GiB available: 46.73 GiB used: 9.31 GiB (19.9%)
  Processes: 537 Power: uptime: 1h 24m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
    suspend, test_resume image: 18.68 GiB
    services: upowerd,xfce4-power-manager Init: systemd v: 255
    default: graphical tool: systemctl
  Packages: pm: pacman pkgs: 1140 libs: 415 tools: pamac Compilers:
    clang: 16.0.6 gcc: 13.2.1 Shell: Bash v: 5.2.26 running-in: code
    inxi: 3.3.33

And here are info come from xrandr

[shore@shore-82wm manjaro_note]$ xrandr
Screen 0: minimum 8 x 8, current 5120 x 1600, maximum 32767 x 32767
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected 2560x1440+2560+0 (normal left inverted right x axis y axis) 708mm x 398mm
   2560x1440     59.95*+
   1920x1080     60.00    60.00    59.94    50.00    29.97    25.00    23.98  
   1680x1050     59.95  
   1600x1200     60.00  
   1280x1024     75.02    60.02  
   1280x720      60.00    59.94    50.00  
   1200x960      60.00  
   1152x864      75.00  
   1024x768      75.03    60.00  
   800x600       75.00    60.32  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    59.94    59.93  
DP-4 connected primary 2560x1600+0+0 (normal left inverted right x axis y axis) 345mm x 215mm
   2560x1600     60.00*+ 240.00 

A few more experiments I did:

  1. without second monitor, my laptop 240hz works fine (sleep then wake up)
  2. if my laptop is on 240hz, the problem will show if I plug in the second monitor, and the second screen is copying laptop’s screen
  3. when the problem appears, I can set the laptop screen to 60hz and then back to 240hz, it works normal.
  4. when problem appears, I can unplug the monitor (HDMI), and set to 60hz then plug in then set to 240hz. it will work fine

Did this work with a 545 driver?

Hi I install driver through pacman, I cannot find 545, but I can try 390, 470

Those won’t work, too old, only for legacy gpus.

Okay, I do not know if I can install 545 by hand and do not want to risk…

I just updated to 550.67, the problem persists…

Perhaps consider using tkg or the aur.

here is the TKG repo, you need to gitclone the repo and then install with makepkg, it has from legacy to 535 and 545 and 550, as well as vulkan-dev.

For install you can do by removing or just running the script for reinstall.

When updating tho it can only be done installing manually, no pacman or yay(could be wrong) support i think tho.

Mb also consider trying out with KDE plasma, which as great support for wayland and multi display overall imo, i mention wayland because multi display improves with wayland abit.

Also i would say tho, Manjaro not that great they have an history of braking alot of stuff, i myself just use endeavourOS, another great one is CachyOS, no linux distro solves driver issues, but it can solve packaging issues, and that some have others don’t.

Thanks for the detailed explanation, but I think under manjaro the linux version should be the same with the linuxXX-nvidia’s version.

I updated linuxXX-nvidia last time without update linux it self, and it cannot boot with graphic.

So I think it is risky to me and I’ll just use 60hz for now…

Does anyone know if Nvidia is going to fix this??