- Joined
- Nov 27, 2012
- Messages
- 49
- Motherboard
- Razer Blade 15
- CPU
- i7 8750H
- Graphics
- UHD 630, 1070 GTX, 144hz 1080p display.
- Mac
- Mobile Phone
Ok, by changing (in SSDT-PNLF);
// add 4 bytes
Offset(0xc8254),
and hardcoding;
// max pwm
LEVW = 0x1D4C0
// somewhat lower pwm
LEVX = 0x0A000
You can clearly see that it is possible to change the brightness. And it loads up with w/o a black screen.
I guess LEVW can stay hardcoded to max pwm, but somehow we need to tie LEVX to whatever is at 0xAB0C8258.
I'm not much of an asm guru, so lulz. Something like
^LEVX = 0xAB0C8258 // this doesn't work btw.
This driver could be cleaned up a lot to serve just one purpose for the razer blade 15. (or any coffee lake uhd 630). Also, from what I see the maxpwm is tied directly to which panel is loaded up from applebacklightinjector, which seems strange. Basically, I would suggest splitting out two values, one for max pwm and one for the actual panel you want to use. I just default to Name(_UID, 0x10).
This probably overflows (bit shifts) also; ^LEVX & 0xFFFF since we are dealing with values > 0xFFFF.
A question I have is what decides to show the brightness controls on the display? The selected panel? Or the fact that LEVX is mapped to a memory address?
// add 4 bytes
Offset(0xc8254),
and hardcoding;
// max pwm
LEVW = 0x1D4C0
// somewhat lower pwm
LEVX = 0x0A000
You can clearly see that it is possible to change the brightness. And it loads up with w/o a black screen.
I guess LEVW can stay hardcoded to max pwm, but somehow we need to tie LEVX to whatever is at 0xAB0C8258.
I'm not much of an asm guru, so lulz. Something like
^LEVX = 0xAB0C8258 // this doesn't work btw.
This driver could be cleaned up a lot to serve just one purpose for the razer blade 15. (or any coffee lake uhd 630). Also, from what I see the maxpwm is tied directly to which panel is loaded up from applebacklightinjector, which seems strange. Basically, I would suggest splitting out two values, one for max pwm and one for the actual panel you want to use. I just default to Name(_UID, 0x10).
This probably overflows (bit shifts) also; ^LEVX & 0xFFFF since we are dealing with values > 0xFFFF.
A question I have is what decides to show the brightness controls on the display? The selected panel? Or the fact that LEVX is mapped to a memory address?
Last edited: