Issue with PRIME render offload on wayland

On my laptop with GeforceMX150 and integrated intel graphics on Fedora Workstation 33 and Wayland, I have never been able to get PRIME render offload working. I think on this laptop I have had bumblebee working in the distant past (still using Xorg at that time and not even 100% sure it was this laptop still), but on fedora with wayland it has never worked.
The nvidia drivers install just fine, and the load as well, but when I run __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxinfoI get the error below. All posts I can find about it are about X11/Xorg, which I am not running since I have a hidpi laptop screen and an external ultrawide 1440p monitor, and Xorg gives all kinds of issues on that setup with resolution (and Xorg causes performance issues too, causing the fans to ramp up constantly). So is there any way to address this on Wayland?
Here is my nvidia-bug report output: nvidia-bug-report.log.gz - Google Drive

$ nvidia-smi
Tue Apr 13 08:14:19 2021
| NVIDIA-SMI 460.67       Driver Version: 460.67       CUDA Version: 11.2     |
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|   0  GeForce MX150       Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   61C    P8    N/A /  N/A |      0MiB /  2002MiB |      0%      Default |
|                               |                      |                  N/A |

| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|  No running processes found                                                 |

$ lsmod|grep nvidia
nvidia_drm             69632  1
nvidia_modeset       1232896  1 nvidia_drm
nvidia_uvm           1146880  0
nvidia              34177024  17 nvidia_uvm,nvidia_modeset
drm_kms_helper        286720  2 nvidia_drm,i915
drm                   622592  22 drm_kms_helper,nvidia_drm,i915

name of display: :0
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  150 (GLX)
  Minor opcode of failed request:  24 (X_GLXCreateNewContext)
  Value in failed request:  0x0
  Serial number of failed request:  39
  Current serial number in output stream:  40

I tried running under wayland myself, but as far as I understood, prime render offload is currently not supported under wayland.

I’m having the same problem with trying to use NVIDIA with PRIME render offload on KWIN Wayland, even though it works under KWIN X11. Does anyone know the reason why this is not supported, and if there’s any effort to get it to work?

Did this change with the new 470 driver? I still don’t seem to be able to use prime on Wayland…

It did, but playing vulkan games is not very nice. Basically, if the fps NVIDIA GPU produces is below vsync level, some older frames appear on screen in a glitching manner together with newest rendered frames.

I still haven’t seen a clear answer to this question. Does PRIME offloading work on Wayland like it does on X? Can a game be run with __NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_onlyfrom Steam using the 470 driver? This would really help in dealing with a HiDPI laptop.

As of driver version 495.44 on archlinux KDE, I can run XWayland OpenGL and Vulkan applications using the standard prime render offload. Native wayland apps are not yet supported and always run on intel.

Native wayland apps supporting vulkan should run IMO. OpenGL ones will require DRI PRIME support from nvidia.

Thanks for the information, it helped!

495.44: vulkan applications and X GL applications work, but screen tearing is horrible (lack of backbuffer support?)

1 Like