Skip to content

Error: qemu-system-x86_64: QXL VGA not available #640

Open

Description

@gaurav-null

When running ./basic i get this error: qemu-system-x86_64: QXL VGA not available
Using arch
I have never done virtualization. This is my first time learning and doing.
This is my basic.sh

#!/bin/bash
OSK="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
VMDIR=$PWD
OVMF=$VMDIR/firmware
#export QEMU_AUDIO_DRV=pa
#QEMU_AUDIO_DRV=pa

qemu-system-x86_64 \
    -enable-kvm \
    -m 10G \
    -machine q35,accel=kvm \
    -smp 4,cores=6 \
    -cpu Penryn,vendor=GenuineIntel,kvm=on,+sse3,+sse4.2,+aes,+xsave,+avx,+xsaveopt,+xsavec,+xgetbv1,+avx2,+bmi2,+smep,+bmi1,+fma,+movbe,+invtsc \
    -device isa-applesmc,osk="$OSK" \
    -smbios type=2 \
    -drive if=pflash,format=raw,readonly=on,file="$OVMF/OVMF_CODE.fd" \
    -drive if=pflash,format=raw,file="$OVMF/OVMF_VARS-1024x768.fd" \
    -vga qxl \
    -device ich9-intel-hda -device hda-output \
    -usb -device usb-kbd -device usb-mouse \
    -netdev user,id=net0 \
    -device e1000-82545em,netdev=net0,id=net0,mac=52:54:00:c9:18:27 \
    -device ich9-ahci,id=sata \
    -drive id=ESP,if=none,format=qcow2,file=ESP.qcow2 \
    -device ide-hd,bus=sata.2,drive=ESP \
    -drive id=InstallMedia,format=raw,if=none,file=BaseSystem.img \
    -device ide-hd,bus=sata.3,drive=InstallMedia \
    -drive id=SystemDisk,if=none,file=MyDisk.qcow2 \
    -device ide-hd,bus=sata.4,drive=SystemDisk \

Activity

  1. overtonightdev commented on May 31, 2025

    @overtonightdev

    The error:

    qemu-system-x86_64: QXL VGA not available
    

    means that QEMU was compiled without QXL VGA device support (which is typically used with SPICE). This often happens on minimal QEMU builds, such as the ones found on Arch Linux by default.


    ✅ Solution

    You have two options:


    Option 1: Use a Different VGA Device

    Replace:

    -vga qxl

    with a more compatible option, such as:

    -vga std

    or

    -vga vmware

    Both are widely supported and should work fine for macOS virtual machines (though vmware might offer slightly better graphical support).


    Option 2: Install QEMU with QXL Support

    You can install QEMU with QXL support via AUR (e.g. qemu-full):

    yay -S qemu-full

    Or if you’re not using AUR, you can build QEMU yourself with the --enable-spice and --enable-qxl flags.

    However, for learning and simplicity, Option 1 is much easier and sufficient.


    💡 Bonus: Common VGA Options for QEMU

    • vga std – Standard VGA
    • vga vmware – VMware-compatible VGA
    • vga virtio – Requires virtio drivers
    • vga none – No display
    • -display none – No display at all

    ✅ Recommended Minimal Fix

    Change this line in your script:

    -vga qxl

    to:

    -vga std

    Then run ./basic again. It should start up without the QXL VGA not available error.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions