我对linux桌面环境有疑问。
linux如何在屏幕上显示其桌面环境。我的意思是其中和如何其GUI框架生成并发送到LCD驱动程序?在内核级别吗?它与帧缓冲区(例如fb0)有什么关系吗?
是否可以访问linux的桌面GUI并将其写入帧缓冲区以显示linux的窗口环境?
我进行了很多搜索,但没有找到我的主要答案,即Linux驱动程序已知的监视器如何创建和显示linux桌面环境。
感谢您的关注。
答案 0 :(得分:3)
在Linux中,没有内部桌面或类似的东西。桌面环境就像其他应用程序一样,只是常规应用程序。几乎所有处于最低级别的桌面环境都与另一个GUI库进行交互(例如 Qt , GTK ,...)。然后所有这些GUI库都与称为窗口系统或显示服务器或窗口服务器的较低级软件进行交互。
在Unix系统中,最常用的窗口系统是 X窗口系统(简称为 X 或 X11 )。几乎所有支持Linux的GUI库都可以与X一起使用。
Wayland 是另一个正在发展的窗口系统,应该被认为是X的良好替代品,因为X窗口系统太旧并且存在很多问题。但是X在Linux和其他基于Unix的操作系统中几乎无处不在。
因此,如果您真的想知道那里发生了什么,则应该了解 Linux图形堆栈。正如我所说的,桌面环境只是高级应用程序。从窗口系统(如X)到较低级的库和模块(KMS,DRM等),都是您真正想要的。
KMS(内核模式设置)与显示控制器配合使用,而DRM(直接渲染管理器)与图形卡和GPU配合使用。 (但是实际上并不像我解释的那么简单)