Lenovo P53 with openSUSE Leap 15.1: Xorg fails to load NVIDIA G05 driver (440.31)

Hello,

I’m busy configuring a new Lenovo P53 laptop, and I can’t get the NVIDIA driver loaded by the Xorg server. Here is my current setup:

  • openSUSE Leap 15.1, fully updated
  • kernel 4.12.14-lp151.28.32-default
  • Xorg 1.20.3
  • NVIDIA G05 driver v440.31 (installed from RPM)

Here are the packages that were installed:

linux-ykp3:/home/pan/Documents # rpm -qa | grep nvidia
nvidia-computeG05-440.31-lp151.20.1.x86_64
nvidia-glG05-440.31-lp151.20.1.x86_64
x11-video-nvidiaG05-440.31-lp151.20.1.x86_64
nvidia-gfxG05-kmp-default-440.31_k4.12.14_lp151.27-lp151.20.1.x86_64

They were obtained from the official NVIDIA SUSE repository at https://download.nvidia.com/opensuse/leap/15.1

The laptop features an Optimus GPU composed of the following two units (from ‘lspci’):

  • 00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630 (Mobile)
  • 01:00.0 VGA compatible controller: NVIDIA Corporation TU117GLM [Quadro T1000 Mobile] (rev a1)

The NVIDIA modules are indeed loaded by the kernel:

linux-ykp3:/home/pan/Documents # lsmod | grep nvidia
nvidia_drm             49152  0
nvidia_modeset       1110016  1 nvidia_drm
nvidia_uvm           1036288  0
nvidia              19927040  5 nvidia_modeset,nvidia_uvm
drm_kms_helper        204800  2 i915,nvidia_drm
drm                   491520  9 i915,nvidia_drm,drm_kms_helper
ipmi_msghandler        65536  2 nvidia,ipmi_devintf

But the X Server refuses to load it with the following error message (from Xorg.0.log):

[    22.691] (EE) NVIDIA(G0): GPU screens are not yet supported by the NVIDIA driver
[    22.691] (EE) NVIDIA(G0): Failing initialization of X screen

The X Server then falls back to using the Intel chipset through the ‘modesetting’ driver.

Can someone please explain how I can make Xorg load the NVIDIA driver? My understanding is that this is the only way for me to (hopefully) get an external monitor recognized through the HDMI connector.
nvidia-bug-report.log.gz (1.59 MB)

Please run nvidia-bug-report.sh as root and attach the resulting .gz file to your post. Hovering the mouse over an existing post of yours will reveal a paperclip icon.
https://devtalk.nvidia.com/default/topic/1043347/announcements/attaching-files-to-forum-topics-posts/

Please have a look at https://en.opensuse.org/SDB:NVIDIA_SUSE_Prime on how to enable prime on suse. If that doesn’t resolve the issue, please run nvidia-bug-report.sh as root and attach the resulting .gz file to your post. Hovering the mouse over an existing post of yours will reveal a paperclip icon.
https://devtalk.nvidia.com/default/topic/1043347/announcements/attaching-files-to-forum-topics-posts/

Attached bug report log to comment #1.

(In reply to comment #3)

SUSE-prime was in fact already installed (part of a default install on an Optimus laptop, apparently), something I was not aware of:

  • suse-prime-0.5-lp151.3.3.1.noarch

Issuing the ‘prime-select nvidia’ command, logging out and back in successfully switched to the nvidia chipset (as reported by ‘xrandr’):

pan@linux-ykp3:~> xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x29e; cap: 0x1 (Source Output); crtcs: 4; outputs: 5; associated providers: 1; name: NVIDIA-0
    output DP-0
    output DP-1
    output DP-2
    output HDMI-0
    output DP-3
Provider 1: id: 0x43; cap: 0xf (Source Output, Sink Output, Source Offload, Sink Offload); crtcs: 3; outputs: 1; associated providers: 1; name: modesetting
    output eDP-1-1

With the NVIDIA chipset active and now used by Xorg, I can successfully use an external monitor plugged in the laptop’s HDMI port, or indeed multiple external monitors connected via the docking station.