Some noob question for hybrid configuration Ryzen + nVidia

Hi, I’ve some very noob question about hybrid configuration.

I have a Ryzen 7 4800H laptop paired with a GeForce RTX 2060 Mobile video card.

lspci | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation TU106M [GeForce RTX 2060 Mobile] (rev ff)
05:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Renoir (rev c6)

I just installed Debian 11 and I’m trying to figure out what I can do to take full advantage of the video cards.

I want to get rid of Windows altogether, and for now I am doing some testing on a second partition.

I have found several news items involving hybrid systems, many with Intel/nVidia and some discordant with Amd/nVidia.
I have made several attempts but all to no avail, I have already reinstalled Debian at least 5 or 6 times.

I’ve tried installing both the non-free drivers, if I remember correctly they are at version 440, and the drivers provided by the nVidia site, the 525, but I’m not sure if everything works as it should.

If I understand correctly, the system can be configured in three ways:

  1. APU will render everything
  2. Everything is handled by nVidia
  3. Everything is handled by APU but heavy tasks was handled by nVidia

My very fist question is:
Is possible to set the mode 3 with “automatic” mode? I mean when some task need GPU will automatically take from nVidia card, I think like what happen in Windows I think.

I don’t think there is an “OOTB” solution, certainly there is some manual work to be done, but I don’t understand how I know whether it is working or not.

Is it better to install Debian’s drivers or nVidia’s new ones? In the first case, the installation does everything, including blacklisting the nouveau drivers (I’m not sure I understand exactly what they are)

Among the many things I found is this

however, for Manjaro.
The whole thing seems simple I tried adapting for Debian (I tried what I knew) but then X wouldn’t start and I had to reinstall.

Where can I start from in order to get everything working?

Can I provide some logs or some current configuration?
I just reinstalled Debian, no drivers installed yet.

J

To begin with, imho debian is not really a good choice to use on a hybrid graphics notebook with a nvidia gpu, especially for a beginner. Reason for this is the “eco system” for theese is a moving target and debian is moving rather slowly.
A general downside of nvidia/linux on your specific hardware is that runtime power management (runtime D3) with the proprietary nvidia driver doesn’t work prior to Ryzen 5xxx systems. Might have changed meanwhile but I don’t think so. Meaning, when in render offload mode (Mode 3), the nvidia gpu will still consume power while unused.

Don’t use the runfile installer from nvidia, always use the distro packages unless you know exactly what you’re doing.

Not really, with gnome (when correctly set up) you have the right-click option “Lauch on dGPU”. Which in theory could also be saved to the starter (.desktop file). It’s a bit up to you and your imagination to set things up to fit your needs.
My advice, rather start by installing a bleeding edge ubuntu or arch and check out what’s possible and how the parts are working together. Then you can start changing desktop environments and distributions.

Hi generix,
thank you for your reply.

I have basic knowledge of the linux world, but I have never “played” with these settings, this is the first time I have a laptop with a dual video card.
You tell me that the 5xxx series of Ryzen has problems with power management, do you think the 4xxx series that I have also?
However, in my specific case, this would not be a problem, I pretty much always use it plugged into the power supply.

Indeed I have always noticed this “slowness” in package management in the Debian world, it never bothered me but I admit that some times I had to take alternative solutions to get around some problems. Let’s say I installed it out of habit, I have a Debian-based server.

I also tried to install the drivers provided by nVidia, however, I first had to manually disable the kernel modules and other options that I don’t remember now, I admit it wasn’t immediate, but in the end I still didn’t get the desired result.

Changing distro for me is not a problem, in the past I used both Ubuntu and Arch and of the latter I have good memories I always found it very fast, maybe change some commands but I don’t think it’s a problem.

Let me explain, the idea is to have a stable system to use every day, I don’t play games but I use video conversion and graphics programs, so I would like to take advantage of the nVidia GPU.
Where then I can’t get to with linux, I want to take advantage of a KVM virtual machine by enabling passthrough

In your experience now, is Arch or Ubuntu better to use this hybrid system?

The other way round, it started working with ryzen 5xxx.

Using Ubuntu is most comfortable since you have a good ootb experience with one-click driver install and distro patches and infrastructure (prime-select, gpu-manager) especially for hybrid graphics notebooks. Downside might be the Ubuntu branding and snap, depending on personal taste.
Arch delivers a leaner, more customizable system, minor tinkering needed (basically installing prime-run). Its pros are also its cons:

  • more vanilla experience, no specific patching towards hybrid graphics
  • rolling release, always latest version but also latest bugs, upgrade often

That’s not that easy, passing through a dgpu of a notebook is not that simple and straight forward as a desktop gpu.

Got it!

Ok that’s a long term goal.

Ok, I just installed Ubuntu, more easy in my case, maybe in future, when I understand how to manage hybrid system I’ll switch to Arch.

And after a quick check in dmesg I see this

nvidia-gpu 0000:01:00.3: i2c timeout error e0000000
[drm:nv_drm_master_set [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to grab modeset ownership

I’ve the nVidia x server program but I don’t know how to use under linux
How can I check if the system is working like expected?

Those messages can be safely ignored, nothing wrong.
in terminal, you can run
glxinfo |grep vendor
should return “mesa”
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxinfo |grep vendor
should return “Nvidia”

Exactly

glxinfo |grep vendor
server glx vendor string: SGI
client glx vendor string: Mesa Project and SGI
OpenGL vendor string: AMD
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxinfo |grep vendor
server glx vendor string: NVIDIA Corporation
client glx vendor string: NVIDIA Corporation
OpenGL vendor string: NVIDIA Corporation