Skip to content

[macOS] Cant allocate more than 1 CPU Core #168

@FlorianKrug

Description

@FlorianKrug

Describe the Issue

MacOs does not boot, when i allocate more than 1 Socket, 1 Core and 1 Thread. I have tried several MacOs Versions.

Reproduce the Issue

  1. Run Autopilot
  2. Start VM over Virt-Manager
  3. Run installer
  4. increase CPU Core Count

Expectation

VM should run faster

Screenshots

No response

Operating System

Manjaro Linux

Kernel

6.12.17-1-MANJARO

Processor

AMD Ryzen 5 8640HS

RAM (in GB)

16

GPU(s)

Radeon 760M Graphics

Version

v0.13.0

Branch

main

Generated Script File

#!/usr/bin/env bash
# shellcheck disable=SC2054

#
#   APC-RUN_15-03-2025_14-18-10
#
#   THIS FILE WAS GENERATED USING AUTOPILOT.
#
#   To boot this script, run the following command:
#   $ ./boot.sh
#

#
#	boot.sh
#	Created by Coopydood as part of the ultimate-macOS-KVM project.
#
#	Profile: https://github.com/Coopydood
#	Repo: https://github.com/Coopydood/ultimate-macOS-KVM
#
#	Adapted from OSX-KVM among others.
#	Greetz to TheNickDude, Dortania, kholia, foxlet, and other contributors :]
#


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

ULTMOS=0.13.0
IGNORE_FILE=0
REQUIRES_SUDO=0
VFIO_PTA=0
VFIO_DEVICES=0
GEN_EPOCH=1742044690
FEATURE_LEVEL=9
VERBOSE=1
DISCORD_RPC=1
DISCORD_RPC_IMG="default"

SCREEN_RES="1280x720"

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

REPO_PATH="/home/florian/macos/ultimate-macOS-KVM"
VM_PATH="/home/florian/macos/ultimate-macOS-KVM"
OVMF_DIR="/home/florian/macos/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:10:13"

OS_ID="Sonoma"

HDD_PATH="$VM_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="$VM_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="$VM_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

Generated XML File (if applicable)

<!--
	 
	    APC-RUN_15-03-2025_14-18-16
 
    THIS FILE WAS GENERATED USING AUTOPILOT.
				 
     To be used with virsh / virt-manager.
	 
	
	/home/florian/macos/ultimate-macOS-KVM/boot.xml	
	Created by Coopydood as part of the ultimate-macOS-KVM project.
	
	Profile: https://github.com/Coopydood
	Repo: https://github.com/Coopydood/ultimate-macOS-KVM

-->

<domain xmlns:qemu="http://libvirt.org/schemas/domain/qemu/1.0" type="kvm">
  <name>ultmos-14</name>
  <title>macOS Sonoma (ULTMOS)</title>
  <description>  macOS Sonoma
  Converted from /home/florian/macos/ultimate-macOS-KVM/boot.sh 

  This virtual machine was created using ultimate-macOS-KVM, a project by Coopydood.
  Visit https://github.com/Coopydood/ultimate-macOS-KVM for help and support, or provide some feedback!

  DEBUG
  ULTMOS: v0.13.0
  XML: /home/florian/macos/ultimate-macOS-KVM/boot.xml
  AP: /home/florian/macos/ultimate-macOS-KVM/boot.sh
  APFLOW: Yes
  AUTO: Yes
  USEBLOBS: Yes
  RUNTIME: 14:18:16 15/03/2025
  </description>
  <uuid>c9e90bce-8a93-4635-b4fe-13d20449c4f3</uuid>
  <memory unit="KiB">8388608</memory>
  <currentMemory unit="KiB">8388608</currentMemory>
  <vcpu placement="static">1</vcpu>
  <os>
    <type arch="x86_64" machine="pc-q35-4.2">hvm</type>
    <loader readonly="yes" type="pflash">/home/florian/macos/ultimate-macOS-KVM/ovmf/OVMF_CODE.fd</loader>
    <nvram>/home/florian/macos/ultimate-macOS-KVM/ovmf/OVMF_VARS.fd</nvram>
    <boot dev="hd"/>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode="host-passthrough" check="none" migratable="on">
    <topology sockets="1" dies="1" cores="1" threads="1"/>
  </cpu>
  <clock offset="utc">
    <timer name="rtc" tickpolicy="catchup"/>
    <timer name="pit" tickpolicy="delay"/>
    <timer name="hpet" present="no"/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
    <disk type="file" device="disk">
      <driver name="qemu" type="qcow2"/>
      <source file="/home/florian/macos/ultimate-macOS-KVM/boot/OpenCore.qcow2"/>
      <target dev="sda" bus="sata"/>
      <address type="drive" controller="0" bus="0" target="0" unit="0"/>
    </disk>
    <disk type="file" device="disk"> <!-- HDD HEADER -->
      <driver name="qemu" type="qcow2"/>
      <source file="/home/florian/macos/ultimate-macOS-KVM/HDD.qcow2"/>
      <target dev="sdb" bus="sata" rotation_rate="1"/>
      <address type="drive" controller="0" bus="0" target="0" unit="1"/>
    </disk> <!-- HDD FOOTER -->

<!--############# REMOVE THESE LINES AFTER MACOS INSTALLATION #############-->

    <disk type="file" device="disk"> 
      <driver name="qemu" type="raw"/>
      <source file="/home/florian/macos/ultimate-macOS-KVM/BaseSystem.img"/>
      <target dev="sdc" bus="sata"/>
      <address type="drive" controller="0" bus="0" target="0" unit="2"/>
	  </disk> 

<!--#######################################################################-->

    <controller type="sata" index="0">
      <address type="pci" domain="0x0000" bus="0x00" slot="0x1f" function="0x2"/>
    </controller>
    <controller type="pci" index="0" model="pcie-root"/>
    <controller type="pci" index="1" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="1" port="0x8"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x0" multifunction="on"/>
    </controller>
    <controller type="pci" index="2" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="2" port="0x9"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x1"/>
    </controller>
    <controller type="pci" index="3" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="3" port="0xa"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x2"/>
    </controller>
    <controller type="pci" index="4" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="4" port="0xb"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x3"/>
    </controller>
    <controller type="pci" index="5" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="5" port="0xc"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x4"/>
    </controller>
    <controller type="pci" index="6" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="6" port="0xd"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x5"/>
    </controller>
    <controller type="pci" index="7" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="7" port="0xe"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x6"/>
    </controller>
    <controller type="pci" index="8" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="8" port="0xf"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x7"/>
    </controller>
    <controller type="pci" index="9" model="pcie-to-pci-bridge">
      <model name="pcie-pci-bridge"/>
      <address type="pci" domain="0x0000" bus="0x01" slot="0x00" function="0x0"/>
    </controller>
    <controller type="usb" index="0" model="ich9-ehci1">
      <address type="pci" domain="0x0000" bus="0x00" slot="0x1d" function="0x7"/>
    </controller>
    <controller type="usb" index="0" model="ich9-uhci1">
      <master startport="0"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x1d" function="0x0" multifunction="on"/>
    </controller>
    <controller type="usb" index="0" model="ich9-uhci2">
      <master startport="2"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x1d" function="0x1"/>
    </controller>
    <controller type="usb" index="0" model="ich9-uhci3">
      <master startport="4"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x1d" function="0x2"/>
    </controller>
    <interface type="network">
      <mac address="00:16:cb:00:10:13"/>
      <source network="default"/>
      <model type="vmxnet3"/>
      <address type="pci" domain="0x0000" bus="0x09" slot="0x02" function="0x0"/>
    </interface>
    <serial type="pty">
      <target type="isa-serial" port="0">
        <model name="isa-serial"/>
      </target>
    </serial>
    <console type="pty">
      <target type="serial" port="0"/>
    </console>
    <input type="mouse" bus="ps2"/>
    <input type="keyboard" bus="ps2"/>
    <input type="keyboard" bus="usb">
      <address type="usb" bus="0" port="3"/>
    </input>
    <input type="mouse" bus="usb">
      <address type="usb" bus="0" port="4"/>
    </input>
    <graphics type="spice">
      <listen type="none"/>
    </graphics>
    <sound model="ich9">
	  <address type="pci" domain="0x0000" bus="0x00" slot="0x1b" function="0x0"/>
	</sound>
    <audio id="1" type="none"/>
    <video>
      <model type="vga" vram="16384" heads="1" primary="yes"/>
      <address type="pci" domain="0x0000" bus="0x09" slot="0x01" function="0x0"/>
    </video>
    <!-- VFIO-PCI HEADER -->
    <!-- USB HEADER -->
    <!--<watchdog model="itco" action="reset"/> -->
    <memballoon model="none"/>
  </devices>
  <qemu:commandline>
    <qemu:arg value="-global"/>
    <qemu:arg value="ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off"/>
    <qemu:arg value="-device"/>
    <qemu:arg value="isa-applesmc,osk=ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"/>
    <qemu:arg value="-smbios"/>
    <qemu:arg value="type=2"/>
    <qemu:arg value="-cpu"/>
    <qemu:arg value="Haswell-noTSX,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check"/>
    <qemu:arg value="-global"/>
    <qemu:arg value="nec-usb-xhci.msi=off"/>
    <!-- NVME HEADER -->
  </qemu:commandline>
</domain>

Generated Log File

Additional Information

Laptop Configuration

Image

Metadata

Metadata

Labels

Help WantedExtra attention is neededInvestigatingThe reported issue is under investigationKnown IssueThis issue has been identified and is being investigated.

Projects

Status

Issues

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions