文章目录
禁用nouveau 驱动并安装nvidia驱动
参考:Ubuntu 安装 NVIDIA 显卡驱动详细步骤(ERROR: The Nouveau kernel driver is currently in use by your system)
1.移除nouveau驱动
Nouveau
是由第三方为 NVIDIA
显卡开发的一个开源 3D 驱动,也没能得到 NVIDIA
的认可与支持。很多 Linux
发行版默认集成了 Nouveau
驱动,在遇到 NVIDIA
显卡时默认安装。用户在安装 NVIDIA
官方私有驱动的时候 Nouveau
又成为了阻碍,不禁用 Nouveau
安装时总是报错。
# 编辑内容如下
$ cat /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
options nouveau modeset=0
# 使其生效
$ sudo update-initramfs -u
2. 去nvidia官网下载驱动
3. 安装驱动
$ sudo ./NVIDIA-Linux-x86_64-535.86.05.run
- 一路点击YES
4. 检查驱动安装情况
nvidia-smi
双显卡切换配置
参考:archlinux 笔记本安装nvidia显卡驱动与intel显卡驱动
#生成nvidia独显的配置文件/etc/X11/xorg.conf
$ nvidia-xconfig
$ sudo apt install -y x11-xserver-utils libxrandr2 libxrandr-dev
1. 编辑/etc/X11/xorg.conf
编辑之前需要查询一些信息.用lspci | grep -E "VGA|3D"
来查询 NVIDIA 显卡的 PCI 地址.PCI 地址是提到 NVIDIA 的输出行的前7个字符,看起来像 01:00.0
. 在 xorg.conf
中,需转换为 #:#:#
格式;例如 01:00.0
应该写成 1:0:0
.BusID 那里 N 卡一般是 BusID “PCI:1:0:0” 注意格式,00:02.0 这种形式需要转换成 0:2:0
.编辑配置文件加入下面的内容:
Section "Device"
Identifier "nvidia"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BusID "PCI:1:0:0"
Option "AllowEmptyInitialConfiguration"
EndSection
Section "Device"
Identifier "intel"
Driver "modesetting"
BusID "PCI:0:2:0"
EndSection
对于xorg.conf的配置解释可以看 Linux学习-X Server 配置文件解析与设定
我将intel显卡设为默认显卡,所以我的配置如下:
- 我加入了上面的Device内容
- 我将"Device0" 改成了"intel"。 即“Screen”会受到影响。
$ cat /etc/X11/xorg.conf
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 535.86.05
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Section "Files"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
Option "DPMS"
EndSection
Section "Screen"
Identifier "Screen0"
Device "intel"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Module"
Load "modesetting"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BusID "PCI:1:0:0"
Option "AllowEmptyInitialConfiguration"
EndSection
Section "Device"
Identifier "intel"
Driver "modesetting"
BusID "PCI:0:2:0"
EndSection
2. 设置窗口管理器
SDDM:
$ cat /usr/share/sddm/scripts/Xsetup
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
其他窗口管理器参考 archlinux 笔记本安装nvidia显卡驱动与intel显卡驱动
3.设置prime-run
# 安装环境
$ sudo apt install nvidia-prime
# 设置脚本
$ cat /usr/bin/prime-run
#!/bin/bash
export __NV_PRIME_RENDER_OFFLOAD=1
export __GLX_VENDOR_LIBRARY_NAME=nvidia
export __VK_LAYER_NV_optimus=NVIDIA_only
export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json
exec "$@"
$ chmod +x /usr/bin/prime-run
后续使用时
prime-run xx-app