Jump to content

Insanely fast virtual Mac (QEMU, OVMF, Clover and native graphics)


514 posts in this topic

Recommended Posts

  • 3 weeks later...

I have OSX Sierra booting and running fine under qemu 2.6.1 on ubuntu 16.10. I am using the enoch branch of the chameleon boot loader. I don't do any graphics card passthrough as I intend to run this in a window on my main desktop.

 

I have adjusted my screen resolution by modifying org.chameleon.boot.plist to add the "Graphics Mode" key. I have a large 4k screen and would like to take advantage of it but the max resolution I can get via this method is 1920x1200. Google has failed to help me find a way to get higher res so I thought I could ask here. Any ideas?

 

BTW, I followed the instructions here https://github.com/kholia/OSX-KVM and got a working system very quickly.

Link to comment
Share on other sites

I solved it. The reason my earlier attempt didn't work was because I tried a resolution that was not supported by the SeaBIOS. I tried 2560x1440x32 which is not a supported resolution.

 

Picking a resolution directly supported by the BIOS resolved the problem. The full listing can be found here:  http://git.qemu-project.org/?p=seabios.git;a=blob_plain;f=vgasrc/bochsvga.c;hb=HEAD

 

I changed the org.chameleon.boot.plist to use 2560x1600x32 and OS X now boots with that resolution.

Link to comment
Share on other sites

  • 3 weeks later...

Hi team!

I am loving this solution as bare metal hackintosh has been a complete disaster. Unfortunately, VFIO + OVMF does not work for me because I have an nvidia 670, which is not a UEFI video card. I use Seabios instead which works ok.

If I use clover as bootloader, it works but everything is SO SLOW! all UI is very slow even though the gfx card works fine. nvidia web drivers works fine, cpu is detected properly... I would use clover with seabios is that issue could be resolved.

If I use chameleon as bootloader, cpu speed is incorrect. bus speed shows cpu speed? but everything is very fast! sleep / wake works etc. I can't get nvidia web drivers working but it's probably my fault.

No matter what, I have a USB sound card (avid mbox) that will not work. I've tried multiple ways of passing it through but I end up with messages below. In system profiler I can see the mbox device but it still is not listed under sound/output devices in preferences.

"ehci warning: guest requested more bytes than allowed
processing error - resetting ehci HC"

 

anyone have any idea of how to fix the issues above?

Link to comment
Share on other sites

  • 2 weeks later...

Hi, @Peter_sm

Yes, You have to first install the FakeSMC kext into /system/library/extensions then upgrade. No need to update clover etc unless you want to.

During upgrade, you will get the error on the reboot. Then you need to remove the smc/osk key from XML. Reboot and good to go.

Made a short video on how here

Link to comment
Share on other sites

Hi, @Peter_sm

Yes, You have to first install the FakeSMC kext into /system/library/extensions then upgrade. No need to update clover etc unless you want to.

During upgrade, you will get the error on the reboot. Then you need to remove the smc/osk key from XML. Reboot and good to go.

Made a short video on how here

https://www.youtube.com/watch?v=EJ_f0QG9bmg&lc=z12ewhuwtti0xdxvw23ffpe4osifyh2bl04

Thanks for this finding and solution!
Link to comment
Share on other sites

Hello everyone! Following the instructions here, I've had El Cap working since last summer. Alas, I'm having trouble booting the Sierra installer. Using the patched Clover, Penryn and iMac 10,1 SMBIOS, I get to a point where verbose output stops, mouse cursor appears, turns into a beachball, and nothing happens no matter how long I wait. Could anyone of you fine people share a config.plist full EFI folder (just to be sure) that gets to the installer? Dreadkopp linked one earlier but the link seems to be broken. Thanks a lot in advance!

Link to comment
Share on other sites

  • 4 weeks later...
  • 1 month later...

I think I've found a way to avoid the ugly Clover patch:

-cpu Penryn,vendor=GenuineIntel,kvm=on,+invtsc,vmware-cpuid-freq=on

vmware-cpuid-freq requires kvm to be exposed and invtsc enabled, hence the kvm=on,+invtsc

Tested on qemu 2.9.0.

 

References:

Link to comment
Share on other sites

  • 1 month later...

I can confirm the above qemu options works well with an unmodified clover and minimal config.plist

 

After some experimentation, I could switch to use IvyBridge as the guest cpu model by disabling the tsc-deadline feature.

 

 

The cpu option line becomes:

 

-cpu ivyBridge,vendor=GeniuneIntel,kvm=on,+invtsc,vmware-cpuid-freq=on,-tsc-deadline

 

The host is a Haswell-E 5960X

Link to comment
Share on other sites

Hi all - I'm having a heck of a time getting Clover working on a KVM VM of macOS Sierra 10.12.5 and am in need of some advice.

 

I've read through the whole thread and across multiple installation guides, etc. but am yet to find a solution to the problems I'm facing here.

 

Where I am currently:

- ArchLinux - fresh install with latest kernel, etc.

- I can boot the system using enoch_rev2889_boot with no problems at all (yay!)

- Booting Clover using resolution 800x600 (no more crazy borky graphics on the boot screen)

- Using the latest git checkout of qemu so the patches for not needing FakeSMC are there (hence how I can start without issue using enoch_rev2889)

- Installed FakeSMC anyway using the Clover method - this starts because the boot status shows "FakeSMCKeyStore: started"

- Tried booting both WITH and WITHOUT the latest dsdt provided at https://github.com/qemu/qemu/blob/4f7ab0cdbccfc1d0a3a6d0a7c9a22d8a90d9e2f0/pc-bios/q35-acpi-dsdt.aml )

 

What isn't working:

- When I try to boot using Clover (tried MANY builds of OVMF and the latest Clover build) I only get as far as:

AppleCredentialManager::start called
AppleKeyStore starting (BUILT: Jun 15 2017 18:08:56)

Strangely - I did have the system booting completely in Clover earlier but that was with crazy messed up graphics (completely mangled - seems to be a problem with the resolution being set too high.) Now with that issue fixed and the boot screen actually looking sensible (i.e. the apple logo looking fine) if I run in graphical mode (i.e. without -v) I just never get the progress bar and in verbose I see the status above and then nothing.

 

Any advice or guidance anyone can provide would be greatly appreciated! Really starting to lose my mind here! :(

 

NOTE: I'm not trying to run any PCI passthrough here - running currently with qxl but I've tried with VGA also. Strangely VMVGA option always presents a blank screen and no output at all with Clover but works fine with enoch.

Link to comment
Share on other sites

Hi all - I'm having a heck of a time getting Clover working on a KVM VM of macOS Sierra 10.12.5 and am in need of some advice.

 

I've read through the whole thread and across multiple installation guides, etc. but am yet to find a solution to the problems I'm facing here.

 

Where I am currently:

- ArchLinux - fresh install with latest kernel, etc.

- I can boot the system using enoch_rev2889_boot with no problems at all (yay!)

- Booting Clover using resolution 800x600 (no more crazy borky graphics on the boot screen)

- Using the latest git checkout of qemu so the patches for not needing FakeSMC are there (hence how I can start without issue using enoch_rev2889)

- Installed FakeSMC anyway using the Clover method - this starts because the boot status shows "FakeSMCKeyStore: started"

- Tried booting both WITH and WITHOUT the latest dsdt provided at https://github.com/qemu/qemu/blob/4f7ab0cdbccfc1d0a3a6d0a7c9a22d8a90d9e2f0/pc-bios/q35-acpi-dsdt.aml )

 

What isn't working:

- When I try to boot using Clover (tried MANY builds of OVMF and the latest Clover build) I only get as far as:

AppleCredentialManager::start called
AppleKeyStore starting (BUILT: Jun 15 2017 18:08:56)

Strangely - I did have the system booting completely in Clover earlier but that was with crazy messed up graphics (completely mangled - seems to be a problem with the resolution being set too high.) Now with that issue fixed and the boot screen actually looking sensible (i.e. the apple logo looking fine) if I run in graphical mode (i.e. without -v) I just never get the progress bar and in verbose I see the status above and then nothing.

 

Any advice or guidance anyone can provide would be greatly appreciated! Really starting to lose my mind here! :(

 

NOTE: I'm not trying to run any PCI passthrough here - running currently with qxl but I've tried with VGA also. Strangely VMVGA option always presents a blank screen and no output at all with Clover but works fine with enoch.

 

See https://lists.gnu.org/archive/html/qemu-devel/2017-06/msg04078.html. Latest QEMU from Git repository does not work with Clover for now.

 

See https://github.com/kholia/OSX-KVM/tree/master/UEFI for a possible solution.

 

Good luck!

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...

Hi,

 

hopefully someone can help me :)

 

I'm trying to build a 10.12 VM with Graphics Passthrough. The machine works if I don't passthrough the PCI Device. After passing through the Graphic-Card, the machine hangs at

HID: Legacy shim 2
[ PCI configuration begin ]

and reboots after a few seconds.

What I'm using:

 

QEMU emulator version 2.9.0 (unpatched)

Intel Core i7-3770S as Host-CPU

Radeon R9 270X as Graphic Card

Clover r4128 (unpatched)

 

I mainly followed https://github.com/kholia/OSX-KVMand I'm using his boot-clover.sh script from the UEFI-folder

 

Does someone experienced the same and has a solution or a clue?

 

Greetings and thanks in advance,

notRegal

Link to comment
Share on other sites

https://github.com/kholia/OSX-KVM/tree/master/UEFI has some notes on GPU passthrough. Make sure that you are following all the steps as exactly as possible.

 

https://github.com/kholia/OSX-KVM/blob/master/boot-passthrough.sh <-- adapting and using this instead of virt-manager for GPU passthrough might be a more robust and reliable option.

 

Have you tried GPU passthrough with a Windows 10 guest? If not, doing so might be a good debugging step.

 

Good luck, and keep trying various options :-)

Link to comment
Share on other sites

  • 1 month later...

i've installed sierra on linux using kholia OSX-KVM scripts. video card passthough works fine, except one thing - displayport audio isn't working (i didn't see it in output devices). my videocard is nvidia nvs 510, monitor is dell up2715k (it have internal dynamics which works fine with mac pro). is anyone solved this problem?

Link to comment
Share on other sites

Hey guys,

I come from my self-patched clover 3974 and Sierra 10,12,3.

For HS I needed to update clover, so I thought I apply my patches again. Well that didn't work out. I was left with a partly working clover which would freeze as soon as I try to change any option.

Anywho so I had a look at this thread again an found khoilas stuff.

So I build his variant of qemu, used the new cpu option and clover 4124 (? The most recent build from source forge) + the q35 dsdt (might have been the same I used all read but whatever)

Tried various smbios (from iMac 10,1 up to macpro 6,1)and vcpus from Penryn up to ivybridge.

When I try to boot Sierra I get a kernel panic late in the boot process shortly after dsmos arrives. Error code 0x0000000000000010 cpu 0x0(0-7) VMM

VMM seems to be some virtual memory thing?

When I try to boot high Sierra I nearly instantly getting a kernel panic due to AppleAcpiPlatform.kext. Trying three times to recover and then going for a reboot.

I am just out of ideas sitting in front of this for like 12 hours straight. Hope someone of you might have an idea what's wrong

 

 

okay, i am able to boot sierra again which works fine.

 

SMBIOS iMac14,2 IvyBridge vCPU.

 

However HS gives me near instant KP with same config.

 

edit: not that it would help much but i made a video, hooray XD 


 
Link to comment
Share on other sites

  • 5 weeks later...

I'm having trouble with PCI Passthrough and Sierra/High Sierra on a GTX 1050. I installed the latest Web Driver, but I get freezes of the GUI after installing it.

 

It seems to work fine for OpenGL, it's just any app I launch, or quit, makes the system freeze while it's opening and closing, Safari is the worst offender.

 

My qemu launch command is:

#!/bin/bash
MY_OPTIONS="+aes,+xsave,+avx,+xsaveopt,avx2,+smep"

~/QEMU/bin/qemu-system-x86_64 -enable-kvm -m 3072 -cpu Penryn,kvm=off,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,$MY_OPTIONS\
	  -machine pc-q35-2.9 \
	  -smp 4,cores=2 \
	  -vga none \
          -usb -usbdevice host:046d:c534 \
	  -device vfio-pci,host=24:00.0,bus=pcie.0,multifunction=on \
	  -device vfio-pci,host=24:00.1,bus=pcie.0 \
	  -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" \
          -drive if=pflash,format=raw,readonly,file=./OVMF_CODE.fd \
	  -drive if=pflash,format=raw,file=OVMF_VARS.fd \
	  -smbios type=2 \
          -device ide-drive,bus=ide.1,drive=MacHDD \
	  -drive id=MacHDD,if=none,file=./mac_hdd.img \
          -netdev user,id=usr0 -device e1000-82545em,netdev=usr0,id=vnet0 

I've tried with kvm=on and kvm=off, it didn't seem to change anything. I also installed Lilu and NvidiaGraphicsFixUp, but I'm not sure they are working/Loading, as when I run kextstat | grep lilu it doesn't return anything.

 

The same setting work fine for Windows 10, everything works as expected.

 

EDIT, seems to be a problem with Metal, I removed the GeforceMTLDriver Web, and now things run fine, albeit without Metal Support, in OpenGL mode.

 

I think the GTX 1050 I have is a new card Device ID 10de:1c81, the latest Clover doesn't have a Dev ID of it, so maybe there is hope that nVidia will fix the Metal support for it.

Edited by nvflash
Link to comment
Share on other sites

 Share

×
×
  • Create New...