quickemu-project / quickemu

Quickly create and run optimised Windows, macOS and Linux virtual machines
MIT License
10.88k stars 478 forks source link

bug: Quickemu searches for x86_64 CPU flags on aarch64 platforms #1457

Open danielvonmitschke opened 2 months ago

danielvonmitschke commented 2 months ago

I confirm this bug has not already been reported

Describe the bug I am trying to run macOS Mojave on an M1 Mac (obviously this is only possible via emulation and not virtualization). So I tried to use UTM, but at least the pre-config versions at https://github.com/adespoton/utmconfigs gave way to less VRAM and screen resolution. So I stumbled upon quickemu and gave this a try. Followed the instructions and got the following output/error:

$ ./quickemu --vm macos-mojave.conf
Quickemu 4.9.6 using /opt/homebrew/bin/gemu-system-x86_64 v9.1.0
- Host:
macOS 14.1.1 running Darwin 23.1.0 MBP
ERROR! macOS mojave requires a CPU with SSE 4.1 support.

Is there something I am missing?

To Reproduce Steps to reproduce the behavior:

  1. On M1 Mac with macOS 14:
  2. $ ./quickget macos mojave
  3. $ ./quickemu --vm macos-mojave.conf

Quickemu output

Quickemu output ```text __ _ _ _(_) ___| | _____ _ __ ___ _ _ / _' | | | | |/ __| |/ / _ \ '_ ' _ \| | | | | (_| | |_| | | (__| < __/ | | | | | |_| | \__, |\__,_|_|\___|_|\_\___|_| |_| |_|\__,_| |_| v4.9.6, using qemu 9.1.0 -------------------------------------------------------------------------------- Project - https://github.com/quickemu-project/quickemu Discord - https://wimpysworld.io/discord -------------------------------------------------------------------------------- Usage quickemu --vm ubuntu.conf Arguments --access : Enable remote spice access support. 'local' (default), 'remote', 'clientipaddress' --braille : Enable braille support. Requires SDL. --delete-disk : Delete the disk image and EFI variables --delete-vm : Delete the entire VM and its configuration --display : Select display backend. 'sdl' (default), 'cocoa', 'gtk', 'none', 'spice' or 'spice-app' --fullscreen : Starts VM in full screen mode (Ctl+Alt+f to exit) --ignore-msrs-always : Configure KVM to always ignore unhandled machine-specific registers --kill : Kill the VM process if it is running --offline : Override all network settings and start the VM offline --shortcut : Create a desktop shortcut --snapshot apply : Apply/restore a snapshot. --snapshot create : Create a snapshot. --snapshot delete : Delete a snapshot. --snapshot info : Show disk/snapshot info. --status-quo : Do not commit any changes to disk/snapshot. --viewer : Choose an alternative viewer. @Options: 'spicy' (default), 'remote-viewer', 'none' --width : Set VM screen width; requires '--height' --height : Set VM screen height; requires '--width' --ssh-port : Set SSH port manually --spice-port : Set SPICE port manually --public-dir : Expose share directory. @Options: '' (default: xdg-user-dir PUBLICSHARE), '', 'none' --monitor : Set monitor connection type. @Options: 'socket' (default), 'telnet', 'none' --monitor-telnet-host : Set telnet host for monitor. (default: 'localhost') --monitor-telnet-port : Set telnet port for monitor. (default: '4440') --monitor-cmd : Send command to monitor if available. (Example: system_powerdown) --serial : Set serial connection type. @Options: 'socket' (default), 'telnet', 'none' --serial-telnet-host : Set telnet host for serial. (default: 'localhost') --serial-telnet-port : Set telnet port for serial. (default: '6660') --keyboard : Set keyboard. @Options: 'usb' (default), 'ps2', 'virtio' --keyboard_layout : Set keyboard layout: 'en-us' (default) --mouse : Set mouse. @Options: 'tablet' (default), 'ps2', 'usb', 'virtio' --usb-controller : Set usb-controller. @Options: 'ehci' (default), 'xhci', 'none' --sound-card : Set sound card. @Options: 'intel-hda' (default), 'ac97', 'es1370', 'sb16', 'usb-audio', 'none' --sound-duplex : Set sound card duplex. @Options: 'hda-micro' (default: speaker/mic), 'hda-duplex' (line-in/line-out), 'hda-output' (output-only) --extra_args : Pass additional arguments to qemu --version : Print version ```

System information Run quickreport and include the output here; if you can't run quickreport, please provide the output of the following:

Quickreport output ``` ---------------------------------- Quickemu 4.9.6 ---------------------------------- Distro: macOS 14.1.1 Kernel: Darwin 23.1.0 arm64 Memory: 64G GPU: -Apple M1 Max ---------------------------------- curl 8.7.1 ---------------------------------- Libraries: libcurl/8.7.1 (SecureTransport) LibreSSL/3.3.6 zlib/1.2.12 nghttp2/1.62.0 Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns ldap ldaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp Features: alt-svc AsynchDNS GSS-API HSTS HTTP2 HTTPS-proxy IPv6 Kerberos Largefile libz MultiSSL NTLM SPNEGO SSL threadsafe UnixSockets ---------------------------------- QEMU 9.1.0 ---------------------------------- Available CPUs: a64fx arm1026 arm1136 arm1136-r2 arm1176 arm11mpcore arm926 arm946 cortex-a15 cortex-a35 cortex-a53 cortex-a55 cortex-a57 cortex-a7 cortex-a710 cortex-a72 cortex-a76 cortex-a8 cortex-a9 cortex-m0 cortex-m3 cortex-m33 cortex-m4 cortex-m55 cortex-m7 cortex-r5 cortex-r52 cortex-r5f host max neoverse-n1 neoverse-n2 neoverse-v1 pxa250 pxa255 pxa260 pxa261 pxa262 pxa270-a0 pxa270-a1 pxa270 pxa270-b0 pxa270-b1 pxa270-c0 pxa270-c5 sa1100 sa1110 ti925t ---------------------------------- CPU ---------------------------------- Apple M1 Max ```