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).

This site uses Akismet to reduce spam. Learn how your comment data is processed.