Contribute
Register

[HELP] Lenovo Yoga 720 - 13IKB screen flickering on dark colors and USB-C HDMI not working

Status
Not open for further replies.
Joined
Sep 26, 2017
Messages
6
Motherboard
Lenovo Yoga 720-13IKB (81C3)
CPU
i5-8250U
Graphics
UHD 620, 1080p touch
Mobile Phone
  1. Android
I have successfully booted Big Sur and got most of the things working. There is still one annoying problem I don't know how to fix. I'm using MacOS dark mode and all the grey colors are flickering (Finder background, Safari top bar etc), I feel like the PWM values for the backlight are not set correctly. I'm using Dortania's SSDT-PNLF, which basically does the same thing as the one from RehabMan (except I don't have to rename my GPU). Using this SSDT enabled backlight control through system settings, but pressing the keyboard does not work (Edit: fixed using brightnessKeys.kext). Using or not using AppleBacklightFixup makes no difference at all, WEG overwrites it. My next step would be to try a custom PWM value in SSDT-RMCF, but I'm not sure which value to use? It should be related to Framebuffer somehow... Or is there something else wrong with my setup? Edit: this probably doesn't work as WEG overwrites ABF, although this functionality is now included in WEG. But I have no clue how to do this and the WEG docs leave me with more questions than answers, it describes how to do patches, but doesn't really go into detail when and what to patch... Is there a beginner-friendly guide available somewhere?
 

Attachments

  • EFI.zip
    2.8 MB · Views: 94
Last edited:
I removed -wegnoegpu from my boot args and did a NVRAM reset. This fixed the flickering for me.

Edit: It seems like the brightness was reset to a lower level, where the issue was not noticeable.. I have increased the brightness of the display today and the problem still persists. Any help appreciated :)

While I'm at it might as well ask another question. I have managed to patch the TB port so hotplugging is now working. In theory, TB should work as well, but I don't have anything here to test it with, at least my USB-C dongle for ethernet is now working even if not connected at boot. On my dongle I also have an HDMI port, but unfortunately it is not working (no crashed on (dis-)connect tho). I have looked into a couple guides here, but I already had implemented those changes before (changing connector type to HDMI to support audio, which sometimes fixes the whole port, done by WEG). If anyone has some more suggestions please let me know.

Attached new EFI with a couple changes I made since I posted.
 

Attachments

  • EFI.zip
    2.8 MB · Views: 58
Last edited:
I removed -wegnoegpu from my boot args and did a NVRAM reset. This fixed the flickering for me.

Edit: It seems like the brightness was reset to a lower level, where the issue was not noticeable.. I have increased the brightness of the display today and the problem still persists. Any help appreciated :)

While I'm at it might as well ask another question. I have managed to patch the TB port so hotplugging is now working. In theory, TB should work as well, but I don't have anything here to test it with, at least my USB-C dongle for ethernet is now working even if not connected at boot. On my dongle I also have an HDMI port, but unfortunately it is not working (no crashed on (dis-)connect tho). I have looked into a couple guides here, but I already had implemented those changes before (changing connector type to HDMI to support audio, which sometimes fixes the whole port, done by WEG). If anyone has some more suggestions please let me know.

Attached new EFI with a couple changes I made since I posted.
try adding -igfxtypec to boot args. also when connecting the usb-c to HDMI, try closing the laptop lid and re opening the lid with the external monitor plugged in. also try changing your kext loading order WEG should go at the top where Lilu is
 
try adding -igfxtypec to boot args. also when connecting the usb-c to HDMI, try closing the laptop lid and re opening the lid with the external monitor plugged in. also try changing your kext loading order WEG should go at the top where Lilu is
Thanks for the suggestions, unfortunately those didn't change anything :(
 
Thanks for the suggestions, unfortunately those didn't change anything :(
try removing ALL values in device properties except
1619389279546.png
 
as per @navaira in this post from my Catalina guide https://www.tonymacx86.com/threads/...620-best-100-simple-setup.305350/post-2196058

you may need to add all the values found in my EFI which specifies each connector
note: he has Lenovo yoga as well kabylake-R uhd620 as well
I'm not quite sure what exactly needs to be changed. I had a look at the plist you uploaded in your thread, but the only difference are the framebuffer-con* properties, which I had in there before. I have now just copied those entries from your plist including the values. The good thing first: HDMI over my USB-C dongle is working! But when I plug in the HDMI my internal display turns black (still on just black, can see the backlight), still recognized by MacOS as two monitors are shown in the screen settings, I wasn't able to turn it back on even after unplugging the HDMI cable. The laptop wouldn't go to sleep neither by closing the lid, nor by pressing the power button.I think I have to tweak the values in these properties, how can I find the correct ones? Maybe @navaira can provide me with the EFI to compare.
Edit: Just saw the reference to post #14 in your thread, will try that out now.
So I just tried that out, I removed the line that limits to 48Hz as I only have a 1080p screen, where this is not necessary. Unfortunately, it didn't turn on my screen at all during the boot. I don't mean it was just black, but the backlight was off too.

Unfortunately still having the flickering issues. Just to answer this question in advance: The flickering definitely has to do with the setup of my MacOS installation. I don't have this issues in Windows or Linux and if I record the screen in MacOS and play the video in Windows it doesn't flicker there either. The colors do look different though. In MacOS the greys seem to have some kind of texture which is not there when watching the clip in Windows, probably related to my issue...

Some other things I noticed the last couple days while using MacOS:
- Palm rejection does not work, any idea what might be the issue here? Kinda annoying when half of your sentence appears two paragraphs up...
- I tried using Yoga SMC, but it doesn't work. I can't see it in the loaded kext list in Hackintool. Any idea how to get it working? The description just says the kext should work out of the box.
- Pressing del in Finder (or in combination with any of the function keys) does not delete a file. Is that a MacOS thing or just something weird with my setup? I tested the pressed key on keyboardtester.com and it is in fact sending a delete key when I press the delete button.
- Unrelated to MacOS, but maybe you guys know how to fix: I have installed Linux Mint without a bootloader. AFAIK it has support for EFISTUB, so it should suffice to add the entry to my OC (which I did). But when I want to boot, the screen is just black and nothing happens. I think I ****ed something up with the Linux boot args.
 

Attachments

  • EFI.zip
    2.9 MB · Views: 52
Last edited:
I'm not quite sure what exactly needs to be changed. I had a look at the plist you uploaded in your thread, but the only difference are the framebuffer-con* properties, which I had in there before. I have now just copied those entries from your plist including the values. The good thing first: HDMI over my USB-C dongle is working! But when I plug in the HDMI my internal display turns black (still on just black, can see the backlight), still recognized by MacOS as two monitors are shown in the screen settings, I wasn't able to turn it back on even after unplugging the HDMI cable. The laptop wouldn't go to sleep neither by closing the lid, nor by pressing the power button.I think I have to tweak the values in these properties, how can I find the correct ones? Maybe @navaira can provide me with the EFI to compare.
Edit: Just saw the reference to post #14 in your thread, will try that out now.
So I just tried that out, I removed the line that limits to 48Hz as I only have a 1080p screen, where this is not necessary. Unfortunately, it didn't turn on my screen at all during the boot. I don't mean it was just black, but the backlight was off too.

Unfortunately still having the flickering issues. Just to answer this question in advance: The flickering definitely has to do with the setup of my MacOS installation. I don't have this issues in Windows or Linux and if I record the screen in MacOS and play the video in Windows it doesn't flicker there either. The colors do look different though. In MacOS the greys seem to have some kind of texture which is not there when watching the clip in Windows, probably related to my issue...

Some other things I noticed the last couple days while using MacOS:
- Palm rejection does not work, any idea what might be the issue here? Kinda annoying when half of your sentence appears two paragraphs up...
- I tried using Yoga SMC, but it doesn't work. I can't see it in the loaded kext list in Hackintool. Any idea how to get it working? The description just says the kext should work out of the box.
- Pressing del in Finder (or in combination with any of the function keys) does not delete a file. Is that a MacOS thing or just something weird with my setup? I tested the pressed key on keyboardtester.com and it is in fact sending a delete key when I press the delete button.
- Unrelated to MacOS, but maybe you guys know how to fix: I have installed Linux Mint without a bootloader. AFAIK it has support for EFISTUB, so it should suffice to add the entry to my OC (which I did). But when I want to boot, the screen is just black and nothing happens. I think I ****ed something up with the Linux boot args.
try using my Big Sur EFI values. if HDMI is working, you simply need to close the lid and re open the lid, then you can disconnect the cable and internal screen should work.
also, your sleep issues may not be HDMI related. can possibly be power related

edit: try removing the xchiportlimit patch from kernel since you have USB ports setup already. also, usbinjectall maybe the cause of your sleep/wake issues
is there a specific reason why you're NOT using SMCbattery instead of ACPIbattery?
 
Last edited:
try using my Big Sur EFI values. if HDMI is working, you simply need to close the lid and re open the lid, then you can disconnect the cable and internal screen should work.
also, your sleep issues may not be HDMI related. can possibly be power related

edit: try removing the xchiportlimit patch from kernel since you have USB ports setup already. also, usbinjectall maybe the cause of your sleep/wake issues
is there a specific reason why you're NOT using SMCbattery instead of ACPIbattery?
I have skimmed through your thread, but was not able to find an EFI you used for Big Sur, just the one in the initial post which is for Catalina. I have tried a lot of other values there (e.g. from @navaira or @sebasinparis ) as well as from what I could learn from Google. Unfortunately, none of them got my HDMI working, so I tried to completely set it up like I thought it should be (spoiler: didn't work)
Bildschirmfoto 2021-04-29 um 01.03.00.png

Bildschirmfoto 2021-04-29 um 01.04.00.png


I used the BusID from IORegExplorer (value in the bottom right) which is 0x6 and 0x7 for my con1 and con2 framebuffers. The enable flag should be self-explanatory, type is set to <00080000> which should be DP and pipe is set to <09000000> which I basically just copied from many screenshots I saw of an old version of Hackintool. Now I just set it back to the values I had before, since it didn't work with any of the values i tried. Do you know if those values are correct? Is there a guide somewhere that explains how to find the correct values?
Maybe the BusID is not correct as I am using 0x4 and 0x5 right now and it is working... (I have tried to use those values as the IDs as well of course)

I also tried your suggestion to close the laptop screen and open it back up again. That actually fixed the black screen when HDMI was plugged in (although I had a weird issue with programs getting click inputs about 500px over my mouse instead of the actual location until I moved the windows). Since I didn't change anything about the display, I guess I didn't wait long enough last time for the laptop to go to sleep before opening the lid again.

I have also removed the xhciportlimitpatch, it didn't break anything so I will leave it turned off for now. There's also not a particular reason for me using ACPIbattery, I think the kext was included in the sample plist or I have copied it from an outdated guide. I have replaced it now with SMCBatteryManager and that one is working too. I guess the latter is preferred so I will leave that one in there as well.
 
Last edited:
Status
Not open for further replies.
Back
Top