4

我想知道如何将虚拟 GPU 添加到 Qemu 中?有人告诉我这涉及添加一个使用 OpenGL 的新图形输出模块?

4

1 回答 1

4

您可能参考了Create virtual hardware, kernel, qemu for Android Emulator 以生成 OpenGL 图形

我建议您做的第一件事是阅读源代码,如何将已实现的虚拟图形适配器的命令转换为图形输出。然后你应该重写它,改为使用 OpenGL 命令。一旦你得到了这个,你就必须真正发明一个新的虚拟 GPU 来提供客户系统。我什至不会尝试模拟 GeForce 或 Radeon。无论如何,GeForce 都没有公开记录。

qemu 没有提供真正的 API 来实现 GPU。当然,有一些内部 API 用于实现 VESA 和 S3 仿真,但新的 GPU 将需要您再次重做很多工作。

虚拟硬件应该提供一些 I/O 来传递绘图命令和数据。理论上,您可以在那里传递完整的 OpenGL 命令。然而 OpenGL 与硬件无关,而您实际上实现了“硬件”,因此您必须在那里找到一些平衡点。然后在 qemu 中,您必须实现该虚拟硬件以适当地执行渲染命令。

最后但同样重要的是,您必须为该虚拟硬件实现驱动程序,这将涉及向 Mesa 添加新驱动程序并为 Xorg 创建驱动程序。

于 2011-04-26T12:01:07.837 回答