我正在尝试设置基于 Tegra 3 (Toradex Apalis T30) 的系统,该系统将在触摸屏上具有基于 OpenGL ES 的用户界面。不幸的是,标准的 Linux4Tegra 内核已经严重过时,并且提供的图形驱动程序需要 X11 集成。虽然我发现我可以构建 Vanilla Linux 内核并让它在我的板上运行良好(测试 3.18)。这些天我还发现内核中包含了一个 DRM Tegra 驱动程序,我在 menuconfig 中启用了它并使用它构建了内核。我还设法让许多发行版与内核一起工作(尽管我还没有真正尝试过让 X 在任何一个上工作)。
我的问题是,超出这一点,我被卡住了。我不知道接下来要做什么才能让 GLES 渲染并与 DRM 驱动程序一起运行。我环顾四周,发现 Mesa 可能通过 DRM 支持 GLES,但我不确定这是否允许我在没有 X 的情况下这样做?另外,我究竟如何为 Tegra DRM 驱动程序配置和编译 Mesa?
此外,如何使用此 DRM 驱动程序配置输出显示?我的目标屏幕是一个 24 位并行 RGB 显示器,但我还没有把它连接起来,想先用 HDMI 进行测试。我真的不知道应该如何配置输出显示。我能找到的唯一可能有帮助的信息涉及我希望不会使用的 X 和 xorg.conf。我的设备确实在 HDMI 显示器上正确输出了控制台,它是如何知道这样做的?这个过程可能会以某种方式涉及设备树吗?
PS。我想这个问题有点愚蠢,但我对嵌入式 Linux 很陌生,并且刚刚弄清楚如何构建 vanilla 内核等,并且除了配置 X 之外,真的不知道 Linux 显示系统是如何工作的。查找有关此的信息也证明很难。
编辑:我已经在 Fedora 上使用 OpenTegra 驱动程序在 HDMI 上运行了 XFCE(登录不起作用,登录窗口非常小),如果我没记错的话,它会使用 DRM 驱动程序,所以希望这是个好消息?