使用 i3 时画面撕裂,使用 unity 时无画面撕裂

Cha*_*s S 21 unity compiz graphics i3-wm

前几天我试图在我的 ubuntu 安装中使用 i3。然而,我注意到当我退出并切换到使用 i3 时,我会在观看视频或浏览网站时开始看到撕裂。这是我在使用 unity 时没有注意到的。我真的很想能够使用 i3,但由于屏幕问题目前无法使用。

有人对可能导致这种情况的原因有什么建议吗?就显示屏幕而言,i3 和 unity 之间有什么不同?我读到的大多数有关屏幕撕裂的主题都提到了 compiz。ubuntu 和 i3 上的 compiz 不会相同吗?

Ada*_*hon 41

统一外壳UI是Compiz的复合窗口管理器(的插件统一维基),而I3的独立窗口管理器没有本机合成功能。这意味着默认情况下Unity使用各种图形加速功能,而i3使用“普通”X11。


为了在i3 中获得合成功能,您必须启动一个合成管理器(而不是合成窗口管理器)。compton是与i3一起使用的非常流行的选择。

安装很容易,因为 Ubuntu 的软件包在官方存储库中提供,可用于 trusty 和更新版本。安装后,您必须创建一个配置,例如 at ~/.config/compton.conf(因为配置文件的位置可以作为参数传递给compton,选择权在您手中)。我的compton.conf看起来像这样:

# basic configuration
backend = "glx";
vsync = "opengl-swc";

glx-copy-from-front = true;
glx-swap-method = 2;
xrender-sync = true;
xrender-sync-fence = true;

# transparancy settings for i3
opacity-rule = [
    "0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
];
Run Code Online (Sandbox Code Playgroud)

您可能需要针对您的系统进行调整。现在你可以开始compton

compton --config ~/.config/compton.conf -b
Run Code Online (Sandbox Code Playgroud)

确定它运行良好后,您可以通过添加自动启动它

exec --no-startup-id compton --config ~/.config/compton.conf -b
Run Code Online (Sandbox Code Playgroud)

到您的~/.i3/config.

注意:我强烈建议将i3更新到至少 4.12 版(发布时的当前版本)。它解决了i3compton一起使用的一些渲染问题,至少在cairo 时?1.14.4 可用(xenial 随cairo 1.14.6 一起提供;请参阅i3发行说明)。

  • 伙计,我很高兴我找到了这个答案。我不知道存在“后端”选项。将它设置为 `glx` 基本上为我解决了所有问题。所有撕裂都消失了,浏览器滚动如丝般顺滑。 (4认同)
  • “compton”是一个非常好的轻量级合成器。 (2认同)