我正在查找我的linux内核源中的drm radeon驱动程序。在这里,我有一些理解上的困难,在什么设置/模式上我的显示器实际上是工作的。(从内核消息中,我可以知道使用了什么微码,我的屏幕正在使用什么连接器和编码器。但这并没有给我一个提示,图形内容从哪里来,它存储在哪里。或者我没有正确地理解它。)
首先-环形缓冲区是让我的gfx-card工作的基本需求,还是环形缓冲区提议建立一些3D图形功能?
环缓冲区是唯一的用户模式设置实用程序,还是环缓冲区(在后台或目标模式下)也在内核模式设置下工作?环缓冲区在启动过程中被初始化(我可以在内核消息中看到环地址)--但是我不知道是哪个应用程序在使用它。是否是显示管理器,例如X11 (如果是-显示管理器使用环形缓冲区进行正常显示,还是用于Xlib中某些奇特的3D功能)?
总而言之,显示管理器(比如X11)在用户模式下工作吗?控制台帧缓冲区在kms中工作吗?在kms中使用radeon驱动程序是否有图形性能限制?
谢谢!
发布于 2016-01-13 13:39:09
关于环,它们基本上是处理图形卡中的状态变化的优化。基本上,显卡所做的一切都是由一系列寄存器(就像程序中的变量)控制的。这些寄存器可以由内核直接写入,但是速度非常慢。所以显卡会暴露出光环。不同的环有不同的用途,所以一个用于图形,另一个用于视频解码。内核自己管理环,应用程序提供一系列命令将环放入环中。显卡还允许您将命令放在另一个缓冲区中,然后将环指向另一个缓冲区,以便在返回到环之前执行这些命令。
关于KMS,如果你使用KMS,那么内核直接管理显卡本身。X或任何其他用户空间应用程序都不会应用您看到的模式。取而代之的是,X向内核驱动程序发送一个请求以调整模式,然后内核实现该更改。假设您的系统是安全设置的,那么将驱动程序放在内核中应该不会产生任何开销。
https://stackoverflow.com/questions/23662289
复制相似问题