Code Monkey home page Code Monkey logo

royalgraphx / darwinkvm Goto Github PK

View Code? Open in Web Editor NEW
61.0 4.0 12.0 183.45 MB

An advanced guide to run Mac OS / OS X / macOS on QEMU/KVM with libvirtd/Virt-Manager. Includes various write-ups for deep customization.

Home Page: https://docs.darwinkvm.com/

License: BSD 3-Clause "New" or "Revised" License

Shell 100.00%
amd documentation efi gpu hackintosh hypervisor intel kvm machines macos opencore passthrough virtual virtualization libvirtd virtmanager osx

darwinkvm's Introduction

An Advanced Guide for running macOS within QEMU/KVM

EFI guides, GPU Passthrough guides, Display Overrides for incompatible monitors, Custom Memory Mapping, Custom USB Mapping, Fake Core Count for incompatible CPU Topology, Host CPU Overclocking, Host Network Bridge for VM visibility, AMD GPU Zero-RPM Disable and custom sPPT Fan Curve, as well as many more advanced tutorials ready to further perfect your macOS experience!

This is the git repo, follow the guide here!

PATIENCE! This is NOT a Pre-Built EFI! You are responsible for creating it!

macOS Sequoia 15.0 Beta 1

macOS Sonoma 14.5

macOS Sonoma 14.4 Beta

macOS Sonoma 14.3

macOS Sonoma 14.2.1 (Credits: @heliokroger)

macOS Sonoma 14.1

macOS Sonoma 14.1 (Credits: @Haxi0)

macOS Sonoma 14.0

macOS Ventura 13.5.1

macOS Ventura 13.5 + NVIDIA GPU (Credits: @Zormeister)

macOS Ventura 13.5 (Credits: @Rowlul)

macOS Ventura 13.4

macOS Monterey 12.7.5

macOS Big Sur 11.7.10

macOS Big Sur 11.0.0 Developer Preview 1 (20A4299v)

Mac OS X 10.16 (AppleInternal GoldenGateSpike 20A2314a)

Mac OS X Catalina 10.15.7

Mac OS X Mojave 10.14.4

Mac OS X High Sierra 10.13.6

Mac OS X Sierra 10.12.5 (AppleInternal Phoenix 16F5049f)

Mac OS X Sierra 10.12

Mac OS X El Capitan 10.11.6

Mac OS X Yosemite 10.10

Mac OS X Mavericks 10.9.5

Mac OS X Mountain Lion 10.8.5

Mac OS X Lion 10.7.5

Mac OS X Snow Leopard 10.6.8 on x86_64

Mac OS X Server Snow Leopard 10.6.8 on x86_64

Mac OS X Snow Leopard Developer Preview 10A190 (10.6) on PowerPC

Mac OS X Leopard 10.5.8 on x86_64

Mac OS X Server Leopard 10.5 on x86_64

Mac OS X Leopard 10.5.4 on PowerPC

Mac OS X Tiger 10.4.11 on x86_64

Mac OS X Server Tiger 10.4.11 on x86_64

Mac OS X Tiger 10.4.7 on x86_64

Mac OS X Tiger 10.4.1 (8B1025, ADP2,1) on x86_64

Mac OS X Tiger 10.4.11 on PowerPC

Mac OS X Panther 10.3

Mac OS X Jaguar 10.2

Mac OS X Puma 10.1

Mac OS X Cheetah 10.0.3


Need Help?


If you run into any issues, you can join the DarwinKVM Discord server! Feel free to ping the @Helpers role within a help channel for support. Hexley provides our discord users with a multitude of commands to assist anyone who may need specific actions performed. Such features that Hexley offers aim to speed up the process with command such as:

/genplatinfo - Generates PlatformInfo for a given Mac model
/checkcoverage - Allows to get a serial numbers Coverage status
/pci - Find PCI devices by vendor ID and device ID.
/usb - Find USB devices by vendor ID and device ID.
/link - Quickly link a URL for someone.
/time - Displays the time of a given user.

Contributing to the Documentation

If you have any changes or improvements you'd like to contribute for review and merge, to update misinformation or outdated information, as well as maybe even adding whole new pages, you can follow the general outline below to get a local copy of the documentation running.

Instructions written for macOS hosts but is adoptable to other OS's.

  1. Install/Update brew

  2. Install/Update ruby

    • Once brew is installed, you can run brew install ruby in your terminal.
    • If using ZSH (any recent versions of macOS) Be sure to read the post install text as it suggest you should run the following command to export to PATH:
      • echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.zshrc
      • Restart Terminal for changes to apply.
  3. Install/Update gem and bundler

    • Run gem update in your terminal window.
    • Run gem install bundler in your terminal window.
  4. Fork DarwinKVM, git clone your fork, navigate to Docs directory.

  5. Installing Docs dependencies, and running the server.

    • Run bundle install in your terminal window.
    • Running bundle exec jekyll serve --incremental will build and run a live copy of the DarwinKVM docs on port 4000 by default.
    • To change the port, you can specify the IP address and port to run on, allowing local mobile devices to also connect and preview DKVM Docs.
      • bundle exec jekyll serve --host YOUR_IP_ADDRESS --port PORT --incremental

You'll now be able to see the changes you make update live so you can work quickly and preview the final look of your Markdown files easily. Once you are done making your changes you can then proceed to submit a Pull Request for review, and eventual merge to Main.

A big thanks to all contributors and future contributors! ꩓

darwinkvm's People

Contributors

cocorico8 avatar extremext avatar nijeff27 avatar royalgraphx avatar zormeister avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

darwinkvm's Issues

Misc->Debug->Target values

In 05-Misc.md Debug section table of valid values for Target could be provided so user can figure out if they want log spam in EFI root or not.

Can you help, dual GPU, ADM RX6600 passthrough, panic only with macOS guest

I setup, by my self, GPU pass-through, from Ubuntu 22.04 host to KVM guests.
Both Windows and Ubuntu guests run fine with the AMD RX6600.
Spec:
i5-12400 UHD730
RX6600 Challenger D
B760M-K-D4
KingSton NVMe
Dual GPU passthrough, host is using UHD 730, guest is using RX6600
image
But macOS guest not work with RX6600.
1st it work if enabke QXL graphic and display Spice as VESA only
image

Then I use kholia boot-passthrough.sh
The Monterey 12.7 installer run fine
image

image

But the pre-installed Monterey disk panic

panic(cpu 1 caller 0xffffff7f99b0c9ff): "[0:2:0][PPLIB] Failed to send PPLIB IRI to Accelerator. TTL Error Message: {11927549262:[0:2:2] Error SW_IP_CLIENT_ID__BGM: event_id=0xc00c020b event_info:type=3 hw_id=0 event_specific_tag=0x0 pData=0 data_size=0 }.
" com.apple.AmdRadeonController.cpp:1998
Panicked task 0xffffff90130929f0: 9 threads: pid 146: WindowServer
Backtrace (CPU 1), panicked thread: 0xffffff8b46597aa0, Frame : Return Address
0xfffffff21fd8b610 : 0xffffff800a879a3d 
0xfffffff21fd8b660 : 0xffffff800a9dca26 
0xfffffff21fd8b6a0 : 0xffffff800a9cbd93 
0xfffffff21fd8b6f0 : 0xffffff800a819a90 
0xfffffff21fd8b710 : 0xffffff800a879e0d 
0xfffffff21fd8b830 : 0xffffff800a8795c6 
0xfffffff21fd8b890 : 0xffffff800b114b53 
0xfffffff21fd8b980 : 0xffffff7f99b0c9ff 
0xfffffff21fd8ba90 : 0xffffff7f99acf65d 
0xfffffff21fd8bad0 : 0xffffff7f99b0b8a6 
0xfffffff21fd8bb20 : 0xffffff7f99ad3db0 
0xfffffff21fd8bb80 : 0xffffff7fa3952cc1 
0xfffffff21fd8bc10 : 0xffffff7f99ad3d3c 
0xfffffff21fd8bc30 : 0xffffff7fa3948f0e 
0xfffffff21fd8bcc0 : 0xffffff800b01216c 
0xfffffff21fd8bd20 : 0xffffff800b081a9b 
0xfffffff21fd8bd80 : 0xffffff800a982137 
0xfffffff21fd8bdd0 : 0xffffff800a8544cb 
0xfffffff21fd8be60 : 0xffffff800a86ae49 
0xfffffff21fd8bef0 : 0xffffff800a9aea5a 
0xfffffff21fd8bfa0 : 0xffffff800a81a276 
      Kernel Extensions in backtrace:
         com.apple.iokit.IOGraphicsFamily(597.0)[BC7E6C9D-619B-3621-B14C-3D0CB73B8D36]com.apple.0xffffff7fa3938000-com.apple.driver.0xffffff7fa3966fff
            dependency: com.apple.iokit.IOPCIFamily(2.9)[FD7FAA45-853D-37E5-A0D9-BC687149E789]com.apple.0xffffff800d437000-com.apple.driver.0xffffff800d463fff
         com.apple.kext.AMDRadeonX6000Framebuffer(4.0.8)[A4BE59F8-8617-3E07-A517-5B74420C8CFC]com.apple.0xffffff7f99abf000-com.apple.driver.0xffffff7f99d45fff
            dependency: com.apple.AppleGraphicsDeviceControl(6.5.7)[9D5EA6A0-EE2D-395B-A063-040771A4D51F]com.apple.0xffffff7fa2128000-com.apple.driver.0xffffff7fa212bfff
            dependency: com.apple.iokit.IOACPIFamily(1.4)[66E89C84-806E-3EF0-8250-3762901F0FBC]com.apple.0xffffff800cf8e000-com.apple.driver.0xffffff800cf8ffff
            dependency: com.apple.iokit.IOGraphicsFamily(597)[BC7E6C9D-619B-3621-B14C-3D0CB73B8D36]com.apple.0xffffff7fa3938000-com.apple.driver.0xffffff7fa3966fff
            dependency: com.apple.iokit.IOPCIFamily(2.9)[FD7FAA45-853D-37E5-A0D9-BC687149E789]com.apple.0xffffff800d437000-com.apple.driver.0xffffff800d463fff

Process name corresponding to current thread (0xffffff8b46597aa0): WindowServer
Boot args: -wegnoigpu -v -keepsyms=1 -no_compat_check agdpmod=pikera amfi_get_out_of_my_way=1 tlbto_us=0 vti=9 dk.e1000=0 e1000=0 npci=0x2000 alcid=66 

Mac OS version:
21H1015

Kernel version:
Darwin Kernel Version 21.6.0: Sun Dec 17 22:55:27 PST 2023; root:xnu-8020.240.18.706.2~1/RELEASE_X86_64
Kernel UUID: 538F8625-C517-37E1-9122-E63C7D6C446E
KernelCache slide: 0x000000000a600000
KernelCache base:  0xffffff800a800000
Kernel slide:      0x000000000a610000
Kernel text base:  0xffffff800a810000
__HIB  text base: 0xffffff800a700000
System model name: MacPro7,1 (Mac-27AD2F918AE68F61)
System shutdown begun: NO
Panic diags file available: YES (0x0)
Hibernation exit count: 0

System uptime in nanoseconds: 13453545483
Last Sleep:           absolute           base_tsc          base_nano
  Uptime  : 0x0000000321e4d1ba
  Sleep   : 0x0000000000000000 0x0000000000000000 0x0000000000000000
  Wake    : 0x0000000000000000 0x0000006732c5431e 0x0000000000000000
Compressor Info: 0% of compressed pages limit (OK) and 0% of segments limit (OK) with 0 swapfiles and OK swap space
Zone info:
  Zone map: 0xffffff80127f1000 - 0xffffffa0127f1000
  . PGZ   : 0xffffff80127f1000 - 0xffffff8012df2000
  . VM    : 0xffffff8012df2000 - 0xffffff84df9d8000
  . RO    : 0xffffff84df9d8000 - 0xffffff8679324000
  . GEN0  : 0xffffff8679324000 - 0xffffff8b45f0a000
  . GEN1  : 0xffffff8b45f0a000 - 0xffffff9012af0000
  . GEN2  : 0xffffff9012af0000 - 0xffffff94df6d6000
  . GEN3  : 0xffffff94df6d6000 - 0xffffff99ac2bd000
  . DATA  : 0xffffff99ac2bd000 - 0xffffffa0127f1000
  Metadata: 0xffffffac378cc000 - 0xffffffac578cc000
  Bitmaps : 0xffffffac578cc000 - 0xffffffac58acc000

last started kext at 12209664513: com.apple.filesystems.autofs	3.0 (addr 0xffffff7fa3c78000, size 32768)
loaded kexts:
as.vit9696.AppleALC	1.7.6
as.vit9696.WhateverGreen	1.6.2
as.vit9696.Lilu	1.6.3
com.apple.filesystems.autofs	3.0
com.apple.driver.ApplePlatformEnabler	2.7.0d0
com.apple.driver.AGPM	129
com.apple.driver.X86PlatformShim	1.0.0
com.apple.driver.AppleUpstreamUserClient	3.6.9
com.apple.driver.AppleMCCSControl	1.16
com.apple.kext.AMDRadeonX6000	4.0.8
com.apple.kext.AMDRadeonServiceManager	4.0.8
com.apple.driver.AppleGraphicsDevicePolicy	6.5.7
com.apple.driver.AppleWWANSupport1	4.0.0
com.apple.AGDCPluginDisplayMetrics	6.5.7
com.apple.driver.pmtelemetry	1
com.apple.iokit.IOUserEthernet	1.0.1
com.apple.driver.usb.AppleUSBUserHCI	1
com.apple.driver.ACPI_SMC_PlatformPlugin	1.0.0
com.apple.driver.AppleFIVRDriver	4.1.0
com.apple.driver.Apple16X50ACPI	3.2
com.apple.driver.AppleGFXHDA	140.3
com.apple.driver.AppleIntelMCEReporter	115
com.apple.driver.AppleHV	1
com.apple.driver.AppleDiskImages2	126.141.2
com.apple.driver.AppleIntelSlowAdaptiveClocking	4.0.0
com.apple.iokit.SCSITaskUserClient	456.140.3
com.apple.driver.AppleWWANSupport	4.0.0
com.apple.driver.AppleAHCIPort	351.100.4
com.apple.driver.AppleVmxnet3Ethernet	1.0.10
com.apple.driver.AppleFileSystemDriver	3.0.1
com.apple.filesystems.tmpfs	1
com.apple.filesystems.lifs	1
com.apple.filesystems.apfs	1934.141.2
com.apple.filesystems.hfs.kext	583.100.10
com.apple.BootCache	40
com.apple.AppleFSCompression.AppleFSCompressionTypeZlib	1.0.0
com.apple.AppleFSCompression.AppleFSCompressionTypeDataless	1.0.0d1
com.apple.private.KextAudit	1.0
com.apple.driver.AppleHPET	1.8
com.apple.driver.AppleACPIButtons	6.1
com.apple.driver.AppleRTC	2.0.1
com.apple.driver.AppleSMBIOS	2.1
com.apple.driver.AppleAPIC	1.7
com.apple.AppleSystemPolicy	2.0.0
com.apple.nke.applicationfirewall	402
com.apple.iokit.IOKitRegistryCompatibility	1
com.apple.iokit.EndpointSecurity	1
com.apple.Dont_Steal_Mac_OS_X	7.0.0
com.apple.kec.AppleEncryptedArchive	1
com.apple.kext.triggers	1.0
com.apple.driver.AppleSMBusController	1.0.18d1
com.apple.iokit.IOSMBusFamily	1.1
com.apple.iokit.IOAcceleratorFamily2	462.9
com.apple.kext.AMDRadeonX6810HWLibs	1.0
com.apple.kext.AMDRadeonX6000HWServices	4.0.8
com.apple.driver.AppleGraphicsControl	6.5.7
com.apple.driver.AppleUSBAudio	416.2
com.apple.driver.AppleAudioClockLibs	140.1
com.apple.driver.AppleSMBusPCI	1.0.14d1
com.apple.iokit.IOBluetoothSerialManager	9.0.0
com.apple.iokit.IOBluetoothPacketLogger	9.0.0
com.apple.iokit.IOBluetoothHostControllerUSBTransport	9.0.0
com.apple.iokit.IOBluetoothHostControllerUARTTransport	9.0.0
com.apple.iokit.IOBluetoothHostControllerTransport	9.0.0
com.apple.driver.IOBluetoothHostControllerPCIeTransport	9.0.0
com.apple.kext.AMDRadeonX6000Framebuffer	4.0.8
com.apple.kext.AMDSupport	4.0.8
com.apple.driver.IOPlatformPluginLegacy	1.0.0
com.apple.driver.X86PlatformPlugin	1.0.0
com.apple.driver.IOPlatformPluginFamily	6.0.0d8
com.apple.driver.Apple16X50Serial	3.2
com.apple.iokit.IOSerialFamily	11
com.apple.driver.AppleHDAController	340.2
com.apple.iokit.IOHDAFamily	340.2
com.apple.iokit.IONDRVSupport	597
com.apple.iokit.IOAudioFamily	340.2
com.apple.vecLib.kext	1.2.0
com.apple.iokit.CSRBluetoothHostControllerUSBTransport	9.0.0
com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport	9.0.0
com.apple.iokit.BroadcomBluetooth20703USBTransport	9.0.0
com.apple.driver.AppleIPAppender	1.0
com.apple.iokit.IOSkywalkFamily	1.0
com.apple.driver.mDNSOffloadUserClient	1.0.1b8
com.apple.AppleGPUWrangler	6.5.7
com.apple.AppleGraphicsDeviceControl	6.5.7
com.apple.iokit.IOGraphicsFamily	597
com.apple.iokit.IOSlowAdaptiveClockingFamily	1.0.0
com.apple.iokit.IOAHCIBlockStorage	333.140.2
com.apple.driver.AppleXsanScheme	3
com.apple.driver.usb.IOUSBHostHIDDevice	1.2
com.apple.driver.usb.cdc	5.0.0
com.apple.driver.usb.networking	5.0.0
com.apple.driver.usb.AppleUSBHostCompositeDevice	1.2
com.apple.driver.usb.AppleUSBEHCIPCI	1.2
com.apple.driver.usb.AppleUSBUHCIPCI	1.2
com.apple.driver.usb.AppleUSBUHCI	1.2
com.apple.driver.usb.AppleUSBEHCI	1.2
com.apple.iokit.IOAHCIFamily	297
com.apple.driver.usb.AppleUSBXHCIPCI	1.2
com.apple.driver.usb.AppleUSBXHCI	1.2
com.apple.driver.AppleBSDKextStarter	3
com.apple.iokit.IOSurface	302.15
com.apple.filesystems.hfs.encodings.kext	1
com.apple.driver.usb.AppleUSBHostPacketFilter	1.0
com.apple.iokit.IOUSBFamily	900.4.2
com.apple.iokit.IOHIDFamily	2.0.0
com.apple.driver.AppleEFINVRAM	2.1
com.apple.driver.AppleEFIRuntime	2.1
com.apple.iokit.IOTimeSyncFamily	1040.3
com.apple.iokit.IONetworkingFamily	3.4
com.apple.driver.DiskImages	493.0.0
com.apple.iokit.IOBluetoothFamily	9.0.0
com.apple.iokit.IOReportFamily	47
com.apple.security.quarantine	4
com.apple.security.sandbox	300.0
com.apple.kext.AppleMatch	1.0.0d1
com.apple.iokit.CoreAnalyticsFamily	1
com.apple.driver.AppleSSE	1.0
com.apple.driver.AppleKeyStore	2
com.apple.driver.AppleUSBTDM	533.120.2
com.apple.iokit.IOUSBMassStorageDriver	210.120.3
com.apple.iokit.IOSCSIBlockCommandsDevice	456.140.3
com.apple.iokit.IOStorageFamily	2.1
com.apple.iokit.IOSCSIArchitectureModelFamily	456.140.3
com.apple.driver.AppleMobileFileIntegrity	1.0.5
com.apple.security.AppleImage4	4.2.0
com.apple.kext.CoreTrust	1
com.apple.driver.AppleFDEKeyStore	28.30
com.apple.driver.AppleEffaceableStorage	1.0
com.apple.driver.AppleCredentialManager	1.0
com.apple.driver.KernelRelayHost	1
com.apple.iokit.IOUSBHostFamily	1.2
com.apple.driver.AppleUSBHostMergeProperties	1.2
com.apple.driver.usb.AppleUSBCommon	1.0
com.apple.driver.AppleBusPowerController	1.0
com.apple.driver.AppleSEPManager	1.0.1
com.apple.driver.IOSlaveProcessor	1
com.apple.driver.AppleACPIPlatform	6.1
com.apple.driver.AppleSMC	3.1.9
com.apple.iokit.IOPCIFamily	2.9
com.apple.iokit.IOACPIFamily	1.4
com.apple.driver.watchdog	1
com.apple.kec.pthread	1
com.apple.kec.Libm	1
com.apple.kec.corecrypto	12.0
It can run fine with QXL dispay and graphic

The PC run Hackintosh Sonoma bare metal ok
image
Even full metal qe/ci in Fusion
image

Can you please help
https://github.com/sonvirgo/KVM-QEMU-macOS-Monterey

Evdev

Could make a section in 03-VManUpdate.md for those who are unable to passthrough usb controller to vm to at least get keyboard and mouse working via evdev.

Link images to direct URL to make them expandable.

Currently, some of the images are difficult to read or look at, because they are not able to be expanded. To mitigate this issue, we can simply link each image to their direct link on Github Raw View. An example is as follows:

<p align="center">
  <img src="../../showcase/Helio1421.png">
</p>
<a href="https://raw.githubusercontent.com/royalgraphx/DarwinKVM/main/docs/showcase/Helio1421.png"><img src="../../showcase/Helio1421.png" alt=""></a>

Issue mainly comes down to not enough free time to do this to all pages, and all images that are not headers.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.