Fil*_*ias 11 nvidia nvidia-prime gpu-drivers 16.04
我读到,为了避免屏幕撕裂,我应该在 nvidia 设置 [¹] 上启用“强制完整合成管道”选项。但是,该选项在我的系统中似乎不可用。
我认为 nvidia-settings 可能已被阻止,但根据下面的博客文章,该选项应该在此版本中可用:
我错过了什么吗?
谢谢
上述解决方案不适用于 Ubuntu 20.04,但问题似乎仍然存在。但工作解决方案非常简单:
sudo nano /lib/modprobe.d/nvidia-kms.conf
sudo update-initramfs -u
reboot
Run Code Online (Sandbox Code Playgroud)
nvidia-kms.conf的原始内容是:
# This file was generated by nvidia-prime
# Set value to 1 to enable modesetting
options nvidia-drm modeset=0
Run Code Online (Sandbox Code Playgroud)
正如它所说,modeset=0 必须更改为 modeset=1。
我想知道为什么从一开始就没有启用。
我感受到你的痛苦。我总是在尝试弄清楚如何消除同时具有 Nvidia dGPU(专用 GPU)和 iGPU(集成 GPU)的笔记本电脑上的撕裂问题。
我将在黑暗中进行尝试,猜测您的系统是 PRIME 系统,在这种情况下,组合管道选项将不可用(即使将它们手动添加到您的 xorg.conf 文件中也不起作用 -它可能只会让你的屏幕变暗)。
我认为您正在寻找(再次,只是猜测)的是PRIME Synchronization - 这是 Nvidia 同步屏幕的新方式。
尝试这个:
/etc/modprobe.d
在您的目录中创建一个名为zz-nvidia-tearing.conf
.options nvidia_387_drm modeset=1
将“387”更改为您的驱动程序版本)。xrandr --prop | less
您应该看到类似以下内容:
Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 16384 x 16384
eDP-1-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 309mm x 174mm
EDID:
00ffffffffffff0030e4210500000000
001a0104951f1178ea9d35945c558f29
1e505400000001010101010101010101
0101010101012e3680a070381f403020
350035ae1000001a542b80a070381f40
3020350035ae1000001a000000fe004c
4720446973706c61790a2020000000fe
004c503134305746362d535042360075
PRIME Synchronization: 1
Run Code Online (Sandbox Code Playgroud)
重要的一行是最后一行。如果由于某种原因,您的 PRIME 同步仍未启用(即设置为“1”),请尝试编辑您的最后一行/etc/modprobe.d/nvidia-graphics-drivers.conf
- 将其更改为:
options nvidia_387_drm modeset=1
Run Code Online (Sandbox Code Playgroud)
(同样,显然将“387”更改为您安装的 Nvidia 驱动程序的版本)。
不要忘记运行:
sudo update-initramfs -u
Run Code Online (Sandbox Code Playgroud)
对 中的任何文件进行任何更改后/etc/modprobe.d
。
如果仍然不起作用(应该是这样,只要您使用 Nvidia 驱动程序 370 或更高版本),那么您可以尝试将以下内容添加到您的GRUB_CMDLINE_LINUX_DEFAULT
in 中/etc/default/grub
:
nvidia-drm.modeset=1
Run Code Online (Sandbox Code Playgroud)
我不知道你的 GRUB_CMDLINE_LINUX_DEFAULT 是什么样的,但是在添加上面的行之后,它可能看起来像这样:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia-drm.modeset=1"
Run Code Online (Sandbox Code Playgroud)
我发现令人惊讶的是 Nvidia 在支持它的硬件上默认不启用 PRIME Sync。给出的原因是因为它不能很好地与 SLI 配合使用 - 但有多少 Linux 用户真正使用 SLI?我还没有看到任何。
如果您还有其他问题,请继续提问,我会尽力解答。
祝你好运!
小智 1
作为一名 Ubuntu 用户,我遇到过这个可怕的撕裂问题以及安装程序冻结问题,这两个问题都与使用基于 NVIDIA GPU 的硬件有关。我想在这个答案中解决这两个问题,所以这里是:
我正在使用的系统是 Ubuntu 18.04 LTS amd64,运行在 Core i7 上,具有内置 HD Graphics gpu 和 NVIDIA GEFORCE GTX 960M gpu。
1、Ubuntu 安装程序在启动时冻结:这是由于 NVIDIA 芯片的存在造成的,因此,为了纠正它,请启动安装程序并E
在 GRUB 出现时按 。转到 LINUX 行的末尾并添加nouveau.modeset=0
. 然后按 继续启动过程F10
。正常安装系统,完成后,从计算机中取出安装介质,重新启动系统并登录您的帐户。
下面继续:
2、可怕的显示撕裂问题或不同步的PRIME显示:这是由于PRIME显示配置不当引起的(系统需要在多GPU系统配置中正确卸载图形),因此,首先,安装正确的GPU驱动程序在系统中。就我而言,390 版本驱动程序对应于 GTX 960M gpu,因此,例如,需要执行sudo apt-get install nvidia-driver-390
. 如果有合适的驱动程序版本可用,我更愿意从主存储库而不是从 PPA 进行操作。
安装驱动程序库后,转到终端并gedit
以超级用户身份使用sudo gedit
. 然后,打开系统文件/etc/default/grub
,找到显示nouveau.modeset=0
我们之前设置的代码的行并将其完全删除。将该行替换为GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia-drm.modeset=1"
并保存。关闭 gedit 并在终端中通过执行sudo update-grub
.
完成此操作后,关闭所有内容并重新启动系统。现在一切应该都工作正常了!
笔记:
我的指导步骤是其他用户建议的总结,我已经执行了这些步骤至少三次,并取得了同样好的结果。我决定编写自己的指南,因为我使用的指南总是有一些未发现的问题,我必须解决这些问题才能使系统正常工作。
为了确定您对应的 NVIDIA 驱动程序版本,您可以查看其官方驱动程序下载页面,选择正确的型号和 linux 64 位操作系统。结果将显示正确的版本号。
如果你想了解什么是 PRIME 显示器以及为什么它如此麻烦,可以查看此链接: https: //devtalk.nvidia.com/default/topic/957814/linux/prime-and-prime-synchronization/
祝你好运!
归档时间: |
|
查看次数: |
13162 次 |
最近记录: |