多年前,看到 compiz 桌面特效,无奈显卡坑爹,不支持 opengl,长久以来从未体验到华丽丽立方体效果。xrendr 混成可以开一些很基础的半透明效果,不过太消耗资源(显卡不支持composite 2d加速 – -,只能纯软件模拟),对于像我这种只是体验下就关闭特效的用户没什么意义。终于 llvmpipe 让我看到了希望,经过一番折腾,kwin + llvmpipe 在古老显卡上实现了立方体特效。
kwin 默认没有把 llvmpipe 驱动添加在白名单中。补丁在此,自行稍微修改下就能移植到 kde 4.9.1
https://git.reviewboard.kde.org/r/104216/
接下来是我的体验感受
使用 llvmpipe 基本可以打开 kwin 的所有特效功能,特效的功能也正常,模糊特效过于消耗资源所以就禁用了。
然而,距离实用性还是远了些,只能体验而已,因为太慢了。
半透明这种基础特效还算凑活,立方体捉襟见肘,从按下 ctrl+f11 到你看见立方体需要等上2秒种,鼠标拖动大约有 0.5fps,挺考验耐心的,稍微拖快了就会一下子转到背后去,把立方体设小可以稍微平滑些。另外,显示立方体的时候每秒钟屏幕都会闪一下,不过闪得很快,相比于特效本身的慢速度算不了什么。
另外,无论是 ksnapshot 还是自己临时写的截图工具都没办法截取立方体,总是截图成当前桌面。最后只好用手机拍下这伟大的时刻了。 <— 图片在文末
p4 2.66G / RAM 768MB
sis 661 主板集成显卡,显存16M,无任何 opengl 硬件加速
gentoo linux
xorg-server 1.13.0
xf86-video-sis 0.10.7 自带很弱的 EXA 2d 加速
llvm 3.1
mesa 9.0_pre20120918
kde 4.9.1
kwin 混成类型 OpenGL,使用 OpenGL 2 着色,禁用垂直同步
kwin 启动的输出
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 0x301)
OpenGL version string: 2.1 Mesa 9.0-devel
OpenGL shading language version string: 1.20
Driver: LLVMpipe
GPU class: Unknown
OpenGL version: 2.1
GLSL version: 1.20
Mesa version: 9.0
X server version: 1.13
Linux kernel version: 3.5.4
Direct rendering: yes
Requires strict binding: yes
GLSL shaders: yes
Texture NPOT support: yes
4 FEEDBACKS