Building QEMU with virtio-gpu
and rutabaga_gfx
Date: on 2023-11-22 | Updated: on 2024-01-04
virtio-gpu-rutabaga
device is available in QEMU 8.2 release candidates and later versions.
...
Code Block |
---|
|
qemu/deps/aemu % git log -1
c22a4b0caf5a07 (HEAD -> main, origin/master, origin/main, origin/HEAD) reland: multidisplay: add isPixelFold methodSimplify formatter interface to use std::string |
Code Block |
---|
|
# from <https://crosvm.dev/book/appendix/rutabaga_gfx.html#build-aemu-base>
git clone https://android.googlesource.com/platform/hardware/google/aemu
cd aemu/
cmake -DAEMU_COMMON_GEN_PKGCONFIG=ON \
-DAEMU_COMMON_BUILD_CONFIG=gfxstream \
-DENABLE_VKCEREAL_TESTS=OFF \
--install-prefix "${PREFIX}" \
-B build
cmake --build build -j
cmake --install build --prefix "${CMAKE_INSTALL_PREFIX}" |
...
Code Block |
---|
|
qemu/deps/gfxstream % git log -1
b5ce9bbd3e45436a (HEAD -> main, origin/master, origin/main, origin/HEAD) AndroidWorkPool.cpp:248:5: error: control reaches end of non-void functionMerge "Fix crash on exit" into main |
Code Block |
---|
|
# from <https://crosvm.dev/book/appendix/rutabaga_gfx.html#build-gfxstream>
git clone https://android.googlesource.com/platform/hardware/google/gfxstream
cd gfxstream/
meson setup -Ddefault_library=static --prefix "${PREFIX}" build/
meson install -C build |
...
Code Block |
---|
|
crosvm % git log -1
1eca601eacd04b6198 (HEAD -> main, origin/main, origin/HEAD) RollUpgrade recipegdbstub dependencies (trivial)and gdbstub_arch. |
Code Block |
---|
|
# crosvm HEAD revision: 1eca601ea
export RUSTFLAGS='-Clink-arg=-L='"${PREFIX}"/lib/x86_64-linux-gnu/
cd rutabaga_gfx/ffi
make
make prefix="${PREFIX}" install |
...