Skip to content

OcAppleKernelLib: Add ForceRealtekEthernet for macOS Tahoe - #659

Closed
laobamac wants to merge 1 commit into
acidanthera:masterfrom
laobamac:codex/force-realtek-ethernet
Closed

laobamac wants to merge 1 commit into
acidanthera:masterfrom
laobamac:codex/force-realtek-ethernet

Conversation

@laobamac

@laobamac laobamac commented Nov 8, 2026

Copy link
Copy Markdown
Contributor

Add the default-off Kernel -> Quirks -> ForceRealtekEthernet option to enable supported Realtek RTL8125, RTL8126, and RTL8127 controllers through the native AppleEthernetRL driver. This integrates the author's 15 manual kernel patches into OpenCore and adds matching configuration validation and documentation.

The quirk runs only on x86_64 macOS Tahoe kernel collections (Darwin 25.x). All Tahoe minor versions are eligible, provided the driver code and required dependency layouts match. It checks every patch location, match uniqueness, write bounds, overlap, and the shared packet-queue function layout before making any changes.

The native IOSkywalkFamily and the driver's other system dependencies must remain available. Both ocvalidate and the boot path reject conflicting Kernel -> Add, Force, Block, and Patch entries for IOSkywalkFamily or AppleEthernetRL, taking architecture and kernel ranges into account. Runtime checks also reject missing, duplicate, or injected target kexts and verify the required IOSkywalk member offsets and virtual table slots. These compatibility checks do not authenticate the complete installed driver.

The existing IOMapper configuration is preserved. AVB is disabled, and the receive path requires one DMA segment of at most 4096 bytes. Standard MTU 1500 is supported; MTU 9000 jumbo frames are unsupported.

Validation performed locally:

  • XCODE5 builds for X64 and IA32 in DEBUG, RELEASE, and NOOPT, with WERROR=1.
  • Native ocvalidate and ProcessKernel builds; official Uncrustify configuration, schema ordering, sample plist formatting, and documentation build/check.
  • 50 configuration cases and 27 compiled kernel-processing cases covering conflicts, disabled operation, missing and ambiguous patch matches, dependency/layout mismatches, and Darwin version boundaries. Version-boundary cases use fixtures; they are not separate macOS installations.
  • The patched kernel collection is byte-for-byte identical to applying the original plist patches to the same unpatched baseline (2298 changed bytes).
  • The author reports normal operation with the previously packaged implementation. The cleanup preserves its patch output; no broader hardware or stress-test coverage is claimed.

Linux/Windows build jobs and Coverity have not been run locally.

@laobamac laobamac closed this Nov 8, 2026
@laobamac
laobamac deleted the codex/force-realtek-ethernet branch November 8, 2026 06:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant