Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Checkout master or a 8.2 tagged release.

2.1 (maybe optional) Build libvirglrenderer

Depending on the system version you have you might need a newer libvirglrender

Code Block
export PREFIX="$(pwd)"/prefix
git clone https://gitlab.freedesktop.org/virgl/virglrenderer.git
cd virglrenderer
meson setup -Dprefix=$PREFIX -Dlibdir=lib build
cd build
ninja install

2.2 Build rutabaga/gfxstream dependencies

You will need to build gfxstream and rutabaga_gfx dependencies for QEMU.

...

The following rutabaga_gfx build instructions were taken from https://crosvm.dev/book/appendix/rutabaga_gfx.html

2.

...

2.1 - Build aemu

HEAD revision:

Code Block
languagebash
qemu/deps/aemu % git log -1
caf5a07 (HEAD -> main, origin/master, origin/main, origin/HEAD) Simplify formatter interface to use std::string
Code Block
languagebash
# 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}"

2.

...

2.2 Build gfxstream

HEAD revision:

Code Block
languagebash
qemu/deps/gfxstream % git log -1
3e45436a (HEAD -> main, origin/master, origin/main, origin/HEAD) Merge "Fix crash on exit" into main
Code Block
languagebash
# 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

2.

...

2.3 Build rutabaga FFI

Code Block
languagebash
git clone git@github.com:google/crosvm.git

...

Important: if the Makefile did not find gfxstream with pkg-config, the library is built without the gfxstream feature. Make sure this step has worked.

2.

...

2.4 Build qemu binary

After all that, go back to qemu/build and build QEMU:

...