How to Use NVIDIA graphics only with NVIDIA Optimus?

I tried to follow this wiki page: Use_NVIDIA_graphics_only
without success.

Later i tried to follow this page: Configure_Graphics_Cards
also without success.

Now, I am totally confused. Which is the better? And how should do it step by step?

This is the introduction.

Which, on a modern hybrid system, will get you to PRIME.

Which by default is iGPU, but dGPU when you use prime-run.

From there you can opt to further modify things, such as by steps like found

Though I cant attest to the actual quality of that guide.
It woud appear to be for xorg only, at least as written, so thats a factor.

They are entirely different, though you could see the archwiki as a possible ‘expansion’ of the manjaro guide.

Depends on your system. Like which display manager.

But if you just want something easy then you can use envycontrol.

It is a switcher utility allowing you to reboot into iGPU-only, dGPU-only, or hybrid (how prime already is without a switcher tool). There are also complimentary GUI apps and widgets for it so you can do that select-reboot right from a panel menu item.

On the arch wiki page I stuck immediatly at this step:
“First, install the NVIDIA driver”. That directed me to here: installation page
There the step 3 says: “Install the appropriate driver for your card”
I have found my card is NV167 (TU117), but i cannot find which is the driver for that.
I guess the OS installer and the mhwd put something onto my system, but… I am not able to determine is that good or not.
So, totally confused.

Anyway: bash: envycontrol: command not found

Drivers on manjaro are handled my mhwd unless you really know what you are doing.

mhwd -li -l

For installed packages straight you could search using the package manager

pacman -Qs nvidia

This is the kind of thing you should not be blindly following the archwiki about.

You must first grasp the basics - You are using manjaro. On manjaro mhwd handles drivers.
““First, install the NVIDIA driver (from here)” - Archwiki” should be translated to “Make sure the nvidia drivers is installed through mhwd”.

That is expected. It is not installed by default.

Here is the result of the first command:

> Installed PCI configs:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
     video-modesetting            2020.01.13                true            PCI
video-hybrid-intel-nvidia-prime            2023.03.23               false            PCI


Warning: No installed USB configs!
> 0000:03:00.0 (0200:10ec:8168) Network controller Realtek Semiconductor Co., Ltd.:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
         network-r8168            2023.09.12                true            PCI


> 0000:01:00.0 (0302:10de:1f99) Display controller nVidia Corporation:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
video-hybrid-intel-nvidia-prime            2023.03.23               false            PCI
video-hybrid-intel-nvidia-470xx-prime            2023.03.23               false            PCI
          video-nvidia            2024.05.03               false            PCI
    video-nvidia-470xx            2023.03.23               false            PCI
           video-linux            2024.05.06                true            PCI


> 0000:00:02.0 (0300:8086:9bc4) Display controller Intel Corporation:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
video-hybrid-intel-nvidia-prime            2023.03.23               false            PCI
video-hybrid-intel-nvidia-470xx-prime            2023.03.23               false            PCI
           video-linux            2024.05.06                true            PCI
     video-modesetting            2020.01.13                true            PCI
            video-vesa            2017.03.12                true            PCI

So you have the latest nvidia driver and prime.
We know that is nvidia-550, but you could also check a myriad of ways, including the package manager as mentioned above, ex pacman -Qs nvidia.

You can also check the functioning of prime and/or the nvidia, ex

glxinfo | grep 'renderer string'
prime-run glxinfo | grep 'renderer string'

Result:

local/egl-wayland 2:1.1.13-1
    EGLStream-based Wayland external platform
local/lib32-nvidia-utils 550.78-1
    NVIDIA drivers utilities (32-bit)
local/libvdpau 1.5-2
    Nvidia VDPAU library
local/libxnvctrl 550.78-1
    NVIDIA NV-CONTROL X extension
local/mhwd-nvidia 550.78-1
    MHWD module-ids for nvidia 550.78
local/mhwd-nvidia-390xx 390.157-10
    MHWD module-ids for nvidia 390.157
local/mhwd-nvidia-470xx 470.239.06-1
    MHWD module-ids for nvidia 470.239.06
local/nvidia-prime 1.0-4
    NVIDIA Prime Render Offload configuration and utilities
local/nvidia-settings 550.78-1
    Tool for configuring the NVIDIA graphics driver
local/nvidia-utils 550.78-1
    NVIDIA drivers utilities

As expected you have the latest nvidia packages. It would only be remarkable if they were missing or broken somehow.

Well wait a sec. You do appear to be missing the driver modules themselves.
ex. linux66-nvidia

To force reinstall the mhwd profile (and associated packages):

sudo mhwd -f -i pci video-hybrid-intel-nvidia-prime

So, with the latest drivers how can i continue my way in direction to

Use NVIDIA graphics only with NVIDIA Optimus

?

Anyway that mhwd command resulted this:

Removing video-hybrid-intel-nvidia-prime…
Sourcing /etc/mhwd-x86_64.conf
Has lib32 support: true
Sourcing /var/lib/mhwd/local/pci/video-hybrid-intel-nvidia-prime/MHWDCONFIG
Processing classid: 0300
Sourcing /var/lib/mhwd/scripts/include/0300
checking dependencies…
error: failed to prepare transaction (could not satisfy dependencies)
:: removing libxnvctrl breaks dependency ‘libxnvctrl’ required by psensor
Error: pacman failed!
Error: script failed!

If your output was not accidentally obscuring some of the packages…

When that is done you will want to verify the functions


Maybe something like this stopped mhwd from fully installing the profile previously as well?
In any case remove the offending package psensor before proceeding.

Removing video-hybrid-intel-nvidia-prime…
Sourcing /etc/mhwd-x86_64.conf
Has lib32 support: true
Sourcing /var/lib/mhwd/local/pci/video-hybrid-intel-nvidia-prime/MHWDCONFIG
Processing classid: 0300
Sourcing /var/lib/mhwd/scripts/include/0300
checking dependencies…
error: failed to prepare transaction (could not satisfy dependencies)
:: removing libxnvctrl breaks dependency ‘libxnvctrl’ required by psensor
Error: pacman failed!
Error: script failed!

Edits into edits …

Wow! After psensor removing the result is much longer!

Removing video-hybrid-intel-nvidia-prime...
Sourcing /etc/mhwd-x86_64.conf
Has lib32 support: true
Sourcing /var/lib/mhwd/local/pci/video-hybrid-intel-nvidia-prime/MHWDCONFIG
Processing classid: 0300
Sourcing /var/lib/mhwd/scripts/include/0300
checking dependencies...
:: ffmpeg optionally requires nvidia-utils: Nvidia NVDEC/NVENC support
:: lib32-vulkan-icd-loader optionally requires lib32-vulkan-driver: packaged vulkan driver
:: libvdpau optionally requires nvidia-utils: driver for NVIDIA
:: vulkan-icd-loader optionally requires vulkan-driver: packaged vulkan driver
warning: dependency cycle detected:
warning: eglexternalplatform will be removed after its nvidia-utils dependency

Packages (7) egl-wayland-2:1.1.13-1  eglexternalplatform-1.1-2  lib32-nvidia-utils-550.78-1  libxnvctrl-550.78-1  nvidia-prime-1.0-4  nvidia-settings-550.78-1  nvidia-utils-550.78-1

Total Removed Size:  797,77 MiB

:: Do you want to remove these packages? [Y/n] 
:: Processing package changes...
removing lib32-nvidia-utils...
xorg configuration symlink valid...
removing nvidia-prime...
removing nvidia-settings...
removing libxnvctrl...
removing nvidia-utils...
xorg configuration symlink valid...
removing egl-wayland...
removing eglexternalplatform...
:: Running post-transaction hooks...
(1/5) Reloading system manager configuration...
(2/5) Reloading device manager configuration...
(3/5) Arming ConditionNeedsUpdate...
(4/5) Reloading system bus configuration...
(5/5) Updating the desktop file MIME type cache...
'/etc/X11/xorg.conf.d/90-mhwd.conf' symlink is invalid! Removing it...
> Successfully removed video-hybrid-intel-nvidia-prime
> Installing video-hybrid-intel-nvidia-prime...
Sourcing /etc/mhwd-x86_64.conf
Has lib32 support: true
Sourcing /var/lib/mhwd/db/pci/graphic_drivers/hybrid-intel-nvidia-prime/MHWDCONFIG
Processing classid: 0300
Sourcing /var/lib/mhwd/scripts/include/0300
:: Synchronizing package databases...
 core downloading...
 extra downloading...
 multilib downloading...
error: target not found: linux65-nvidia
Error: pacman failed!
Error: script failed!

Moderator edit: In the future, please use proper formatting: [HowTo] Post command output and file content as formatted text

Your 6.5 kernel is EOL (end-of-life, unsupported, dead, gone).
This would be causing a number of problems in general - but obviously also for this package exchange because linux65-nvidia simply does not exist.
Install and boot into a supported kernel, remove 6.5, and do the mhwd thing again. :recycle:

image

As you can see I installed the Linux66, but it wont run, and I cannot uninstall the 65…

Kernels are not something you launch from the desktop.
They are the underpinning of the whole operating system
Linux is the kernel.

Boot into kernel 6.6.
You can make kernel selections at GRUB (the boot loader that is after BIOS but before Login).
When you are in 6.6 then remove 6.5 and do the mhwd things again.

Yes, I can do. How?

You select them using the arrows and enter key.

Or do you mean you never see the grub screen?

If so then try hitting Esc or Shift during boot to pull it up.

Finally I installed a newer version of the Cinnamon, it has the 6.6 kernel.

But now I am totally lost.
How should I continue?

please post the output of this 2 commands from your actual system

inxi --admin --verbosity=7 --filter --no-host --width

echo $XDG_SESSION_TYPE && glxinfo | grep server