I did. When my system failed to boot into DE after I installed recommended nvidia-390xx bumblebee, I logged into TTY and among other things I tried installing the 418 nvidia driver (downloaded from nvidia web site) using this guide: https://linuxconfig.org/how-to-install-the-nvidia-drivers-on-manjaro-linux
It failed with the following:
So it works on demand, not all the time. Just add prime-run before the command.
To have a GUI for switching the whole desktop, there are: optimus-manager or envycontrol. Both do the same. Nvidia-settings don’t provide such a switch by default nowadays.
Thanks your post is very informative unfortunately after running the commands in in this post
nvidia drivers got removed and wouldn’t install back as per the last command. I need to troubleshoot this first before trying the optimus manager and other things from your links.
Look, a DKMS package contains instructions which compiles the module against the current kernel, if you use mhwd, it will use the precompiled module which matches current kernel. DKMS and PRECOMPILED are the same driver, but the packages conflicts.
So if you install video-hybrid-intel-nvidia-470xx-prime with mhwd it will install linux61-nvidia-470xx if installed linux61. The i915 (intel) module is installed anyway with video-linux.
I would advise you remove every thing nvidia related, but not the mhwd packages.
if you installed them from third party sites, you need to remove them, otherwise you will end up with the exist in filesystem issue …
so run the command you installed them and append at the end this: --uninstall
something like this:
dont run this command, this is an example…
if the removing was without error, install the drivers from official repos: sudo mhwd -i pci video-hybrid-intel-nvidia-470xx-prime
if no errors, reboot
I jest … but while the confusion around supported driver series is granted, this is back to the crux of the issue as it was already assumed, though disregarded, 2 dozen posts ago.
Removed the 418 driver I installed from nvidia site, there were a few “something not found” messages along the way but it got removed and I checked the /var/lib/dkms where it was installed and all the 418 directories with files were removed.
tried reinstalling the nvidia-470xx prime and got the same error:
~ sudo mhwd -i pci video-hybrid-intel-nvidia-470xx-prime
[sudo] password for viko:
Warning: no matching device for config 'video-hybrid-intel-nvidia-470xx-prime' found!
> Installing video-hybrid-intel-nvidia-470xx-prime...
Sourcing /etc/mhwd-x86_64.conf
Has lib32 support: true
Sourcing /var/lib/mhwd/db/pci/graphic_drivers/hybrid-intel-nvidia-470xx-prime/MHWDCONFIG
Processing classid: 0300
Sourcing /var/lib/mhwd/scripts/include/0300
:: Synchronizing package databases...
core downloading...
extra downloading...
community downloading...
multilib downloading...
resolving dependencies...
looking for conflicting packages...
warning: dependency cycle detected:
warning: eglexternalplatform will be installed before its nvidia-470xx-utils dependency
Packages (8) egl-wayland-2:1.1.11-4 eglexternalplatform-1.1-2 lib32-nvidia-470xx-utils-470.182.03-1 libxnvctrl-470xx-470.182.03-3 linux61-nvidia-470xx-470.182.03-10 nvidia-470xx-settings-470.182.03-3 nvidia-470xx-utils-470.182.03-2 nvidia-prime-1.0-4
Total Installed Size: 569.23 MiB
:: Proceed with installation? [Y/n]
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
error: failed to commit transaction (conflicting files)
egl-wayland: /usr/lib/libnvidia-egl-wayland.so exists in filesystem
egl-wayland: /usr/lib/libnvidia-egl-wayland.so.1 exists in filesystem
egl-wayland: /usr/lib/libnvidia-egl-wayland.so.1.1.11 exists in filesystem
nvidia-470xx-utils: /usr/bin/nvidia-bug-report.sh exists in filesystem
nvidia-470xx-utils: /usr/bin/nvidia-cuda-mps-control exists in filesystem
nvidia-470xx-utils: /usr/bin/nvidia-cuda-mps-server exists in filesystem
nvidia-470xx-utils: /usr/bin/nvidia-debugdump exists in filesystem
nvidia-470xx-utils: /usr/bin/nvidia-modprobe exists in filesystem
nvidia-470xx-utils: /usr/bin/nvidia-persistenced exists in filesystem
nvidia-470xx-utils: /usr/bin/nvidia-smi exists in filesystem
nvidia-470xx-utils: /usr/bin/nvidia-xconfig exists in filesystem
nvidia-470xx-utils: /usr/lib/libEGL_nvidia.so exists in filesystem
nvidia-470xx-utils: /usr/lib/libEGL_nvidia.so.0 exists in filesystem
nvidia-470xx-utils: /usr/lib/libGLESv1_CM_nvidia.so exists in filesystem
nvidia-470xx-utils: /usr/lib/libGLESv1_CM_nvidia.so.1 exists in filesystem
nvidia-470xx-utils: /usr/lib/libGLESv2_nvidia.so exists in filesystem
nvidia-470xx-utils: /usr/lib/libGLESv2_nvidia.so.2 exists in filesystem
nvidia-470xx-utils: /usr/lib/libGLX_nvidia.so exists in filesystem
nvidia-470xx-utils: /usr/lib/libGLX_nvidia.so.0 exists in filesystem
nvidia-470xx-utils: /usr/lib/libcuda.so exists in filesystem
nvidia-470xx-utils: /usr/lib/libcuda.so.1 exists in filesystem
nvidia-470xx-utils: /usr/lib/libnvcuvid.so exists in filesystem
nvidia-470xx-utils: /usr/lib/libnvcuvid.so.1 exists in filesystem
nvidia-470xx-utils: /usr/lib/libnvidia-cfg.so exists in filesystem
nvidia-470xx-utils: /usr/lib/libnvidia-cfg.so.1 exists in filesystem
nvidia-470xx-utils: /usr/lib/libnvidia-eglcore.so exists in filesystem
nvidia-470xx-utils: /usr/lib/libnvidia-encode.so exists in filesystem
nvidia-470xx-utils: /usr/lib/libnvidia-encode.so.1 exists in filesystem
nvidia-470xx-utils: /usr/lib/libnvidia-fbc.so exists in filesystem
nvidia-470xx-utils: /usr/lib/libnvidia-fbc.so.1 exists in filesystem
nvidia-470xx-utils: /usr/lib/libnvidia-glcore.so exists in filesystem
nvidia-470xx-utils: /usr/lib/libnvidia-glsi.so exists in filesystem
nvidia-470xx-utils: /usr/lib/libnvidia-ifr.so exists in filesystem
nvidia-470xx-utils: /usr/lib/libnvidia-ifr.so.1 exists in filesystem
nvidia-470xx-utils: /usr/lib/libnvidia-ml.so exists in filesystem
nvidia-470xx-utils: /usr/lib/libnvidia-ml.so.1 exists in filesystem
nvidia-470xx-utils: /usr/lib/libnvidia-ptxjitcompiler.so exists in filesystem
nvidia-470xx-utils: /usr/lib/libnvidia-ptxjitcompiler.so.1 exists in filesystem
nvidia-470xx-utils: /usr/lib/libnvidia-tls.so exists in filesystem
nvidia-470xx-utils: /usr/lib/vdpau/libvdpau_nvidia.so exists in filesystem
nvidia-470xx-utils: /usr/lib/vdpau/libvdpau_nvidia.so.1 exists in filesystem
nvidia-470xx-utils: /usr/lib/xorg/modules/drivers/nvidia_drv.so exists in filesystem
nvidia-470xx-utils: /usr/share/glvnd/egl_vendor.d/10_nvidia.json exists in filesystem
nvidia-470xx-utils: /usr/share/man/man1/nvidia-cuda-mps-control.1.gz exists in filesystem
nvidia-470xx-utils: /usr/share/man/man1/nvidia-modprobe.1.gz exists in filesystem
nvidia-470xx-utils: /usr/share/man/man1/nvidia-persistenced.1.gz exists in filesystem
nvidia-470xx-utils: /usr/share/man/man1/nvidia-smi.1.gz exists in filesystem
nvidia-470xx-utils: /usr/share/man/man1/nvidia-xconfig.1.gz exists in filesystem
nvidia-470xx-settings: /usr/bin/nvidia-settings exists in filesystem
nvidia-470xx-settings: /usr/share/applications/nvidia-settings.desktop exists in filesystem
nvidia-470xx-settings: /usr/share/man/man1/nvidia-settings.1.gz exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libEGL_nvidia.so exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libEGL_nvidia.so.0 exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libGLESv1_CM_nvidia.so exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libGLESv1_CM_nvidia.so.1 exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libGLESv2_nvidia.so exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libGLESv2_nvidia.so.2 exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libGLX_nvidia.so exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libGLX_nvidia.so.0 exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libcuda.so exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libcuda.so.1 exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libnvcuvid.so exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libnvcuvid.so.1 exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libnvidia-eglcore.so exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libnvidia-encode.so exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libnvidia-encode.so.1 exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libnvidia-fbc.so exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libnvidia-fbc.so.1 exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libnvidia-glcore.so exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libnvidia-glsi.so exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libnvidia-ifr.so exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libnvidia-ifr.so.1 exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libnvidia-ml.so exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libnvidia-ml.so.1 exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libnvidia-ptxjitcompiler.so exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libnvidia-ptxjitcompiler.so.1 exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/libnvidia-tls.so exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/vdpau/libvdpau_nvidia.so exists in filesystem
lib32-nvidia-470xx-utils: /usr/lib32/vdpau/libvdpau_nvidia.so.1 exists in filesystem
Errors occurred, no packages were upgraded.
Error: pacman failed!
Error: script failed!
Question, can I use --force to overwrite it (unless there’s another option to overwrite them) or should I go in and delete all these existing .co and .co.1 and other configuration files manually (if safe to do so)?
if you removed it with the --uninstall that you added to the command that you installed them with, it should remove them all, and you would no longer have these exist in filesystem… but maybe something other got wrong…
yes try to overwrite them, if it installed, and there were no errors, reboot and test…
~ mhwd -h
Usage: mhwd [OPTIONS] <config(s)>
--pci list only pci devices and driver configs
--usb list only usb devices and driver configs
-h/--help show help
-v/--version show version of mhwd
-f/--force force reinstallation
-d/--detail show detailed info for -l/-li/-lh
-l/--list list available configs for devices
-la/--listall list all driver configs
-li/--listinstalled list installed driver configs
-lh/--listhardware list hardware information
-i/--install <usb/pci> <config(s)> install driver config(s)
-ic/--installcustom <usb/pci> <path> install custom config(s)
-r/--remove <usb/pci> <config(s)> remove driver config(s)
-a/--auto <usb/pci> <free/nonfree> <classid> auto install configs for classid
--pmcachedir <path> set package manager cache path
--pmconfig <path> set package manager config
--pmroot <path> set package manager root
I’m not sure the --force option is there to force the install, it could be there to reinstall a package that is already installed?? I tried a few combinations of -i and -f in the command and none worked.
I don’t see another option to overwrite the files that already exist.
Yeah I tried your first 2 commands already they didn’t work.
Will remove manually and try installing again. Will report back
Didn’t delete them but edit names and added .bak extension at the end so I could find them easily if something didn’t work out.
Then run an install command and it was successful
~ sudo mhwd -i pci video-hybrid-intel-nvidia-470xx-prime
[sudo] password for viko:
Warning: no matching device for config 'video-hybrid-intel-nvidia-470xx-prime' found!
> Installing video-hybrid-intel-nvidia-470xx-prime...
Sourcing /etc/mhwd-x86_64.conf
Has lib32 support: true
Sourcing /var/lib/mhwd/db/pci/graphic_drivers/hybrid-intel-nvidia-470xx-prime/MHWDCONFIG
Processing classid: 0300
Sourcing /var/lib/mhwd/scripts/include/0300
:: Synchronizing package databases...
core downloading...
extra downloading...
community downloading...
multilib downloading...
resolving dependencies...
looking for conflicting packages...
warning: dependency cycle detected:
warning: eglexternalplatform will be installed before its nvidia-470xx-utils dependency
Packages (8) egl-wayland-2:1.1.11-4 eglexternalplatform-1.1-2 lib32-nvidia-470xx-utils-470.182.03-1 libxnvctrl-470xx-470.182.03-3 linux61-nvidia-470xx-470.182.03-10 nvidia-470xx-settings-470.182.03-3 nvidia-470xx-utils-470.182.03-2 nvidia-prime-1.0-4
Total Installed Size: 569.23 MiB
:: Proceed with installation? [Y/n]
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
checking available disk space...
:: Processing package changes...
installing eglexternalplatform...
installing egl-wayland...
installing nvidia-470xx-utils...
==> If you run into trouble with CUDA not being available, run nvidia-modprobe first.
Optional dependencies for nvidia-470xx-utils
nvidia-settings=470.182.03: configuration tool [pending]
xorg-server-devel: nvidia-xconfig [installed]
opencl-nvidia=470.182.03: OpenCL support
installing libxnvctrl-470xx...
installing nvidia-470xx-settings...
installing nvidia-prime...
installing lib32-nvidia-470xx-utils...
Optional dependencies for lib32-nvidia-470xx-utils
lib32-opencl-nvidia-470xx
installing linux61-nvidia-470xx...
:: Running post-transaction hooks...
(1/8) Creating system user accounts...
(2/8) Reloading system manager configuration...
(3/8) Reloading device manager configuration...
(4/8) Arming ConditionNeedsUpdate...
(5/8) Updating module dependencies...
(6/8) Updating Kernel initcpios for Nvidia-DRM...
==> Building image from preset: /etc/mkinitcpio.d/linux61.preset: 'default'
-> -k /boot/vmlinuz-6.1-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-6.1-x86_64.img --microcode /boot/intel-ucode.img
==> Starting build: '6.1.29-1-MANJARO'
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [autodetect]
-> Running build hook: [modconf]
-> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: 'xhci_pci'
-> Running build hook: [keyboard]
-> Running build hook: [keymap]
-> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
-> Running build hook: [filesystems]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: '/boot/initramfs-6.1-x86_64.img'
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux61.preset: 'fallback'
-> -k /boot/vmlinuz-6.1-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-6.1-x86_64-fallback.img -S autodetect --microcode /boot/intel-ucode.img
==> Starting build: '6.1.29-1-MANJARO'
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [modconf]
-> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: 'qed'
==> WARNING: Possibly missing firmware for module: 'bfa'
==> WARNING: Possibly missing firmware for module: 'qla1280'
==> WARNING: Possibly missing firmware for module: 'qla2xxx'
==> WARNING: Possibly missing firmware for module: 'xhci_pci'
-> Running build hook: [keyboard]
-> Running build hook: [keymap]
-> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
-> Running build hook: [filesystems]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: '/boot/initramfs-6.1-x86_64-fallback.img'
==> Image generation successful
(7/8) Refreshing PackageKit...
(8/8) Updating the desktop file MIME type cache...
nvidia-470xx-utils: install reason has been set to 'explicitly installed'
nvidia-470xx-settings: install reason has been set to 'explicitly installed'
libxnvctrl-470xx: install reason has been set to 'explicitly installed'
nvidia-prime: install reason has been set to 'explicitly installed'
lib32-nvidia-470xx-utils: install reason has been set to 'explicitly installed'
linux61-nvidia-470xx: install reason has been set to 'explicitly installed'
xorg configuration file: '/etc/X11/mhwd.d/nvidia.conf'
> Successfully installed video-hybrid-intel-nvidia-470xx-prime
the driver is loaded… and as was mentioned, if you want to run specific program on nvidia, use the prime-run command, for example: prime-run firefox
then run: nvidia-smi
and check if firefox is running on nvidia…
well maybe the card doesnt work properly with the 470 drivers, or there is still something messed up from the third party drivers, which is more probably…
post output from: ls /etc/modprobe.d find /etc/X11/ -name "*.conf"
I get it the last 2 commands show that the switching works as it should.
I only scanned through the links but will read in depth in a day or two, I’m pretty sure I’ll just want to switch to nvidia and leave it on all the time, may have a few more questions on that but as of right now I’d like to thank everyone who participated and helped me figure this out.
Installing optimus-manager was butter smooth following the instructions in this link. I installed the Qt version of it and switched to using nvidia card as I wanted.
Again thank you all for your help really appreciate it.