Xubuntu安装深度 桌面毛玻璃特效渲染问题 及临时修复办法
Tofloor
poster avatar
quadpixels
deepin
2017-09-23 09:49
Author
本帖最后由 quadpixels 于 2017-9-23 03:27 编辑

大家好,我是从Xubuntu 17.04 (Xubuntu和Ubuntu的区别主要就是默认桌面环境是gnome或是XFCE的区别)通过添加【 https://launchpad.net/~leaeasy/+archive/ubuntu/dde 】 这个PPA来得到深度桌面系统的。在使用时发现毛玻璃效果会因为玻璃所覆盖的范围之下的内容发生变化而导致阴影渲染有误。就是以下这样:

大家可以看到,随着命令行窗口被移往下方,其阴影所投射范围会进入任务栏的范围内。但阴影在消失的地方好像被画出了界限分明的边界,而正确渲染出来的结果不应该是这样子的。

在Github上,亦有其它用户反映类似问题,譬如说
《Blur effect doesn't work properly in some conditions on Arch Linux》https://github.com/linuxdeepin/developer-center/issues/195
又如《Weird graphical glitches since qt5.8》https://github.com/linuxdeepin/qt5integration/issues/2
又如《[Archlinux] Graphic worries after fresh install》https://github.com/linuxdeepin/developer-center/issues/200

在第一个帖子中有人提到说
@gustavodlima Fixed in the deepin-clutter package, please replace clutter with the new package during a normal upgrade.

所以可见因为深度系统自定义了 clutter 这个包,这个包在 Arch Linux 中被打包了 deepin-clutter 这个包,但是现在在 Ubuntu/Xubuntu 上还没有,所以需要手动重新编译【deepin-clutter】(也同时重新编译了 deepin-mutter,不确定是否必须。)

于是就下载了 deepin-clutter(https://github.com/sonald/clutter),然后进行编译

(1. 姑且把安装路径设定成 /usr/local/ 吧,不过其实不安装,只把系统内的符号连接改成指向在这里编译好的 so 文件亦可。)
  1. ./autogen.sh --prefix=/usr/local/
Copy the Code

(2. 注意最后的 --enable-wayland-compositor 应该是要加的,不然 deepin-mutter 可能会报错 undefined reference to `clutter_wayland_set_compositor_display')
  1. ./configure --prefix=/usr/local/
  2.             --sysconfdir=/etc
  3.             --enable-egl-backend  
  4.             --enable-evdev-input
  5.             --enable-wayland-backend
  6.             --enable-wayland-compositor
Copy the Code

(3. 编译,因为我用的是 i5-3210M 所以就用了四个线程)
  1. make -j4
Copy the Code


(4. 把系统内原来的对 clutter 的符号链接改成链接到刚才编译好的 so 文件 --> 因为偷懒没有 make install ,所以就直接链到源代码目录下的 clutter/.libs 里面的库文件了)
  1. sudo rm /usr/lib/x86_64-linux-gnu/libclutter-1.0.so.0
  2. sudo ln -s `pwd`/clutter/.libs/libclutter-1.0.so.0.2600.1 /usr/lib/x86_64-linux-gnu/libclutter-1.0.so.0
Copy the Code

(5. 再按照同样的步骤重新编译 deepin-mutter)
(这个好像没法编译成 debian package,需要直接覆盖,所以把安装路径设成了 /usr)
  1. ./autogen.sh --prefix=/usr  \
Copy the Code
然后编译并安装
  1. make -j4
  2. sudo make install
Copy the Code


然后登出再登入,就会发现那些视觉瑕疵消失了的说


如果有同是从Ubuntu升级到DDE的同学若同样遇到了这个问题在等待官方把deepin-clutter打包之前也许也可以试试这个方法?

谢谢大家收看 XD


p.s. 也备份了一下这两个源码包
clutter: https://pan.baidu.com/s/1bBscjW
deepin-mutter: https://pan.baidu.com/s/1c2KrGdU
Reply Favorite View the author
All Replies
avatar
jingle
deepin
2017-09-23 17:09
#1
厉害了我的ge
Reply View the author
avatar
jingle
deepin
2017-09-23 17:09
#2
那个ppa 暂时没有维护了
Reply View the author
Comments
quadpixels
2017-09-23 17:31
啊,好像是的。那是不是说如果是以安装的方式获得深度桌面的用户就得自己编译才能获得更新了 —— 除非将那个PPA继续维护下去?
avatar
jingle
deepin
2017-09-25 16:55
#3
https://bbs.deepin.org/user/93273 现在暂时没有时间维护  貌似依赖冲突厉害。
Reply View the author
Comments
quadpixels
2017-09-25 23:07
听起来是水挺深的诶(想起来glfw2和glfw3在apt-get中只能同时存在一个的情况。想必在深度中依赖问题会更加棘手了吧)