我是 Android 新手,希望使用模拟器。
我想做的是创建自己的虚拟硬件,可以收集 OpenGL 命令并生成 OpenGL 图形。
有人告诉我,为了做到这一点,我需要编写一个 Linux 内核驱动程序来实现与硬件的通信。此外,我需要编写一个 Android 用户空间库来调用内核驱动程序。
首先,我计划制作一个非常简单的硬件,它只执行 1 或 2 个命令。
这里有人做过这样的事吗?如果是这样,您有任何提示或可能的额外信息链接吗?
对于任何反馈,我们都表示感谢。
编写硬件仿真是一项棘手的任务,而且绝非易事。所以如果你真的想这样做,我不会从头开始。对于您的情况,我首先从一些更简单的开始(因为许多库已经在来宾和主机端就位):通过 qemu 为普通 Linux 实现 OpenGL 直通。需要做些什么:
首先,将一些虚拟 GPU 添加到 qemu 中,这还涉及添加一个使用 OpenGL 的新图形输出模块(到目前为止 qemu 使用 SDL)。接下来,您在 Linux 内核中创建 DRI/DRM 驱动程序,该驱动程序将在 guest 虚拟机上运行(Android 使用自己的图形系统,但对于学习 DRI/DRM 没问题)以及 Mesa 中。在主机端,您必须在 OpenGL 调用中翻译来自 qemu 的内容。由于主机端 GPU 正在完成所有艰苦的工作,因此您的 DRI/DRM 部分将非常小,只需构建一个桥即可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)