Coopydood / ultimate-macOS-KVM

Helping noobs and pros alike build the ultimate macOS virtual machine with easy automation, powered by KVM. Now with macOS Sequoia support!
https://coopydood.github.io/ultimate-macOS-KVM/
GNU General Public License v3.0
454 stars 26 forks source link

[ULTMOS] Qemu: qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17] #102

Closed aShabat closed 2 months ago

aShabat commented 5 months ago

Describe the Issue

When trying to run boot.sh I get this error 4 times. Was able to run installation, but the system itself doesn't boot.

Reproduce the Issue

Choose all default options in Autopilot, disk type SSD.

Expectation

No response

Screenshots

Screenshot_20240624_212956 image

Operating System

Arch

Kernel

stable linux

Processor

AMD Ryzen 5 5600X

RAM (in GB)

16

GPU(s)

AMD Radeon RX 6600

Version

0.12.1

Branch

main

Additional Information

No response

Coopydood commented 5 months ago

Hi,

without seeing your boot script I’m going to have to guess:

aShabat commented 5 months ago

Yes, they both are even. When I change number of threads script returns Invalid CPU topology: product of the hierarchy must match maxcpus: sockets (1) * dies (1) * cores (2) * threads (0) != maxcpus (1) Should I rerun Autopilot?

aShabat commented 5 months ago

My script:


NAME="macOS 12"
FILE="boot.sh"

ULTMOS=0.12.1
IGNORE_FILE=0
REQUIRES_SUDO=0
VFIO_PTA=0
VFIO_DEVICES=0
GEN_EPOCH=1719134653
FEATURE_LEVEL=7
VERBOSE=1
DISCORD_RPC=1
DISCORD_RPC_IMG="default"

SCREEN_RES="1280x720"

ALLOCATED_RAM="4G"
CPU_SOCKETS="1"
CPU_CORES="2"
CPU_THREADS="4"
CPU_MODEL="Haswell-noTSX"
CPU_FEATURE_ARGS="+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check"

REPO_PATH="/data/anton/QEMU/ultimate-macOS-KVM"
OVMF_DIR="/data/anton/QEMU/ultimate-macOS-KVM/ovmf"

VFIO_ID_0="$USR_VFIO_ID_0"
VFIO_ID_1="$USR_VFIO_ID_1"
VFIO_ROM="$USR_VFIO_ROM"

USB_DEVICES="$USR_USB_DEVICES"

NETWORK_DEVICE="vmxnet3"
MAC_ADDRESS="00:16:cb:00:21:09"

OS_ID="Monterey"

HDD_PATH="$REPO_PATH/HDD.qcow2"
DISK_TYPE="SSD"

#   You should not have to touch anything below this line, especially if you
#   don't really know what you're doing. It'll probably break something.

args=(
-global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off
-enable-kvm -m "$ALLOCATED_RAM" -cpu "$CPU_MODEL",kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,"$CPU_FEATURE_ARGS"
-machine q35
-boot menu=on,splash-time=5
#-device usb-ehci,id=ehci
#-device qemu-xhci,id=xhci
-usb -device usb-kbd -device usb-tablet
#USB_DEV_BEGIN
#USB_DEV_END
-smp "$CPU_THREADS",cores="$CPU_CORES",sockets="$CPU_SOCKETS"
-device pcie-root-port,bus=pcie.0,slot=1,x-speed=16,x-width=32
#VFIO_DEV_BEGIN
#VFIO_DEV_END
-device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
-drive if=pflash,format=raw,readonly=on,file="$OVMF_DIR/OVMF_CODE.fd"
-drive if=pflash,format=raw,file="$OVMF_DIR/OVMF_VARS.fd"
-smbios type=2
-device ich9-intel-hda -device hda-duplex
-device ich9-ahci,id=sata
-drive id=OpenCore,if=none,format=qcow2,file="$REPO_PATH/boot/OpenCore.qcow2"
-drive id=HDD,if=none,file="$HDD_PATH",format=qcow2
-device ide-hd,bus=sata.2,drive=OpenCore,bootindex=1
-device ide-hd,bus=sata.3,drive=HDD,rotation_rate=1

############## REMOVE THESE LINES AFTER MACOS INSTALLATION ###############
#-drive id=BaseSystem,if=none,file="$REPO_PATH/BaseSystem.img",format=raw
#-device ide-hd,bus=sata.4,drive=BaseSystem
##########################################################################

-netdev user,id=net0 -device "$NETWORK_DEVICE",netdev=net0,id=net0,mac="$MAC_ADDRESS"
-device qxl-vga,vgamem_mb=128,vram_size_mb=128
-monitor stdio
#-display none
#-vga qxl

################ UNCOMMENT IF YOU WANT TO USE VNC MONITOR ################
#-vnc 0.0.0.0:1,password=on -k en-us
##########################################################################

)

while getopts d: flag
do
    case "${flag}" in
        d) DISCORD_RPC=${OPTARG};;
    esac
done

if [ $VERBOSE = 1 ]
then
echo
echo \ \ \──────────────────────────────────────────────
echo \ \ \ \ \ $FILE
echo \ \ \ \ \ $ID $OS_ID
echo
echo \ \ \ \ \ Built with ULTMOS v$ULTMOS
echo \ \ \ \ \ Using $CPU_MODEL CPU model
if [ $REQUIRES_SUDO = 1 ]
then
echo \ \ \ \ \ Superuser privileges enabled
fi
if [ $VFIO_PTA = 1 ]
then
echo \ \ \ \ \ Passthrough enabled
else
echo \ \ \ \ \ Passthrough disabled
fi
if [ $DISCORD_RPC = 1 ]
then
echo \ \ \ \ \ Discord RPC enabled
else
echo \ \ \ \ \ Discord RPC disabled
fi
echo \ \ \──────────────────────────────────────────────
echo
fi

if [ $DISCORD_RPC = 1 ]
then
"$REPO_PATH/scripts/drpc.py" --os "$OS_ID" --pt $VFIO_DEVICES --wd "$REPO_PATH" --show "$DISCORD_RPC_IMG" &
fi

qemu-system-x86_64 "${args[@]}"

if [ $DISCORD_RPC = 1 ]
then
pkill -f drpc.py
fi```
aShabat commented 5 months ago

Rerun Autopilot, made 1 thread, but use old virtual disk. Error remains

eversiege commented 5 months ago

I think I see the problem, try setting CPU_THREADS as 2, see if that helps.

aShabat commented 5 months ago

Same error.

LuboGD commented 4 months ago

Here is my warning for comparison. The CPU/iGPU (AMD A6-5400B with Radeon HD 7540D Graphics) is so much less capable, I'm pleasantly surprised it works with High Sierra at all! Sometimes slowly, and sometimes freezes/crashes, but still chugs along. I may be able to eliminate "qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX.xsaveopt [bit 0]" by leaving it out of CPU_FEATURE_ARGS="+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check" but unsure if it would destabilize/slow things further, and the rest are simply due to lacking hardware, not sure there is any way to fix, unless patches like the one for avx2 might help? https://github.com/acidanthera/CryptexFixup

(qemu) qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.movbe [bit 22] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.rdrand [bit 30] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.fsgsbase [bit 0] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.avx2 [bit 5] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.smep [bit 7] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.bmi2 [bit 8] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.erms [bit 9] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.invpcid [bit 10] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX.xsaveopt [bit 0] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.movbe [bit 22] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.rdrand [bit 30] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.fsgsbase [bit 0] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.avx2 [bit 5] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.smep [bit 7] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.bmi2 [bit 8] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.erms [bit 9] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.invpcid [bit 10] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX.xsaveopt [bit 0] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.movbe [bit 22] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.rdrand [bit 30] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.fsgsbase [bit 0] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.avx2 [bit 5] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.smep [bit 7] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.bmi2 [bit 8] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.erms [bit 9] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.invpcid [bit 10] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX.xsaveopt [bit 0] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.movbe [bit 22] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.rdrand [bit 30] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.fsgsbase [bit 0] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.avx2 [bit 5] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.smep [bit 7] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.bmi2 [bit 8] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.erms [bit 9] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.invpcid [bit 10] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.0DH:EAX.xsaveopt [bit 0]

Alfenstein8 commented 2 weeks ago

I also have this issue. My Specs:

OS: Fedora release 40 (Forty) x86_64
Kernel: 6.10.10-200.fc40.x86_64
Uptime: 3 hours, 11 mins
Packages: 3963 (rpm), 136 (flatpak)
Shell: zsh 5.9
Resolution: 2560x1440, 1920x1080
DE: Plasma 6.1.5
WM: KWin
CPU: AMD Ryzen 7 2700X (16) @ 3.800GHz
GPU: NVIDIA GeForce RTX 2070 Rev. A
Memory: 7200MiB / 32006MiB

Console output:

  ──────────────────────────────────────────────
     boot.sh
     macOS Monterey

     Built with ULTMOS v0.12.4
     Using Haswell-noTSX CPU model
     Passthrough disabled
     Discord RPC enabled
  ──────────────────────────────────────────────

QEMU 8.2.6 monitor - type 'help' for more information
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.erms [bit 9]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.invpcid [bit 10]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.erms [bit 9]
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.07H:EBX.invpcid [bit 10]

boot.sh setup:

ID="macOS"
NAME="macOS 12"
FILE="boot.sh"

ULTMOS=0.12.4
IGNORE_FILE=0
REQUIRES_SUDO=0
VFIO_PTA=0
VFIO_DEVICES=0
GEN_EPOCH=1731174040
FEATURE_LEVEL=7
VERBOSE=1
DISCORD_RPC=1
DISCORD_RPC_IMG="default"

SCREEN_RES="1280x720"

ALLOCATED_RAM="8G"
CPU_SOCKETS="1"
CPU_CORES="2"
CPU_THREADS="2"
CPU_MODEL="Haswell-noTSX"
CPU_FEATURE_ARGS="+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check"

REPO_PATH="/home/alfenstein/projects/ultimate-macOS-KVM"
OVMF_DIR="/home/alfenstein/projects/ultimate-macOS-KVM/ovmf"

VFIO_ID_0="$USR_VFIO_ID_0"
VFIO_ID_1="$USR_VFIO_ID_1"
VFIO_ROM="$USR_VFIO_ROM"

USB_DEVICES="$USR_USB_DEVICES"

NETWORK_DEVICE="vmxnet3"
MAC_ADDRESS="00:16:cb:00:21:09"

OS_ID="Monterey"

HDD_PATH="$REPO_PATH/HDD.qcow2"
DISK_TYPE="SSD"

When trying to boot: image