我使用的是 MSI GL62M 7REX 笔记本电脑,它配备了 GeForce GTX 1050 Ti Mobile 显卡。当我使用 Ubuntu 19.10 时,我能够通过以下方式处理屏幕撕裂:
- 类似地这个答案之后,我打开终端并输入
sudo gedit /etc/default/grub
,打开了 gedit,其中有以下内容:
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
我编辑
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
并GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia-drm.modeset=1"
保存了该文件。输入
nvidia-smi
后返回以下详细信息:
Thu May 14 12:39:03 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 435.21 Driver Version: 435.21 CUDA Version: 10.1 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 105... Off | 00000000:01:00.0 Off | N/A |
| N/A 51C P0 N/A / N/A | 247MiB / 4042MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1180 G /usr/lib/xorg/Xorg 45MiB |
| 0 1717 G /usr/lib/xorg/Xorg 105MiB |
| 0 1972 G /usr/bin/gnome-shell 89MiB |
+-----------------------------------------------------------------------------+
现在我知道我的 Nvidia 驱动程序的主要版本就是
435
我下一步所需要的。根据此说明(帖子#5),我创建了一个
.conf
文件,/etc/modprobe.d/
其中包含以下行:options nvidia_435_drm modeset=1
。之后,我运行
sudo update-initramfs -u
并重新启动了我的计算机。sudo cat /sys/module/nvidia_drm/parameters/modeset
然后返回Y
后问题就解决了。
在我升级到 Ubuntu 20.04 后,这些选项仍然相同。内核参数仍然完好无损,文件.conf
仍然/etc/modprobe.d/
存在。此外,Nvidia 驱动程序的编号仍然正确,但屏幕撕裂再次出现。
尝试编辑 Nvidia X 服务器设置没有帮助,因为它看起来像这样:
这就是我尝试这里描述的其他对我有用的解决方案的原因。
我该如何利用 Ubuntu 20.04 来解决这个问题?
答案1
我可以通过选择最新的驱动程序来解决这个问题440
(下图来自此来源;这就是为什么显示的 GeForce GTX 型号不同):
然后,我.conf
通过替换options nvidia_435_drm modeset=1
来编辑文件options nvidia_440_drm modeset=1
,并重新启动了计算机。