很高兴看到 AMD 通过发布 amdgpu Linux 内核驱动程序源代码来支持开源社区。
但是这个开源 amdgpu 驱动程序是否需要加载非自由固件?
答案1
开源驱动程序确实使用 AMD 的专有 blob,是的......
(这就是为什么你必须安装firmware-linux-nonfree包,否则代码将在内核中)。
我使用开源 AMDGPU 驱动程序和封闭固件。它通过“CONFIG_EXTRA_FIRMWARE”编译到内核中。您可以一直使用开源,这将向固件发送通用指令,这将是不稳定且次优的。
这同样适用于 nvidia:gk20a gm200 gm204 gm206 gm20b gp100 tegra124 tegra210...
更不用说设备本身上会有微代码。
linuxcon 2015 上提出的一个有趣的话题是,被利用的 USB 控制器的封闭固件可能会造成严重破坏……这是在推动开放硬件的情况下,我认为由于某些 BIOS 漏洞,很多问题浮现得更快。
这是许可证的片段(针对封闭固件):
版权所有 (C) 2009-2016 Advanced Micro Devices, Inc. 保留所有权利。
再分发:特此授予获得此微代码(“软件”)副本的任何人免收任何许可费用的许可,以仅以二进制形式安装、复制、复制和分发该软件的副本,并允许接受本软件的人也可以执行相同的操作,前提是满足以下条件:
不允许对本软件进行逆向工程、反编译或反汇编。
答案2
默认情况下,在 Linux 安装期间,操作系统应加载免费的 AMD 驱动程序...(例如mesa
驱动程序或Ati-Xorg
驱动程序)...
这些驱动程序非常适合普通图形/GPU 使用。开源驱动程序可以独立工作。
事实上,如果您需要安装专有驱动程序(例如 fglrx 驱动程序)或可以从 ATI 网站为您的特定型号下载的驱动程序包,则必须卸载免费驱动程序,因为它们存在冲突。
我建议您仅在以下情况下安装非免费驱动程序:
您使用配备 AMD 显卡的笔记本电脑并面临过热问题。
您将使用需要大量 GPU 能力的应用程序。
您将使用不基于 Gnome 的 Linux 发行版。 (根据我个人的经验,非免费驱动程序与 Gnome 的兼容性不佳;但是,它们在使用 Unity 和 Cinnamon 作为默认桌面管理器时表现非常出色。)