deepin linux 下,双显卡双显示器同时工作

我的机器是NVIDIA显卡及INTEL集成显示器,所以,下面的记录是基于这个硬件环境进行设置的,关于nvidia显卡的安装就不单独拿出来说了,在deepin下面只要
 sudo apt install nvidia-driver
就可以了。

1、打开终端,使用如下命令查看自己的显卡型号
$sudo lspci -nn | egrep -i "3d|display|vga"
2、记下Nvidia显卡的型号与最前边的编号,比如下边是我的输出,请参考
leanhorse@localhost:~$ lspci -nn | egrep -i "3d|display|vga"
00:02.0 VGA compatible controller [0300]: Intel Corporation 4 Series Chipset Integrated Graphics Controller [8086:2e32] (rev 03)
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF108 [GeForce GT 430] [10de:0de1] (rev a1)
leanhorse@localhost:~$


3、查看/etc/X11目录,查看有没有xorg.conf文件,没有则创建,添加如下代码
注意:BusID是我们之前记录的nvidia显卡的编号,但是有点区别,比如我的编号为01:00.0,那么我的BusID应为1:0:0(注意格式)。

Section "Module"
Load "modesetting"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "1:0:0"
Option "AllowEmptyInitialConfiguration"
EndSection

保存并退出


4、创建切换N卡脚本
# vim /usr/local/bin/switch_nvidia.sh
添加内容,共6行代码,前面三行里面的dpi部分,普通屏幕无需修改,高分辨率的请自行参考资料,
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
xrandr --dpi 96
xrandr --newmode "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync
xrandr --addmode VGA-1-1 "1440x900_60.00"
xrandr --output VGA-1-1 --mode "1440x900_60.00"


后面4-6行,里面的第4行是通过
cvt 1440 900
这行命令输出的结果,比如你要使用 1440×900 的自定义分辨率,先利用 cvt 计算一个新的 modeline
$  cvt 1440 900
输出为:
# 1440x900 59.89 Hz (CVT 1.30MA) hsync: 55.93 kHz; pclk: 106.50 MHz
Modeline "1440x900_60.00"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync

 
再用 xrandr 添加一个新的mode:
$  xrandr --newmode "1440x900_60.00"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync
$  xrandr                       # 查看新 mode 是否存在了
$  xrandr --addmode VGA-1-1 "1440x900_60.00"
$  xrandr      # 可看到已经添加成功了,在VGA-1-1下面已经添加了这个mode
$  xrandr --output VGA-1-1 --mode "1440x900_60.00"
即可成功切换分辨率。里面的VGA-1-1是通过 xrandr 命令查询到的第二个显示器编号,下面截图是我的机器连接状态(这图也是检验双显卡及双显示器是否同时工作的方法):


上图可以在图片“身上”右击,选择“在新标签页中打开图片”可以看到原始大图。

保存并退出,授予执行权限
# chmod +x /usr/local/bin/switch_nvidia.sh

5、根据DM (Desktop Manager)的类型选择配置文件进行修改,请自行选择
因为deepin linux 是 LightDM,所以:
  打开/etc/lightdm/lightdm.conf
  搜索display-setup-script=,一般是第二个,去除前边的#号注释,修改为如下:
display-setup-script=/usr/local/bin/switch_nvidia.sh
  保存后,重启lightdm
systemctl restart lightdm.service
  界面会自动重启,重启之后,两个显卡连接的两个显示器应该都可以正常工作了,然后,你再设备是克隆、扩展及其它双屏方式就可以了,我是用的扩展,否则感觉浪费了,哈哈,贫穷限制了我的想象力。










如果有什么问题,大家可以留言讨论,反正我基本不会看到,哈哈。
参考资料:
1.https://www.cnblogs.com/hellxz/p/7865790.html
2.https://www.cnblogs.com/welhzh/p/4196617.html

发表评论

test