由于相关需求,近日安装了Ubuntu19.10用于学习,但上手之后即出现了原来Windows10环境下从没有发生的画面撕裂的问题,该问题主要由于Nvidia在Linux平台上的驱动不完善所造成。
目前nvidia用于笔记本双显卡切换的解决方案是PRIME,当在Nvidia X server setting中从intel核显切换至nvidia独显后,此时电脑独显渲染核显输出,从而造成了画面撕裂,对此我们需要开启PRIME sychronization,方法如下:
-
在modprobe.d中创建一个配置文件
sudo vim /etc/modprobe.d/nvidia-graphics-drivers.conf
-
在配置文件中加入nvidia-drm.modeset=1并保存
-
sudo update-initramfs -u
-
重启,可以在Nvidia X server setting中看到PRIME sychronization已经启用了。
#以上方法适用于解决笔记本内置屏幕的画面撕裂问题,当外接显示器时,Ubuntu内置的gdm display manager的bug会造成外接屏幕时modeset=1无效,所以需要将gdm替换为lightdm。
- 安装lightdm
sudo apt-get install lightdm
- 将lightdm设为默认display manager
sudo dpkg-reconfigure lightdm
- 重启,可以在驱动中看到PRIME sychronization生效,撕裂消失。
如果操作之后外接显示器还有画面撕裂问题,则需要在Nvidia X server setting中启用force full composition pipeline。