Trying to figure out how to set up gnome-boxes or virt-manager on Pinebook Pro (ARM)

Hi guys,

I’m on Manjaro ARM 22.08 on the Pinebook Pro, and I’m struggling to figure out how to set up virtualization so I can set up an OpenBSD VM (aarch64, not x86_64).

Here’s the error I get while trying to set up gnome-boxes/qemu:

pacman error
~ $ sudo pacman -S gnome-boxes
resolving dependencies...
:: There are 3 providers available for qemu:
:: Repository extra
   1) qemu-base  2) qemu-desktop  3) qemu-full

Enter a number (default=1): 
warning: cannot resolve "edk2-ovmf", a dependency of "qemu-system-x86"
warning: cannot resolve "seabios", a dependency of "qemu-system-x86"
warning: cannot resolve "qemu-system-x86", a dependency of "qemu-base"
warning: cannot resolve "qemu", a dependency of "gnome-boxes"
:: The following package cannot be upgraded due to unresolvable dependencies:
      gnome-boxes

:: Do you want to skip the above package for this upgrade? [y/N] 
error: failed to prepare transaction (could not satisfy dependencies)
:: unable to satisfy dependency 'edk2-ovmf' required by qemu-system-x86
:: unable to satisfy dependency 'seabios' required by qemu-system-x86
:: unable to satisfy dependency 'qemu-system-x86' required by qemu-base
:: unable to satisfy dependency 'qemu' required by gnome-boxes
~ $ 

I can’t figure out how to get KVM working (I guess it requires qemu?), and the commands on the KVM arch wiki page lead me to believe that the PBP SOC doesn’t have any hardware virtualization?

Is there any way to run a (software) vm on the PBP? It doesn’t have to be fast, I’m just learning a bit of OpenBSD, which is crazy lean.

(I was able to get virt-manager working with LXC, but that doesn’t help me running a different OS.)

Thanks,

Chewie “Aurrrrgh! Grrr!”

inxi system info
$ inxi -Fxxxza --no-host
System:
  Kernel: 5.19.1-2-MANJARO-ARM arch: aarch64 bits: 64 compiler: gcc v: 12.1.0
    parameters: initrd=/initramfs-linux.img console=ttyS2,1500000
    root=LABEL=ROOT_MNJRO rw rootwait quiet splash
    plymouth.ignore-serial-consoles
  Desktop: i3 v: 4.20.1 info: i3bar vt: 7 dm: LightDM v: 1.32.0
    Distro: Manjaro ARM base: Arch Linux
Machine:
  Type: ARM System: Pine64 Pinebook Pro details: N/A serial: <filter>
Battery:
  ID-1: cw2015-battery charge: 80% condition: N/A volts: 4.0 min: N/A
    model: N/A type: Li-ion serial: N/A status: discharging
CPU:
  Info: model: N/A variant-1: cortex-a53 variant-2: cortex-a72 bits: 64
    type: MCP AMP arch: ARMv8 family: 8 model-id: 0 stepping: 4
  Topology: variant: cpus: 1x cores: 4 min/max: 408/1416 variant: cpus: 1x
    cores: 2 min/max: 408/1800 smt: <unsupported> cache: N/A
  Speed (MHz): avg: 608 high: 1008 min/max: 408/1416:1800 scaling:
    driver: cpufreq-dt governor: schedutil cores: 1: 408 2: 408 3: 408 4: 408
    5: 1008 6: 1008 bogomips: N/A
  Features: Use -f option to see features
  Vulnerabilities:
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: retbleed status: Not affected
  Type: spec_store_bypass status: Not affected
  Type: spectre_v1 mitigation: __user pointer sanitization
  Type: spectre_v2 mitigation: Branch predictor hardening, BHB
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: display-subsystem driver: rockchip_drm v: N/A bus-ID: N/A
    chip-ID: rockchip:display-subsystem class-ID: display-subsystem
  Device-2: rk3399-mali driver: panfrost v: kernel bus-ID: N/A
    chip-ID: rockchip:ff9a0000 class-ID: gpu
  Device-3: Microdia HP Integrated Webcam type: USB driver: uvcvideo
    bus-ID: 3-1.2:3 chip-ID: 0c45:6321 class-ID: 0e02
  Display: x11 server: X.Org v: 21.1.4 driver: X: loaded: modesetting
    alternate: fbdev
    gpu: cdn-dp,dw-mipi-dsi-rockchip,dwhdmi-rockchip,innohdmi-rockchip,rockchip-dp,rockchip-drm,rockchip-lvds,rockchip-vop,rockchip-vop2
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.00x11.22")
    s-diag: 582mm (22.93")
  Monitor-1: eDP-1 res: 1920x1080 hz: 60 size: N/A modes: 1920x1080
  Message: Unable to show GL data. Required tool glxinfo missing.
Audio:
  Device-1: simple-audio-card driver: asoc_simple_card bus-ID: N/A
    chip-ID: simple-audio-card:es8316-sound class-ID: es8316-sound
  Device-2: simple-audio-card driver: N/A bus-ID: N/A
    chip-ID: simple-audio-card:hdmi-sound class-ID: hdmi-sound
  Sound Server-1: ALSA v: k5.19.1-2-MANJARO-ARM running: yes
  Sound Server-2: JACK v: 1.9.21 running: no
  Sound Server-3: PulseAudio v: 16.1 running: yes
  Sound Server-4: PipeWire v: 0.3.56 running: yes
Network:
  Message: No ARM data found for this feature.
  IF-ID-1: tun0 state: unknown speed: 10 Mbps duplex: full mac: N/A
  IF-ID-2: wlan0 state: up mac: <filter>
Bluetooth:
  Device-1: rk3399-uart driver: dw_apb_uart bus-ID: N/A
    chip-ID: rockchip:ff180000 class-ID: serial
  Report: rfkill ID: hci0 rfk-id: 1 state: down bt-service: enabled,running
    rfk-block: hardware: no software: yes address: see --recommends
Drives:
  Local Storage: total: 177.49 GiB used: 34.75 GiB (19.6%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/mmcblk1 maj-min: 179:96 vendor: Samsung model: GD4QT
    size: 119.25 GiB block-size: physical: 512 B logical: 512 B type: SSD
    serial: <filter> scheme: GPT
  ID-2: /dev/mmcblk2 maj-min: 179:0 vendor: SanDisk model: DA4064
    size: 58.24 GiB block-size: physical: 512 B logical: 512 B type: SSD
    serial: <filter> rev: 0x8 scheme: MBR
Partition:
  ID-1: / raw-size: 58 GiB size: 57.02 GiB (98.30%) used: 34.71 GiB (60.9%)
    fs: ext4 dev: /dev/mmcblk2p2 maj-min: 179:2
  ID-2: /boot raw-size: 213.6 MiB size: 213.4 MiB (99.89%) used: 44.2 MiB
    (20.7%) fs: vfat dev: /dev/mmcblk2p1 maj-min: 179:1
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 80 (default 100)
  ID-1: swap-1 type: zram size: 5.67 GiB used: 0 KiB (0.0%) priority: 100
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 40.0 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 210 Uptime: 30m Memory: 3.78 GiB used: 1.11 GiB (29.3%)
  Init: systemd v: 251 default: graphical tool: systemctl Compilers:
  gcc: 12.1.0 Packages: 1517 pacman: 1514 lib: 322 flatpak: 3 Shell: Bash
  v: 5.1.16 running-in: lxterminal inxi: 3.3.20

QEMU virtualization is currently broken on aarch64 in our upstream (Arch Linux ARM) because of some dependency issue. The edk2-ovmf package is missing entirely.

See this thread:

https://archlinuxarm.org/forum/viewtopic.php?f=15&t=16037

Argh, that’s annoying.

So, they’ve provided somewhat hacky workarounds as of July, but no word on a proper fix?

Is there any way to submit a bug report upstream?

I wouldn’t want to do it because of the inevitable “You’re not running Arch!”

I think replying to the forum post I linked is the best way to inform the Arch ARM developers of such packaging issues.