Skip to content

open source kernel extension providing a way to emulate some offsets in your CMOS (RTC) memory

License

Notifications You must be signed in to change notification settings

acidanthera/RTCMemoryFixup

Repository files navigation

RTCMemoryFixup

Build Status Scan Status

An open source kernel extension providing a way to emulate some offsets in CMOS (RTC) memory. It can help you to avoid some conflicts between macOS AppleRTC and firmware/BIOS of your PC.

It can also help you to find out at which offsets you have a conflict. In most cases it is enough to boot with some offsets in boot-args, perform sleep, wake and reboot. If you don't see any CMOS errors or some unexpected reboots, it means you have managed to exclude conflicted CMOS offsets.

Offsets in boot-args rtcfx_exclude can have value from 00 to FF (wihout prefix 0x). Be careful:

  • Offsets from 0 to 0D usually are more or less 'compatible' and should not cause any conflicts.
  • Offsets from 0x80 to 0xAB are used to store some hibernation information (IOHibernateRTCVariables). If any offset in this range causes a conflict, you can exclude it, but hibernation won't work.
  • In my case it was only the one offset: B2. B0 - B4 offsets are used for PowerManagement features, but they don't work on hacks anyway)

Compilation

  • This kext is not Lilu-plugin, but it still relies on some useful methods from Lilu libraries, so you have to put Lilu.kext into project folder.

Boot-args

  • rtcfx_exclude=offset1,offset2,start_offset-end_offset... - list of offsets or ranges of offsets where writing is not allowed
  • -rtcfxdbg turns on debugging output

Credits

About

open source kernel extension providing a way to emulate some offsets in your CMOS (RTC) memory

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages