我正在尝试设置一个基于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很陌生,刚刚学会了如何构建香草内核等,除了配置X之外,我真的不知道Linux显示系统是如何工作的。
编辑:我已经在Fedora上使用OpenTegra驱动程序在HDMI上运行了XFCE(登录不起作用,登录窗口很小),如果我没有弄错的话,它通常使用DRM驱动程序,所以希望这是个好消息?
Nvidia设置通常可以在您已经走到这一步的情况下解决问题。通常,如果内核被赋予正确的vesa模式来显示系统启动消息,视频就会工作。这些有点神秘,但它们很容易变成附加到内核启动参数"vga=###"的参数。