1

我正在查看我的 linux 内核源代码中的 drm radeon 驱动程序。在我的显示器实际工作的设置/模式上,我有一些理解困难。(从内核消息我可以知道使用了什么微码,我的屏幕正在使用什么连接器和编码器。但这并没有给我一个提示图形内容来自哪里以及它存储在哪里。或者我没有以正确的方式理解它。)

首先 - 环形缓冲区是让我的 gfx 卡正常工作的基本必需品,还是环形缓冲区建议建立一些 3D 图形功能?

环形缓冲区是唯一的用户模式设置实用程序,还是环形缓冲区也可以在内核模式设置中工作(在后台或目标中)?环形缓冲区在启动期间被初始化(我可以在内核消息中看到环形地址) - 但实际使用它的应用程序,我不知道。是显示管理器,例如 X11(如果是 - 显示管理器使用环形缓冲区来做什么 - 正常显示或 Xlib 中某处的一些花哨的 3D 功能)?

总体而言,显示管理器(比如 X11)是否在用户模式设置中工作,而控制台帧缓冲区是否在 kms 中工作?以公里为单位使用 radeon 驱动程序是否存在图形性能限制?

谢谢!

4

1 回答 1

0

关于环,这些基本上是处理显卡状态变化的优化。基本上,显卡所做的一切都是由一系列寄存器(如程序中的变量)控制的。这些寄存器可以由内核直接写入,但是这很慢。所以显卡露出环。不同的环有不同的用途,所以一个可能用于图形,另一个用于视频解码。内核自己管理环,应用程序提供一系列命令来放入环。图形卡还允许您将命令放在另一个缓冲区中,然后将环指向那里以在返回环之前执行这些命令。

关于KMS,如果您使用的是KMS,那么内核直接管理显卡本身。X 和任何其他用户空间应用程序都不会应用您看到的模式。相反,X 向内核驱动程序发送一个请求以调整模式,内核实现更改。假设您的系统已安全设置,则将驱动程序放入内核中应该没有开销。

于 2016-01-13T05:39:09.310 回答