Jump to content

Screen flashes white for a second during boot


unixb0y
 Share

195 posts in this topic

Recommended Posts

  • 4 months later...

I think this is EDID problem. After creating a new EDID with Hackintool I am not getting white flashes anymore. The screen turns black on second-stage and back to show apple logo finishing the boot but no flashes. My monitor is Hp 2711x Non-K standard HDMI 1080p monitor. I sent to my RX560 to service recently and I start to use HD630 while using it on the white flashes part I am starting getting this; (This is from the video I feeze the video and get this screenshot). After I tried many things nothing fix this problem. I decided to use EDID but I change the Inject EDID to Apple iMac Retina Display (16:9). And no white flashes and this type glitch flashes anymore. 

 

IMG_0112.PNG.db235f1dcaf3de3c2bab47c315eef42a.PNG.b6f422fc3594a85990de49d6989445c5.PNG

Link to comment
Share on other sites

1 hour ago, telepati said:

I think this is EDID problem. After creating a new EDID with Hackintool I am not getting white flashes anymore. The screen turns black on second-stage and back to show apple logo finishing the boot but no flashes. My monitor is Hp 2711x Non-K standard HDMI 1080p monitor. I sent to my RX560 to service recently and I start to use HD630 while using it on the white flashes part I am starting getting this; (This is from the video I feeze the video and get this screenshot). After I tried many things nothing fix this problem. I decided to use EDID but I change the Inject EDID to Apple iMac Retina Display (16:9). And no white flashes and this type glitch flashes anymore. 

 

IMG_0112.PNG.db235f1dcaf3de3c2bab47c315eef42a.PNG.b6f422fc3594a85990de49d6989445c5.PNG

 

Hi telepati,

 

Could you, please, post a step-by-step of what you did? Cause I tried to inject custom EDIDs many times before. With no success. I didn't do it with Hackintool though. So I'm interested to know more about your method. :) 

Link to comment
Share on other sites

1 hour ago, arsradu said:

 

Hi telepati,

 

Could you, please, post a step-by-step of what you did? Cause I tried to inject custom EDIDs many times before. With no success. I didn't do it with Hackintool though. So I'm interested to know more about your method. :) 

 

Here it is my setup;

 

607350502_ScreenShot2019-09-04at23_24_05.png.91825cb20e4918c3b5da70d139eb5bfc.png

 

I just click to export. Then backup the icons.plist inside the overrides folder, you will see the path and installation process when you click to i icons on Hackintool.

1225938914_ScreenShot2019-09-04at23_25_06.png.e714d81928145382ff6b94c5a6c8149f.png

 

My DisplayVendorID-22f0 folder.  There are 3 files inside this folder normally but I directly overwrite this folder without backup now there is one file which I created with Hackintool. And added to kext to Clover/Other folder

1123493771_ScreenShot2019-09-04at23_25_19.png.197277293c3d8e2fadfcb9e3e93776a4.png

 

That's it. 

 

Here is the result. Sorry for the video quality I recorded in the dark place with iPhone 8. But you can see no flashes but turning black for 3 seconds then boot to the desktop. I don't know but I like the result its better than white flashes and glitch black much acceptable for me.

 

  Edited by telepati
  • Like 2
Link to comment
Share on other sites

Telepati, thank you very much for the details and for the video. Also, I'm glad you managed to fix it for you. Unfortunately, for some reason, this didn't fix it for me though... Not sure why. If anyone else tried this method, I'm curious to know the output.

  • Sad 1
Link to comment
Share on other sites

1 hour ago, arsradu said:

Telepati, thank you very much for the details and for the video. Also, I'm glad you managed to fix it for you. Unfortunately, for some reason, this didn't fix it for me though... Not sure why. If anyone else tried this method, I'm curious to know the output.

 

I am sorry to hear that. Did you select different Inject EDID? I will try today with different Inject EDID and we will see what will happens. What is your monitor is it 4K or Non-K like me? BTW don't forget this work for me on HD630 I still don't know it will work with my RX560 cause my RX560 at the service.

Link to comment
Share on other sites

1 minute ago, telepati said:

 

I am sorry to hear that. Did you select different Inject EDID? I will try today with different Inject EDID and we will see what will happens. What is your monitor is it 4K or Non-K like me? BTW don't forget this work for me on HD630 I still don't know it will work with my RX560 cause my RX560 at the service.

 

Yeah, we need to check the RX560 as well, whenever it gets back. By the way, what's wrong with it? Why did you send it for service?

 

I've got a 4K monitor right now. And I also noticed there is no 4K option in Hackintool. So...maybe that has something to do with it...? I don't know. I only tried Retina iMac (16:9) option. 

  • Like 1
Link to comment
Share on other sites

6 minutes ago, arsradu said:

 

Yeah, we need to check the RX560 as well, whenever it gets back. By the way, what's wrong with it? Why did you send it for service?

 

I've got a 4K monitor right now. And I also noticed there is no 4K option in Hackintool. So...maybe that has something to do with it...? I don't know. I only tried Retina iMac (16:9) option. 

 

While using RX560 I am losing screen. The screen turns white, sometimes blue and recently turned Chessboard and start flickering. I tried many things but it didn't help. That's why I send it to the service. You can see the video in this topic;

 

 

Link to comment
Share on other sites

  • 4 weeks later...
14 minutes ago, telepati said:

@arsradu bad news, my RX 560 come back from service and I test it. Not a chance still getting white flashes. :cry: The method I used just work with IGPU. Damn. I really hate this white flash.

 

Hey telepati!

 

Thank you very much for the update! I'm glad to hear you've got your RX 560 back. And also kinda sad that you didn't manage to fix the white flash...

 

I just don't get it. WHY doesn't it always occur? Why is it that some days there is NO flashing at all, and some days it's all over the screen? If it is an issue, why doesn't it always happen?

 

It seems that it doesn't flash when the first part of the boot process finishes a bit quicker. If it seems to take longer, it also has a higher chance of screen flashing white. Or at least these are just my observations.

Edited by arsradu
  • Like 1
Link to comment
Share on other sites

47 minutes ago, arsradu said:

 

Hey telepati!

 

Thank you very much for the update! I'm glad to hear you've got your RX 560 back. And also kinda sad that you didn't manage to fix the white flash...

 

I just don't get it. WHY doesn't it always occur? Why is it that some days there is NO flashing at all, and some days it's all over the screen? If it is an issue, why doesn't it always happen?

 

It seems that it doesn't flash when the first part of the boot process finishes a bit quicker. If it seems to take longer, it also has a higher chance of screen flashing white. Or at least these are just my observations. 

2

 

Thank you. You are made a good observation btw. Especially when the boot process takes longer, white flashes happening. Hope someday someone can find a solution for that.

Edited by telepati
  • Like 1
Link to comment
Share on other sites

On 9/30/2019 at 12:06 AM, telepati said:

 

Thank you. You are made a good observation btw. Especially when the boot process takes longer, white flashes happening. Hope someday someone can find a solution for that.

 

Apparently there is no coincidence that when the boot finishes faster, there is no flashing. Since this issue is time dependent. The issue seems to occur due to mode switching from ARGB8888 to ARGB2101010. And getting or not getting the flash depends on the point in time when that switch is performed. That's why sometimes we get a smaller flash, sometimes a bigger flash, and sometimes no flash at all. 

 

Good news is that there might be a fix for it. Bad news is that it requires Clover devs' help, since this can't be fixed with a DSDT patch. It needs to be done before MacOS is loaded. So...getting them to help with this might make the entire difference.

  • Like 3
Link to comment
Share on other sites

2 hours ago, arsradu said:

 

Apparently there is no coincidence that when the boot finishes faster, there is no flashing. Since this issue is time dependent. The issue seems to occur due to mode switching from ARGB8888 to ARGB2101010. And getting or not getting the flash depends on the point in time when that switch is performed. That's why sometimes we get a smaller flash, sometimes a bigger flash, and sometimes no flash at all.  

 

Good news is that there might be a fix for it. Bad news is that it requires Clover devs' help, since this can't be fixed with a DSDT patch. It needs to be done before MacOS is loaded. So...getting them to help with this might make the entire difference. 

 

Wow. Wonderful news. :thumbsup_anim: Hope we can get rid of this problem soon.

  • Like 1
Link to comment
Share on other sites

Take a look to this part of Clover config.plist. May be this value helps you.

	<key>EDID</key>
		<dict>
			<key>HorizontalSyncPulseWidth</key>
			<string>0x11</string>

 

  • Like 3
Link to comment
Share on other sites

37 minutes ago, Slice said:

Take a look to this part of Clover config.plist. May be this value helps you.


	<key>EDID</key>
		<dict>
			<key>HorizontalSyncPulseWidth</key>
			<string>0x11</string>

 

 

In my own experience, and believe me, I've been trying to find a fix/workaround to this issue ever since I bought my RX 580, which was maybe a year ago, this doesn't help. But I'll let the others test the same thing in case they have more luck with this.

 

For as far as I understood, the issue is the switch from ARGB8888 to ARGB2101010 which isn't synced to vertical blanking, causing the flash. And depending when that switch is performed, the intensity of the flash can vary, from almost full screen, to just a little bit at the bottom of the screen, and no flash at all sometimes.

 

Additional info, such as setting up the hardware for ARGB2101010 mode can be found in the Radeon driver's source code here: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/radeon/atombios_crtc.c?h=v5.4-rc1

 

Once that's done, the only remaining thing would be handing the information regarding framebuffer mode to MacOS. Which is where Clover would come really handy, since this needs to be done before MacOS is loaded.

Edited by arsradu
  • Like 1
Link to comment
Share on other sites

1 hour ago, arsradu said:

 

In my own experience, and believe me, I've been trying to find a fix/workaround to this issue ever since I bought my RX 580, which was maybe a year ago, this doesn't help. But I'll let the others test the same thing in case they have more luck with this.

 

For as far as I understood, the issue is the switch from ARGB8888 to ARGB2101010 which isn't synced to vertical blanking, causing the flash. And depending when that switch is performed, the intensity of the flash can vary, from almost full screen, to just a little bit at the bottom of the screen, and no flash at all sometimes.

 

Additional info, such as setting up the hardware for ARGB2101010 mode can be found in the Radeon driver's source code here: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/radeon/atombios_crtc.c?h=v5.4-rc1

 

Once that's done, the only remaining thing would be handing the information regarding framebuffer mode to MacOS. Which is where Clover would come really handy, since this needs to be done before MacOS is loaded.

 

What would the 

Quote

HorizontalSyncPulseWidth

 

 setting do?

Link to comment
Share on other sites

17 hours ago, unixb0y said:

 

What would the 

 

 setting do?

Test to see what is happened

18 hours ago, arsradu said:

 

In my own experience, and believe me, I've been trying to find a fix/workaround to this issue ever since I bought my RX 580, which was maybe a year ago, this doesn't help. But I'll let the others test the same thing in case they have more luck with this.

 

For as far as I understood, the issue is the switch from ARGB8888 to ARGB2101010 which isn't synced to vertical blanking, causing the flash. And depending when that switch is performed, the intensity of the flash can vary, from almost full screen, to just a little bit at the bottom of the screen, and no flash at all sometimes.

 

Additional info, such as setting up the hardware for ARGB2101010 mode can be found in the Radeon driver's source code here: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/radeon/atombios_crtc.c?h=v5.4-rc1

 

Once that's done, the only remaining thing would be handing the information regarding framebuffer mode to MacOS. Which is where Clover would come really handy, since this needs to be done before MacOS is loaded.

About mode ARGB2101010  we can't set this mode in Clover time because BIOS video driver don't support it and we shouldn't prevent a system to set this mode because users want to use it.

Link to comment
Share on other sites

7 minutes ago, Slice said:

Test to see what is happened

About mode ARGB2101010  we can't set this mode in Clover time because BIOS video driver don't support it and we shouldn't prevent a system to set this mode because users want to use it.

 

Ok, so Clover will use ARGB8888 no matter what (since BIOS doesn't support ARGB2101010), and system will use ARGB2101010. Did I get this right?

 

But the problem is not necessarily that they are different, but the switch from one to the other. What would be the solution (since obviously there are times when this issue doesn't occur at all, so it seems to be a timing issue) to make the switch between these two modes seamless?

 

Also, I'm curious, is MacOS the only OS using ARGB2101010? Any idea? Cause...I don't remember having this issue with Linux or Windows, for example. So...something has to be different in those cases.

 

Anyway, I'm really curious to know your thoughts on this. Let's try to focus less on why this wouldn't work and more on how it could work. Because there are clearly times when this doesn't happen, at all. So...if we could make it "not happen" more often, that would be a valid workaround in my opinion.

 

Setting HorizontalSyncPulseWidth to 0x11 in config didn't do anything in my case. I just tried it yesterday. It's still set right now. But...no change. So I'm guessing the issue is somewhere else. 

Link to comment
Share on other sites

Try different values, from 0 to 100. This is a timing. And be sure that EDID is injected else the setting do nothing.

 

Windows can set 10 bit. It is used for special monitors with special videocards while macOS proposed to set as default and emulate 10 bit on 8bit only monitors (dithering).

About linux I have no comments.

  • Like 1
Link to comment
Share on other sites

12 minutes ago, Slice said:

Try different values, from 0 to 100. This is a timing. And be sure that EDID is injected else the setting do nothing.

 

Windows can set 10 bit. It is used for special monitors with special videocards while macOS proposed to set as default and emulate 10 bit on 8bit only monitors (dithering).

About linux I have no comments.

 

Alright. :) I'll take all 100 values from 0 to 100 and test each one of them. This is gonna take a little bit. Aprox 5 minutes/test x 100 tests...so see you in about 10 hours (I need to eat, too). 

 

But I'm gonna do it. And I'll let you know.

Edited by arsradu
  • Haha 1
Link to comment
Share on other sites

I wanted to add that my setup has changed quite a lot. Currently, I still use my RX580 but with a 3440x1440p monitor that also has freesync and 100hz and (at least with verbose boot mode -v flag) there is only a minimal flash, never the fullscreen one.

Link to comment
Share on other sites

1 hour ago, Slice said:

4 values are enough.

 

4 values spread across the entire range? Like 0, 15, 25 and 100? Or like 0, 1, 2, 3? 

 

Cause I've already started. And partial results are: between 0 and 15 (taken one by one, with restarts in between), none of them offered any notable result.

 

I had one time where I had no flashing at all, when using 0x09. But just to confirm that wasn't a simple coincidence, I made another reboot, aaand...flashing was back. So it was just a coincidence.

 

I can test all values from 0-100 as I said. I will do it, if you think any of the values between 0-100 has a chance of fixing this for real. Cause so far, it looks like the same issue, regardless which value is used. It's just sometimes it works, most of the times it doesn't. Same exact config, same value. And yeah, of course Inject EDID is on. :) 

 

Update:

 

So far, tested 0-20, one by one. After that, I tested 25, 50, 75 and 100. All with the same result.

Edited by arsradu
Link to comment
Share on other sites

  • 2 weeks later...

@Slice do you need those 100 tests? Or is that enough? :D 

 

If so...do you happen to have any idea for a possible fix?

 

There is something else that I found quite interesting... I've installed Windows on a separate partition. And while this flashing does not occur with any other operating system other than Mac, when I boot back into MacOS, after booting into Windows, there is a chance this issue will not occur. At all. No flash at all.

 

I'm not sure what happens in this particular case. And it's not really important since we're talking about MacOS here, not Windows. But i just found it interesting. And I decided to let you know, in case it triggers an idea for a fix. :D 

 

You're right. It does seem like a syncing issue. So...how can we make it sync ok, on every boot, not just once in a thousand years? :))

Edited by arsradu
Link to comment
Share on other sites

  • 2 weeks later...
 Share

×
×
  • Create New...