被垃圾主板坑了,笔记本的hdmi口是从独显接出来的,但是我的kali上又没有安装NVIDIA的官方驱动,所以显示器接上去没有反应。为了解决这个问题,先要安装NVIDIA的官方驱动,再修改xconfig以及xrandr的设置。
安装NVIDIA驱动
参见[TUTORIAL] Installing official NVIDIA driver in Optimus laptop
1.禁用nouveau
1 | echo -e "blacklist nouveau\noptions nouveau modeset=0\nalias nouveau off" > /etc/modprobe.d/blacklist-nouveau.conf |
重启之后,确认第三方显卡驱动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
2xrandr --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