Step by step to install nvidia-450xx hybrid cards

Because many have been asking for help installing nvidia-450xx I decided to make a simple step by step tutorial.
Those who are much more experienced with Manjaro, feel free to edit this post.

Like most I used sudo mhwd -i pci video-nvidia-450xx and got and error like shown here below.

~ >>> sudo mhwd -i pci video-nvidia-450xx                                      
> Installing video-nvidia-450xx...
Sourcing /etc/mhwd-x86_64.conf
Has lib32 support: true
Sourcing /var/lib/mhwd/db/pci/graphic_drivers/nvidia-450xx/MHWDCONFIG
Processing classid: 0300
Sourcing /var/lib/mhwd/scripts/include/0300
Processing classid: 0302
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: removing nvidia-440xx-utils breaks dependency 'nvidia-utils' required by cuda
:: removing linux57-nvidia-440xx breaks dependency 'linux57-nvidia-440xx' required by linux-latest-nvidia-440xx
:: removing nvidia-440xx-utils breaks dependency 'nvidia-utils' required by nvidia-prime
:: removing nvidia-440xx-utils breaks dependency 'nvidia-utils' required by nvtop
Error: pacman failed!
Error: script failed!

In my case cuda, linux-latest-nvidia-440xx, nvidia-prime~ and nvtop` are stopping the installation, meaning what ever comes after “required by” is stopping the process.
In my case I used

sudo pacman -R cuda linux-latest-nvidia-440xx nvidia-prime nvtop

After that you can install the 450xx driver.
I could not install video-hybrid-intel-nvidia-450xx-prime straight after, so I used video-nvidia-450xx as so

sudo mhwd -i pci video-nvidia-450xx 

then I did

sudo mhwd -i pci video-modesetting

for cuda support.

Lastly I did

sudo mhwd -i pci video-hybrid-intel-nvidia-450xx-prime

which might be totally unnecessary.

3 Likes

Why do you need to set the video mode to modesetting? Wouldn’t that ruin performance on the desktop cause modesetting is a non-accelerated driver? I have been using CUDA with the normal Nvidia drivers W/O modesetting for years w/o issues…

Thanks for the write up. These were the exact steps I had to take to get it working on my system.

Who said anyone is ‘setting’ modesetting?
Modesetting is the open driver built into the kernel and preferred by newer intels. (over xf86-video-intel)
PRIME with proprietary nvidia requires the intel be using modesetting. It wont work otherwise.
But the whole point of PRIME is to get switching between intel+nvidia - the modesetting isnt being applied to the nvidia card.

If you have a single nvidia card (not Optimus, dual-gpu) then none of this applies to you in any way.

But … writing this and looking at this post again I see you are not the only one confused here.
It seems OP does not understand the difference between regular nvidia and PRIME switching either.

I guess I should edit it … but it will be almost unrecognizable.

2 Likes

Using pacman -R might not work to uninstall packages for some people (including myself), once again because if dependencies, use pacman -Rdd instead

sudo pacman -Rdd whatever needs to be uninstalled
1 Like

Here we go, this is more general, but also includes the specifics…

Only *latest* (and possibly cuda?) actually needed to be removed.
The problem was more because of their method.
-dd shouldnt be necessary … this situation shouldnt really happen at all … it only does because of these umbrella packages and certain peripherals - none of those should need the d’s if you include the right ones.

Indeed in my case it was cuda that needed to be removed, and since I have some deep learning packages that require cuda -dd was necessary for me (and it might be for other people), that was probably better than using -Rcs

Oh yes definitely. I cant think of a single time anyone should use -Rcs
(s is for recursive, but only packages not required by anything else)
(c is for cascade, like s, but more greedy and destructive)
(at best the 2 together is only as bad as c, which should rarely if ever be used, at worse … its worse)

1 Like

I actually did it once to remove cuda, and regretted it lol, it simply removed tooooo many packages, then I found out about -dd, for me Rcs means “delete the package and all its dependences”, I didn’t know about those details, thanks

Generally the safe way (and including remove save files) is -Rns.
It wont automatically grab more than it can, so if something is blocking you will be warned, and then you can add it to your line. Ex: sudo pacman -Rns pkg1 means also remove pkg2 and pkg3 but returns complaint pkg4 requires pkg1, so you then inspect, decide you dont need pkg4, and the command becomes
sudo pacman -Rns pkg1 pkg4
and it will remove pkg1, pkg2, pkg3, pkg4 and any ‘save’ files.
Thats still the safest recursive way and I dont remove using any other method
(besides a temporary one like dd if absolutely necessary like you show above)

2 Likes