为什么 X 依靠软件而不是带有“nomodeset”内核参数的硬件来实现 3D 加速?

为什么 X 依靠软件而不是带有“nomodeset”内核参数的硬件来实现 3D 加速?

我的笔记本电脑是 ASUS K55N,配备 AMD A8-4500M Trinity APU 和集成 Radeon HD 7640G。昨天我尝试了至少 8 个来自不同发行版(基于 slackware、基于 gentoo、基于 arch、基于 debian、基于 ubuntu)的实时会话,结果相同:挂起后背光关闭。

到目前为止我所做的效果更好的是修改/etc/default/grub为:

GRUB_CMD_LINE_DEFAULT="nomodeset acpi_osi="

我的解决方法有效,但只是因为 Xfce 不依赖 3D 加速。如果您尝试更改为依赖 3D 加速的合成器,您将遇到高温问题。因此,如果您想使用漂亮而现代的桌面,如 KDE、GNOME、Cinnamon、Unity 或 Pantheon,您将需要 3D 加速,因此您无法使用,nomodeset因此您无法暂停。

另一方面,据我所知,nomodeset 不应该在 X 启动后终止 3D 硬件加速。

问题是:

为什么 X 依靠软件而不是带有nomodeset内核参数的硬件来实现 3D 加速?

更多信息请访问:bugs.launchpad.net

答案1

据我所知,X.org 的人已经删除了 XAA(X 加速),并要求 DRI(/dev/dri/card0)可用于渲染除通过 llvmpipe(软件渲染)以外的任何内容。当您使用 nomodeset 和 acpi_osi= 加载时,您将阻止 DRI 检测到您的卡。您可能能够登录,但速度会非常慢。

您可以通过输入以下内容来测试您正在运行的内容

glxinfo | 更少

并搜索 Gallium 3D 和/或 llvmpipe。

glxinfo 程序可能需要 mesa-utils 包,只是

安装 mesa-utils

如果需要则安装。

相关内容