{"id":13562062,"url":"https://github.com/acidanthera/MacHyperVSupport","last_synced_at":"2025-04-03T18:32:11.311Z","repository":{"id":37302855,"uuid":"370101450","full_name":"acidanthera/MacHyperVSupport","owner":"acidanthera","description":"Hyper-V integration support for macOS","archived":false,"fork":false,"pushed_at":"2025-03-07T02:04:43.000Z","size":503,"stargazers_count":671,"open_issues_count":1,"forks_count":50,"subscribers_count":41,"default_branch":"master","last_synced_at":"2025-03-31T08:01:46.529Z","etag":null,"topics":["hyperv"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/acidanthera.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-23T16:25:01.000Z","updated_at":"2025-03-28T00:03:36.000Z","dependencies_parsed_at":"2023-02-01T00:01:45.758Z","dependency_job_id":"321abfb4-1979-485e-b185-36b9d574d298","html_url":"https://github.com/acidanthera/MacHyperVSupport","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acidanthera%2FMacHyperVSupport","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acidanthera%2FMacHyperVSupport/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acidanthera%2FMacHyperVSupport/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acidanthera%2FMacHyperVSupport/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/acidanthera","download_url":"https://codeload.github.com/acidanthera/MacHyperVSupport/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247056772,"owners_count":20876457,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hyperv"],"created_at":"2024-08-01T13:01:04.123Z","updated_at":"2025-04-03T18:32:11.280Z","avatar_url":"https://github.com/acidanthera.png","language":"C++","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"MacHyperVSupport\n================\n\n[![Build Status](https://github.com/acidanthera/MacHyperVSupport/actions/workflows/main.yml/badge.svg?branch=master)](https://github.com/acidanthera/MacHyperVSupport/actions) [![Scan Status](https://scan.coverity.com/projects/23212/badge.svg?flat=1)](https://scan.coverity.com/projects/23212)\n\nHyper-V integration services for macOS running on Windows Server 2008 R2 or higher (generation 1) or Windows 8.1 / Windows Server 2012 R2 or higher (generation 2). Windows Server 2016 is currently unsupported when using a generation 2 VM.\n\nAll Intel macOS versions are supported.\n\n### Supported Hyper-V devices and services\n- Heartbeat\n- Guest shutdown (with daemon)\n- Time synchronization (with daemon)\n- Host to guest file copy (with daemon)\n- PCI passthrough (partial support)\n- PS/2 keyboard (applies to generation 1 VMs only)\n- Synthetic graphics (full support requires HyperVFramebuffer.kext to be loaded or installed)\n- Synthetic keyboard\n- Synthetic mouse\n- Synthetic network controller\n- Synthetic IDE controller (applies to generation 1 VMs only, currently only virtual hard disks)\n- Synthetic SCSI controller\n\n### Binaries\n- MacHyperVSupport.kext: Core Hyper-V support kext for macOS 10.4 to 11.0.\n- MacHyperVSupportMonterey.kext: Core Hyper-V support kext for macOS 12.0 and newer.\n- MacHyperVFramebuffer.kext: Basic framebuffer support kext for all macOS versions. This extension must be installed and kext signing disabled in SIP on macOS 11.0 and newer due to macOS requirements.\n- hvfilecopyd: File copy userspace daemon.\n- hvshutdownd: Shutdown userspace daemon.\n- hvtimesyncd: Time synchronization userspace daemon.\n\n### OpenCore configuration\n#### ACPI\n- [SSDT-HV-VMBUS](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/Source/SSDT-HV-VMBUS.dsl): Enables correct Startup Disk operation, ensure patches described within are also configured.\n- [SSDT-HV-DEV](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/Source/SSDT-HV-DEV.dsl): Required on Windows Server 2019 / Windows 10 and newer, provides proper processor objects and disables incompatible virtual devices under macOS.\n- [SSDT-HV-PLUG](https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/AcpiSamples/Source/SSDT-HV-PLUG.dsl): Ensures VMPlatformPlugin loads on Big Sur and above, avoids freezes with the default PlatformPlugin.\n* Ensure all SSDTs are added in the order above. Legacy iasl will need to be used when using older versions of macOS prior to 10.7.\n* Ensure all patches described in above SSDTs are present in `ACPI-\u003ePatch`.\n\n#### Booter quirks\n- `AllowRelocationBlock` - required for macOS 10.7 and older\n- `AvoidRuntimeDefrag` - required\n- `ClearTaskSwitchBit` - required for macOS 10.7 and older\n- `ForceExitBootServices` - required for macOS 10.7 and older\n- `ProvideCustomSlide` - required\n- `RebuildAppleMemoryMap` - required for macOS 10.6 and older\n\n#### Kernel\n- Quirks\n  - `ProvideCurrentCpuInfo` - required for proper TSC/FSB values and CPU topology values.\n- The following additional kernel extensions are required:\n  - [Lilu](https://github.com/acidanthera/Lilu) - patching and library functions\n  - [VirtualSMC](https://github.com/acidanthera/VirtualSMC) - SMC emulator\n- Force\n  - On older versions of macOS, the following kernel extensions may need to be Force injected. Refer to the OpenCore Configuration manual for details.\n  - IONetworkingFamily (`com.apple.iokit.IONetworkingFamily`)\n  - IOSCSIParallelFamily (`com.apple.iokit.IOSCSIParallelFamily`)\n  - If injecting MacHyperVFramebuffer on supported versions, IOGraphicsFamily (`com.apple.iokit.IOGraphicsFamily`) must also be injected with `Force`\n- Patch\n  - Disable _hpet_init\n    - Arch = `i386`\n    - Base = `_hpet_init`\n    - Comment = `Disables _hpet_init due to no HPET hardware present`\n    - Count = `1`\n    - Identifier = `kernel`\n    - MaxKernel = `9.5.99`\n    - Replace = `C3`\n  - Disable IOHIDDeviceShim::newTransportString()\n    - Arch = `i386`\n    - Base = `__ZNK15IOHIDDeviceShim18newTransportStringEv`\n    - Comment = `Fix crash in IOHIDDeviceShim::newTransportString() caused by NULL _deviceType`\n    - Count = `1`\n    - Identifier = `com.apple.iokit.IOHIDFamily`\n    - MaxKernel = `9.6.99`\n    - MinKernel = `9.4.0`\n    - Replace = `31C0C3`\n  - Disable scaling factor for X/Y mouse movement\n    - Arch = `i386`\n    - Base = `__ZN16IOHIDEventDriver21handleInterruptReportE12UnsignedWideP18IOMemoryDescriptor15IOHIDReportTypem`\n    - Comment = `Workaround for absence of AbsoluteAxisBoundsRemovalPercentage in 10.4`\n    - Identifier = `com.apple.iokit.IOHIDFamily`\n    - Find = `BA1F85EB51`\n    - MaxKernel = `8.11.99`\n    - MinKernel = `8.0.0`\n    - Replace = `BA00000000`\n- Emulate\n  - DummyPowerManagement and CPU spoofing may be required depending on the host CPU for older versions of macOS.\n\n#### UEFI\n- Quirks\n  - `DisableSecurityPolicy` - required on Windows Server 2019 / Windows 10 and newer\n\n### Installer image creation\n- Installer images can either be passed in from USB hard disks, or converted from a DMG to a VHD/VHDX image using `qemu-img`:\n  - DMGs need to be in a read/write format first.\n  - VHD: `qemu-img convert -f raw -O vpc Installer.dmg Installer.vhd`\n  - VHDX: `qemu-img convert -f raw -O vhdx Installer.dmg Installer.vhdx`\n\n### Boot arguments\nSee the [module list](Docs/modules.md) for boot arguments for each module.\n\n### Credits\n- [Apple](https://www.apple.com) for macOS\n- [Goldfish64](https://github.com/Goldfish64) for this software\n- [vit9696](https://github.com/vit9696) for [Lilu.kext](https://github.com/acidanthera/Lilu) and providing assistance\n- [flagers](https://github.com/flagersgit) for file copy implementation and providing assistance\n- [Microsoft Hypervisor Top-Level Functional Specification](https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/tlfs)\n- [Linux](https://github.com/torvalds/linux/tree/master/drivers/hv) and [FreeBSD](https://github.com/freebsd/freebsd-src/tree/main/sys/dev/hyperv) Hyper-V integration services\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facidanthera%2FMacHyperVSupport","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Facidanthera%2FMacHyperVSupport","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facidanthera%2FMacHyperVSupport/lists"}