Using nVidia GPU only

Hello,
I have a laptop that includes a Intel HD GPU and an nVidia Quadro GPU. I’ve always been running Kubuntu on this machine with the proprietary nVidia drivers. In the nVidia settings application I had a menu that I think was named “PRIME profiles”, which was similar to this one: https://i.stack.imgur.com/ks4Wk.png. That menu was useful cause I could decide whether I wanted to use Intel GPU only, nVidia only or hybrid.
I just moved to Manjaro, I installed the same version of the nVidia drivers, but I do not see that menu anymore. There is no way to switch between those profiles. Any idea what condition may cause this result? Is there any way to quickly switch between the three configurations?
Thank you.

That profile menu is a patch that Ubuntu applies to nvidia-settings. It invokes the Ubuntu prime-select command which adjusts your X.Org configuration according to the mode you select. I’m not sure offhand whether Manjaro has something similar.

I guessed that, thanks for the confirmation.

After many hours, I’m still unable to do this with Manjaro. However, I’ve been told that I can force processes to render using the nVidia GPU by using env variables: Chapter 34. PRIME Render Offload. I tried with glxgears and in fact it seems rendering is done by the nVidia chip.

I therefore thought I could place these in /etc/environment to get the same behavior. The result is a mess :-) repaint of windows is incorrect, kwin seems to be crashing etc…
Any idea why? Or do you remember off the top of your head where I can find what conf to use to reach the result?
Thanks.

If you were using the Ubuntu thing to select “nvidia” mode, then it was likely configuring your system to run the whole desktop on the NVIDIA GPU and just use Intel for display (so-called “display offload” mode, also referred to as “PRIME”). The mode you’re referring to now has the desktop rendered on Intel, with only specific applications offloaded to NVIDIA (so-called “render offload” mode).

The problem with setting the render offload environment variables in /etc/environment is that then your desktop compositor tries to run on NVIDIA, which you certainly don’t want.

If you were using GNOME and wanted an easier way of launching applications on the GPU, you could look into installing and enabling “switcheroo-control”. That creates a context menu item for launching applications on the discrete GPU. I don’t know offhand whether KDE supports that or not.

Hello,
thanks for the info. I have a doubt though: is placing variables in /etc/environment different from “display offload”? “render offload” requires me to set vars for each process I want to run on the nVidia GPU, which I don’t like to do, I don’t see any reason to run something on the Intel GPU when I have no energy restriction.

The problem with setting the render offload environment variables in /etc/environment is that then your desktop compositor tries to run on NVIDIA, which you certainly don’t want.

Why shouldn’t I want this?

My understanding is that I’d like to do “display offload”, which was behaving well on Kubuntu, but I haven’t found yet docs to do this “manually”.