Bug 461172

Summary: External screen driven by separate NVIDIA GPU runs with only 30fps under wayland, compared to internal screen run with Intel iGPU
Product: [Plasma] kwin Reporter: Ralf Jung <post>
Component: wayland-genericAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: normal CC: nate, xaver.hugl
Priority: NOR    
Version: 5.26.0   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Ralf Jung 2022-10-29 17:40:36 UTC
SUMMARY
I am trying wayland for the first time on my system, and overall it works pretty well, despite my somewhat annoying multi-GPU setup involving an NVidia GPU. However, things running on the external screen are only running at 30fps:

STEPS TO REPRODUCE
1. Run https://git.ralfj.de/gltest.git, or some other way or measuring FPS
2. Move the window between the internal screen of my laptop, and the external screen

OBSERVED RESULT
On the internal screen it runs with 60fps. On the external screen it runs with 30fps.

EXPECTED RESULT
It should run with 60fps on all screens.

The lower framerate is even noticeable during normal desktop operation. When I start a video game on the external screen, it likewise only achieves 30fps. So I am fairly sure this is not caused by my little gltest program.

On my laptop, the internal screen is connected to the Intel GPU, but the HDMI port with the external screen is connected to the NVidia GPU. I have the proprietary Nvidia drivers installed. Remarkably, the external screen just worked without any setup (nice!), but unfortunately there is this problem with the framerate.

SOFTWARE/OS VERSIONS
Operating System: Debian GNU/Linux
KDE Plasma Version: 5.26.0
KDE Frameworks Version: 5.98.0
Qt Version: 5.15.6
Kernel Version: 6.0.0-2-amd64 (64-bit)
Graphics Platform: Wayland
Processors: 8 × Intel® Xeon® CPU E3-1505M v5 @ 2.80GHz
Memory: 31,2 GiB of RAM
Graphics Processor: Mesa Intel® HD Graphics P530
Manufacturer: LENOVO
Product Name: 20ENCTO1WW
System Version: ThinkPad P50
Comment 1 Ralf Jung 2022-11-01 15:37:22 UTC
According to what I was told on IRC, this is likely caused by the GPU-to-GPU copy being done on the CPU, since kwin doesn't have good fallback cases for when there is no perfect match of the buffers (or maybe I misunderstood what was said).

I have now switched to the open-source nvidia driver, which fixed the problem. But ideally it should work with the closed-source driver as well.
Comment 2 Zamundaaa 2022-11-30 23:47:28 UTC

*** This bug has been marked as a duplicate of bug 452219 ***