当我尝试在我的 Manjaro Linux 上安装驱动程序时,我收到很多错误,告诉我文件系统中存在很多文件。
我使用的安装驱动程序的命令:
sudo mhwd -i pci video-hybrid-intel-nvidia-440xx-prime
该命令输出:
Sourcing /etc/mhwd-x86_64.conf
Has lib32 support: true
Sourcing /var/lib/mhwd/db/pci/graphic_drivers/hybrid-intel-nvidia-440xx-prime/MHWDCONFIG
Processing classid: 0300
Sourcing /var/lib/mhwd/scripts/include/0300
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
multilib is up to date
resolving dependencies...
looking for conflicting packages...
Packages (4) lib32-nvidia-440xx-utils-440.44-1 linux54-nvidia-440xx-440.44-12 nvidia-440xx-utils-440.44-3 nvidia-prime-1.0-1
Total Installed Size: 401,66 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)
nvidia-440xx-utils: /etc/vulkan/icd.d/nvidia_icd.json exists in filesystem
nvidia-440xx-utils: /etc/vulkan/implicit_layer.d/nvidia_layers.json exists in filesystem
nvidia-440xx-utils: /usr/bin/nvidia-bug-report.sh exists in filesystem
nvidia-440xx-utils: /usr/bin/nvidia-cuda-mps-control exists in filesystem
nvidia-440xx-utils: /usr/bin/nvidia-cuda-mps-server exists in filesystem
nvidia-440xx-utils: /usr/bin/nvidia-debugdump exists in filesystem
nvidia-440xx-utils: /usr/bin/nvidia-modprobe exists in filesystem
nvidia-440xx-utils: /usr/bin/nvidia-persistenced exists in filesystem
nvidia-440xx-utils: /usr/bin/nvidia-settings exists in filesystem
nvidia-440xx-utils: /usr/bin/nvidia-smi exists in filesystem
nvidia-440xx-utils: /usr/bin/nvidia-xconfig exists in filesystem
nvidia-440xx-utils: /usr/lib/libEGL_nvidia.so.0 exists in filesystem
nvidia-440xx-utils: /usr/lib/libEGL_nvidia.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libGLESv1_CM_nvidia.so.1 exists in filesystem
nvidia-440xx-utils: /usr/lib/libGLESv1_CM_nvidia.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libGLESv2_nvidia.so.2 exists in filesystem
nvidia-440xx-utils: /usr/lib/libGLESv2_nvidia.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libGLX_nvidia.so.0 exists in filesystem
nvidia-440xx-utils: /usr/lib/libGLX_nvidia.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libcuda.so exists in filesystem
nvidia-440xx-utils: /usr/lib/libcuda.so.1 exists in filesystem
nvidia-440xx-utils: /usr/lib/libcuda.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvcuvid.so exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvcuvid.so.1 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvcuvid.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-allocator.so exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-allocator.so.1 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-allocator.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-cbl.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-cfg.so exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-cfg.so.1 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-cfg.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-compiler.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-eglcore.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-encode.so exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-encode.so.1 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-encode.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-fatbinaryloader.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-fbc.so exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-fbc.so.1 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-fbc.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-glcore.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-glsi.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-glvkspirv.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-gtk2.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-gtk3.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-ifr.so exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-ifr.so.1 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-ifr.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-ml.so exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-ml.so.1 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-ml.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-opticalflow.so exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-opticalflow.so.1 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-opticalflow.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-ptxjitcompiler.so exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-ptxjitcompiler.so.1 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-ptxjitcompiler.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-rtcore.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvidia-tls.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvoptix.so.1 exists in filesystem
nvidia-440xx-utils: /usr/lib/libnvoptix.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/libvdpau_nvidia.so exists in filesystem
nvidia-440xx-utils: /usr/lib/vdpau/libvdpau_nvidia.so.1 exists in filesystem
nvidia-440xx-utils: /usr/lib/vdpau/libvdpau_nvidia.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/lib/xorg/modules/drivers/nvidia_drv.so exists in filesystem
nvidia-440xx-utils: /usr/lib/xorg/modules/extensions/libglxserver_nvidia.so exists in filesystem
nvidia-440xx-utils: /usr/lib/xorg/modules/extensions/libglxserver_nvidia.so.440.44 exists in filesystem
nvidia-440xx-utils: /usr/share/applications/nvidia-settings.desktop exists in filesystem
nvidia-440xx-utils: /usr/share/man/man1/nvidia-cuda-mps-control.1.gz exists in filesystem
nvidia-440xx-utils: /usr/share/man/man1/nvidia-installer.1.gz exists in filesystem
nvidia-440xx-utils: /usr/share/man/man1/nvidia-modprobe.1.gz exists in filesystem
nvidia-440xx-utils: /usr/share/man/man1/nvidia-persistenced.1.gz exists in filesystem
nvidia-440xx-utils: /usr/share/man/man1/nvidia-settings.1.gz exists in filesystem
nvidia-440xx-utils: /usr/share/man/man1/nvidia-smi.1.gz exists in filesystem
nvidia-440xx-utils: /usr/share/man/man1/nvidia-xconfig.1.gz exists in filesystem
nvidia-440xx-utils: /usr/share/nvidia/nvidia-application-profiles-440.44-key-documentation exists in filesystem
nvidia-440xx-utils: /usr/share/nvidia/nvidia-application-profiles-440.44-rc exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libEGL_nvidia.so.0 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libEGL_nvidia.so.440.44 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libGLESv1_CM_nvidia.so.1 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libGLESv1_CM_nvidia.so.440.44 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libGLESv2_nvidia.so.2 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libGLESv2_nvidia.so.440.44 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libGLX_nvidia.so.0 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libGLX_nvidia.so.440.44 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libcuda.so exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libcuda.so.1 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libcuda.so.440.44 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libnvcuvid.so exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libnvcuvid.so.1 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libnvcuvid.so.440.44 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libnvidia-eglcore.so.440.44 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libnvidia-encode.so exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libnvidia-encode.so.1 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libnvidia-encode.so.440.44 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libnvidia-fatbinaryloader.so.440.44 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libnvidia-fbc.so exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libnvidia-fbc.so.1 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libnvidia-fbc.so.440.44 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libnvidia-glcore.so.440.44 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libnvidia-glsi.so.440.44 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libnvidia-glvkspirv.so.440.44 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libnvidia-ifr.so exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libnvidia-ifr.so.1 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libnvidia-ifr.so.440.44 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libnvidia-ml.so exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libnvidia-ml.so.1 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libnvidia-ml.so.440.44 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libnvidia-ptxjitcompiler.so exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libnvidia-ptxjitcompiler.so.1 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libnvidia-ptxjitcompiler.so.440.44 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/libnvidia-tls.so.440.44 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/vdpau/libvdpau_nvidia.so.1 exists in filesystem
lib32-nvidia-440xx-utils: /usr/lib32/vdpau/libvdpau_nvidia.so.440.44 exists in filesystem
Errors occurred, no packages were upgraded.
Error: pacman failed!
Error: script failed!```
答案1
MHWD 使用 pacman 安装驱动程序依赖项。但是 pacman 不会覆盖不由其管理的文件。
问题是这些文件在某种程度上变成了孤儿文件
要解决这个问题,你可以使用 pacman 安装每个驱动程序依赖项,并使用标志强制其覆盖文件
它的工作方式是--overwrite some/path/*
在 pacman 中使用安装命令。它告诉 pacman 允许包覆盖给定路径中的任何文件。或者你可以告诉--overwrite \*
包需要的所有路径都使用通配符
nvidia-440xx-utils
就你的情况而言,两个包有冲突:lib32-nvidia-440xx-utils
您可以使用以下方法强制安装
sudo pacman -S --overwrite \* nvidia-440xx-utils
和
sudo pacman -S --overwrite \* lib32-nvidia-440xx-utils
之后您可以再次尝试通过 MHWD 安装驱动程序:
sudo mhwd -i pci video-hybrid-intel-nvidia-440xx-prime
最后一步非常重要,因为视频驱动程序的安装远不止升级实用程序包