Troubleshooting:QEMU

From postmarketOS
Jump to: navigation, search

This page is about debugging problems with pmbootstrap qemu.

"Booting the kernel." displayed forever or segfault

Most likely you have full disk encryption enabled, this is broken with QEMU right now (osk-sdl#75) unless you also use --spice. To work around this bug, please do one of these:

  • Install without FDE: pmbootstrap install --no-fde
  • or install a spice client and use it: pmbootstrap qemu --spice

Help with fixing that issue is highly appreciated.

Alternative display options

GTK instead of SDL

The virtual machine's output window can be drawn with either SDL or GTK. The default is SDL, and in case that does not work, you can try to switch to GTK:

$ pmbootstrap qemu --display=gtk

Disable OpenGL

Some user interfaces may not work properly with OpenGL disabled.

Graphics rendering with OpenGL is enabled by default. You can disable it by appending ,gl=off to your display option. Examples:

$ pmbootstrap qemu --display=sdl,gl=off
$ pmbootstrap qemu --display=gtk,gl=off

Using SPICE

Another option is using the SPICE protocol. The following command will cause QEMU to start a SPICE server, that listens on localhost, and connect a client right afterwards. Supported clients are remote-viewer and spicy (one of these needs to be installed on your host system). This method supports 3D hardware accelleration as well.

$ pmbootstrap qemu --spice

Using QEMU from the host system

Since !1612, pmbootstrap is using the QEMU binary from the Alpine chroots. That way you don't have to install QEMU on your host system and everybody uses the same version. However, for debugging purpose you might want to use the QEMU binaries from your host system instead:

$ pmbootstrap qemu --host-qemu

This option can be combined with --display or --spice.

See also

  • Qemu
  • #1623 pmbootstrap qemu with proprietary nvidia drivers
  • #1641 pmbootstrap qemu booting the kernel for ever (with screenshot)
  • osk-sdl#75 osk-sdl segfaults in qemu-amd64