Need Help with NVIDIA Quadro M1000M and Wayland on ThinkPad P50

Hey everyone,

I have a Lenovo ThinkPad P50 laptop and am trying to get the best performance out of it that I can in regrads to usability and things behaving as expected. After soome Googling, I found on the Arch Wiki (https://wiki.archlinux.org/title/Lenovo_ThinkPad_P50) that you can experience sluggish graphics performance with the Intel HD Graphics 530 (Skylake GT2), which I do feel like is happening. The wiki entry suggests increasing the DRAM setting in the BIOS from 256MB to the maximum of 512MB. So far that has not made a noticable difference but I have kept it on 512MB going forward. The wiki goes on to say “If battery life is not of primary concern, enabling the Nvidia GPU provides a much smoother experience.” For me, battery life is not an issue because the vast majority of the places I use my laptop have outlets.

I attempted this once before and managed to really mess things up to the point that I had to restore a TimeShift snaoshot from the day before to get a working install back up and running. I have the drivers installed as directed in this forum post (I broke something gpu drivers related? - #3 by daisyKutter). Everything with the install went well and seems to be working after the reboot. So nothing is broken (yet), but I am not completely sure that everything is using the NVIDIA GPU and nothing using the Intel GPU. I know in the BIOS I can change a setting from using hybrid mode (both cards) to dedicated mode (just the NVIDIA card), but I feel like when I did that last time everything got jacked up and I could not get a login screen, or if I did and logged in all I got was a black screen.

So, what I am wondering is if anyone knows (as in, you yourself have gotten this to work) if I can even get NVIDIA drivers instaled on my system that will allow me to use Wayland, and ideally the NVIDIA card for all graphics processing? I thought I had seen a Reddit post somewhere that someone had, but I cannot find it now and was not smart enough to save it when I found it the one time. I know Wayland and NVIDIA do not always play nice together, but given the comment on the wiki page, “If battery life is not of primary concern, enabling the Nvidia GPU provides a much smoother experience.”, I would like to try to get that working. It seems silly to have the NVIDIA card and not use it. I also know if I leave it set as Hybrid I could use the NVIDIA for just things like games or more graphic intensive tasks, but the one time I did manage to get that kind of setup working, the system still felt sluggish whenever I was not using the NVIDIA card (which I only tested with Steam to be fair).

I appreciate any help / advice / assistance / positive thoughts / prayers / toasts / spells / and anything else you got that could aid me in my endeavor here. I am including some system and software information that I pulled from neofetch and the “About this System” page of Systems Settings. Please let me know if there is additional information I can provide. When I run the nvidia-smi command it shows:

±----------------------------------------------------------------------------------------+
| NVIDIA-SMI 555.58.02 Driver Version: 555.58.02 CUDA Version: 12.5 |
|-----------------------------------------±-----------------------±---------------------+
| 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 Quadro M1000M Off | 00000000:01:00.0 Off | N/A |
| N/A 36C P8 N/A / 200W | 6MiB / 2048MiB | 0% Default |
| | | N/A |
±----------------------------------------±-----------------------±---------------------+

±----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 983 G /usr/lib/Xorg 2MiB |
±----------------------------------------------------------------------------------------+

and when I run glxinfo | grep -E “OpenGL vendor|OpenGL renderer”, I get:

OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) HD Graphics 530 (SKL GT2)

which makes me think that the system is still using the Intel GPU. I had tried to use EnvyControl when I attempted this the first time, but it did not seem to work, like I would tell it to switch the GPU being used and it wouldn’t actually do anything. I saw on another post (On integrated/nvidia dedicated graphics laptop, can't use nvidia graphics card or prime-run - #5 by TurkeyJohn) someone recommend using supergfxctl, but I am not familiar with that one and was not sure if that would work with my sysytem since I don’t have an ASUS. As much as I tend to prefer a GUI option over a commandline control, since I do not plan on switching back and forth between the cards (ssuming I can make this work), I am more than fine with commandline in this instance. Thanks in advance and have a great day!

LinuxAndCoffee

Software

OS: EndeavourOS Linux x86_64
Kernel: 6.9.7-zen1-1-zen
Resolution: 3840x2160
DE: Plasma 6.1.2
WM: kwin
KDE Plasma Version: 6.1.2
KDE Framework Version: 6.3.0
Display Manager: sddm
QT Version: 6.73
Kernel Version: 6.9.7-zen1-1-zen (64-bit)
Graphics Platform: Wayland

Hardware

Processors: 8 × Intel® Core™ i7-6820HQ CPU @ 2.70GHz
Memory: 62.5 GiB of RAM
Graphics Processor: Mesa Intel® HD Graphics 530
Manufacturer: LENOVO
Product Name: 20EQS12M00
System Version: ThinkPad P50
CPU: Intel i7-6820HQ (8) @ 3.600GHz
GPU: Intel HD Graphics 530
GPU: NVIDIA Quadro M1000M (2GB)

UPDATE: I installed supergfxctl and supergfxctl-plasmoid, which does show all three options (Hybrid, Intel Only, NVIDIA Only). But when I try to select the NVIDIA option I see a message saying “dGPU power: suspended”. Which if I understand correctly means that the NVIDIA card is not powered on so it won’t let me switch to it. But I cannot find a way to enable it or turn it on. I have run tons of Google searches but I only really keep finding people who want to disable their dGPU, not enable it. I do still have the option to change in my BIOS from Hybrid to Dedicated, but last time I did that things were not working (not saying that was the cause, just remember that was in the midst of the crazy). And I guess I am worried that if I make that change, but for some reason the NVIDIA card does not power on or come back from being suspended, then I won’t have a functional machine because nothing will be being used for graphics by the system. Does that make sense?

  • LinuxAndCoffee

Your post is very long @revm, which asks for quite a commitment and challenge for those who might be in a position to help.

Nvidia on laptops is a bit of a different beast, but I can confirm two things:

  • Nvidia on Wayland remains a consistent source of issues (based on reported issues in the forums).
  • My Nvidia A4000 workstation GPU under Wayland on desktop remains a consistent source of issues.

My advice is to stick to X11 and give Nvidia and Wayland some time to sort out their differences. You are of course free to persist, and some have found success, although even those who might claim their Nvidia GPU works perfectly under Wayland, have still snuck in the odd “except for…”, if we’re paying attention :wink:

Sorry for the long post, I just wnated to provide as much information as possible to skip going through some of the typical questions that come up aboutt someone’s system and software. And I wanted to outline what I had done for the same reason. I apologize for the length of the post.

Thank you for the information you posted, I knew that Wayland and NVIDIA do not play well together, but the Arch wiki page makes it sound like it should work. I decided to follow your advice and swtich to X11 and will see how things behave there with a hybrid setup (at least for now). I think in my head somewhere I was thinking that Plasma 6 only worked with Wayland, but that is obviously not the case. I am guessing I was thinking that because KDE was switching to Wayland as the default. Thank you again for your help!

This is not entirely true. Wayland works fine on Nvidia on my system. It can be problematic due to various hardware.

Are you dual booting with Windows?

Hey @ricklinux,

No, I am not dual booting. I am solely just using EndeavourOS. I did try using everything with X11 and so far, so good. But if there is a way to make it all work in Wayland I would love that. I know people have different preferences between Wayland and X11. I would rather use Wayland if possible. But until that can be figured out, X11 is an acceptable option.

  • LinuxAndCoffee

When you were using it with Wayland was it actually using the nvidia gpu? This is a hybrid laptop so one must switch gpu. If it was running on Wayland and it’s on the intel gpu then maybe it’s not the nvidia that’s the problem. You have an older Intel gpu. Is it running on the Intel driver or the kernel module? Post the url

inxi -Faz | eos-sendlog

URL: https://0x0.st/XMN-.txt

At one point I beleive I had the hybrid setup working where the Intel GPU was doing most things, but I could add something (forgot the exact command) to the menu entry for an app and it would use the NVIDIA for that app. I tried it with Steam and I think it was working. This last time around I kept running into messages that the NVIDIA card (when under Wayland) was suspended, and I could not figure out via searching how to un-suspend or enable it.

Okay so currently it is rendering on intel gpu using the intel driver on Wayland. Have you tried it on Wayland using modesetting or kernel module?

Device-1: Intel HD Graphics 530 vendor: Lenovo driver: i915 v: kernel
    arch: Gen-9 process: Intel 14n built: 2015-16 ports: active: eDP-1
    empty: none bus-ID: 00:02.0 chip-ID: 8086:191b class-ID: 0300

You would just have to uninstall the intel driver and reboot.

xf86-video-intel

It also shows the nvidia drivers are installed currently but it is rendering on intel gpu.

 Device-2: NVIDIA GM107GLM [Quadro M1000M] vendor: Lenovo driver: nvidia
    v: 555.58.02 alternate: nouveau,nvidia_drm non-free: 545.xx+ status: current
    (as of 2024-06; EOL~2026-12-xx) arch: Maxwell code: GMxxx
    process: TSMC 28nm built: 2014-2019 pcie: gen: 1 speed: 2.5 GT/s lanes: 16
    link-max: gen: 3 speed: 8 GT/s ports: active: none empty: DP-1,DP-2,DP-3
    bus-ID: 01:00.0 chip-ID: 10de:13b1 class-ID: 0300

You just need to use the preferred method for your laptop to switch from intel to nvidia. I’m not sure what that is exactly. You said you were using a method before. There are a number of them. optimus-manager, envycontrol and there are others also. I’m not sure if your laptop has settings in the bios for integrated, dedicated or hybrid gpu?