Skip to content
This repository has been archived by the owner on Aug 25, 2022. It is now read-only.

Colour banding issues #32

Closed
ghost opened this issue Sep 13, 2020 · 43 comments
Closed

Colour banding issues #32

ghost opened this issue Sep 13, 2020 · 43 comments
Labels
bug Something isn't working help wanted Extra attention is needed

Comments

@ghost
Copy link

ghost commented Sep 13, 2020

Hey,

I'm having some serious colour banding issues on my T480. I have the 8350U with UHD 620 graphics, 1080p FHD IPS display and I am using the EFI folder as is provided here in release 5.0.0, with the addition of the 8350U CPUFriend kext in the Other folder. I am running macOS Catalina 10.15.6 with the MacbookPro15,2 SMBIOS.

Is there anything I can do to solve this?

Thanks.

@EETagent
Copy link
Owner

EETagent commented Sep 13, 2020

I've encountered some small colour banding issues too, but nothing terrible on my machine.

xma/T480-Clover@c1c3193#diff-cd9999831fd158fd3c775b44b00907f2L461

https://github.com/tylernguyen/x1c6-hackintosh/blob/a598de68c63ec2806328ba1167401296aaf348b9/EFI-OpenCore/EFI/OC/config.plist#L1059

You can try to add these changes to current PciRoot(0x0)/Pci(0x2,0x0)

@EETagent EETagent added the bug Something isn't working label Sep 13, 2020
@ghost
Copy link
Author

ghost commented Sep 14, 2020

Issue seems to be mostly ameliorated. Using the "Gradients" test from EIZO, things seem much better. Colour banding is also far less noticeable in Launchpad and even the shadows of windows look better than before. I assume what banding remains is an issue of the quality of the display itself and not of the operating system.

I have attached my zipped config.plist based on your latest 5.0.1 release, where I have made changes to PciRoot(0x0)/Pci(0x1f,0x3), PciRoot(0x0)/Pci(0x2,0x0) and also the boot arguments, changes that are in line with the commit you linked on xma's T480-Clover repo.

EDIT: On an unrelated note, I have an external monitor connected via HDMI which wouldn't be seen automatically on boot (would have to unplug and plug it in again). Fixed using the igfxonln=1 boot parameter.

@EETagent
Copy link
Owner

Thanks for reporting success,lilucpu=8is useless in my opinion so I would remove it even though it does not make any harm, as for -cdfon, I don't even know what that is and was unable to find any information about it. Current device-id and ig-platform-id are directly from Dortania guide. layout-id 86 is made specially for T480 so that is right too.

obrazek

May you run some tests for us?

  1. Remove all added boot arguments. Reboot and check
  2. Remove hda-gfx. Reboot and check
  3. Revert back to right device-id and ig-platform-id. Reboot and check

@ghost
Copy link
Author

ghost commented Sep 14, 2020

IIRC, before adding the boot arguments macOS would crash in the boot process and the laptop would restart. Don't take my assumptions for granted, though; I am going to return with results to the tests you requested by the end of tomorrow. Cheers!

@ghost
Copy link
Author

ghost commented Sep 14, 2020

Managed to do a few tests this evening.

(1) BOOT ARGUMENTS

TEST no. 1
Removed all boot arguments. Rebooted.
System boots up. Apple logo and progress bar appear.
System restarts 2/3rds into the boot process.

TEST no. 2
Added boot argument -cdfon. Rebooted.
System boots up. Apple logo and progress bar appear.
System restarts 2/3rds into the boot process.

TEST no. 3
Removed boot argument -cdfon. Added boot argument -lilucpu=8. Rebooted.
System boots up. Apple logo and progress bar appear.
System restarts 2/3rds into the boot process.

TEST no. 4
Added both boot arguments: -cdfon lilucpu=8. Rebooted.
System boots up successfully.

(2) hda-gfx [WITH BOOT ARGUMENTS]

TEST no. 5
Kept both boot arguments as in test no. 4. Removed hda-gfx from both PciRoot(0x0)/Pci(0x1f,0x3) and PciRoot(0x0)/Pci(0x2,0x0). Rebooted.
System boots up successfully.

(3) ORIGINAL device-id AND ig-platform-id [WITH BOOT ARGUMENTS, WITHOUT hda-gfx]

TEST no. 6
Changed layout-id, device-id and ig-platform-id back to the original values in your config.plist. Rebooted.
System boots up. Apple logo and progress bar appear.
System restarts 2/3rds into the boot process.

TEST no. 7
Changed device-id and ig-platform-id back to the values in my archived config.plist. Rebooted.
System boots up successfully.

Let me know if you need any other tests. Cheers.

@EETagent
Copy link
Owner

EETagent commented Sep 14, 2020

Your reports got me interested about this issue so I experimented with modifying config.plist and that difference is huge and by that I mean really huge. How I could ever looked at that before? It can be especially seen in gradient test you linked. This would be from now my priority for 5.1.0 release. It's interesting that only XMA's T480 config does not have these issues, both our and Tyler's does. It's really weird that macOS does not boot without these boot arguments, maybe reset NVRAM?

Also, like I sad -cdfon is completely useless. From WhateverGreen docs:

-cdfon (and enable-hdmi20 property) to enable HDMI 2.0 patches.

Same for hda-gfx ( HDMI Audio, irrelevant for right colors on screen ), same for lilucpu, etc.

T480 does not have HDMI 2.0, nor any Kaby Lake R based ThinkPad. That should not block booting.

I will test it more tomorrow

@ghost
Copy link
Author

ghost commented Sep 14, 2020

It's really weird that macOS does not boot without these boot arguments, maybe reset NVRAM?

I tried resetting the NVRAM from the bootloader, twice even, without success. Is there anything else I should be doing?

@EETagent
Copy link
Owner

EETagent commented Sep 14, 2020

Found this comment

For me Catalina also has problems on the Zenbook UX310UAK. I used to spoof my HD620 on Zenbook UX310UAK as a Skylake HD520 by using 00001619 as ig-platform-id and 16190000 as device-id to get rid of the annoying color banding issue. Now, this spoofing seems to cause a kernelpanic in Catalina and prevent it from booting
EDIT:
I wanted you to know that i have found a solution for this. In Catalina, obviously it is necessary to use the -lilucpu=N bootflag, where "N" has to be replaced with the actual CPU Series number of the CPU whose Graphics you want to spoof, so in my case i needed to put "lilucpu=8" as bootflag according to this table:
4 SandyBridge
5 IvyBridge
6 Haswell
7 Broadwell
8 Skylake
9 KabyLake
10 CoffeeLake

I don’t think that its a good idea to spoof our machine as Skylake in the long term. I would ask about it on r/hackintosh today

@EETagent
Copy link
Owner

Good thread about color banding here

There are dozens of reports about this issue and nobody ever fixed it differently than spoofing Skylake’s HD 520 which is something I wouldn’t like to do.

@EETagent
Copy link
Owner

Maybe try patching Framebuffer with Hackintool?
https://github.com/headkaze/Hackintool/releases

Does @zombillano have some idea? I don’t actually know what to do now, nobody over internet found different solution ...

@EETagent EETagent added the help wanted Extra attention is needed label Sep 15, 2020
@zombillano
Copy link

I don't have any colour banding, at least I don't notice it at all

@EETagent
Copy link
Owner

EETagent commented Sep 15, 2020

@zombillano Then you are lucky man, but please try this Gradient test that @slorent mentioned

Ideally, transition between colors should be 100% smooth, that's not exactly possible on this 50% sRGB panel but you can come really close to it. It is day and night difference between our actual config and the one that use HD520.
configHD520.plist.zip

There are many reports about this issue and nobody did not found solution. I asked about it on r/hackintosh and no one helped me. Probably only chance how to solve this while preserving UHD620 is to contact vit9696

@zombillano
Copy link

@zombillano Then you are lucky man, but please try this Gradient test that @slorent mentioned

I've tried it and still I cannot see any colour banding. I don't thing it is luck, it might be related to the fact that I installed a N140HCG-GQ2 panel on my T480, which is indeed a really good display compared with what my T480 had from factory.

Ideally, transition between colors should be 100% smooth, that's not exactly possible on this 50% sRGB panel but you can come really close to it. It is day and night difference between our actual config and the one that use HD520.

Let me test this, although I don't think it would make so much difference to me.

There are many reports about this issue and nobody did not found solution I asked about it on r/hackintosh and no one helped me. Probably only chance how to solve this while preserving UHD620 is to contact vit9696

Good luck with that, hope he does help us to solve this issue..

@EETagent
Copy link
Owner

EETagent commented Sep 15, 2020

Yes, that's the reason. Did you noticed any significant battery life improvement with that low-power panel?

@zombillano
Copy link

zombillano commented Sep 15, 2020

Ok, I tried your new config.plist and first thing I notice is that it changes colour reproduction. Now the colours on my display look washed out. Not a bad thing by itself but I'm used to warmer colours.

I don't notice any real difference running the test that @slorent provided. I think I have my old LCD panel that I took out from my T480 somewhere around here, but I don't promise anything. Although it is the worst panel you can have on a T480 (1366x768) and have awful colour reproduction I think it might be helpful to trace this issue.

Yes, that's the reason. Did you noticed any significant battery life improvement with that low-power panel?

I don't think so, at least not under macOS. Since I don't use linux/windows that often I don't know if it improves battery on those OSs. Maybe I'll test it in the future, but not very soon because my semester is about to start.

@EETagent
Copy link
Owner

@zombillano @slorent

I read the documentation for WhateverGreen and there is written:

In macOS 10.14 оn some laptops with KBL graphics one may face visual artifacts on the gradients. For a temporary solution try to fake IGPU to use SKL drivers.

Apparently this issue still exists on every macOS since Mojave and it seems that it was forgotten. I will open issue on Acidanthera bug tracker to see what can be do about that.

@zombillano
Copy link

zombillano commented Sep 15, 2020

I will open issue on Acidanthera bug tracker to see what can be do about that.

They'll most likely close it without response, but doesn't hurt to give it a try. Maybe the third is the good one, since they've actually decided to ignore both the SSD issue and the iGPU one. I think they are pretty concentrated on their objectives to give solutions to most of the problems that doesn't have an easy fix, which if you see objectively is the best for the OC project as a whole.

At the other hand, I have an issue with the middle button on my thinkpad, it used to let me open links in a new tab with a single middle button click, but now I need a double click to achieve the same. Didn't want to open a new issue just for that. Do you happen to know if it is intended to work like that?

@EETagent
Copy link
Owner

EETagent commented Sep 15, 2020

TrackPoint buttons are managed by VoodooRMI. It's probably a solution for scrolling without accidentally opening links.
Thats quite smart though, as I sometimes accidentally open unwanted link and this effectively prevents this mistake. If you would really want to have 1 click though, just contact 1Revenger1 on Gitter, he may implement config option for it.

@zombillano
Copy link

TrackPoint buttons are managed by VoodooRMI. It's probably a solution for scrolling without accidentally opening links.
Thats quite smart though, as I sometimes accidentally open unwanted link and this effectively prevents this mistake. If you would really want to have 1 click though, just contact 1Revenger1 on Gitter, he may implement config option for it.

Thanks mate. I discovered something quite fun: You can wake up from sleep if you press the function key. My cat walked over my keyboard and I was amazed that the screen turned up, since I believed it was impossible to wake from keyboard key press :P

@EETagent
Copy link
Owner

EETagent commented Sep 16, 2020

So they closed that issue ( Expected though )
" No progress " since this was reported on Mojave

Until WEG fixes it, there is nothing I can do ( Will add HD520 setup to Post Install though )

@zombillano
Copy link

So they closed that issue ( Expected though )
" No progress " since this was reported on Mojave

Until WEG fixes it, there is nothing I can do ( Will add HD520 setup to Post Install though )

I'm curious: What do you see at System Information > Graphics/Display without spoofing HD 520? I see this:

imagen

As you can see it shows that it is using 24 bit depth...

@EETagent
Copy link
Owner

EETagent commented Sep 16, 2020

I see the exactly same thing, it is a driver issue.

@EETagent
Copy link
Owner

Closed as there is currently no fix except using HD 520 or replacing stock panel. Will add disclaimer in the README soon.
Please reopen if you find any other solution.

@EETagent EETagent pinned this issue Sep 21, 2020
@benbender
Copy link

benbender commented Oct 12, 2020

For those who are struck by this bug I would like to ask if your machines are:

  • using 30pin or 40pin EDP-connectors for their panel?
  • Are your panels touch-enabled?
  • Is your panel FHD (1920*1080pixels)?

Would love to get some feedback to try to narrow the problem down.

@EETagent
Copy link
Owner

EETagent commented Oct 12, 2020

For those who are struck by this bug I would like to ask if your machines are:

* using 30pin or 40pin EDP-connectors for their panel?

* Are your panels touch-enabled?

* Is your panel FHD (1920*1080pixels)?

Would love to get some feedback to try to narrow the problem down.

  1. 30 pin.
  2. No
  3. Yes, FHD 16:9

EDITED: As @zombillano pointed, only touch enabled Full HD panels and QHD machines come with 40 pin EDP cable

@zombillano
Copy link

zombillano commented Oct 12, 2020

1. 40 pin. Only TN machines uses 30 pin

Wrong. TN and IPS panels up to 1080p WITHOUT touchscreen uses 30 pin EDP connectors. Touchscreen panels and WQHD panels uses 40 pin EDP connectors.

@EETagent
Copy link
Owner

For those who are struck by this bug I would like to ask if your machines are:

* using 30pin or 40pin EDP-connectors for their panel?

* Are your panels touch-enabled?

* Is your panel FHD (1920*1080pixels)?

Would love to get some feedback to try to narrow the problem down.

I see that you are injecting custom EDID in your repo. But from the threads I read about this topic, I do not think this would work.
obrazek

@benbender
Copy link

benbender commented Oct 15, 2020

As a very slight improvement, here is a Whatevergreen-build, which allows Skylake-Framebuffers for KabyLake-R CPUs (which are seen as CoffeeLake by LiLu/WEG).

This eliminates the need to use lilucpu=8 so you don't need to trick lilu into thinking it sees a Skylake CPU.

WhateverGreen.kext.zip

@EETagent
Copy link
Owner

As a very slight improvement, here is a Whatevergreen-build, which allows Skylake-Framebuffers for KabyLake-R CPUs (which are seen as CoffeeLake by LiLu/WEG).

This eliminates the need to use lilucpu=8 so you don't need to trick lilu into thinking it sees a Skylake CPU.

WhateverGreen.kext.zip

Thanks, did you tested these changes? I am getting Intel GPU Framebuffer related kernel panics with your version. Both with KBL-R and SKL.

@benbender
Copy link

Yes, I'm running it right now. Skylake Device-ID and Framebuffer. Nothing else. Kext basically just changes KBL to SKL in line 116 & 119:

https://github.com/acidanthera/WhateverGreen/blob/e6b7f6160cf708f69a40becf5bab6fba8cb18c9f/WhateverGreen/kern_igfx.cpp#L114

@EETagent
Copy link
Owner

EETagent commented Oct 16, 2020

@benbender Tried it again on already installed system (previously on installer), and it works well. Thanks

@benbender
Copy link

benbender commented Oct 16, 2020

Have you been able to get stable 4k-output @60Hz (via usb-c/DP) running on skylake? I got mostly just blinking, solid colors on screen and if this would be sorted out and somewhat stable, I would try to propose a workaround for our usecase in WEG-mainline.

@EETagent
Copy link
Owner

EETagent commented Oct 16, 2020

Have you been able to get stable 4k-output @60Hz (via usb-c/DP) running on skylake? I got mostly just blinking, solid colors on screen and if this would be sorted out and somewhat stable, I would try to propose a workaround for our usecase in WEG-mainline.

I really can't test 4K 60Hz output as highest resolution screen we have is UW-QHD ( LG's marketing name for 3440x1440 ) and I am limited by HDMI 1.4 bandwidth as I do not have any USB C to DP cable.

@benbender
Copy link

Does 3440x1440 work at 60hz via hdmi 1.4?

@EETagent
Copy link
Owner

Does 3440x1440 work at 60hz via hdmi 1.4?

macOS allows only 30 Hz. I read though that on Windows it is possible to achieve 50 - 56 Hz

@EETagent
Copy link
Owner

EETagent commented Nov 2, 2020

Tested on Windows, 50 Hz
obrazek

@finisi
Copy link

finisi commented Jan 21, 2021

As a very slight improvement, here is a Whatevergreen-build, which allows Skylake-Framebuffers for KabyLake-R CPUs (which are seen as CoffeeLake by LiLu/WEG).

This eliminates the need to use lilucpu=8 so you don't need to trick lilu into thinking it sees a Skylake CPU.

WhateverGreen.kext.zip

Could you please elaborate how to properly spoof Skylake CPU? I tried various values for ig-platform-id and device-id with the kext you provided but each time got kernel panic?

@EETagent
Copy link
Owner

Could you please elaborate how to properly spoof Skylake CPU? I tried various va, but it was definitively
lues for ig-platform-id and device-id with the kext you provided but each time got kernel panic?

I had KP previously too, do not have that certain configuration any more. Remove every unnecessary boot-argument and use 00001619 platform-device-id

@kvn1351
Copy link

kvn1351 commented Feb 16, 2021

Could you please elaborate how to properly spoof Skylake CPU? I tried various va, but it was definitively
lues for ig-platform-id and device-id with the kext you provided but each time got kernel panic?

I had KP previously too, do not have that certain configuration any more. Remove every unnecessary boot-argument and use 00001619 platform-device-id

So the modified WhateverGreen and also lilucpu is not necessary anymore? Is it sufficient to use a Skylake platformID (e.g. 00001619) with the latest official version of WhateverGreen?

@lonacluka
Copy link

Anyone got this running on latest big sur/opencore? I tried this patched WEG and platform-device-id and device-id and I get no backlight and backlight flickering every ~ 10sec. Please help if you can.

@shirtlessman
Copy link

Hey people. I use hp laptop g6 250 with i5 7200u kabylake. Screen is FHD Tn 1920x1080 panel. It has hd 620. With booting without anything in device properties and lilucpu=9 iget fully functional everything except the display has severe color banding issue. With edid injection I can reduce the amount of banding by 20% or smth, but that looks crappy. Sleep works ideally and wake has no issues too.

When i spoof to skylake with lilucpu=8and platform id 1e19 and device id 1b19 graphics are really good, photoshop detects graphics as hd5xx iris. No or really unnoticeable amount of color banding. Everything is fine till I sleep my display or sleep. Sleep works as intended even with powernap enabled but when i wake up from display sleep screen starts flickering making it painfull to look at and unusable. Do you guys get this kin or issue with wake after display sleep? I have tried other standart skylake ids like 1619 and 1b19 but the flicker even worse and much more frequently.

about the edid patches I tried them both with and without spoof. Have used FIXEDID app and havkintool too. Tried every kind of options they provide and everykind of display they have there as optiona. No success. Only thing i get from edid os just washed out colors. Tried manually changing the color depth in edid, no success. If i set it more than 10 bits the login screen sill be black, screen wont turn on after initial load of opencore.
ps. My computer doesnt have its own github, nor it has a lot of users so im sorry for invading your device p github. Any help from you at least for the fix of flickering after sleep when skylake spoof is on, i would really appreciate.

@the-ethernal
Copy link

Hey people. I use hp laptop g6 250 with i5 7200u kabylake. Screen is FHD Tn 1920x1080 panel. It has hd 620.

T480 has UHD 620, which in fact is different than the one that you have. Take a look over here https://github.com/acidanthera/WhateverGreen/blob/master/Manual/FAQ.IntelHD.en.md to find the correct config for your processor type and dGPU. Color banding was never really fixed in here, and this repo is kinda abandoned (@benbender got a X1C6 and left his T480 aside, @EETagent is using Fedora instead of macOS and @zombillano left so many months ago). Hope I've been helpful.

@shirtlessman
Copy link

Hey people. I use hp laptop g6 250 with i5 7200u kabylake. Screen is FHD Tn 1920x1080 panel. It has hd 620.

T480 has UHD 620, which in fact is different than the one that you have. Take a look over here https://github.com/acidanthera/WhateverGreen/blob/master/Manual/FAQ.IntelHD.en.md to find the correct config for your processor type and dGPU. Color banding was never really fixed in here, and this repo is kinda abandoned (@benbender got a X1C6 and left his T480 aside, @EETagent is using Fedora instead of macOS and @zombillano left so many months ago). Hope I've been helpful.

Thank you for the reply. İ guess UHD 620 and hd 620 might behave the same way under mac os. İ even tried CFL, and it booted exactly the same way as people describe it for UHD, normally but without the brightness control. Whatever, thank you for the info. İf anybody with the same specs sees my comment please reply. Btw, have read the whole FAq of WEG. Nothing there helped.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

8 participants