本帖最后由 slgxgls 于 2012-6-27 22:43 编辑
在挑选一台 Linux 兼容的电脑的时恐怕没有什么能比显卡更纠结了……本文将简要的比较 Intel、AMD 和 NVIDIA 显卡对于 Linux 的驱动支持情况。
以常见的 i686/AMD64 架构为例。(转帖着注,下同:AMD驱动还支持其它架构。)
Intel 开源驱动(以 Intel 2.19 Mesa 8.0.3 为例) 优点 - 官方提供开源驱动支持。 (实际上Linux上的GEM Graphics Execution Manager 就是Intel提出的。即由OS内核来管理显存而不是显卡驱动。 )
- 对于最新产品的 0-day 支持。
- 不错的电源管理。
- 在 HD3000 及以后型号中通过 VAAPI 实现硬件解码支持。
- 在绝大多数发行版中开箱即用,无需额外配置。
缺点 - 性能大约只有 Win 平台的 80%。
- 没有 OpenCL 支持。 (存疑,据说有64bit支持。)
- HDMI 输出在部分设备上存在问题。
- 并未使用新的 Gallium3D 通用驱动架构,将吸收来自其他开源驱动方面进步上会有难度。(Callium3D 一套统一的API,这套API将标准的硬件特性(而非软件特性)暴露出来(如shader units),也就是说,Callium3D直接与统一的硬件级特性打交道,而非充当一个纯软件层。因此,这些API使得OpenGL 1.x/2.x,OpenGL 3.x,OpenVG,GPGPU架构甚至 Direct3D 的实现,都只需要通过一个单独的后端即可。而无须各个厂商自行开发各自不同的后端。)
- 注意:早期上网本中配备的贴牌 Intel 显卡实为 PowerVR 的产品,Linux 驱动情况糟糕,慎重选购。
Intel 没有提供闭源驱动(PowerVR 的除外) 适用人群:仅需要基本混成式桌面和上网需求的人群,由于 HDMI 的问题并不适合用作 HTPC。
AMD 闭源 Catalyst 驱动(以当下最新的 12.6 Beta 版本为例) 优点 - 提供和 Win 平台几乎相近的性能。
- 对于最新产品的 0-day 支持。
- 提供对独立显卡和内置显卡的切换支持。
- 对具备 UVD2 以上显卡通过 XvBA 提供硬件解码支持。
- 对于 OpenCL 标准支持优秀。
- 具备较为齐全的调频调温及超频工具。
缺点 - 对于新版本 Kernel 和 X.org 支持的速度慢半拍。
- 当下直接调用 XvBA 实现硬件解码的程序有限(仅 Fluendo Codec 和 XBMC 两个)。
- 当下 XvBA 不支持 H264 Level 5.1 的视频。
- 对于部分通过 Wine 运行的 3D 游戏兼容性不佳。
- 不再对 HD5000 之前的显卡提供支持。
- 目前不支持 KMS,短期内 Wayland 无望。(KMS 内核图形模式设置,和GEM配套完成对显卡的初始化和显示模式设置。避免开机一次,进入图形界面一次,两次初始化带来的屏幕黑屏,抖动等。Wayland 未来Linux的图形服务器,简单来说就是把传统应用层上的图形服务器X server放在了操作系统内核层上完成。图形效率将非常高,不再会有延迟。其中实现GEM和KMS是必要条件 )
开源驱动(以 ATI 6.14.4 Mesa 8.0.3 为例) 优点 - 官方提供开源驱动支持。 (AMD公开了R200到R700系列GPU寄存器规格和对应的微代码,这实际上提供了开源驱动的编写的基础。)
- 具备一定的电源管理能力。
- 稳定的 HDMI 视频输出。
- 各种开源驱动新进展的试验场,比如 OpenCL、XTracker、VDPAU Tracker 等。(Linux上几乎所有的新一代和图形相关的技术,当然包括了GEM,KMS和Wayland。从开放性的角度来说,AMD远优于NV,这也NV被Linus骂的主因。)
缺点 - 性能仅有闭源 Catalyst 驱动的 20%~50% 左右。(相对闭源是慢,由开源社区编写,在其支持的技术环节上是问题最少的驱动。)
- 对于最新发布的硬件尚不支持,需约半年左右。
- 动态电源管理存在闪屏缺陷。
- 部分功能如 HDMI 音频输出、PCI-E 2.0 和 HyperZ 支持需要修改内核引导行才能启用。
- 不支持使用 UVD 组件进行硬件解码(仅能通过 Shader)。
适用人群:开源技术爱好者,OpenCL 开发者。若是用于游戏的话建议查询 Wine 的应用程序兼容性。
NVIDIA 闭源驱动(以 302.17 版本为例) 优点 - 提供和 Win 平台几乎相近的性能。(商业公关做得非常好,意思是哪个火就支持哪个,反之。。。)
- 对于最新产品 0-Day 支持。
- 对具备 PureVideo HD 的显卡通过 VDPAU 实现硬件解码支持。
- 存在大量支持通过 VDPAU 硬件解码程序,包括 Adobe Flash。
- 对于新内核和 X.org 支持响应及时。
- 绝佳的 CUDA 支持。
- 良好的 Wine 游戏支持。
- 对老显卡依然提供针对新内核和 X.org 的支持更新。
缺点 - 不官方支持独立显卡和内置显卡的切换,需寻求社区解决方案。(被老大骂的原因)
- 使用 PulseAudio 时需要手动配置 HDMI 音频输出。( PulseAudio Linux上的音频服务器,提供多声道混音,远程播放音频等服务)
- 不具备调频超频功能。(需要修改配置文件)
- OpenCL 的性能和支持慢半拍。
- 恐怕永远都不会支持 KMS,Wayland 无望。(道理很简单,支持KMS Wayland需要向AMD那样公开硬件开发文档。公正的来说NV闭源驱动对于Linux 终端用户的支持还是令人满意的,但对于Linux开发者,特别是开源社区的开发者态度冷漠。)
开源驱动(以 Nouveau 0.16 Mesa 8.0.3 为例) 优点 - 偶尔能带来些惊喜,比如对于 Kepler 核心显卡的支持。(聊胜于无。)
缺点 - 没有任何来自官方的文档和支持,通过逆向工程得来,仅有一名来自 Red Hat 全职开发者。(没有任何承诺,随时有可能被告上法庭。)
- 对于各代显卡的支持情况不稳定。
- 部分显卡需要手动从闭源驱动中提取 Firmware。(只能爱好者私底下干)
- 性能仅为闭源驱动的 20%~30%。(聊胜于无。)
- 基本等同于没有的电源管理。
- 不具备 HDMI 音频输出功能。
- 不支持通过 PureVideo HD 实现硬件解码。
适用人群:高清视频爱好者,3D 游戏爱好者,CUDA 开发者。 希望本文能给正在选购显卡的朋友一个参考,正是因为没有完美的 Linux 驱动支持,所以更要依据自身的需求理性选择并安装对应驱动程序。
原文地址:http://linuxtoy.org/archives/compare-linux-driver-support-between-three-major-gpus.html
|