如何在linuz7.0 测试内核中安装nvidia驱动?

我使用了包管理器中最新的linux的linux7.0rc3内核,但是显卡驱动不能用,我尝试了私有版本和开源版本驱动,但是前者说找不到nvidia.so,后者没看到什么有用的信息,也用不了,开源版本就是包管理器中的nvidia-open-dkms,我在安装此版本后配置过mkinitcpio和grub

你是什么显卡,你装的驱动是哪个包

你用的是linux-mainline吧,有没有装linux-mainline-headers

没有

我没有主动安装

装下linux-mainline-headers,注意看pacman的输出,如果dkms编译成功就可以了

我手动运行了mkinitcpio提示moduleNotFound

nvidia,nvidia-modeset,nvidia_nvm,nvidia_drm

重新装一遍nvidia-open-dkms然后把pacman输出贴出来?(可以上传文件)

1.txt (5.1 KB)

Error! Bad return status for module build on kernel: 7.0.0-rc3-1-mainline (x86_64)
Consult /var/lib/dkms/nvidia/590.48.01/build/make.log for more information.

看起来nvidia-open在linux-mainline上还有问题,放弃吧

我现在又遇到一个问题,我原本版本的内核驱动也出问题了,安装时提示

error module version 580.142 for nvidia.ko.zst is not newer than what is already found in kernel 6.18.7-arch1-1(580.48.01)you may override by specifying - -force

我是用yay安装的

我希望使用旧版的驱动

完整日志?

1.txt (82.6 KB)

我的意思是安装过程中yay的输出

==> 警告: 正在跳过源文件 PGP 签名校验。 
    nvidia-drm-outputclass.conf ... 通过 
    nvidia-utils.sysusers ... 通过 
    nvidia.rules ... 通过 
    systemd-homed-override.conf ... 通过 
    systemd-suspend-override.conf ... 通过 
    nvidia-sleep.conf ... 通过 
    NVIDIA-Linux-x86_64-580.142.run ... 通过 
    0001-Enable-atomic-kernel-modesetting-by-default.patch ... 通过 
    limit-vram-usage ... 通过 
[sudo] hh 的密码: 
:: 进行安装吗? [Y/n]  
    nvidia-drm-outputclass.conf ... 通过 
    nvidia-utils.sysusers ... 通过 
    nvidia.rules ... 通过 
    systemd-homed-override.conf ... 通过 
    systemd-suspend-override.conf ... 通过 
    nvidia-sleep.conf ... 通过 
    NVIDIA-Linux-x86_64-580.142.run ... 通过 
    0001-Enable-atomic-kernel-modesetting-by-default.patch ... 通过 
    limit-vram-usage ... 通过 
==> 警告: 使用现存的 $srcdir/ 树 
:: 进行安装吗? [Y/n]  
错误:无法提交处理 (有冲突的文件) 
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libEGL_nvidia.so.0  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libGLESv1_CM_nvidia.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libGLESv2_nvidia.so.2  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libGLX_nvidia.so.0  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libcuda.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libcudadebugger.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvcuvid.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvidia-allocator.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvidia-cfg.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvidia-encode.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvidia-fbc.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvidia-ml.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvidia-ngx.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvidia-nvvm.so.4  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvidia-opticalflow.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvidia-ptxjitcompiler.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvidia-sandboxutils.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvidia-vksc-core.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvoptix.so.1  
    nvidia-drm-outputclass.conf ... 通过s 
    nvidia-utils.sysusers ... 通过. 
    nvidia.rules ... 通过s 
    systemd-homed-override.conf ... 通过s 
    systemd-suspend-override.conf ... 通过/ 
    nvidia-sleep.conf ... 通过c 
    NVIDIA-Linux-x86_64-580.142.run ... 通过i 
    0001-Enable-atomic-kernel-modesetting-by-default.patch ... 通过s 
    limit-vram-usage ... 通过l 
==> 警告: 使用现存的 $srcdir/ 树d 
:: 进行安装吗? [Y/n]  
错误:无法提交处理 (有冲突的文件) 
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libEGL_nvidia.so.0  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libGLESv1_CM_nvidia.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libGLESv2_nvidia.so.2  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libGLX_nvidia.so.0  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libcuda.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libcudadebugger.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvcuvid.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvidia-allocator.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvidia-cfg.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvidia-encode.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvidia-fbc.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvidia-ml.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvidia-ngx.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvidia-nvvm.so.4  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvidia-opticalflow.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvidia-ptxjitcompiler.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvidia-sandboxutils.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvidia-vksc-core.so.1  
nvidia-580xx-utils: 文件系统中已存在 /usr/lib/libnvoptix.so.1  
 -> 安装时出错:  [/home/hh/.cache/yay/nvidia-580xx-utils/nvidia-580xx-utils-580.142-1-x86_64.pkg.tar.zst] - exit status 1 
安装时出错:  [/home/hh/.cache/yay/nvidia-580xx-utils/nvidia-580xx-utils-580.142-1-x86_64.pkg.tar.zst /home/hh/.cache/yay/nvidia-580xx-utils/nvidia-580xx-dkms-580.142-1-x86_64.pkg.tar.zst] - exit status 1
 

pacman -Qo /usr/lib/libEGL_nvidia.so.0

错误:没有软件包拥有 /usr/lib/libEGL_nvidia.so.0

看来这些就是你用.run装的残留物了,把他们删掉或者用–overwrite(两个杠)覆盖掉