Eulerlee

Linux下笔记本外接显示器

字数统计: 337阅读时长: 1 min
2018/10/17 Share

被垃圾主板坑了,笔记本的hdmi口是从独显接出来的,但是我的kali上又没有安装NVIDIA的官方驱动,所以显示器接上去没有反应。为了解决这个问题,先要安装NVIDIA的官方驱动,再修改xconfig以及xrandr的设置。

安装NVIDIA驱动

参见[TUTORIAL] Installing official NVIDIA driver in Optimus laptop

1.禁用nouveau

1
2
3
echo -e "blacklist nouveau\noptions nouveau modeset=0\nalias nouveau off" > /etc/modprobe.d/blacklist-nouveau.conf

update-initramfs -u && reboot

重启之后,确认第三方显卡驱动nouveau已经停止运行:

1
lsmod |grep -i nouveau

2.安装NVIDIA驱动

1
apt-get install  nvidia-driver nvidia-xconfig

3.获得主线id

双显卡需要修改xorg中的Bus id.

1
nvidia-xconfig --query-gpu-info | grep 'BusID : ' | cut -d ' ' -f6

4.修改xorg.conf文件

先运行nvidia-xconfig,生成xorg.conf文件

1
nvidia-xconfig

再修改 /etc/X11/xorg.conf,参见http://us.download.nvidia.com/XFree8…E/randr14.html

将BusID改为先前得到的BusID.

5.根据Display Managers修改配置文件

参见[https://wiki.archlinux.org/index.php/NVIDIA_Optimus#Display_Managers][https://wiki.archlinux.org/index.php/NVIDIA_Optimus#Display_Managers]

我的图形界面是KDE,默认Display Managers是SSDM,故需要修改 /usr/share/sddm/scripts/Xsetup.

1
2
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto

最后调整屏幕分辨率

使用如下脚本

1
2
3
4
5
#!/bin/sh
xrandr --newmode "1600x900_60.00" 118.25 1600 1696 1856 2112 900 903 908 934 -hsync +vsync
xrandr --addmode eDP-1-1 "1600x900_60.00"
xrandr --output eDP-1-1 --mode "1600x900_60.00"
xrandr --output eDP-1-1 --right-of HDMI-0

CATALOG
  1. 1. 安装NVIDIA驱动
    1. 1.1. 1.禁用nouveau
    2. 1.2. 2.安装NVIDIA驱动
    3. 1.3. 3.获得主线id
    4. 1.4. 4.修改xorg.conf文件
    5. 1.5. 5.根据Display Managers修改配置文件
  2. 2. 最后调整屏幕分辨率