open-gpu-kernel-modules icon indicating copy to clipboard operation
open-gpu-kernel-modules copied to clipboard

KDE and GNOME wayland sessions high CPU usage with external displays

Open Enverbalalic opened this issue 3 years ago • 6 comments

NVIDIA Open GPU Kernel Modules Version

525.78.01

Does this happen with the proprietary driver (of the same version) as well?

Yes

Operating System and Version

Arch Linux

Kernel Release

6.1.4

Hardware: GPU

NVIDIA GeForce GTX 1660 Ti (UUID: GPU-1039f844-290a-8383-6bb3-75f30db7d7c5)

Describe the bug

When using a laptop and an external display both KDE and GNOME Wayland sessions have high CPU usage when doing anything/refreshing the external display.

dmesg spams NVRM osCreateOsDescriptorFromDmaBufPtr: osCreateOsDescriptorFromDmaBufPtr(): Error (86) while trying to import dma_buf!

I have built the driver with an os_dump_stacktrace() before the call to osCreateOsDescriptorFromDmaBufPtr, there's an attachment so the path that the driver takes to get there is visible

To Reproduce

  • Connect external display
  • See high CPU usage

Bug Incidence

Always

nvidia-bug-report.log.gz

nvidia-bug-report.log.gz

nvidia-stacktrace.txt

More Info

No response

Enverbalalic avatar Jan 08 '23 20:01 Enverbalalic

Not just KDE and gnome, just wayland in general... Sway, hyprland, wayfire, you name it!

VoxVoltera avatar Feb 28 '23 17:02 VoxVoltera

Yes, DMABUF not implemented for Wayland :(

Enverbalalic avatar Mar 01 '23 13:03 Enverbalalic

Surprisingly it seems the issue was resolved (for me at least) by switching to the Nvidia 530.30.02 driver, along with a bunch of different issues (like suspend, screen tearing, etc.) I guess Nvidia has stepped up their game between 525 and 530 (this is the proprietary btw)

VoxVoltera avatar Mar 01 '23 20:03 VoxVoltera

This issue is still present in 530. Kwin and Mutter still have to fallback to CPU copy as the nvidia driver fails to import the dma buffer.

ankurdhama avatar May 27 '23 16:05 ankurdhama

I am having the same issue since updating to the nvidia drivers 545.29.02 for my GeForce 3080Ti (Laptop). Happens here when starting CS2 which ran fine before.

I am running NixOS on Kernel Version 6.6.0. When killing the process this is the output from dmesg.

[12740.753015] NVRM unixCallVideoBIOS: int10h(4f02, 0000) vesa call failed! (4f02, 0000) [12740.753421] NVRM nvCheckOkFailedNoLog: Check failed: Failure: Generic Error [NV_ERR_GENERIC] (0x0000FFFF) returned from pRmApi->Control(pRmApi, nv->rmapi.hClient, nv->rmapi.hSubDevice, NV2080_CTRL_CMD_INTERNAL_DISPLAY_POST_RESTORE, &restoreParams, sizeof(restoreParams)) @ unix_console.c:197 [12740.899571] NVRM nvAssertFailedNoLog: Assertion failed: !nvp->pGpu || !rmDeviceGpuLockIsOwner(nvp->pGpu->gpuInstance) @ dynamic-power.c:150 [12740.987953] NVRM unixCallVideoBIOS: int10h(4f02, 0000) vesa call failed! (4f02, 0000) [12740.988331] NVRM nvCheckOkFailedNoLog: Check failed: Failure: Generic Error [NV_ERR_GENERIC] (0x0000FFFF) returned from pRmApi->Control(pRmApi, nv->rmapi.hClient, nv->rmapi.hSubDevice, NV2080_CTRL_CMD_INTERNAL_DISPLAY_POST_RESTORE, &restoreParams, sizeof(restoreParams)) @ unix_console.c:197

After the process kill I am thrown back to the login screen

relief-melone avatar Nov 07 '23 23:11 relief-melone

This could be related to https://github.com/obsproject/obs-studio/issues/9895 as well.

ioquatix avatar Dec 02 '23 00:12 ioquatix