use*_*184 27 kernel terminal framebuffer kms
使用 KMS,图形驱动程序被移动到内核中。由于帧缓冲区已经在内核中,我不希望这会影响帧缓冲区操作。然而,我读到 KMS 取代了 fb,增加了 fb,需要 fb,并且需要删除 fb 支持。有没有搞错?我正在寻找的答案是对 KMS 和帧缓冲区之间关系的解释。
我一直在使用 uvesafb 在 tty 上获得原始分辨率。我在这里的目的是了解这将如何在带有 KMS 的系统上工作。它也有助于涵盖诸如..使用 KMS 滚动速度更快吗?fbterm 和 fbida 等实用程序的工作方式相同吗?稳定性更好吗?
首先,基本上有两种经典的帧缓冲驱动程序:
经典的帧缓冲驱动程序都有基本的模式设置支持,但它们几乎没有公开对硬件加速的支持。
使用经典的 X 设计,这不是真正的问题:为了获得 2D 加速,X 服务器以 root 身份运行,并且可以直接访问硬件。它基本上完全绕过了帧缓冲驱动程序。对于 3d(以及较新卡上的 2d 支持),它还将使用内核 DRM 驱动程序来调节访问和管理视频内存。
在这个设置中,有两个地方进行了模式设置:在内核帧缓冲驱动程序中,以及在用户空间 X 服务器中。这种代码重复(以及驱动程序之间偶尔的冲突,例如在 VT 开关上)并不理想。
此外,内核中有两个单独的驱动程序用于同一硬件:帧缓冲驱动程序和 DRM 驱动程序。在某些情况下(例如 pre-kms intelfb),您可以加载一个或另一个,但不能同时加载两者。
KMS 是这些问题的解决方案。它:
一些有趣的注意事项: 迁移到现在的 KMS 实际上是在 2004 年左右开始的;请参阅Jon Smirl 在控制台重新架构上的电子邮件。
要回答您更具体的问题: