仮想 GPU を Qemu に追加するにはどうすればよいのでしょうか? OpenGL を使用する新しいグラフィックス出力モジュールを追加する必要があると言われました。
1 に答える
OpenGL グラフィックスを生成するために Android Emulator 用の仮想ハードウェア、カーネル、qemu を作成するを参照してください。
最初にお勧めするのは、ソース コードを読んで、既に実装されている仮想グラフィックス アダプターへのコマンドがどのようにグラフィック出力に変換されるかです。次に、これを書き換えて、代わりに OpenGL コマンドを使用する必要があります。これを取得したら、ゲスト システムを提供するために文字通り新しい仮想 GPU を発明する必要があります。GeForce や Radeon をエミュレートしようとさえしません。とにかく、GeForces は公式に文書化されていません。
qemu は、GPU を実装するための実際の種類の API を提供していません。もちろん、VESA と S3 エミュレーションを実装するために使用される内部 API がいくつかありますが、新しい GPU では、その多くをやり直す必要があります。
仮想ハードウェアは、描画コマンドとデータを渡すための I/O を提供する必要があります。理論的には、そこにフルセットの OpenGL コマンドを渡すことができます。ただし、OpenGL はハードウェアに依存しませんが、実際には「ハードウェア」を実装するため、そこである程度のバランスを見つける必要があります。次に、qemu でその仮想ハードウェアを実装して、レンダリング コマンドを適切に実行する必要があります。
最後になりましたが、その仮想ハードウェア用のドライバーを実装する必要があります。これには、新しいドライバーを Mesa に追加し、Xorg 用のドライバーを作成することが含まれます。