Skip to content

Add better Linux support#616

Open
b23prodtm wants to merge 8 commits intolzhoang2801:mainfrom
b23prodtm:fix/validator
Open

Add better Linux support#616
b23prodtm wants to merge 8 commits intolzhoang2801:mainfrom
b23prodtm:fix/validator

Conversation

@b23prodtm
Copy link
Copy Markdown

Add better Linux support

Three fixes for running OpCore Simplify on Linux without workarounds.

Changes

OpCore-Simplify.py — Auto-update now off by default, opt in via OCS_CHECK_UPDATES=1.
Scripts/report_validator.py — Relaxed two regex patterns that were rejecting valid Linux-generated hardware reports:

HDMI-A connector type (correct EDID/DRM naming, reported by hwinfo)
ACPI paths outside _SB scope (TZ, _GPE, bare root refs like \GSA1)
Scripts/datasets/kext_data.py + Scripts/kext_maestro.py — Replaced USBToolBox/UTBDefault with USBInjectAll. USBToolBox requires a Windows/macOS companion app to generate UTBMap.kext, which is unavailable on Linux. USBInjectAll is self-contained, no mapping step required. Capped at Darwin 20.x — users targeting Monterey+ are prompted to map USB manually post-install.

Notes

OCS_CHECK_UPDATES defaults to 0, set to 1 to restore previous behaviour
ACPI regex change is additive, no previously valid paths affected
Tested on openSUSE Tumbleweed

@lzhoang2801
Copy link
Copy Markdown
Owner

Reset HEAD~2

b23prodtm and others added 5 commits April 6, 2026 11:25
- setup-macos-vm-xen.sh : Xen HVM config (xl/libxl) with OVMF UEFI,
  OpenCore ESP image, macOS Recovery download via macrecovery.py
- setup-macos-vm.sh     : QEMU/KVM variant with SDL display
- Both scripts:
  * Clone b23prodtm/OpCore-Simplify@fix/validator
  * --skip-ocs / --skip-recovery / --dryrun flags
  * run() wrapper for dry-run mode (no destructive ops)
  * Root-only enforcement
  * 3-level EFI path resolution (cache → find → manual)
- .github/workflows/test-dryrun.yml:
  * ShellCheck lint job
  * Dry-run CI jobs for both Xen and KVM variants
  * Mock /proc/xen, xl, /dev/kvm, OVMF for headless testing
Alternate repository already exists in b23prodtm/macos-vm-in-linux
Detect Xen/QEMU/VMware/KVM from Motherboard name, BIOS version
or System Type in hardware_report. When running inside a VM,
override generated config.plist with:

- Misc.Boot.PickerMode         = Builtin
  (OpenCanopy requires Resources/ folder, absent in VM → black screen)
- Misc.Security.SecureBootModel = Disabled
  (no T2 chip in VM → kernel panic with Default)
- Misc.Security.DmgLoading     = Any
  (Recovery DMG may not be Apple-signed via macrecovery.py)
- Kernel.Quirks.LapicKernelPanic       = true
  (unmasked LAPIC interrupts under Xen/QEMU)
- Kernel.Quirks.ProvideCurrentCpuInfo  = true
  (TSC reads 0 Hz in Xen, OC provides correct info)
- Booter.Quirks.RebuildAppleMemoryMap  = true
  (GetMemoryMap pointer trashed in some hypervisors)
- UEFI.Drivers[OpenCanopy.efi].Enabled = false
- UEFI.Output.TextRenderer     = SystemGeneric
- UEFI.Output.Resolution       = 1024x768
- UEFI.Output.DirectGopRendering = true
- UEFI.Quirks.TscSyncTimeout   = 1000
- Misc.Debug.AppleDebug/ApplePanic/DisableWatchDog = true
OC 0.9.7+ auto-overrides SecureBootModel=Disabled with x86legacy
when a hypervisor is detected (log: 'Hypervisor SB model is x86legacy').
Add two fixes in VM overrides block:
- UEFI.Quirks.DisableSecurityPolicy = True
  Prevents OC from enforcing any SB policy regardless of model
- Misc.Security.ApECID = 0
  Disables per-machine SB personalization
- Kernel.Quirks.ForceSecureBootScheme = False
  Ensures no scheme is forced over our Disabled setting
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants