CaseySJ
Moderator
- Joined
- Nov 11, 2018
- Messages
- 22,183
- Motherboard
- Asus ProArt Z690-Creator
- CPU
- i7-12700K
- Graphics
- RX 6800 XT
- Mac
- Classic Mac
- Mobile Phone
Hello @Vorshim92,Hi dear @CaseySJ . Can I ask you info about this boot arg? vsmcgen=1
My understanding of this is limited, but I'll explain anyway:
- vsmc refers to VirtualSMC, which is an SMC emulator (System Management Controller) that macOS kernel can communicate with. Real Macs have SMC controllers, but our Intel and AMD motherboards do not!
vsmcgen
is an optional parameter for VirtualSMC.- On our Intel and AMD motherboards, however, we have something called Embedded Controller or EC. This is a chip that handles the same functions as SMC on a real Mac.
- The most common EC chips are made by ITE Tech. For example, the IT8987.
- Nuvoton also makes EC chips. For example, the NCT6683D.
- VirtualSMC has to make these EC chips look like SMC chips.
- For each type of EC chip, VirtualSMC needs to have internal code to recognize that chip and make it look like an SMC chip.
- But if we have a motherboard with an unsupported EC chip, what should VirtualSMC do?
- We can wait until next version of VirtualSMC is released and hope that support has been added.
- Or we can use vsmcgen=1 or vsmcgen=2 to simulate a Gen-1 or Gen-2 SMC model.
- So we use
vsmcgen
temporarily for an unsupported EC chip. But once that chip is supported by VirtualSMC, we can and should delete this parameter.
- Responding to presses of the power button
- Responding to the display lid opening and closing on Mac notebooks
- Battery management
- Thermal management
- SMS (Sudden Motion Sensor)
- Ambient light sensing
- Keyboard backlighting
- Status indicator light (SIL) management
- Battery status indicator lights
- Selecting an external (instead of internal) video source for some iMac displays
Last edited: