I was able to make the brightness control work in High Sierra 10.13.6 + GRUB.
You must use AppleMuxControl.kext from Sierra 10.12.1.
Sierra 10.12.1 -> AppleMuxControl.kext (
version 3.13)
High Sierra 10.13.6 -> AppleMuxControl.kext (
version 3.20)
The correct location for AppleMuxControl.kext is:
/System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleMuxControl.kext
I did not test with other Sierra AppleMuxControl.kext (10.12.2, 10.12.3, 10.12.4, 10.12.5 and 10.12.6).
There is a big difference in AppleMuxControl.kext from Sierra 10.12.0 and 10.12.1. In these two AppleMuxControl.kext there is no message: "
AGC: booted to IG, policy disabled!!".
IG = Integrated Graphics = Intel GPU
After the discovery of how to make the Intel GPU boot Macbook Pro 2011 by gpu-power-prefs, then Apple changed the AppleMuxControl.kext.
Apple is not content to be a billion dollar company decides to make life difficult for the Macbook Pro 2011 users only to force a new purchase Macbook.
1 - Download Sierra 10.12.1 update from Apple:
https://support.apple.com/kb/DL1897?viewlocale=en_US&locale=en_US
2 - Double click on macosupd10.12.1.dmg .
3 - After mount .DMG file, extract /System/Library/Extensions (macOSUpd10.12.1.pkg) with Pacifist to another directory. See pictures bellow.
This example -> extract kexts -> directory:
/Users/Shared/Kext-Sierra-10.12.1
Pacifist 3.6.1
https://www.charlessoft.com
4 - The Pacifist will ask if you want to keep kext's administrative privileges. Answer YES and enter your user name and password.
5 - To ensure that everything is correct, use the commands below to configure AppleMuxControl.kext with user: root and group: wheel and execution privilege.
Code:
sudo chmod -Rv 755 /Users/Shared/Kext-Sierra-10.12.1/Extensions/AppleGraphicsControl.kext
Code:
sudo chown -Rv root:wheel /Users/Shared/Kext-Sierra-10.12.1/Extensions/AppleGraphicsControl.kext
6 - Reboot Macbook Pro 2011.
7 - Boot Recovery Mode (press Command + R keys at boot).
8 - Menu Utilities -> Terminal
9 - Boot Single User Mode (press Command + S keys at boot).
10 - Verify filesystem
11 - Mount system partition with Read and Write permissions. Do not forget the final Slash "/".
12 - Create a backup directory for AppleMuxControl.kext (3.20) - High Sierra 10.13.6.
Code:
cd /
sudo mkdir -v Kext-HighSierra
13 - Move AppleMuxControl.kext (3.20) inside /
System/Library/Extensions/AppleGraphicsControl.kext/Contents/Plugins to
Kext-HighSierra directory.
Code:
sudo mv -v /System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleMuxControl.kext /Kext-HighSierra
14 - Copy AppleMuxControl.kext (3.13 - Sierra 10.12.1) to
/System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/
Code:
sudo cp -vR /Users/Shared/Kext-Sierra-10.12.1/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleMuxControl.kext /System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/
15 - Modify timestamp and create new kextcache. Do not forget the final Slash "/" kextcache command.
Code:
sudo touch /System/Library/Extensions
sudo kextcache -v 1 -i /
16 - Boot normal with High Sierra 10.13.6 with GRUB.
17 - Verify AppleMuxControl.kext (version 3.13.74) with kextstat command.
Code:
kextstat | grep -i Mux
com.apple.driver.AppleMuxControl (3.13.74)
18 - System Preferences -> Display -> see if brightness slider works
19 - Everything works? YES
20 - Boot Recovery Mode
21 - Menu Utilities -> Terminal
Enable SIP partially. AMDGPUWakeHandler.kext is not a digitally signed kext by Apple or an Apple developer.
Code:
csrutil enable --without kext
reboot
22 - Boot normal and verify SIP status.
Finder -> Applications -> Utilities -> Terminal
Code:
csrutil status
System Integrity Protection status: enabled (Custom Configuration).
Configuration:
Apple Internal: disabled
Kext Signing: disabled
Filesystem Protections: enabled
Debugging Restrictions: enabled
DTrace Restrictions: enabled
NVRAM Protections: enabled
BaseSystem Verification: enabled
Update 1:
With a new Update, the procedure must be repeated.
Update will put a new AppleMuxControl.kext.