Riley Freeman Posted October 7, 2015 Share Posted October 7, 2015 Because I can't stop messing with stuff... When I extracted the device properties earlier, my graphics was being injected via SSDT. Although I hadn't set it in the SSDT, when I extracted the properties both ports had a display-cfg value (0x00030103 for port 0 and 0x0100ffff for port 1). When I removed the display-cfg values a little while ago from my device properties and injected the resulting hex string I got a brief flash going from first to second stage. Checking the IOReg both values were ffffffff. So maybe the key to having no flash between stages (for nVidia anyway) is to have display-cfg set? 1 Link to comment Share on other sites More sharing options...
Mirone Posted October 8, 2015 Share Posted October 8, 2015 arsradu, you were right I was mistaken for a Real Mac where it is possible to notice the mouse cursor in the upper left corner look at this video. the flash reason is because of course I am almost 100% sure of that. https://www.youtube.com/watch?v=3umkLL9cXxE Link to comment Share on other sites More sharing options...
arsradu Posted October 8, 2015 Author Share Posted October 8, 2015 Because I can't stop messing with stuff... When I extracted the device properties earlier, my graphics was being injected via SSDT. Although I hadn't set it in the SSDT, when I extracted the properties both ports had a display-cfg value (0x00030103 for port 0 and 0x0100ffff for port 1). When I removed the display-cfg values a little while ago from my device properties and injected the resulting hex string I got a brief flash going from first to second stage. Checking the IOReg both values were ffffffff. So maybe the key to having no flash between stages (for nVidia anyway) is to have display-cfg set? It's itching, huh? How can one know which value should be added for display-cfg? Ok, it's 0x00030103 for port 0 and 0x0100ffff for port 1. But what about other posts? I'll try the one for port 1 and come back with updates. Update: it doesn't seem to affect that gap in any way. At least in my case. Are you using stock or proprietary Nvidia drivers? arsradu, you were right I was mistaken for a Real Mac where it is possible to notice the mouse cursor in the upper left corner look at this video. the flash reason is because of course I am almost 100% sure of that. Interesting... Ok, I didn't get this: the flash reason is because of course I am almost 100% sure of that. Uhm....what? ) And can it really be the cause for that gap between the two stages? Also, isn't that a MacBOOK? Meaning a laptop? I thought we were talking about desktop graphics here. 270X Ok. Added as 270X. Thank you. Still, could you please, add a bit more about what exactly did you do to get it to work on your card? And can this be achieved without DSDT editing? I'm thinking about Clover DSDT patches only. 4096 MB (4 GB) 0x100000000 not working VBIOS. It show 0MB in About This Mac As Mirone said, this is most likely only cosmetic. However the value should be correct... But maybe I missed something. Guys, can anyone confirm the VRAM hex values from the first post? They look ok to me. But I would like a second opinion on that. Link to comment Share on other sites More sharing options...
Mirone Posted October 8, 2015 Share Posted October 8, 2015 Uhm....what? ) And can it really be the cause for that gap between the two stages? Also, isn't that a MacBOOK? Meaning a laptop? I thought we were talking about desktop graphics here. the above video posted by cecekPawon It shows a boot equal to a macbook. Link to comment Share on other sites More sharing options...
Riley Freeman Posted October 8, 2015 Share Posted October 8, 2015 @arsradu: I'm using the stock El Capitan kexts. I'm not sure whether those display-cfg values were injected by Clover or OS X (as I said, I didn't define them in the SSDT). They were extracted by IOReg when creating the device properties xml file. I just noticed that removing them caused a brief flash which wasn't there before. 1 Link to comment Share on other sites More sharing options...
arsradu Posted October 8, 2015 Author Share Posted October 8, 2015 the above video posted by cecekPawon It shows a boot equal to a macbook. Oh, I see now. There is still a gap there. But..yes, the cursor is present on the second stage boot. @arsradu: I'm using the stock El Capitan kexts. I'm not sure whether those display-cfg values were injected by Clover or OS X (as I said, I didn't define them in the SSDT). They were extracted by IOReg when creating the device properties xml file. I just noticed that removing them caused a brief flash which wasn't there before. I didn't define anything in either Clover, or SSDT.... At least not manually. But I'll take a look at my IOreg tonight and see if the values I get (if I get any such values) are different in comparison to what you got. Anyway, so far, it doesn't seem to affect that gap in any way. Link to comment Share on other sites More sharing options...
Mirone Posted October 8, 2015 Share Posted October 8, 2015 in iMac late 2014: Link to comment Share on other sites More sharing options...
arsradu Posted October 8, 2015 Author Share Posted October 8, 2015 in iMac late 2014: That's a beautiful machine. Still, that display, from that angle... ) Not the best example. I'm sure it probably looks better in person. But still. ) Anyway, so this one is gap-less. And it's a "desktop". Then what the hell is the cause for that gap? Link to comment Share on other sites More sharing options...
cecekpawon Posted October 9, 2015 Share Posted October 9, 2015 have you tried clover devices arbitrary inject with new rehabman fix? sample here .. Link to comment Share on other sites More sharing options...
arsradu Posted October 9, 2015 Author Share Posted October 9, 2015 have you tried clover devices arbitrary inject with new rehabman fix? sample here .. I'm not sure the question was for me... Probably not. ) Anyway, I did see that before. However I just noticed a little bug in that example (of course, it's just an example, and Slice also mentions it's not perfect). But I'm not sure if I got the implementation correctly. So, under Devices, we add a new Array called Arbitrary <key>Arbitrary</key> <array> </array> In which we add this? <dict> <key>PciAddr</key> <string>01:00.00</string> <key>Comment</key> <string>Nvidia Geforce card in PCIe slot</string> <key>CustomProperties</key> <array> <dict> <key>Key</key> <string>model</string> <key>Value</key> <string>Gigabyte GeForce 7300 LE</string> </dict> <dict> <key>Key</key> <string>AAPL,boot-device</string> //I suppose this should become @1,APPL,boot-display. Right? <key>Value</key> <data>AQAAAA==</data> // I never knew where did this "data" come from. I know it's Base64. But Base64 of what? Can we add a string here? Like <string>0x00000001</string> ? </dict> </array> </dict> Link to comment Share on other sites More sharing options...
arsradu Posted October 9, 2015 Author Share Posted October 9, 2015 @arsradu: I'm using the stock El Capitan kexts. I'm not sure whether those display-cfg values were injected by Clover or OS X (as I said, I didn't define them in the SSDT). They were extracted by IOReg when creating the device properties xml file. I just noticed that removing them caused a brief flash which wasn't there before. Display-cfg value in IOreg (without injecting/specifying anything) is ffffffff, as you said. However, using the value you mentioned above for port @1 (0x0100ffff), I had the same behavior as without it (flashing between the two stages). Maybe there are different values for different cards and not just for different ports? Just saying. Link to comment Share on other sites More sharing options...
Riley Freeman Posted October 9, 2015 Share Posted October 9, 2015 Maybe try 0x00030103. IIRC 0x0100ffff was on my unused port. When I googled both values I found references to them which suggests they may be somewhat generic. Link to comment Share on other sites More sharing options...
arsradu Posted October 10, 2015 Author Share Posted October 10, 2015 Maybe try 0x00030103. IIRC 0x0100ffff was on my unused port. When I googled both values I found references to them which suggests they may be somewhat generic. Wanna hear something funny? The injected value in Clover doesn't actually get injected (IOreg still says FFFFFFFF). Result? Well, same issue, of course. Link to comment Share on other sites More sharing options...
vonmolk Posted October 10, 2015 Share Posted October 10, 2015 Out of curiosity I checked my macbook pro to see if there was any reason why it didn't have the flash and why my hackintosh does. Only thing I could find different was this key under iGPU. Not sure if this is it or if setting display-cfg will do it. If I knew what to set display-cfg to I would try it, but haven't quite figured that out. <key>StartupDisplay</key> <data> R04CAAAAAAAACgAAQAYAACD8ABAAAAAAAAoAAEAGAACgAAAAAAAAAAAAAAAu AAAAAAAAAAAAAAAwAAAAIAAAAAMAAAAGAAAAAAAAAAAAAAAAAAABAAAAAAAA AACtCw3wAQAAAAAAAAAACgAAQAYAACD8ABAAAAAAAAoAAEAGAACgAAAAAAAA AAAAAAAuAAAAAAAAAAAAAAAwAAAAIAAAAAMAAAAGAAAAAAAAAAAAAAA= </data> Link to comment Share on other sites More sharing options...
Riley Freeman Posted October 10, 2015 Share Posted October 10, 2015 Wanna hear something funny? The injected value in Clover doesn't actually get injected (IOreg still says FFFFFFFF). Result? Well, same issue, of course. I'm injecting the values as part of the device properties, not via Clover. Here's how my device properties look: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>PciRoot(0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)</key> <dict> <key>@0,AAPL,boot-display</key> <string>0x00000001</string> <key>@0,compatible</key> <string>NVDA,NVMac</string> <key>@0,connector-type</key> <string>0x00000800</string> <key>@0,device_type</key> <string>display</string> <key>@0,display-cfg</key> <string>0x00030103</string> <key>@0,name</key> <string>NVDA,Display-A</string> <key>@1,compatible</key> <string>NVDA,NVMac</string> <key>@1,connector-type</key> <string>0x00000800</string> <key>@1,device_type</key> <string>display</string> <key>@1,display-cfg</key> <string>0x0100ffff</string> <key>@1,name</key> <string>NVDA,Display-B</string> <key>NVCAP</key> <data> BAAAAAAAAwAIAAAAAAAABwAAAAA= </data> <key>VRAM,totalsize</key> <string>0x40000000</string> <key>device_type</key> <string>NVDA,Parent</string> <key>model</key> <string>NVIDIA GeForce 210</string> <key>rom-revision</key> <string>70.18.5F.00.06</string> </dict> </dict> </plist> The NVCAP value is extracted from my card BIOS with NVCAP Maker. It's not the generic one that Clover etc uses. 1 Link to comment Share on other sites More sharing options...
arsradu Posted October 10, 2015 Author Share Posted October 10, 2015 I'm injecting the values as part of the device properties, not via Clover. Here's how my device properties look: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>PciRoot(0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)</key> <dict> <key>@0,AAPL,boot-display</key> <string>0x00000001</string> <key>@0,compatible</key> <string>NVDA,NVMac</string> <key>@0,connector-type</key> <string>0x00000800</string> <key>@0,device_type</key> <string>display</string> <key>@0,display-cfg</key> <string>0x00030103</string> <key>@0,name</key> <string>NVDA,Display-A</string> <key>@1,compatible</key> <string>NVDA,NVMac</string> <key>@1,connector-type</key> <string>0x00000800</string> <key>@1,device_type</key> <string>display</string> <key>@1,display-cfg</key> <string>0x0100ffff</string> <key>@1,name</key> <string>NVDA,Display-B</string> <key>NVCAP</key> <data> BAAAAAAAAwAIAAAAAAAABwAAAAA= </data> <key>VRAM,totalsize</key> <string>0x40000000</string> <key>device_type</key> <string>NVDA,Parent</string> <key>model</key> <string>NVIDIA GeForce 210</string> <key>rom-revision</key> <string>70.18.5F.00.06</string> </dict> </dict> </plist> The NVCAP value is extracted from my card BIOS with NVCAP Maker. It's not the generic one that Clover etc uses. Cool! Thank you. I'll give that a try in a little while. What exactly does that NVCAP value do? What's it for? Also, I suppose the data you injected is Base64 encode for something like this: 0400000000002100000000000000000700000000 ? Link to comment Share on other sites More sharing options...
Riley Freeman Posted October 10, 2015 Share Posted October 10, 2015 Yeah it was plain text when I pasted it into PlistEdit. But it shows up as Base64 when I read it out in TextEdit for pasting here. As far as I know NVCAP is for setting up the video ports. I'm not sure if it has any effect but I've always tended to use my card's value when injecting. Link to comment Share on other sites More sharing options...
arsradu Posted October 10, 2015 Author Share Posted October 10, 2015 Yeah it was plain text when I pasted it into PlistEdit. But it shows up as Base64 when I read it out in TextEdit for pasting here. As far as I know NVCAP is for setting up the video ports. I'm not sure if it has any effect but I've always tended to use my card's value when injecting. Ok, cause I tried encoding that string with an online Base64 encoder (I hope it's the same thing...) and it resulted in something like this: MDQwMDAwMDAwMDAwMjEwMDAwMDAwMDAwMDAwMDAwMDcwMDAwMDAwMA== Pretty creepy looking, if you ask me. ) Anyway, I added 0x00030103 to my port nr 1, since that's the one that I'm using. And, if you want, you can take a look at my xml output below. I didn't add connector-type data since I have no such thing in IOreg, and no idea where did you get those from. ) <key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)</key> <dict> <!-- Primary display --> <key>@1,AAPL,boot-display</key> <string>0x00000001</string> <!-- Port: DVI-D --> <key>@0,compatible</key> <string>NVDA,NVMac</string> <key>@0,device_type</key> <string>display</string> <key>@0,name</key> <string>NVDA,Display-A</string> <!-- Port: VGA --> <key>@1,compatible</key> <string>NVDA,NVMac</string> <key>@1,device_type</key> <string>display</string> <key>@1,name</key> <string>NVDA,Display-B</string> <key>@1,display-cfg</key> <string>0x00030103</string> <!-- Port: HDMI --> <key>@2,compatible</key> <string>NVDA,NVMac</string> <key>@2,device_type</key> <string>display</string> <key>@2,name</key> <string>NVDA,Display-C</string> <!-- start: regular values --> <key>NVCAP</key> <data>MDQwMDAwMDAwMDAwMjEwMDAwMDAwMDAwMDAwMDAwMDcwMDAwMDAwMA==</data> <key>VRAM,totalsize</key> <string>0x80000000</string> <key>device_type</key> <string>NVDA,Parent</string> <key>model</key> <string>MSi GeForce GTX 650</string> <key>rom-revision</key> <string>80.07.35.00.04</string> <!-- end: regular values --> </dict> Anyway, if that looks ok, it didn't make any difference to the actual gap... It's still there. However, adding display-cfg this way DID make a difference in the IOreg output. It does now read that value (0x00030103), assuming it's the correct one, for port @1. Link to comment Share on other sites More sharing options...
Riley Freeman Posted October 10, 2015 Share Posted October 10, 2015 I think the connector data is supposed to help define whether the port is DVI/VGA etc. Although you'll see that in most DSDT fixes it's set as 0x00000800 for each port. There's a lot of stuff like that in nVidia injection that seems to be technically "wrong" but somehow makes little to no difference for my desktop cards at least. Same with NVCAP. But my needs are simple so as long as I have working DVI I'm happy. There must be more to getting no flash then. It was worth a try anyway. 1 Link to comment Share on other sites More sharing options...
arsradu Posted October 10, 2015 Author Share Posted October 10, 2015 I think the connector data is supposed to help define whether the port is DVI/VGA etc. Although you'll see that in most DSDT fixes it's set as 0x00000800 for each port. There's a lot of stuff like that in nVidia injection that seems to be technically "wrong" but somehow makes little to no difference for my desktop cards at least. Same with NVCAP. But my needs are simple so as long as I have working DVI I'm happy. There must be more to getting no flash then. It was worth a try anyway. And I thank you very much for that! I also don't need much. And since my current monitor doesn't have DVI, I had to stick to VGA for now. Oh well. I hope it won't be for much longer. Anyway, I don't really mind that flashing. I came a long way from the way it used to look. So I'm pretty happy with what I've got right now. Of course, if it can get better, I would love to try it. But I'm just saying, I don't mind it that much. Again, big thanks for sharing your thoughts over here. Link to comment Share on other sites More sharing options...
wrk73 Posted October 12, 2015 Share Posted October 12, 2015 I have this problem since Yosemite https://www.youtube.com/watch?v=CUPcUl5upP0 I'm using Asus z97 Pro Gamer, Asus GTX strix 970 with GOP UEFI supported and dell P2715Q. After try disable CSM in bios, I get 4k at clover bootloader. But problem still remain, the loading bar at left bottom left. Try to use your patch but can't pass step 2. Here are result after run script in step 2: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>PciRoot(0x0)/Pci(0x14,0x0)</key> <dict> <key>AAPL,clock-id</key> <string>0x00</string> <key>AAPL,current-available</key> <string>0x04b0</string> <key>AAPL,current-extra</key> <string>0x02bc</string> <key>AAPL,current-in-sleep</key> <string>0x03e8</string> <key>built-in</key> <string>0x00</string> <key>device_type</key> <string>0x49434858</string> </dict> <key>PciRoot(0x0)/Pci(0x19,0x0)</key> <dict> <key>built-in</key> <string>0x01</string> <key>device_type</key> <data> RXRoZXJuZXQA </data> </dict> <key>PciRoot(0x0)/Pci(0x1a,0x0)</key> <dict> <key>AAPL,clock-id</key> <string>0x01</string> <key>AAPL,current-available</key> <string>0x04b0</string> <key>AAPL,current-extra</key> <string>0x02bc</string> <key>AAPL,current-in-sleep</key> <string>0x03e8</string> <key>built-in</key> <string>0x00</string> <key>device_type</key> <string>0x49434845</string> </dict> <key>PciRoot(0x0)/Pci(0x1b,0x0)</key> <dict> <key>MaximumBootBeepVolume</key> <string>0x00</string> <key>PinConfigurations</key> <string>0x00</string> <key>layout-id</key> <string>0x00000001</string> </dict> <key>PciRoot(0x0)/Pci(0x1d,0x0)</key> <dict> <key>AAPL,clock-id</key> <string>0x02</string> <key>AAPL,current-available</key> <string>0x04b0</string> <key>AAPL,current-extra</key> <string>0x02bc</string> <key>AAPL,current-in-sleep</key> <string>0x03e8</string> <key>built-in</key> <string>0x00</string> <key>device_type</key> <string>0x49434845</string> </dict> </dict> </plist> I couldn't find any where to setup VRAM... Link to comment Share on other sites More sharing options...
arsradu Posted October 12, 2015 Author Share Posted October 12, 2015 I have this problem since Yosemite https://www.youtube.com/watch?v=CUPcUl5upP0 I'm using Asus z97 Pro Gamer, Asus GTX strix 970 with GOP UEFI supported and dell P2715Q. After try disable CSM in bios, I get 4k at clover bootloader. But problem still remain, the loading bar at left bottom left. Try to use your patch but can't pass step 2. Here are result after run script in step 2: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>PciRoot(0x0)/Pci(0x14,0x0)</key> <dict> <key>AAPL,clock-id</key> <string>0x00</string> <key>AAPL,current-available</key> <string>0x04b0</string> <key>AAPL,current-extra</key> <string>0x02bc</string> <key>AAPL,current-in-sleep</key> <string>0x03e8</string> <key>built-in</key> <string>0x00</string> <key>device_type</key> <string>0x49434858</string> </dict> <key>PciRoot(0x0)/Pci(0x19,0x0)</key> <dict> <key>built-in</key> <string>0x01</string> <key>device_type</key> <data> RXRoZXJuZXQA </data> </dict> <key>PciRoot(0x0)/Pci(0x1a,0x0)</key> <dict> <key>AAPL,clock-id</key> <string>0x01</string> <key>AAPL,current-available</key> <string>0x04b0</string> <key>AAPL,current-extra</key> <string>0x02bc</string> <key>AAPL,current-in-sleep</key> <string>0x03e8</string> <key>built-in</key> <string>0x00</string> <key>device_type</key> <string>0x49434845</string> </dict> <key>PciRoot(0x0)/Pci(0x1b,0x0)</key> <dict> <key>MaximumBootBeepVolume</key> <string>0x00</string> <key>PinConfigurations</key> <string>0x00</string> <key>layout-id</key> <string>0x00000001</string> </dict> <key>PciRoot(0x0)/Pci(0x1d,0x0)</key> <dict> <key>AAPL,clock-id</key> <string>0x02</string> <key>AAPL,current-available</key> <string>0x04b0</string> <key>AAPL,current-extra</key> <string>0x02bc</string> <key>AAPL,current-in-sleep</key> <string>0x03e8</string> <key>built-in</key> <string>0x00</string> <key>device_type</key> <string>0x49434845</string> </dict> </dict> </plist> I couldn't find any where to setup VRAM... Ok, why can't you pass step 2? I don't get it. This is the untouched xml. Now you have to edit it for your needs. When you will start editing it, and ADDING all the information you need, you will find the place to add your VRAM value, as well. By the way, the selected part in the screenshot is not for design. That's the part that you need to add and change, according to your card and port. Also, if you want me to take a look at this issue, I will need your IOreg (config.plist would be nice too). To see which port are you using and apply the patch accordingly. 1 Link to comment Share on other sites More sharing options...
wrk73 Posted October 12, 2015 Share Posted October 12, 2015 Thank you, I was able to center the loading bar. But the apple logo is missing. I have tried with patch vbios and inject edid in clover config. When I try with my custom Edid (extracted from windows), I lost clover GUI, It's auto boot into mac disk (I give it 5 second countdown to select os), so I got only stage 2. Link to comment Share on other sites More sharing options...
arsradu Posted October 12, 2015 Author Share Posted October 12, 2015 Thank you, I was able to center the loading bar. But the apple logo is missing. I have tried with patch vbios and inject edid in clover config. When I try with my custom Edid (extracted from windows), I lost clover guide, It's auto boot into mac disk (I give it 5 second countdown to select os), so I got only stage 2. Try enabling CSM in Bios. Then Patch VBios. I don't think you need to Inject EDID or use your custom one (should be the same either way). Try without it first. I have no issues without adding/injecting EDID. Works just fine with or without it. Anyway, don't use both Clover Inject EDID and a custom EDID. Use only one of them. Or, for testing, try without any EDID whatsoever. See if it makes any difference. I'm assuming you mean Clover GUI, not guide. And you shouldn't lose first stage boot logo for that. In your video, I can see first stage boot just fine. You can try posting your config. Maybe something is wrong in there. Link to comment Share on other sites More sharing options...
WinstonAce Posted October 12, 2015 Share Posted October 12, 2015 Are you guys using video card with GOP? Link to comment Share on other sites More sharing options...
Recommended Posts