linux 笔记本 显卡驱动,archlinux 笔记本安装nvidia显卡驱动与intel显卡驱动

顾学真
2023-12-01

NVIDIA Optimus是一种允许 Intel 集成 GPU 和 NVIDIA GPU 建成并通过一台笔记本电脑访问的技术。让 Optimus 显卡工作在 Arch Linux 下需要一些稍微复杂的设置步骤,下文说明了几种可用方法:

在 BIOS 里禁用其中之一,如果禁用 NVIDIA 显卡的话也许会提升电池续航能力。但并不适用于所有 BIOS, 也不能切换显卡。

使用闭源 NVIDIA 驱动提供的官方 Optimus 支持,这能让 NVIDIA 显卡发挥最大性能但不能切换显卡,同时会比开源驱动有更多 bug.

使用开源 nouveau 驱动提供的 PRIME 功能,它能够切换显卡但是和闭源驱动相比性能差劲,并且目前并未实现任何省电功能。

使用第三方程序 Bumblebee 来实现类似于 Optimus 的功能,同时支持切换显卡和省电,但需要额外设置。

利用nvidia-xrun,一个使用全性能的离散NVIDIA图形功能来单独运行X的使用程序。

以上引用自https://wiki.archlinux.org/index.php/NVIDIA_Optimus.也正是因为这个才导致的,直接再笔记本上安装了nvidia的显卡驱动以后导致黑屏进不去桌面环境.下面讲一下,需要的操作.

0x01 安装显卡驱动

这里先说一下,如果没有特殊的需求只安装集成显卡的驱动就好了.一般是intel的,我的是intel+nvidia的笔记本.这时候如果安装了独立显卡的驱动,nvidia的optimus功能会把独立显卡绘制的结果传输给集成显卡.所以如果只安装了独立显卡的驱动的话是不会有显示的.

sudo pacman -S xf86-video-intel,不折腾的到此打住,因为后面的东西装完就启动不了图形界面了,还需要配置.

作为nvidia独显粗要安装 pacman -S nvidia nvidia-libgl xorg-xrandr

0x02 配置

集成intel显卡的不用管,nvidia独显的需要下面的配置 先用nvidia-xconfig命令,它会生成一个配置文件/etc/X11/xorg.conf,编辑这个配置文件.

0x03 编辑配置文件

编辑之前需要查询一些信息.用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 "Module"

Load "modesetting"

EndSection

Section "Device"

Identifier "nvidia"

Driver "nvidia"

BusID "PCI:1:0:0"

Option "AllowEmptyInitialConfiguration"

EndSection

这时候分情况对待

没使用窗框管理器的以下内容添加到 ~/.xinitrc 开头:

~/.xinitrc

xrandr --setprovideroutputsource modesetting NVIDIA-0

xrandr --auto

使用不同的窗口管理器,要在行应的位置加入这两行

xrandr --setprovideroutputsource modesetting NVIDIA-0

xrandr --auto

LightDM

对于 LightDM:

# nano /etc/lightdm/display_setup.sh

xrandr --setprovideroutputsource modesetting NVIDIA-0

xrandr --auto

赋予脚本可执行权限:

# chmod +x /etc/lightdm/display_setup.sh

编辑 /etc/lightdm/lightdm.conf 的 [Seat:*] 部分以配置 lightdm 运行这个脚本:

# nano /etc/lightdm/lightdm.conf

[Seat:*]

display-setup-script=/etc/lightdm/display_setup.sh

重启,你的 DM 应该启动了。

SDDM

对于 SDDM:

# nano /usr/share/sddm/scripts/Xsetup

xrandr --setprovideroutputsource modesetting NVIDIA-0

xrandr --auto

GDM

对于GDM:

/usr/share/gdm/greeter/autostart/optimus.desktop

/etc/xdg/autostart/optimus.desktop

[Desktop Entry]

Type=Application

Name=Optimus

Exec=sh -c "xrandr --setprovideroutputsource modesetting NVIDIA-0; xrandr --auto"

NoDisplay=true

X-GNOME-Autostart-Phase=DisplayServer

确保GDM使用了Xorg模式。

KDM

/usr/share/config/kdm/Xsetup

同sddm

如果重启还是没有进入图形界面,再编辑一下配置文件/etc/X11/xorg.conf

或者在再 /etc/X11/xorg.conf.d 目录

新建文件并编辑

nano intel.conf

内容如下,Intel 的 BusID 一般是 BusID “PCI:0:2:0,这里是上面的方式查出来的”

Section "Device"

Identifier "intel"

Driver "modesetting"

BusID "PCI:0:2:0"

EndSection

重启即可

检验 3D

你可通过安装 mesa-demos 并运行以下命令来检验 NVIDIA 是否被使用:

$ glxinfo | grep NVIDIA

 类似资料: