Cha*_*Suh 35 nvidia tearing macbook
我有这个问题似乎困扰着许多使用专有 Nvidia 驱动程序的人:
视频撕裂:当视频中有大量平移或动作时,细水平线(通常在显示器顶部附近)。
(注意:切换回默认的 nouveau 驱动程序不是一种选择,因为它看似不存在的电源管理会以几倍的速度消耗我的电池)
我已经尝试过 Totem、Parole 和 VLC,并且所有这些都发生了撕裂。最好的结果是X11 output
在 VLC 中使用,但仍然有撕裂,动作相对温和。
硬件: MacBook Air 3,2——配备 Nvidia GeForce 320M。
使用 Nvidia 道具驱动程序撕裂有两种常见的修复方法:
关闭 compositing,因为 Nvidia 专有驱动程序通常不适合在 Linux 上使用合成窗口管理器(我知道 Compiz 是一个例外)。但是我使用了一个非常轻量级的窗口管理器(很棒的窗口管理器),它甚至不能合成(或任何很酷的效果)。我在 Xfce 中也有这个问题,在那里我禁用了合成。
启用同步到 VBlank。 为了实现这一点,我设置了该选项nvidia-settings
,然后像nvidia-settings -l
其他自动启动程序一样自动启动它。这似乎有效,因为当我运行时glxgears
,我得到:
$ glxgears
Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.
303 frames in 5.0 seconds = 60.500 FPS
300 frames in 5.0 seconds = 59.992 FPS
Run Code Online (Sandbox Code Playgroud)
当我使用nvidia-settings
以下方法检查刷新率时:
$ nvidia-settings -q RefreshRate
Attribute 'RefreshRate' (wampum:0.0; display device: DFP-2): 60.00 Hz.
Run Code Online (Sandbox Code Playgroud)
所有这些都表明同步到 VBlank已启用。据我了解,这正是为了停止撕裂而设计的,很多人的问题甚至是glxgears
输出正确的信息。我不明白为什么它对我不起作用。
xorg.conf:http : //paste.ubuntu.com/992056/
观察到的撕裂示例::
小智 18
尝试一件事可能会奏效。打开 nvidia-settings 并转到 powermizer 部分。在下拉菜单中选择“Maximum Performance”,您应该会看到您的 powermizer 级别跳转到最快的速度。
完成后,请尝试视频。
过去,我发现当 nvidia 卡处于最慢的 powermizer 设置时,vsync 不起作用。
Ali*_*ton 11
如果您使用双显示器,则 nvidia 驱动程序只能同步到其中一台显示器的 vblank,除非它们使用完全相同的刷新率。而我的意思完全相同。除非两台显示器的类型完全相同,否则这实际上是不可能的。如果 nvidia 驱动程序同步到错误的显示器(例如,当您想在外部电视上观看电影时同步到内置显示器),您可以覆盖它的选择。从 nvidia 驱动程序文档:
在 TwinView 中使用 __GL_SYNC_TO_VBLANK 时,OpenGL 只能同步到其中一个显示设备;这可能会导致 OpenGL 未同步到的显示设备上的撕裂损坏。您可以使用环境变量 __GL_SYNC_DISPLAY_DEVICE 来指定 OpenGL 应该同步到哪个显示设备。您应该将此环境变量设置为显示设备的名称;例如“CRT-1”。在您的 X 日志文件中查找“已连接的显示设备:”行,以获取存在的显示设备及其名称的列表。
我已经在 /etc/environment 中永久设置了它 - 只需在新行中添加类似的内容:
__GL_SYNC_DISPLAY_DEVICE="DFP-0"
我的英特尔 Sandy Bridge 处理器也出现视频撕裂的问题。这对我有用。我将以下几行放在“/etc/environment”中 -
CLUTTER_PAINT=disable-clipped-redraws:disable-culling
CLUTTER_VBLANK=True
它奏效了。最后按回车键并复制粘贴这些行。它可能需要重新启动。尝试一下。
小智 1
这对我在 ATI radeon 驱动程序上有用,所以它可能对你有用:
添加配置文件(例如案例/etc/X11/xorg.conf.d/20-nouveau.conf)
包括这个:
Section "Device"
Option "EXAVsync" "True"
Option "GLXVBlank" "True"
Identifier "Nvidia card"
Driver "nouveau"
EndSection
Run Code Online (Sandbox Code Playgroud)
EXA是合成视频的框架;默认情况下似乎没有 vsnc。
尝试不同的软件(例如 vlc)来播放视频可能也值得。
归档时间: |
|
查看次数: |
76370 次 |
最近记录: |