Contribute
Register

[README] Common Problems and Workarounds on 10.14 Mojave

You could try it.

I tried and I'm not satisfied with the result, that's why I'm asking. The problem is that in both cases, either I set CSM in BIOS or I set 1024x768 in GUI section, my laptop's monitor switches to some kind of another mode while booting. That leads to a lower refresh rate and a lower color depth in macOS, so my eyes are getting tired fast. It still works with full QE/CI, but looks the same way like on the screenshots - all gradients and shadows are "steppy" and not smooth. Previously since Yosemite until Sierra the monitor didn't switch to another mode while booting, and everything worked fine, it was my perfect Hackintosh. Even now if I boot in UEFI mode and get the "garbled screen" it's not switching while booting and it's refresh rate and color depth are normal in macOS. Is any workaround possible for this? I attach the "problem reporting" files. Thank you.

PS now I use Lilu+Whatevergreen with properties in Device section. But previously with FakePCIID kexts, InjectIntel ig-platform-id = 0xa26006 and 9mb cursor patch it was absolutely the same problem. I just tried something alternative, but it brings no change.
 

Attachments

  • IMG_3325.JPG
    IMG_3325.JPG
    270.6 KB · Views: 470
  • IMG_3324.JPG
    IMG_3324.JPG
    220.1 KB · Views: 484
  • CLOVER 2.zip
    2.3 MB · Views: 99
  • IOreg 2.zip
    656.3 KB · Views: 84
  • terminal output.zip
    1.4 KB · Views: 81
I tried and I'm not satisfied with the result, that's why I'm asking. The problem is that in both cases, either I set CSM in BIOS or I set 1024x768 in GUI section, my laptop's monitor switches to some kind of another mode while booting. That leads to a lower refresh rate and a lower color depth in macOS, so my eyes are getting tired fast. It still works with full QE/CI, but looks the same way like on the screenshots - all gradients and shadows are "steppy" and not smooth. Previously since Yosemite until Sierra the monitor didn't switch to another mode while booting, and everything worked fine, it was my perfect Hackintosh. Even now if I boot in UEFI mode and get the "garbled screen" it's not switching while booting and it's refresh rate and color depth are normal in macOS. Is any workaround possible for this? I attach the "problem reporting" files. Thank you.

PS now I use Lilu+Whatevergreen with properties in Device section. But previously with FakePCIID kexts, InjectIntel ig-platform-id = 0xa26006 and 9mb cursor patch it was absolutely the same problem. I just tried something alternative, but it brings no change.

Have you experimented with the various RMCF.BKLT settings?
Read SSDT-RMCF.dsl and the SSDT-PNLF.dsl source.
 
Have you experimented with the various RMCF.BKLT settings?

You mean switching between Name(BKLT, 0) and Name(BKLT, 1)? Does it make sense if I'm using only AppleBacklightInjector.kext method as IntelBacklight.kext doesn't work for me starting from Sierra? I didn't even make SSDT patch for it, since I use AppleBacklightInjector.kext. Which settings exactly can affect color depth and refresh rate? It seems like everything there is about brightness only.
 
You mean switching between Name(BKLT, 0) and Name(BKLT, 1)? Does it make sense if I'm using only AppleBacklightInjector.kext method as IntelBacklight.kext doesn't work for me starting from Sierra? I didn't even make SSDT patch for it, since I use AppleBacklightInjector.kext. Which settings exactly can affect color depth and refresh rate? It seems like everything there is about brightness only.

There are more options in other bits other than bit0.
Read the documentation in SSDT-RMCF.dsl.
 
There are more options in other bits other than bit0.
Read the documentation in SSDT-RMCF.dsl.

Okay, I see that RMCF.GRAN set to 1 should do the thing, as it corresponds to 128-bit color depth. Right?
But I can't understand what do bit0, bit1 and bit2 mean, how the syntax should look like if I wish to add those values to RMCF.BKLT? I can't find any examples with bit1 and bit2 neither in your repo nor in Google. Is it something like Name(BKLT, 0x111)?

Also I see in Intel documentation the following:
1. Set frequency and duty cycle in SBLC_PWM_CTL2 Backlight Modulation Frequency and Backlight Duty Cycle.
But what parameter in SSDT-RMCF.dsl does correspond to this? Is it possible to raise frequency also? But at least it would be great to bring colors back to normal first.
 
Okay, I see that RMCF.GRAN set to 1 should do the thing, as it corresponds to 128-bit color depth. Right?

Nothing to do with 128-bit color depth. RMCF.GRAN option is related to actions taken in SSDT-PNLF.aml reqarding PWM backlight configuration.

But I can't understand what do bit0, bit1 and bit2 mean, how the syntax should look like if I wish to add those values to RMCF.BKLT?

bit 0 is 1<<0 (<< is shift left)
bit 1 is 1<<1
bit 2 is 1<<2

If you don't understand binary, you should read about it...
(bitwise/binary math is basic computer science stuff).

Is it something like Name(BKLT, 0x111)?

No. If you wanted to set only bit2 in RMCF.BKLT, you would write Name(BKLT, 4), or you could write Name(BKLT, 1<<2).

Also I see in Intel documentation the following:
1. Set frequency and duty cycle in SBLC_PWM_CTL2 Backlight Modulation Frequency and Backlight Duty Cycle.
But what parameter in SSDT-RMCF.dsl does correspond to this? Is it possible to raise frequency also? But at least it would be great to bring colors back to normal first.

You would need to get documentation that showed you the offsets.
You can see the offsets (relative to BAR1) assigned to each of the registers as named in SSDT-PNLF.dsl:
Code:
        OperationRegion(RMB1, SystemMemory, BAR1 & ~0xF, 0xe1184)
        Field(RMB1, AnyAcc, Lock, Preserve)
        {
            Offset(0x48250),
            LEV2, 32,
            LEVL, 32,
            Offset(0x70040),
            P0BL, 32,
            Offset(0xc2000),
            GRAN, 32,
            Offset(0xc8250),
            LEVW, 32,
            LEVX, 32,
            Offset(0xe1180),
            PCHL, 32,
        }
 
If you don't understand binary, you should read about it...

I just read but it's really hard for a humanist like me :) besides it will be useful to me once in a lifetime maybe :)

No. If you wanted to set only bit2 in RMCF.BKLT, you would write Name(BKLT, 4), or you could write Name(BKLT, 1<<2).

Name(BKLT, 4) disables brightness control totally, because of bit0 now is not set I suppose... How to set multiple bits then? For example I wish to set bit0=1 and bit2=1. Reading about offsets and bitwise and stuff I can't understand it, sorry (((

I'm not sure I'm going the right way at all, as I don't understand all this science at advanced level. I just want to fix a small bug once and for all. It would be great if you gave me direct orders what values should I try to change in SSDT-RMCF and SSDT-PNLF in order to bring back a normal color depth. Or add more examples to your repo. It would be helpful for many users also I think. If it is possible. Thank you.
 
I just read but it's really hard for a humanist like me :) besides it will be useful to me once in a lifetime maybe :)



Name(BKLT, 4) disables brightness control totally, because of bit0 now is not set I suppose... How to set multiple bits then? For example I wish to set bit0=1 and bit2=1. Reading about offsets and bitwise and stuff I can't understand it, sorry (((

I'm not sure I'm going the right way at all, as I don't understand all this science at advanced level. I just want to fix a small bug once and for all. It would be great if you gave me direct orders what values should I try to change in SSDT-RMCF and SSDT-PNLF in order to bring back a normal color depth. Or add more examples to your repo. It would be helpful for many users also I think. If it is possible. Thank you.

If you want both bit0 and bit2 set, it is
Code:
Name(BKLT,5)
or if you prefer to document the bitwise nature of the value,
Code:
Name(BKLT,1<<2|1<<0)

You could also write any of these:
Code:
Name(BKLT,4+1)
Name(BKLT,0x05)
Name(BLKT,0x04+0x01)
//etc
 
Have you experimented with the various RMCF.BKLT settings?

Now answering this question I can say that BLKT values at least from 1 to 5 don't bring any changes.

Can incorrect EDID be the reason of my problem? I also tried to inject CustomEDID in clover according to this guide https://www.tonymacx86.com/threads/fixing-brightness-with-custom-edid.219413/ but for unknown reason ioreg continues to show me the original EDID. I also tried just injecting only ProductID=0x9C7C, no change. Why isn't it injecting?

I attach my config and ioreg again. You can see that in clover CustomEdid is set:

Code:
00FFFFFF FFFFFF00 06107C9C 00000000 0A160103 80261578 0AD895A3 554D9D27 0F505400 00000101 01010101 01010101 01010101 01012E36 80A07038 1F403020 35007ED7 10000018 000000FE 004E3137 33484745 2D4C3131 0A200000 00FE0043 4D4F0A20 20202020 20202020 000000FE 004E3137 33484745 2D4C3131 0A20002A

and in ioreg it is still original:

Code:
00 ff ff ff ff ff ff 00 0d af 20 17 00 00 00 00 02 15 01 03 80 26 15 78 0a d8 95 a3 55 4d 9d 27 0f 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 2e 36 80 a0 70 38 1f 40 30 20 35 00 7e d7 10 00 00 18 00 00 00 fe 00 4e 31 37 33 48 47 45 2d 4c 31 31 0a 20 00 00 00 fe 00 43 4d 4f 0a 20 20 20 20 20 20 20 20 20 00 00 00 fe 00 4e 31 37 33 48 47 45 2d 4c 31 31 0a 20 00 6e
 

Attachments

  • Clover 3.zip
    644.2 KB · Views: 88
Now answering this question I can say that BLKT values at least from 1 to 5 don't bring any changes.

Trying random values is nonsense. You must read the code/documentation and make sensible choices regarding the setting.

Can incorrect EDID be the reason of my problem? I also tried to inject CustomEDID in clover according to this guide https://www.tonymacx86.com/threads/fixing-brightness-with-custom-edid.219413/ but for unknown reason ioreg continues to show me the original EDID. I also tried just injecting only ProductID=0x9C7C, no change. Why isn't it injecting?

You cannot use config.plist/Graphics/EDID when using config.plist/Devices/Properties.
Must inject only with config.plist/Devices/Properties.
Refer to the guide plists, as they have a commented template for EDID inject.
 
Back
Top