笔记本双显卡驱动及外接显示器的配置
Tofloor
poster avatar
jfy_99
deepin
2020-04-24 18:10
Author
大家好,这里是又一个介绍笔记本双显卡的帖子,讲的是常见的 Intel 核芯显卡 + NVIDIA 独立显卡的组合。另外,还会从外接显示器的角度比较一些驱动方案,供大家参考。

首先,我们需要了解笔记本双显卡和屏幕的连接方式。
1. 内置显示器常与核显相连,除了少数使用台式机主板的笔记本可以在 BIOS 中禁用核显,大部分笔记本内置显示器的信号都由核显输出。
2. 笔记本还配有信号输出接口,如 HDMI、DP 接口等。这里有两种连接方式:连接核显或连接独显。如果接口与独显相连,常常会出现外接显示器无信号的情况,这时需要手动配置驱动。

然后看一看深度显卡驱动管理器中的方案:

1. Intel 默认驱动
也可以叫做 Intel 开源核显驱动,能很好地集成在 linux 内核中,兼容性较好。使用核显的好处是省电,并且硬件加速视频解码的能力强,用于浏览网页、看视频已经足够。因此个人建议,新装的系统应该首先切换至 Intel 默认驱动,再根据需求决定是否安装独显驱动。
遗憾的是,linux 平台上的浏览器基本不支持硬解,比如 chromium 需要使用 vaapi 补丁版(见这个Ubuntu PPA),这里先不展开讲了。
当然,对于独显连接输出接口的笔记本电脑,仅使用 Intel 默认驱动是无法连接外接显示器的。

2. 开源驱动
由社区开发的 N 卡开源驱动,名称叫做 nouveau。双显卡笔记本安装新系统后,这是显卡驱动管理器中的默认方案。如其中所说,开源驱动性能较弱,并且对新显卡、新特性支持不完善。因为没有认真体验过,所以就不多加评论了……

3. 大黄蜂方案
一个比较老的方案,安装时会自动安装 NVIDIA 官方闭源驱动。在不用时会将独显断电,需要使用时在终端中输入 optirun 或 primusrun 加命令以启用独显。这是一个方便且省电的方案,但有一定性能损失。注意:大黄蜂方案与下面所述的手动配置方案是互斥的,如果要手动配置,请不要切换至大黄蜂方案。
那么使用 optirun 启用独显后,能否连接外接显示器呢?如果不做特殊的设置是不行的。可以参考大黄蜂方案的 wiki 进行配置,但是我没有成功……因此个人建议使用手动配置方案,可能比这个更简单。

接下来介绍的是 deepin 20 中的手动配置方案,需要用到终端。不过我相信按照步骤一步步来,还是不困难的。
1. 直接安装 NVIDIA 闭源驱动
论坛里已经有不少介绍安装闭源驱动的方法,这里提供我个人的建议:不建议到 NVIDIA 官网下载驱动,而尽量使用软件源内提供的版本,配置更方便。
在显卡驱动管理器切换到 Intel 默认驱动后,打开终端,输入以下命令
sudo apt install nvidia-driver nvidia-smi nvidia-settings
这条命令依次安装的是 NVIDIA 较新版本驱动、命令行信息显示工具和图形界面的配置工具。sudo 是使用管理员权限,需要输入登录密码,注意密码字符是不显示在屏幕上的,输入完成后回车即可。安装过程中可能会提示内核模块冲突,这是正常的,确认后继续安装,完成后重启即可。
对于较旧的显卡,需要使用较早的驱动。请前往 NVIDIA 官网,依次点击长寿命分支、传统 GPU 驱动,查看产品支持列表。
按照官网给出的产品支持列表,GeForce 600 系列以前及部分较新的显卡,应该安装 390 系列驱动。打开终端,输入以下命令,安装 390 版本驱动。
sudo apt install nvidia-legacy-390xx-driver nvidia-legacy-390xx-smi nvidia-settings-legacy-390xx
对于 GeForce 400 系列以前及部分较新的显卡,应该安装 340 系列驱动。深度软件仓库中的 340.107 驱动可能较旧,建议从 debian stable 软件源安装新版本。使用以下命令:
echo 'deb https://mirrors.ustc.edu.cn/debian/ buster main contrib non-free' | sudo tee -a /etc/apt/sources.list
echo 'APT::Default-Release "apricot";' | sudo tee -a /etc/apt/apt.conf
sudo apt update
sudo apt install -t buster nvidia-legacy-340xx-driver nvidia-legacy-340xx-smi nvidia-settings-legacy-340xx
第1行:使用中科大提供的 debian stable 镜像源,在国内下载速度快很多,也可以换成其他镜像源。
第2行:将深度软件源设置为默认。
第3行:更新软件包列表。
第4行:安装 NVIDIA 340.108 驱动。
安装好了 NVIDIA 驱动,独显会保持通电状态,一些软件已经可以自动调用独显。当然通常独显是不工作的,“NVIDIA X 服务器设置”也无法打开。
可以预料,在 Intel 默认驱动上直接安装 NVIDIA 驱动是无法连接外接显示器的,因为独显默认不工作。接下来需要手动切换显卡以开启独显。

2. 双显卡的手动切换方案
来自管理员 aida 的帖子,我把步骤写成了脚本,便于经常切换。解压压缩包,运行 NVIDIA.sh 切换至独显,运行 Intel.sh 切换至核显。
双显卡切换脚本.tar.gz
注1:脚本里添加了防撕裂的内核参数,需要 370.23 以上版本的驱动支持,重启才能生效。
注2:脚本里的命令与 aida 帖子里的步骤稍有不同,它创建的是 /etc/X11/xorg.conf.d/20-nvidia.conf 而不是 /etc/X11/xorg.conf,以避免切换核显时删除 xorg.conf。
这个方案将完全使用独显渲染,性能高但能耗大。打开“NVIDIA X 服务器设置”可以看到左侧许多 X Server 的设置,说明显示服务器 X Server 是工作在独显上的,此时外接显示器应该有信号了。


3. NVIDIA-prime 方案
参考 risez 的帖子,是 NVIDIA 官方提供的双显卡切换方案,类似于大黄蜂方案,但性能应该会更好。测试发现可以与上述手动切换方案共存,即运行 Intel.sh 切换至 prime 方案,运行 NVIDIA.sh 切换至独显渲染状态。我想这个方案今后将会成为主流,但目前在 deepin 20 中使用需要升级系统底层(如 libc6),可能影响系统的稳定性。
注意下图中“NVIDIA X 服务器设置”中的界面,X server 的设置项不见了,虽然能识别外接显示器,但信号无法输出。

以上是我根据个人经验总结的双显卡方案,对于独显连接输出接口的笔记本,暂时只有手动切换的方案可以正常外接显示器。新人发帖,请大家批评指正,如果有更好的方案欢迎一起分享!
Reply Favorite View the author
All Replies
2 / 3
To page
leezn
deepin
2020-05-12 06:30
#21
脚本添加sudo service lightdm restart命令,是不是可以不重启就切换了??
Reply View the author
jfy_99
deepin
2020-05-12 20:50
#22
https://bbs.deepin.org/post/192750
脚本添加sudo service lightdm restart命令,是不是可以不重启就切换了??

是的,多谢提醒!楼上的朋友zty199也在别的帖子里提到过。这个方法比重启快很多,我之前不知道……所以更新了帖子里的脚本,并且加了一行提示,避免大家误操作。
Reply View the author
gaoxiaoyu
deepin
2020-05-13 00:56
#23
楼主,我运行切换Intel显卡直接黑屏了重启看到logo后又黑了,有声音。咋办啊?之前看另一个帖子装了n卡驱动。
Reply View the author
jfy_99
deepin
2020-05-13 01:32
#24
https://bbs.deepin.org/post/192750
楼主,我运行切换Intel显卡直接黑屏了重启看到logo后又黑了,有声音。咋办啊?之前看另一个帖子装了n卡驱动 ...

你好,抱歉给你带来麻烦了。因为双显卡切换脚本没有配置/etc/X11/xorg.conf,而是配置的/etc/X11/xorg.conf.d/20-nvidia.conf,以避免切换至Intel显卡时误删xorg.conf。我猜另一个帖子配置的是xorg.conf,所以运行Intel.sh时并没有删除xorg配置。估计需要进入live系统手动删除主系统中的/etc/X11/xorg.conf才能恢复。
Reply View the author
gaoxiaoyu
deepin
2020-05-13 01:47
#25
recovery模式下可以安装live吗?命令我乱试了下,不对。
Reply View the author
deepin-zx
deepin
2020-05-13 02:00
#26
https://bbs.deepin.org/post/192750
请问在终端中打开后,这个密码输入不上,就像键盘失灵一样是什么原因啊

linux下输入密码是不显示的
Reply View the author
jfy_99
deepin
2020-05-13 02:12
#27
https://bbs.deepin.org/post/192750
recovery模式下可以安装live吗?命令我乱试了下,不对。

可能有一点麻烦,方法是从深度官网下载live系统:http://cdimage.deepin.com/live-system/deepin-live-system-2.0-amd64.iso,将iso文件解压至U盘中,然后从U盘启动。从文件管理器进入主系统的系统盘,删除/etc/X11/xorg.conf。当然只要能够访问ext4分区删除这个文件的方式都可以。
Reply View the author
jfy_99
deepin
2020-05-13 02:14
#28
https://bbs.deepin.org/post/192750
linux下输入密码是不显示的

非常感谢管理员将这个帖子加为精品!
Reply View the author
gaoxiaoyu
deepin
2020-05-13 02:58
#29
https://bbs.deepin.org/post/192750
你好,抱歉给你带来麻烦了。因为双显卡切换脚本没有配置/etc/X11/xorg.conf,而是配置的/etc/X11/xorg.co ...

弄好了
Reply View the author
lbygljq
deepin
2020-05-19 00:43
#30
E: 'apricot' 这个值对 APT:efault-Release 是无效的,因为在源里找不到这样的发行
Reply View the author
pho
deepin
2020-05-19 01:28
#31
手动切换比较麻烦,还是希望自动切换
Reply View the author
jfy_99
deepin
2020-05-19 02:33
#32
https://bbs.deepin.org/post/192750
E: 'apricot' 这个值对 APT:efault-Release 是无效的,因为在源里找不到这样的发行 ...

请问你是否使用的是deepin 15.11或者UOS?这样软件源的名称就不是apricot,15.11版是lion,UOS个人版是plum。另外15.11版基于Debian 9,添加backports源时应该改为stretch-backports。
Reply View the author
Comments
lbygljq
2020-05-19 04:55
谢谢,我用的是UOS
jfy_99
deepin
2020-05-19 02:38
#33
https://bbs.deepin.org/post/192750
手动切换比较麻烦,还是希望自动切换

Prime方案比较接近Windows的自动切换了,比如在desktop文件的命令中加入prime-run,应该就可以自动启用独显了。
Reply View the author
lbygljq
deepin
2020-05-19 05:31
#34
https://bbs.deepin.org/post/192750
请问你是否使用的是deepin 15.11或者UOS?这样软件源的名称就不是apricot,15.11版是lion,UOS个人版是pl ...

看看我的N卡信息:是工作还是不工作:



Reply View the author
jfy_99
deepin
2020-05-19 06:06
#35
https://bbs.deepin.org/post/192750
看看我的N卡信息:是工作还是不工作:

NVIDIA-SMI正常输出说明驱动已经安装上了,N卡可以工作。只是大部分软件仍然运行在核显上;一些软件可能会自动调用独显运行,比如需要用到CUDA或NVENC时。
Reply View the author
Comments
lbygljq
2020-05-19 19:24
我想有没有方法只让N卡工作呢
lbygljq
deepin
2020-05-19 19:23
#36
https://bbs.deepin.org/post/192750
NVIDIA-SMI正常输出说明驱动已经安装上了,N卡可以工作。只是大部分软件仍然运行在核显上;一些软件可能 ...

我试了kdenlive等几款视频处理软件,里面都没有硬件加速可选。
Reply View the author
jfy_99
deepin
2020-05-19 20:14
#37
https://bbs.deepin.org/post/192750
我试了kdenlive等几款视频处理软件,里面都没有硬件加速可选。

如果想只让N卡工作,可以用帖子里的双显卡切换脚本,切换后看看能不能支持硬件加速。其实用Intel核显加速视频编解码也不错,性能不低而且比较省电。
Reply View the author
jfy_99
deepin
2020-05-22 05:12
#38
新增:
尝试了一台Intel核芯显卡 + AMD独立显卡的笔记本,虽然显卡驱动管理器显示“不支持的硬件组合”,但实际上支持得很好。安装系统后无需其他操作,只需终端执行
  1. DRI_PRIME=1 "command"
Copy the Code
即可使command命令运行在独显上。也可以把DRI_PRIME=1加入到程序的desktop文件,或者写入到profile中。
由于这台笔记本的输出接口是连接核显的,所以也无需配置外接显示器,开箱即用。不知道AMD独显连接输出接口会是什么情况,期待大家的分享。
Reply View the author
Yuan
deepin
2020-06-08 20:52
#39
太安逸了 哈哈哈哈
Reply View the author
huangwcr
deepin
2020-07-20 01:07
#40
谢谢楼主分享!
我的笔记本戴尔成就14-5480 双显卡的独显驱动装上后显卡进程显示没有进程,独显不工作。网上找了很多方法都不行。按照楼主说的和提供的双显卡切换脚本软件安装独显成功了,显卡进程里有进程显示了。
我的操作:在应用商店下载安装显卡驱动管理器,由使用开源驱动切换到使用Intel驱动,重启。安装N卡驱动之前需要首先禁止nouveau驱动,在Deepin中运行以下命令:
sudo nano /etc/modprobe.d/blacklist.conf
然后在打开的blacklist.conf文件中添加如下内容:
blacklist nouveau

options nouveau modeset=0

然后执行命令:
sudo update-initramfs -u
一直等到检测结束,退出重启电脑,重新启动后验证是否成功,运行以下命令:
lsmod | grep nouveau
注:如果页面没什么反应、无输出什么内容即为成功。
之前由于没有禁止nouveau驱动成功,终端运行smod | grep nouveau后页面有显示,安装了NVIDIA闭源驱动,运行了双显卡切换脚本软件NVIDIA.sh重启系统后不能进入桌面。说明首先禁止nouveau驱动这一部很重要。
重装系统后显卡驱动管理器切换到使用Intel驱动,按照楼主的方法1.直接安装NVIDIA闭源驱动后运行了双显卡切换脚本软件NVIDIA.sh,重启系统后独显进程有显示了。

Reply View the author
2 / 3
To page