linux下关于笔记本的显卡驱动安装archlinux

        首先,安装显卡驱动。mesa是所有开源显卡驱动的基础,一般都要安装。

        这里,我们尽量给安装完整,有几大功能:OpenGL, vulkan, vaapi, vdpau, opencl. 32位的程序也要使用并安装相应的驱动。系统是archlinux,用的官方内核。

Intel显卡驱动安装:

sudo pacman -S mesa xf86-video-intel vulkan-intel
sudo pacman -S libva-intel-driver libvdpau-va-gl intel-compute-runtime
sudo pacman -S lib32-vulkan-intel lib32-mesa intel-gpu-tools
# mesa    3D driver
# xf86-video-intel    2d driver
# libva-intel-driver    vaapi 视频硬解码库
# libvdpau-va-gl    vdpau 视频硬解码库,以vaapi为基础的翻译层
# intel-compute-runtime    opencl
# intel-gpu-tools    用sudo intel_gpu_top观察Intel显卡负载

nvidia显卡驱动安装:(yay软件在archlinuxcn里面,添加源就可安装)

# 闭源驱动:
sudo pacman -S nvidia nvidia-prime nvidia-settings nvidia-utils opencl-nvidia
sudo pacman -S lib32-nvidia-utils lib32-opencl-nvidia libva-vdpau-driver
# nvidia    内核所属,记得更新驱动也要更新linux内核:sudo pacman -Syu
# nvidia-utils    opengl, vulkan, vdpau
# opencl-nvidia    opencl, cuda driver
# nvidia-prime    用"prime-run $cmd"启动程序运行于nvidia上
# libva-vdpau-driver    vaapi 视频硬解码库,以vdpau为基础的翻译层

# 开源驱动:(2d性能和闭源驱动相当,3d性能可能是闭源的一半,不支持opencl)
yay -S nouveau-fw
sudo pacman -S mesa xf86-video-nouveau lib32-mesa libva-mesa-driver mesa-vdpau
# xf86-video-nouveau    2d driver
# nouveau-fw    nvidia官方firmware,视频硬解需要
# libva-mesa-driver    vaapi 视频硬解码库
# mesa-vdpau    vdpau 视频硬解码库

        在我的笔记本上,核显2d性能吊打独显,3d性能两者相当,由于独显有opencl加持(用于视频插帧),而且在vmware虚拟机中,有cuda的独显性能好不少(独显就是废物:GF940MX)。

        期望开源驱动追上闭源,闭源驱动各方面不好用(不过现在好了不少)。

AMD显卡驱动安装:

sudo pacman -S mesa xf86-video-amdgpu vulkan-radeon libva-mesa-driver mesa-vdpau
sudo pacman -S opencl-mesa lib32-vulkan-radeon lib32-mesa
# xf86-video-amdgpu    2d driver
# vulkan-radeon    vulkan
# opencl-mesa    opencl

# 开源驱动性能和闭源驱动差不了多少,就不考虑闭源。这方面AMD更好。

        如果要在Linux下工作,那么不推荐买nvidia显卡;如果只是为了打游戏,那么推荐买nvidia显卡。轻度办公和游戏,核显足够了。看视频的话,整个多核心带核显CPU就行。

Virtualbox(显卡)驱动安装:

sudo pacman -S virtualbox-guest-utils mesa lib32-mesa
systemctl enable --now vboxservice

Vmware(显卡)驱动安装:

sudo pacman -S mesa xf86-video-vmware xf86-input-vmmouse open-vm-tools lib32-mesa
systemctl enable --now vmtoolsd
systemctl neable --now vmware-vmblock-fuse

硬件无关的opencl库:

sudo pacman -S pocl

        驱动安装完了,但是不知道如何使用。建议先sudo mkinitcpio -P再重启后,才会启动驱动。

要检查驱动的功能,可以如下方法:

sudo pacman -S --needed vulkan-tools libva-utils vdpauinfo mesa-demos lib32-mesa-demos
# 64位的opengl信息
glxinfo -B
# 32位的opengl信息
glxinfo32 -B
# vulkan信息汇总
vulkaninfo --summary
# vaapi信息
vainfo
# vdpau信息
vdpauinfo

        此外,可能还需要切换显卡,要用这项功能,安装optimus-manager软件包:

yay -S optimus-manager
cp /usr/share/optimus-manager.conf /etc/optimus-manager/
printf "have intel and nvidia gpu shall optimus hybrid to use intel vaapi. "
read ans
vim /etc/optimus-manager/optimus-manager.conf
systemctl enable optimus-manager

        你应该自己去编辑一下optimus-manager.conf文件。

        这个软件还要求使用一些方法来切换显卡的电源管理,可以使用acpi_call和bbswitch软件包。

# 安装acpi_call
sudo pacman -S acpi_call
echo "# load acpi_call at boot" | sudo tee /etc/modules-load.d/acpi_call.conf
printf "acpi_call" | sudo tee /etc/modules-load.d/acpi_call.conf

# 安装bbswitch (更推荐)
sudo pacman -S bbswitch
echo "# load bbswitch at boot" | sudo tee /etc/modules-load.d/bbswitch.conf
printf "bbswitch" | sudo tee /etc/modules-load.d/bbswitch.conf

这里记录遇到的各种问题:

1、Application tried to create a window, but no driver could be loaded.

        这是wine启动失败遇的部分报错。此时GPU驱动是正常运行的,此问题我没找到解决办法。这可能是多个GPU驱动的冲突导致,请尝试切换显卡负载模式(比如由核显切换到独显或混合模式)。

2、INTEL-MESA: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

        这个并不影响使用,字面意思,如果要解决,给sysctl设置参数并重启:

echo "dev.i915.perf_stream_paranoid=0" | tee /etc/sysctl.d/99-sysctl.conf

3、X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  152 (GLX)
  Minor opcode of failed request:  24 (X_GLXCreateNewContext)

        这是prime-run glxinfo的报错,而optimus-manager也有报错:

module nvidia is not available for current kernel. Is the corresponding package installed ?

        这个的原因是nvidia驱动更新和内核不一致,optimus-manager不能启动nvidia闭源驱动而尝试载入nouveau模块,然而并未安装nouveau驱动。解决方法是等nvidia驱动更新与内核一致,然后(重启后无问题):pacman -Syyu

你可能感兴趣的:(linux,linux,驱动安装,archlinux,显卡驱动)