博主呓语:

Linux“垃圾驱动黑名单”里的 Catalyst

Posted by 破冰 on 2012-9-7 15:36 Friday

  Linux 下的 ATI 显卡驱动 Catalyst 因为“看进程下菜碟”而被一位开发者永远打入了自己的冷宫。其实对 Linuxer 来说最头疼的问题之一就是“我用的 ATI/NVIDIA 显卡”。在喷完 NVIDIA 之后,Linus 先生是不是应该对 AMD 动动手呢……

  虽然说 Catalyst Linux 显卡驱动曾在五年前大修过一回,但是到现在为止并不是所有人都对这个闭源的显卡驱动感到满意。在这些人中,我们发现了一位铁杆 Catalyst 用户兼 Linux 开发者的吐槽,来看看他眼里的 Catalyst Linux Driver。

点击查看原图

这周,一篇来自一位资深 Linux 开发者对于 Linux 显卡驱动的吐槽在 Email 上广为流传。这位开发者从 1996 年开始参与 Linux 开发并负责一个窗口管理器的开发工作。在我联系这位开发者和另一家知名游戏公司时,他跟我对 Linux 下的一些驱动的吐了不少槽,并允许我发布到网站上。
  吐槽的主旨是告诉我他真的很讨厌 AMD Catalyst Linux 驱动。造成这个想法的真正原因就是,在过去,Catalyst Linux 在检查存在一个名为 “compiz” 的进程后才肯提供 GLX_EXT_texture_from_pixmap 支持(这个功能允许在一些旧平台上使用 CPU 代替显卡进行渲染)。以下是被流传的那篇文章中于关于这个问题部分。对于长期的 Linux 开发者,这位开发者建议使用 NVIDIA 的闭源驱动或者 Intel 开源驱动来获得 Linux 上最好的OpenGL 支持。


Linux 上所有的 gl 驱动和库文件加起来数目真是少得可怜。说真的,这些驱动里面 NVIDIA 的驱动是最好的,其次是 Intel 驱动。我把 ATI 的 fglrx 排名放到最后,其实这些驱动都在我的“垃圾黑名单”上,我和这些驱动是不能生活在同一次元的。

当我第一次想给 x11 写个桌面混成系统(compositor)的时候,我花了两周的时间想破脑袋也没弄明白为啥 texture-from-pixmap 特性不好使,我读遍了代码和文档也没搞清楚。两周之后,我决定自暴自弃。我把自己做的程序名字改成了 “compiz” ,然后程序正常运行了。这就是发生在 fglrx 驱动上的事情。自打这驱动给我演了这么一出戏之后,它就永远地呆在我的黑名单中了。

这个故事之后,他又说了一个十分搞笑但的确是“真实故事”的故事:


我本以为 fglrx 在这之后肯定改过从新,修正了这个问题。而且过了两年,这也不应该算什么新闻了。但我没有开玩笑!我同样测试一个类似的程序但是无论如何修正都无法工作(也就是我不能获得任何指定给纹理的像素),然后,我就这么试了试:

mv testapp compiz
./compiz

于是那程序就突然正常工作了。于是老子顿时文思泉涌,在心里慰问了 ATI 十分钟。这可真是一个值得纪念的时刻。

发表评论: