VirtualSMC
by AcidantheraAdvanced SMC emulator and sensor suite for Hackintosh - Lilu plugin for SMC emulation
VirtualSMC
This kext requires Lilu to be installed and loaded first.
VirtualSMC is an advanced SMC (System Management Controller) emulator for Hackintosh. Itโs a Lilu plugin that provides SMC key emulation and a suite of sensor kexts for monitoring hardware temperatures, fans, and battery status.
Overview
VirtualSMC replaces the older FakeSMC kext with a more modern, actively maintained solution. It emulates the Apple SMC chip that macOS expects to find, and provides additional sensor plugins for hardware monitoring.
Features
- SMC Emulation: Emulates the Apple SMC chip for macOS compatibility
- Sensor Suite: Includes plugins for CPU, GPU, battery, and fan monitoring
- Lilu Plugin: Built on the Lilu framework for reliable patching
- Actively Maintained: Regular updates for new macOS versions
- Secure: Designed with security best practices in mind
Installation
Prerequisites
- Lilu 1.6.0 or later (must be loaded before VirtualSMC)
- OpenCore bootloader (0.7.0 or later)
- macOS 10.11 or later
Steps
- Download the latest release from GitHub
- Extract the downloaded ZIP file
- Copy the following kexts to your EFI partition:
EFI/OC/Kexts/VirtualSMC.kext(required)SMCBatteryManager.kext(optional - for battery status on laptops)SMCProcessor.kext(optional - for CPU temperature monitoring)SMCSuperIO.kext(optional - for fan monitoring)SMCLightSensor.kext(optional - for ambient light sensor)SMCDellSensors.kext(optional - for Dell-specific sensors)
- Add the kexts to your
config.plistunderKernel > Add - Ensure Lilu is loaded before VirtualSMC
- Reboot your system
config.plist Entry (VirtualSMC.kext)
<dict>
<key>BundlePath</key>
<string>VirtualSMC.kext</string>
<key>Comment</key>
<string>SMC emulator</string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/VirtualSMC</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
Sensor Plugins
SMCProcessor
Provides CPU temperature and frequency monitoring. Required for apps like iStat Menus to show CPU temps.
SMCBatteryManager
Enables battery status reporting on laptops. Required for the battery icon in the menu bar.
SMCSuperIO
Provides fan speed monitoring and control. Required for fan RPM readings in monitoring apps.
SMCLightSensor
Enables ambient light sensor support for automatic brightness adjustment on supported hardware.
Troubleshooting
System wonโt boot after adding VirtualSMC
- Ensure Lilu is loaded before VirtualSMC
- If switching from FakeSMC, remove all FakeSMC kexts first
- Try booting with
-smcoffboot argument to disable VirtualSMC
Battery status not working
- Ensure SMCBatteryManager.kext is installed and enabled
- Check that your laptopโs battery is properly recognized by ACPI
- Some laptops may need additional ACPI patches
Fan monitoring not working
- Ensure SMCSuperIO.kext is installed and enabled
- Not all fan controllers are supported
- Check that your motherboardโs SuperIO chip is supported
FAQ
VirtualSMC vs FakeSMC - which should I use?
VirtualSMC is recommended for all modern Hackintosh builds. Itโs actively maintained, has better security, and provides more features. FakeSMC is legacy and no longer actively developed.
Do I need all the sensor plugins?
No, only VirtualSMC.kext is required. The sensor plugins are optional and depend on your hardware. Install them if you want hardware monitoring capabilities.
Can I use VirtualSMC with Clover?
While VirtualSMC can technically work with Clover, itโs recommended to use OpenCore for the best compatibility and support.
Companion Apps
HWMonitorSMC2
HWMonitorSMC2 is a hardware monitoring application for macOS that works with VirtualSMC sensor plugins. It displays CPU temperatures, fan speeds, battery status, and more in the menu bar.
Related Kexts
- Lilu - Required dependency
- WhateverGreen - GPU support
- AppleALC - Audio support