Jump to content

[HOW TO] Fix second stage boot logo and loading bar for some dedicated desktop video cards


arsradu
 Share

391 posts in this topic

Recommended Posts

Sorry for my english :D

With CSM enable: clover GUI fallback to 800x600, also for stage 1. 

With CSM disable: clover GUI has max resolution: 3840x2160

 

I have try with Inject EDID, patch VBIOS, also without or only patch VBIOS/ inject EDID. None on them give me apple logo at stage 2. When inject EDID and Patch VBios at sametime, It's completed lost stage 1 and clover GUI.

 

Display in OSX: (2160x1440)

 

f46D39b.png

config.plist.zip

iMac.zip

device-properties.xml.zip

Link to comment
Share on other sites

Are you guys using video card with GOP?

Yes, but apparently disabling CSM in Bios doesn't really help for this case. It works fine for me with disabled CSM....but not for him. I don't use it this way cause I still need my Bios to let me choose the other drive, which is using MBR. Otherwise, I would have switched off CSM a long time ago.

Sorry for my english :D

With CSM enable: clover GUI fallback to 800x600, also for stage 1. 

With CSM disable: clover GUI has max resolution: 3840x2160

 

I have try with Inject EDID, patch VBIOS, also without or only patch VBIOS/ inject EDID. None on them give me apple logo at stage 2. When inject EDID and Patch VBios at sametime, It's completed lost stage 1 and clover GUI.

 

Display in OSX: (2160x1440)

 

If you've got a 4K monitor, why do you keep your OS at lower resolution...? OS X doesn't know 4K? Or you just don't like it? By the way, I would love to have that monitor! You're so lucky. :P

 

Anyway, I had a look at your config and device-properites. Looks ok... But in config.plist I couldn't find any reference to any Custom Logo... Did you set any? Not sure that's gonna make any difference (most likely not) but I'm trying to minimize the number of variables here.

 

Also, if you're on El Capitan and not dual-booting Yosemite/El Capitan, kext-dev-mode=1 is not necessary anymore. Just so you know. :)

 

So with CSM enabled + Patch VBios + Inject EDID, you get 800x600 in Clover GUI and also no first-stage boot logo?

 

Also, could you please, upload your images as "attachment" and not "image" since that will embed them into the post and make it huge? :D

Link to comment
Share on other sites

OSX does know 4k, but the text too small, default it set scale to 1080p, but I change it to 1440p for more space.

I do not have any custom logo, thought that will load default apple logo.

With CSM enabled + Patch VBios + Inject EDID: I get 800x600 in Clover GUI, but still got first stage boot logo (in 800x600 too)

 

 

 

Also, could you please, upload your images as "attachment" and not "image" since that will embed them into the post and make it huge?  :D

 

I will, sorry :D

Link to comment
Share on other sites

OSX does know 4k, but the text too small, default it set scale to 1080p, but I change it to 1440p for more space.

I do not have any custom logo, thought that will load default apple logo.

With CSM enabled + Patch VBios + Inject EDID: I get 800x600 in Clover GUI, but still got first stage boot logo (in 800x600 too)

 

 

I will, sorry :D

 

This is really weird... Do you have CSMVideoDrv installed? Maybe try with or without it? I don't need it. But...maybe you do.

 

So, to sum up:

 

1. With or without CSM disabled in Bios, you still don't have second stage boot logo.

 

2. If you enable CSM in Bios, PatchVBios + Inject EDID in Clover, you lose the first stage boot completely.

 

3. If you enable CSM in Bios but use only one of the two (Patch Vbios or Inject EDID), you have the entire UI scaled to 800x600, first stage boot logo, but still no second stage boot logo.

 

What if you try to disable CSM in Bios, disable Patch VBios + Inject EDID, and set the OS and also Clover resolution to native one? Just for testing.

 

We're half way there. :) The loading bar is back centered. So it's not all for nothing. Now we just need to bring that logo back somehow.

 

By the way, that Apple logo looks like a cherry on that huge resolution. :))

Link to comment
Share on other sites

With CSMVideoDrv installed, I get max resolution at 1600x1200 and another lower resolution, but all scale is 4:3.

I have try set OS and Clover GUI resolution back to 4k (3480x2160). Seem like stage 2 is lost or it doesn't load anymore. It's usually take around 2 - 3 second at stage 2, now it just flash and load login screen

 

I have take a capture about it: https://www.youtube.com/watch?v=BrDUhj-7UyI

  • Like 1
Link to comment
Share on other sites

With CSMVideoDrv installed, I get max resolution at 1600x1200 and another lower resolution, but all scale is 4:3.

I have try set OS and Clover GUI resolution back to 4k (3480x2160). Seem like stage 2 is lost or it doesn't load anymore. It's usually take around 2 - 3 second at stage 2, now it just flash and load login screen

 

I have take a capture about it:

So this is with CSM disabled, max resolution in Clover UI and OS X, and you have no second stage at all.

 

What if you temporarily remove the injected properties (the hex code you initially injected in Clover config.plist) and let it load, in full resolution, with CSM disabled, just like before? Will the second stage appear but loading bar will drop back to the bottom left corner?

 

In theory, and in my tests so far (though I'm on a 19" 1440x900 monitor, so you can understand why I'm drooling for that 4K of yours :)) ), you should not need anything if you disable CSM in Bios. At least I don't...

As I said, I keep it enabled just for my other drive. Still, you've got so many issues with pretty high end hardware.

 

By the way, are you using SSD? Cause that boot is just too freaking fast!!

  • Like 1
Link to comment
Share on other sites

So this is with CSM disabled, max resolution in Clover UI and OS X, and you have no second stage at all.

 

What if you temporarily remove the injected properties (the hex code you initially injected in Clover config.plist) and let it load, in full resolution, with CSM disabled, just like before? Will the second stage appear but loading bar will drop back to the bottom left corner?

 

In theory, and in my tests so far (though I'm on a 19" 1440x900 monitor, so you can understand why I'm drooling for that 4K of yours :)) ), you should not need anything if you disable CSM in Bios. At least I don't...

As I said, I keep it enabled just for my other drive. Still, you've got so many issues with pretty high end hardware.

 

By the way, are you using SSD? Cause that boot is just too freaking fast!!

 

 

Yea, I'm using 2x Samsum 850 for windows and osx.

If I removed injected properties, the bar will drop back to the bottom left corner, with any resolution on osx or clover and the second stage still load (without logo). I will try with custom logo from clover efi :D

Link to comment
Share on other sites

I uncheck Inject EDID and Patch VBios. From GUI, set resolution to 4k, and checked use custom logo.

Here are result by changing resolution in osx:

- Default scale (1080p): It's show correct like real mac, I got apple logo and loading bar at center  (stage 1 and 2 )

- 1440p, 2160p (4k): It just flash like video above and enter direct to login screen (No stage 2).

 

I do not have any 5k IMac to test how it appear when scale to 1440p or 4k resolution :D, so I just think that apple do not have stage 2 config for 1440p or above, hope someone who has 5K imac can confirm it for me :D

 

p/s: Your patch are work for me, with default setting. Thank you a lot for helping me and post a nice tutorial :)

 

Attached my current clover config, It may help someone else.

config.plist.zip

  • Like 1
Link to comment
Share on other sites

I uncheck Inject EDID and Patch VBios. From GUI, set resolution to 4k, and checked use custom logo.

Here are result by changing resolution in osx:

- Default scale (1080p): It's show correct like real mac, I got apple logo and loading bar at center  (stage 1 and 2 )

- 1440p, 2160p (4k): It just flash like video above and enter direct to login screen (No stage 2).

 

I do not have any 5k IMac to test how it appear when scale to 1440p or 4k resolution :D, so I just think that apple do not have stage 2 config for 1440p or above, hope someone who has 5K imac can confirm it for me :D

 

p/s: Your patch are work for me, with default setting. Thank you a lot for helping me and post a nice tutorial :)

 

Attached my current clover config, It may help someone else.

I'm just curious. Does it work in 1080p, with no Custom Logo in config?

 

Also, does it still work with enabled CSM + PatchVbios, at 1080p?

 

What I wanna know is: was it just a matter of resolution? Was the CSM enabled/disabled relevant for this to work? 

I mean, for centering the logo, CSM disabled/enabled doesn't make any difference. It works either way. But what about the logo?

 

Also, is your VRAM correctly recognized?

 

 

And yeah, 5k iMac would be awesome... I can't even afford a 1k iMac. :))

 

By the way, thank you very much for testing. Not many people are willing to try all these different scenarios. So thank you!

 

And if you find a way to have that logo in 4K, please, do let me know. 

 

I don't even know how to consider this. OK? Not ok? Not...quite ok? :)) I mean, I want to add your card to the first post. But we still don't know how to make it work in native resolution. It works in 1080p, which is good. But it doesn't quite work in 1440p or 4K. Until further research is confirmed on this setup, I'll consider this as "partially supported" or something like that. And maybe link to your post, if you don't mind.

Link to comment
Share on other sites

It's still work on 1080p without CustomLogo, so I guess custom logo doesn't effect to apple logo at stage 2.

Somehow it cache my login screen resolution. All video above show that I got 1440p or 2160p login screen, but when I changed osx resolution to 1080p (default for display in Settings), then change it back to 1440p or 2160p, it still show me 1080p login screen, after login it scale to large display, which are in osx display setting (1440p or 2160p). This thing didn't happened before.

 

It doesn't work with CSM enabled and PatchVBios at all resolution, the bar fail back to bottom left corner

 

I just realize that my VRAM is 0MB, something happen here, I was get 4GB VRAM before I inject the hex. Problem must come from my injected hex, maybe the value 0x100000000 is incorrect?

 

I will let you know when I make it work native resolution :D

Link to comment
Share on other sites

It's still work on 1080p without CustomLogo, so I guess custom logo doesn't effect to apple logo at stage 2.

Somehow it cache my login screen resolution. All video above show that I got 1440p or 2160p login screen, but when I changed osx resolution to 1080p (default for display in Settings), then change it back to 1440p or 2160p, it still show me 1080p login screen, after login it scale to large display, which are in osx display setting (1440p or 2160p). This thing didn't happened before.

 

It doesn't work with CSM enabled and PatchVBios at all resolution, the bar fail back to bottom left corner

 

I just realize that my VRAM is 0MB, something happen here, I was get 4GB VRAM before I inject the hex. Problem must come from my injected hex, maybe the value 0x100000000 is incorrect?

 

I will let you know when I make it work native resolution :D

I guess you need to restart your computer after each change in OS X display resolution for the changes to take effect? Weird...

 

About the VRAM, I'll double check that value. It might be wrong indeed.

 

Thank you! :)

 

Update: yep, I'm pretty sure values past 4GB are wrong. So I removed them. I'm working on getting the correct ones up, as soon as I get them.

 

In the meantime, what if you remove the VRAM section of the xml and convert to hex?

 

Meaning remove this:

<key>VRAM,totalsize</key>
<string>0x80000000</string>

Do you get the right value? 

Link to comment
Share on other sites

After remove VRAM from xml, i got 256MB ram on my 970  :angel_not:

Got following size with some tries:

 

2560MB with 0xA0000000

3584MB with 0xE0000000

 

1st number give us 256MB, so max memory we can get: 256x15 (F) = 3840MB

2nd number give us 16MB, so max memory we can get: 16x15 = 240MB

3rd number give us 1MB: so max memory we can get: 1x15 = 15MB 

 

With 0xFFF0000 I get 4095MB vram, as it detected by default (without inject the hex to fix loading bar)

 

So if we devide 1MB = 1024KB to 16, we will get 4th number value is 64KB, max we can get is 64 x 15 = 960kb

So on, 5th is 4KB each, max we can get is 4x15 = 60kb

6th is 4x1024 = 4096bytes, devide to 16 we have 256 bytes each 6th, max we can get is 256 x 15 = 3840 bytes ~ 4KB.

same for 7th and 8th

Sum the total from 1 -> 8, i still got 4095MB at 0xFFFFFFFF . Some how the value from 4th are not calculate to total of VRAM, if it does, I should get 4096MB VRAM  :D

 

P/S: I always get lower value than real value from bios/windows on osx, at yosemite, my processor show 3.99ghz only, ram at 2285MHZ, GTX 970 at 4095 VRAM. After upgrade to el capitan, my processor goes back to 4GHZ, other value still same as before. On windows and bios, my Ram running at 2400MHZ, not a big problem because my ram also has xmp profile for 2285MHZ too.

  • Like 1
Link to comment
Share on other sites

Hello everyone,

 

I just wanted to chime in on the subject with a very similar situation to wrk73 when booting my single 4K monitor and my EVGA 670 4GB over DP (UEFI GOP) with El Capitan.

 

I have both the first and second stage working by adding @3,AAPL,boot-display to my DSDT, but the second stage (with centered Apple logo and progress bar) only displays properly when my Display is set to the default resolution in system preferences. Other scaled resolutions higher then 1920x1080 will interfere with the second stage and transition to desktop/login screen.

 

I've also noted that the first stage and second stage display at different resolutions. First stage displays at monitor defaults. The second stage displays at system preference defaults (1920x1080), its also larger in appearance then first. I'm thinking this might be the reason for the 1second blackout between the two stages at least in my case.

 

For the second stage not displaying properly at res other then 1080, more investigation is required. A retina iMac and real MacPro6,1 with 4/5K display would be very helpful with this investigation.

 

Hope this information helps someone else.

 

I'll post back again If I find more details or a solution to my OCD.  :)

 

Gratitude,

 

Robert aka Mrengles

Link to comment
Share on other sites

For the second stage not displaying properly at res other then 1080, more investigation is required. A retina iMac and real MacPro6,1 with 4/5K display would be very helpful with this investigation.

 

Well, no magic here, this depend by your bootloader if pass/set the right argument to the kernel....if not report a bug to the devs of your bootloader and ask if that is implemented:

 

#define kBootArgsFlagHiDPI        (1 << 1)

 

https://opensource.apple.com/source/xnu/xnu-2782.1.97/pexpert/pexpert/i386/boot.h

 

But probably depend also from the Vesa res detected (not always is acquired correctly)

 

EDIT

check for the right BooterConfig if you are using Clover..

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

I've also noted that the first stage and second stage display at different resolutions. First stage displays at monitor defaults. The second stage displays at system preference defaults (1920x1080), its also larger in appearance then first. I'm thinking this might be the reason for the 1second blackout between the two stages at least in my case.

 

Hope this information helps someone else.

 

Gratitude,

 

Robert aka Mrengles

 

Hi, Robert

 

Well, the first stage boot is displayed by the bootloader (Clover, I assume), so resolution should probably be tweaked from there.

The second stage is displayed by the kernel, so system settings kick in here.

 

The gap between the two is most likely not due to the difference in resolution. I've got the same resolution throughout the entire boot (both stages) and still have that small gap. Nothing to be concerned about. But not yet perfect either. Although, as I said, some older iMacs have it too. So..yeah. :)

Link to comment
Share on other sites

Is both apply to igpu & discrete Micky1979?

 

Sure, but this has only to do with apple logo and progress bar sizing (if the bit is set on a low screen res it should work anyway.. only a big logo/progress bar..or viceversa)

Link to comment
Share on other sites

Hey Guys

 

I'm actually using Ozmosis r1479 on this setup at the moment, but checking with clover is no problem. It will just have to wait until after I get home from work.

 

Yes IOFBNeedsRefresh=false when checking ioreg. This wasn't the case until I edited my DSDT and added @3,AAPL,boot-display to my GFX0 device injections.

 

I do have the iGPU enabled for AirPlay video support, but using an Ivy bridge frame buffer with no physical ports (just like the iMac13,2) so that I can boot with my discrete graphics set as default in my AsRock UEFI/Bios.

 

If anyone would like me to post IOReg, DSDT or anything else just let me know.

Link to comment
Share on other sites

Hey Guys

 

I'm actually using Ozmosis r1479 on this setup at the moment, but checking with clover is no problem. It will just have to wait until after I get home from work.

 

Yes IOFBNeedsRefresh=false when checking ioreg. This wasn't the case until I edited my DSDT and added @3,AAPL,boot-display to my GFX0 device injections.

 

I do have the iGPU enabled for AirPlay video support, but using an Ivy bridge frame buffer with no physical ports (just like the iMac13,2) so that I can boot with my discrete graphics set as default in my AsRock UEFI/Bios.

 

If anyone would like me to post IOReg, DSDT or anything else just let me know.

 

I'm also curious if this works for you with Clover and injecting the device properties hex. :D I would love to add your GTX 670 to the list of successfully tested video cards (even if it's with limited support, for now), just like it was for wrk73. I don't see why it wouldn't work with that method. So far, people who tried them both said that it works with either one of them.

 

Also, for as far as I can see, you also have a video card with 4 GB of RAM. Do you also see 4095 MB in About This Mac, without "forcing it" to display a specific value? Cause I don't see 2047 on mine. :)) I've got 2048 MB, as I think is intended. So not sure why would you have 1MB less in your case. But I'm just asking.

 

Also, if you could share your opinion on the hex value we might need to use for 4096 MB of VRAM, that would be really nice. Apparently 0x100000000 is not ok, for some reason. So I'm trying to fix this, as well (even if it's just a cosmetic issue). So feedback is really appreciated.

Link to comment
Share on other sites

I just realize that my VRAM is 0MB, something happen here, I was get 4GB VRAM before I inject the hex. Problem must come from my injected hex, maybe the value 0x100000000 is incorrect?

 

I'm been monkeying around with my 670 here. The correct value for 4GB is 0xfff00000.

 

Not much in the way of success though. The screen still goes out for the second stage. But when the desktop comes up the Apple logo and progress bar are there fading out. I didn't get that before (it was just the progress bar).

 

Unfortunately injecting my gfx card properties seems to interfere with Clover's HDA injection. I get no pin config and the layout ID is set to 0. When I disable injecting the gfx card properties, it works again.

 

I've also been trying this stuff out with a HD5450 but without much success either. It behaves similarly to this 670: no second stage and logo and bar fading out when the desktop appears. However there's also a band of graphic corruption at the end of the first stage that wasn't there on Mavericks. I guess it's something similar to the second stage corruption that Intel gfx get. I had a quick look but couldn't find a IOGraphics patch for ATI (I tried the Intel one but it didn't fix it).

  • Like 1
Link to comment
Share on other sites

Alternatively, you can inject your audio to device properties, or DSDT

<key>PciRoot(0x0)/Pci(0x1b,0x0)</key>
<dict>
  <key>PinConfigurations</key>
  <data></data>
  <key>layout-id</key>
  <data></data>
</dict>

With your current method, i need to set FIXHDA=true in config to inject layout-id

Link to comment
Share on other sites

Sir, I translated this post and reposted it on a Chinese form, I would be very glad if you could approve of this.

link:http://bbs.pcbeta.com/viewthread-1648662-1-1.html

Hello

 

I approve.

 

However, you might want to add this part, between [ code ] tags, as well :) :

 

./gfxutil -i xml -o hex device-properties.xml device-properties.hex

Also, if you think screenshots might help, maybe add those as well.

I'm been monkeying around with my 670 here. The correct value for 4GB is 0xfff00000.

 

Not much in the way of success though. The screen still goes out for the second stage. But when the desktop comes up the Apple logo and progress bar are there fading out. I didn't get that before (it was just the progress bar).

 

Unfortunately injecting my gfx card properties seems to interfere with Clover's HDA injection. I get no pin config and the layout ID is set to 0. When I disable injecting the gfx card properties, it works again.

 

I've also been trying this stuff out with a HD5450 but without much success either. It behaves similarly to this 670: no second stage and logo and bar fading out when the desktop appears. However there's also a band of graphic corruption at the end of the first stage that wasn't there on Mavericks. I guess it's something similar to the second stage corruption that Intel gfx get. I had a quick look but couldn't find a IOGraphics patch for ATI (I tried the Intel one but it didn't fix it).

 

Thank you, Riley!

 

For your missing second stage boot, did you try changing the resolution to 1080p? Or is it 1080p already? You seem to be having the exact same issue as wrk73 mentioned above.

 

As for the VRAM, isn't 4 GB supposed to be 4096 MB? Is it supposed to be 4095 MB? Cause that's pretty much what that hex outputs. I don't have 2047 MB on my 2GB card. I have 2048 MB. Why would it be any different for 4GB? Also, I'm curious what it should be for 5GB and above, if 4095 MB is the correct value for 4GB instead of 4096 MB... I'm honestly confused. You can't write it as 0x100000000 cause you will reach (actually exceed) the max value for the 32bit integer. Then...how the hell do you do it? Switch to 64bit? :)) I mean, there are cards out there with 16GB of video memory! How do they do it?

 

0xfff00000 = 4293918720 (bytes) = 4095 (MB)

 

Right? If so, what am I missing here?

Link to comment
Share on other sites

 Share

×
×
  • Create New...