kwin + llvmpipe 古老显卡的立方体特效

nihui | 2012/09/22

多年前,看到 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

Tags: ,

4 FEEDBACKS

  1. nihui酱没试过KSnapShot的延时截图么… 我这里设置5s后截图然后开立方体能截啊。

  2. 软件模拟……这……辛苦了啊。我记得ubuntu说要用llvmpipe让Unity跑在老机器上,现在看来暂时还不是很现实啊……

  3. 这配置能运行。。。已经是极品了~

Leave a Reply

Your email address will not be published. Required fields are marked *

Note: Commenter is allowed to use '@User+blank' to automatically notify your reply to other commenter. e.g, if ABC is one of commenter of this post, then write '@ABC '(exclude ') will automatically send your comment to ABC. Using '@all ' to notify all previous commenters. Be sure that the value of User should exactly match with commenter's name (case sensitive).