Skip to content

Use Alpine's QEMU rather than host system QEMU

ryang requested to merge ryang2678/pmbootstrap:alpine-qemu into master

This addresses issue #1158 (closed) and #543 (moved). This change makes pmbootstrap use Alpine's QEMU and the virglrenderer by default. I've added the option pmbootstrap qemu --host-qemu so that the host qemu can still be used.

The previous functionality of pmbootstrap qemu remains the same when the dri-swrast mesa driver is chosen. In that case the bochs graphics driver will be used. The Spice option is also unchanged.

With virgl there is lots of mouse cursor buggy-ness. I get these issues with both host QEMU and Alpine's QEMU.

  • xorg desktops: Mouse isn't usable at all.
    • --display sdl,gl=on: Mouse jumps all over the place.
    • --display gtk,gl=on: Mouse cursor not visible.
  • weston:
    • --display sdl,gl=on: Mouse is jumpy but works okay enough to actually use the desktop.
    • --display gtk,gl=on: Mouse cursor not visible.
  • plasma-mobile:

Some system logs while using virglrenderer:

virtio drm driver:

qemu-amd64:~$ dmesg | grep drm
[    6.349084] [drm] pci: virtio-vga detected at 0000:00:02.0
[    6.349385] [drm] virgl 3d acceleration enabled
[    6.350124] [drm] number of scanouts: 1
[    6.350133] [drm] number of cap sets: 1
[    6.358108] [drm] cap set 0: id 1, max-version 1, max-size 308
[    6.399931] virtio_gpu virtio0: fb0: virtiodrmfb frame buffer device
[    6.399942] [drm] Initialized virtio_gpu 0.0.1 0 for virtio0 on minor 0

xorg (xfce4):

qemu-amd64:/home/user# DISPLAY=:0 glxinfo | grep OpenGL
OpenGL vendor string: Red Hat
OpenGL renderer string: virgl
OpenGL core profile version string: 3.3 (Core Profile) Mesa 18.1.1
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.1 Mesa 18.1.1
OpenGL shading language version string: 1.40
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 18.1.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:

plasma-mobile:

qemu-amd64:~$ logread
OpenGL vendor string:                   Red Hat
OpenGL renderer string:                 virgl
OpenGL version string:                  OpenGL ES 3.0 Mesa 18.1.1
OpenGL shading language version string: OpenGL ES GLSL ES 3.00
Driver:                                 Unknown
GPU class:                              Unknown
OpenGL version:                         3.0
GLSL version:                           3.0
Mesa version:                           18.1.1
Linux kernel version:                   4.16.2
Requires strict binding:                no
GLSL shaders:                           yes
Texture NPOT support:                   yes
Virtual Machine:                        no
kwin_wayland_drm: Support for remote access enabled
libkwinglutils: Skipping self test as it is reported to return false positive results on Mesa drivers
kwin_core: Instantiated compositing plugin: "SceneOpenGL"
Edited by ryang

Merge request reports