Nvidia, please get it together with external monitors on Wayland

Hi,

I’m here out of frustration from trying to use my laptop with an Nvidia dedicated graphics card and a external monitor connected to it.
At first I thought this was a KDE only issue, which is the main DE I use, but looks like to be a widespread issue across many other DEs:
Here are some examples:

That’s not to mention the occasional freezes and kernel panics when using a external monitor connected to the Nvidia card. Although some of these mention Intel graphics, the issue is the same regardless if you the Integrated graphics is a Intel or a AMD GPU.

So please get this fixed so we can use our Laptops how they are intended.

Here are my specs, if that helps in any way:
Operating System: Arch Linux
KDE Plasma Version: 6.1.3
KDE Frameworks Version: 6.4.0
Qt Version: 6.7.2
Kernel Version: 6.10.1-arch1-1 (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 9 5900HS with Radeon Graphics
Memory: 15,0 GiB of RAM
GPU: AMD ATI Radeon Vega Series / Radeon Vega Mobile Series
GPU: NVIDIA GeForce RTX 3080 Mobile / Max-Q 8GB/16GB
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: ROG Zephyrus G15 GA503QS_GA503QS
System Version: 1.0

7 Likes

I don’t have these issues, but I don’t have multi monitor VRR. 😢

same issues here, no freezes or kernel panics but terrible performances on external monitors:

Operating System: Arch Linux
KDE Plasma Version: 6.1.3
KDE Frameworks Version: 6.4.0
Qt Version: 6.7.2
Kernel Version: 6.10.3-arch1-2 (64-bit)
Graphics Platform: Wayland
Processors: 16 × Intel® Core™ i9-10885H CPU @ 2.40GHz
Memory: 15.3 GiB of RAM
Graphics Processor: Quadro T2000 with Max-Q Design/PCIe/SSE2
Manufacturer: LENOVO
System Version: ThinkPad P1 Gen 3

Driver Version: 555.58.02 CUDA Version: 12.5

I have had a similar experience on my machine (Intel iGPU + NVIDIA GPU).

I haven’t tested it in a few months now, but I’m sad to see that the issues still remain Even though I believe that they have been alleviated up to a point in which it is in a usable state. However, the underlying issue still remains. It is one of the reasons why I have been using Windows instead of Linux which is “bearable” thanks to WSL.

From my past experience the only fixes were:

  1. Switch the laptop to only use the dedicated NVIDIA GPU if you laptop allows it (mine does). In this case everything worked fine since both the internal screen and the external screen were directly running from the dedicated GPU. Of course that this eliminates any of the power saving advantages that the hybrid mode may have.
  2. I was able to use the nvidia-smi command to ramp up the NVIDIA GPU clock speeds. If I ramp them up to the maximum the performance issues disappear. Of course that, once again, this will probably have an impact on power consumption.

These are just workarounds. What we really need is a proper fix. I believe that (part of) the problem is that the iGPU does all the rendering and composting by default. Therefore, the iGPU must also renders what is shown on the external screen but it must be copied from the iGPU frame buffer to the dGPU framebuffer. If the NVIDIA GPU is not properly managed, its clock speeds are just too slow and it is unable to receive all that data in a timely manner.

I just assume that on Windows the processed is more optimized and/or the NVIDIA drivers are able to clock the GPU accordingly automatically (and I assume that it doesn’t bump the clocks all the way to the max unless needed).

Same issues. Many hours wasted and tried many different things, but here is a summary:

Tried running Intel + Nvidia RTX A1000, Arch Linux, HP Z Book
Built in screen connected to Intel, external on Nvidia via displayport.
Integrated can be disabled in BIOS, so that only Nvidia is active, but that made no difference.
Nvidia open vs closed did not make a difference, since at least the 545 driver.
KDE and Gnome had the same issues.
vkcube-wayland runs at 60fps (60hz refresh rate) when window is on internal screen, then drops to 20fps when on the external screen.
Switching external screen to HDMI made no difference (same for USB-C to HDMI).
Switching off GSP made no difference.

Using only the laptop screen, everything works as it’s supposed to (with igpu enabled or disabled).
Running X on igpu + Nvidia is inconsistent. Sometimes the frame rate is ok, but it fluctuates too much.
Running X on Nvidia only works great, with or without an external screen.

So Nvdia + Wayland + external screen is a no go. X fares better, with Nvidia only + X being the best at this point.

1 Like

Same issue here with my Laptop, and desktop as well. My main monitor on my desktop runs 240Hz, that one runs fine, but my other two monitors running 60Hz and are slow, and have extreme latency. My Laptop has a 60hz monitor I plug into and it is unbearable.

Exactly the same issue for me. Nvidia + X11 works perfectly, Nvidia + Wayland lags to insane amounts. Works perfectly on AMD, breaks on Nvidia. It seems that this only happens with laptops primarily and not necessarily desktops, so there’s that.

If it is of any help, I’ll drop my specs in imgur: Laptop specs (for Nvidia + Wayland issue) - Album on Imgur

Fix your stuff, Nvidia! You are extremely close.

1 Like

i get 20 fps on usb-c monitors with glxgears, my laptop also give troubles booting with discrete card only so i am out of options, it’s embarrassing that after so many years Nvidia still have so many troubles on linux tbh…your hardware it’s not cheap. it should at least work properly.

Hi All,
Apologies for the delayed response, could someone also please share bug report from repro state.
It would be worth trying latest 560 release driver and share your observations on crash/freeze issue, low fps, high CPU utilization and any other issues, if any.

nvidia-bug-report.log.gz (448.3 KB)

This with 555 driver, will try also the beta one asap

The 560 driver made no difference whatsoever, as none of the previous ones did. I’ve attached an video highlighting the issue, as I’ve done in the KDE bug report. Again, just to reiterate that this is not exclusive to KDE and using Cosmic DE for instance yields the exact same behavior.

Some details from my system if that helps in any way:
Operating System: Arch Linux
KDE Plasma Version: 6.1.4
KDE Frameworks Version: 6.5.0
Qt Version: 6.7.2
Kernel Version: 6.10.6-arch1-1 (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 9 5900HS with Radeon Graphics
Memory: 15,0 GiB of RAM
Graphics Processor: NVIDIA GeForce RTX 3080 Laptop GPU/PCIe/SSE2
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: ROG Zephyrus G15 GA503QS_GA503QS
System Version: 1.0

~ nvidia-smi --version                    
NVIDIA-SMI version  : 560.35.03
NVML version        : 560.35
DRIVER version      : 560.35.03
CUDA Version        : 12.6

nvidia-bug-report.log.gz (730.9 KB)

Here is a bug report for the latest beta driver.

Operating System: Arch Linux
KDE Plasma Version: 6.1.4
KDE Frameworks Version: 6.5.0
Qt Version: 6.7.2
Kernel Version: 6.10.6-arch1-1 (64-bit)
Graphics Platform: Wayland
Processors: 24 × 12th Gen Intel® Core™ i7-12850HX
Memory: 31.0 GiB of RAM
Graphics Processor: NVIDIA RTX A1000 Laptop GPU/PCIe/SSE2
Manufacturer: HP
Product Name: HP ZBook Fury 16 G9 Mobile Workstation PC
System Version: SBKPF

Driver Version: 560.35.03

Thanks @hangoverNero @roket.scyntist for sharing test results with latest driver.
I have filed a bug 4824813 internally for tracking purpose.

This is a well-known issue on Wayland, and it’s extremely frustrating!
The current workaround is to use the proprietary kernel driver and add nvidia.nvreg_enablegpufirmware=0 to the kernel options.
Another approach is to lock the memory clock to its maximum value, which can improve frame rates, but still doesn’t fully match the monitor’s refresh rate.

There are many relevant discussions on this issue:

With the 560 driver release defaulting to the open kernel driver, this problem requires much higher priority. How can users rely on the open kernel driver which require the use of GSP firmware, if the current workaround for this issue involves disabling the firmware?

1 Like

We are actively investigating the issue, shall keep you posted on the progress.

3 Likes

Hello,

I just wanted to chime in and say I’m experiencing the same issue on my Asus Vivobook N6505MU. In case it helps narrow down the issue and solve it, I attach the nvidia bug report log below:
nvidia-bug-report.log.gz (1.3 MB)

System info
Operating System: Garuda Linux (Arch derivative)
KDE Plasma Version: 6.1.4
KDE Frameworks Version: 6.5.0
Qt Version: 6.7.2
Kernel Version: 6.10.7-zen1-1-zen (64-bit)
Graphics Platform: Wayland
Processors: Intel Core Ultra 9 185H
Memory: 22.8 GB RAM
Graphics Processor: GeForce RTX 4050 Max-Q / Mobile
Manufacturer: ASUS
Product Name: ASUS Vivobook Pro 15 N6505MU
System Version: 1.0

> nvidia-smi --version
NVIDIA-SMI version  : 560.35.03
NVML version        : 560.35
DRIVER version      : 560.35.03
CUDA Version        : 12.6

In case any more information is needed to help fix the issue, I’d be glad to help. I’ve hit quite a few bumps trying to get my setup working on this new laptop… With older NVIDIA drivers, my external monitor isn’t detected under Wayland. With the latest driver, it stutters like everyone is mentioning. The laptop’s built-in screen works just fine. Also, under X11, the issue goes away.

I posted a topic before about the issue. It’s not fixed on the new drivers also. so, here’s my report again. I hope it helps.

nvidia-bug-report.log.gz (642.1 KB)

Same issue here. Here’s my report
nvidia-bug-report.log.gz (783.5 KB)

Same issue here.
ASUS TUF Gaming A17 FA706IU Laptop
CPU: Ryzen 7 4800H
GPU: NVIDIA GTX 1660Ti
Monitor setup:

  • internal laptop screen 1080p 120Hz
  • external screen 1080p 240Hz connected to NVIDIA USB-C DP output

Desktop environment: KDE Plasma 6 Wayland. KWin run by iGPU (Radeon Vega)

On the above external monitor connected to the NVIDIA USB-C DP output, can’t maintain 240Hz. weston-presentation-shm shows the issue the best (p2p time about 16.6 ms on average)

Mouse movement feels smoothish, but frame pacing is visibly inconsistent.

Attaching output of nvidia-bug-report.sh run with my system in the above configuration.
nvidia-bug-report.log.gz (854.9 KB)

Same issue here
Lenovo P1 Gen 5 3070Ti
Fedora 40, 560 driver
Two ext displays connected USB-C 144hz,60hz

nvidia-bug-report.log.gz (678.7 KB)