1、安装 NVIDIA 驱动
安装驱动
安装启动之前,先跟新一下 pacman 数据库。更新命令:sudo pacman -Syyu
1
2
3
# 安装 linux-lts-headers,因为显卡启动需要。
# 注意:如果内核是 linux ,不是 linux-lts,那么安装的是 linux-headers
sudo pacman -S linux-lts-headers
1
2
# 安装 nvidia 启动,推荐安装 nvidia-dkms ,他是动态安装的。不像其他驱动,如果内核升级,就需要重新安装一次驱动。
sudo pacman -S nvidia-dkms
DRM 内核模式设置
这一步可以解决屏幕撕裂问题
1
2
3
4
# 编辑修改 /etc/default/grub
vim /etc/default/grub
# 找到 GRUB_CMDLINE_LINUX_DEFAULT 这一项在后面加入 nvidia-drm.modeset=1
编辑完成之后,重新生成 grub.cfg
,执行 sudo grub-mkconfig -o /boot/grub/grub.cfg
添加 initramfs 模块
在 /etc/mkinitcpio.conf
中找到 MODULES=
这一行在括号的后面加入nvidia nvidia_modeset nvidia_uvm nvidia_drm
。修改之前先备份一下(sudo cp /etc/mkinitcpio.conf /etc/mkinitcpio.conf.back
)
重新生成 initramfs
1
2
# 输入 sudo mkinitcpio -P 命令生成 initramfs
sudo mkinitcpio -P
重要:执行完命令之后重启电脑(一定要重启)
校验是否安装成功
打开终端,输入 nvidia-smi
命令,出现 NVIDIA-SMI has failed because it couldn't communicate with the NIVIDIA driver. Make sure that the latest NVIDIA driver is installed and running
,那就说明没有安装成功。
解决方案:重启电脑,如果重启电脑还是不行,看看上面修改的配置有没有对,如果还是不行在安装一遍
1.1、仅使用 NVIDIA 显卡
下面配置针对于 x 服务器,并使用桌面环境(dwm)
创建 xorg.conf(10-nvidia-drm-outputclass.conf)
在 /etc/X11/xorg.conf.d/
目录下新建 10-nvidia-drm-outputclass.conf
。
重要:如果/etc/X11
存在xorg.conf
,那么一定要删除掉
在/usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf
也有一份是生成的,可以参考着来看
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
vim /etc/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf
Section "OutputClass"
Identifier "intel"
MatchDriver "i915"
Driver "modesetting"
EndSection
Section "OutputClass"
Identifier "nvidia"
MatchDriver "nvidia-drm"
Driver "nvidia"
Option "AllowEmptyInitialConfiguration"
Option "PrimaryGPU" "yes"
ModulePath "/usr/lib/nvidia/xorg"
ModulePath "/usr/lib/xorg/modules"
EndSection
注意: 这里的 intel
驱动 必须为 modesetting
,否则会产生严重的撕裂,后面的 AllowEmptyInitialConfiguration
是为了让 n 卡在没检测到显示器的时候继续运行,而不是默认的退出。
使用 startx 启动
这里以dwm 为例,如果你是其他桌面管理器,请参阅这里 。如果不配置你将会获得黑屏。
接下来,将以下两行添加到您的开头:~/.xinitrc
1
2
3
4
5
# 编辑 .xinitrc 并在文件开头添加下面内容
vim ~/.xinitrc
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
如果启动之后 dpi 设置不正确,那么还需要在 xrandr --auto
下面一行加入 xrandr --dpi 96
安装 NVIDIA 软件包 (可选)
1
sudo pacman -S nvidia-settings nvidia-utils
检查3D
检查是否正常使用 N 卡来输出。建议检查一下
1
2
3
4
5
# 安装包
sudo pacman -S mesa-utils
# 检查是否输出,出现下面内容就是成功了
glxinfo | grep NVIDIA
1.1.1、配置视频硬解
1
2
# 安装 翻译层
paru -S libva-nvidia-driver
配置
方法一:
1
2
3
4
5
6
7
8
9
# 创建 .xprofile 文件
vim ~/.xprofile
export LIBVA_DRIVER_NAME = nvidia
export LIBVA_DRIVERS_PATH = /usr/lib/dri/
export VDPAU_DRIVER = nvidia
# 修改 .xinitrc 文件
[ -f ~/.xprofile ] && . ~/.xprofile
方法二:
1
2
3
4
# 修改 .xinitrc 文件
export LIBVA_DRIVER_NAME = nvidia
export LIBVA_DRIVERS_PATH = /usr/lib/dri/
export VDPAU_DRIVER = nvidia
注意:一定要在 exec dwm
之前
验证 VA-API
1
2
# 安装软件包,如果不安装这个包,那么 vainfo 无法使用
sudo pacman -S libva-utils
验证 VA-API 是否正常工作,运行 vainfo
,出现下面内容就表示成功
验证VDPAU
1
2
# 安装 vdpauinfo,不安装无法使用 vdpauinfo 命令
sudo pacman -S vdpauinfo
验证 VDPAU 是否正常工作,运行vdpauinfo
,出现下图就表示成功
2、声卡驱动
1
2
3
4
sudo pacman -S pipewire
sudo pacman -S lib32-pipewire
sudo pacman -S pipewire-pulse
sudo pacman -S pavucontrol
3、蓝牙驱动
1
sudo pacman -S bluez bluez-utils blueman
启动蓝牙
1
systemctl start bluetooth.service
参考教程:https://cn.linux-console.net/?p=16637
4、电源管理
安装 : sudo pacman -S tlp
启动
1
2
3
4
systemctl start tlp.service
systemctl enable tlp.service
systemctl mask systemd-rfkill.service
systemctl mask systemd-rfkill.socket
参考教程:https://wiki.archlinux.org/title/TLP
GUI
安装 : paru -S tlpui