I have both brightness control and sleep working in Mojave on my 15" mbp with a broken gpu that won't even boot unless disabled, this is how I did it :
(If you want to try this method, just apply the post install patches again and start from #3.)
1 boot into single user mode and set nvram variable:
sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
2 install Mojave, then apply patches.
3 boot into single user mode again, type:
/sbin/mount -uw /
mkdir AMD
mv /System/library/Extensions/AMDRadeonX3000.kext AMD/
reboot
4 open terminal, type:
sudo mkdir -p /Library/LoginHook
sudo nano /Library/LoginHook/LX3000.sh
contents:
#!/bin/bash
kextload /AMD/AMDRadeonX3000.kext
exit 0
press ctrl + x to exit and y to save.
sudo chmod a+x /Library/LoginHook/LX3000.sh
sudo defaults write com.apple.loginwindow LoginHook /Library/LoginHook/LX3000.sh
5 set gpu for sleep to integrated:
sudo pmset -a gpuswitch 0
reboot
6 check that x3000 is loaded and gpu is set to integrated
sudo kextstat | grep AMD
pmset -g
7 optional, increase vram for hd3000 using Jacklukes method
here
You have to do #1 again each time the nvram is reset.