Jump to content

Clover General discussion


ErmaC
29,866 posts in this topic

Recommended Posts

@Pene: wow, extremely cool, thank you for taking all the time, all that info is very helpful!

 

Rather than writing "not complete 64bit EFI" I should have written "not complete 64bit UEFI", esp. not UEFI 2.0 .. When I insert a 64bit Windows 7 or 8 or 8.1 DVD into any of the two ODD trays, I do see TWO entries in the boot manager GUI via Alt/ Option: 'Windows', and 'EFI Boot', but only 'Windows' actually boots into the installer on DVD. But that's the legacy BootMGR, requiring a synced MBR partition ontop of the GPT partition, with all its disadvantages ..

 

The 'EFI Boot' entry stalls/ freezes. When I researched that, I learned that the first Mac that natively supports UEFI 64bit boot from a Windows installer and installation onto a pure GPT HDD is the 2013 MacBook Air. All Macs prior to that canNOT boot Efi\boot\bootx64.efi because they are based on Apples EFI, rather than the full UEFI specs. But Clover can! Haven't gone all the way with this yet, though. Would be very cool if I could boot Windows 8.1 straight from a GPT partition. I already have all the Microsoft entries in the Fat32 ESP in the efi folder incl. BCD store (with the required \Windows\system32\winload.efi entry + correct GPT partition UUID). Need a bit more time for fine-tuning via Clover (which I need for the non-Apple ATI to work properly) , or rEFInd + Clover.

 

So summed up my goals on this MacPro 3,1 are:

  1. have the non-Apple video card fully working in 10.8.5 and 10.9
     
  2. boot Windows 8.1 64bit natively from GPT, w/o an additional synced MBR partition ontop of the GPT.

I'll report back once I have results - too late now already to tackle this further :(

Link to comment
Share on other sites

@Pene: wow, extremely cool, thank you for taking all the time, all that info is very helpful!

 

Rather than writing "not complete 64bit EFI" I should have written "not complete 64bit UEFI", esp. not UEFI 2.0 .. When I insert a 64bit Windows 7 or 8 or 8.1 DVD into any of the two ODD trays, I do see TWO entries in the boot manager GUI via Alt/ Option: 'Windows', and 'EFI Boot', but only 'Windows' actually boots into the installer on DVD. But that's the legacy BootMGR, requiring a synced MBR partition ontop of the GPT partition, with all its disadvantages ..

 

The 'EFI Boot' entry stalls/ freezes. When I researched that, I learned that the first Mac that natively supports UEFI 64bit boot from a Windows installer and installation onto a pure GPT HDD is the 2013 MacBook Air. All Macs prior to that canNOT boot Efi\boot\bootx64.efi because they are based on Apples EFI, rather than the full UEFI specs. But Clover can! Haven't gone all the way with this yet, though. Would be very cool if I could boot Windows 8.1 straight from a GPT partition. I already have all the Microsoft entries in the Fat32 ESP in the efi folder incl. BCD store (with the required \Windows\system32\winload.efi entry + correct GPT partition UUID). Need a bit more time for fine-tuning via Clover (which I need for the non-Apple ATI to work properly) , or rEFInd + Clover.

 

So summed up my goals on this MacPro 3,1 are:

  • have the non-Apple video card fully working in 10.8.5 and 10.9

     

  • boot Windows 8.1 64bit natively from GPT, w/o an additional synced MBR partition ontop of the GPT.
I'll report back once I have results - too late now already to tackle this further :(

 

 

 

True, Apple's is not full spec UEFI. But it does run rEFInd/Clover as 64-bit, and there is no switch later on.

The first problem with Microsoft not fully booting is because early Apple EFI firmwares don't support GOP (Graphics Output Protocol) but use UGA instead. 

So, regarding 2 - when you are booting Clover on Mac in UEFI mode (which is what you are doing when you are running CLOVERX64.efi, either through rEFInd or by blessing it, and is also what I referred to in my previous post) - that does not replace your native EFI layer. So if some binary couldn't properly run on Apple's firmware because of a missing protocol, I can't see why that would work through Clover.

 

If you really wish to add GOP support, that would probably require replacing your EFI layer too, which would mean using CloverEFI, and not just Clover in UEFI mode like we are doing. I never tried that, so I don't know if it can work on a Mac, as Apple's firmware is rather limited in regard to Legacy booting. That being said, I'm not saying that it's not an interesting idea, and maybe it is even possible. Another alternative would be writing an EFI driver which presents itself as GOP and translates its calls into UGA.

 

One more note, currently Clover doesn't properly support booting Legacy Windows on Macs (which don't do it the standard way), so adding that to the above, using Clover on AppleEFI doesn't currently really offer a solution for booting Windows on Macs (but it shouldn't be difficult to add Apple-style LegacyBoot functionality to Clover).

  • Like 2
Link to comment
Share on other sites

Install BootCamp and format the drive to FAT32, not NTFS. Then install here CloverEFI... as an idea.

About driver that get UGA and produce GOP it is a simple task. I just don't know if it is all that needed for Windows 8.

  • Like 2
Link to comment
Share on other sites

Install BootCamp and format the drive to FAT32, not NTFS. Then install here CloverEFI... as an idea.

Yes, that could possibly work, but I never tried it, as I preferred anyway to keep AppleEFI on the Mac :)

 

About driver that get UGA and produce GOP it is a simple task. I just don't know if it is all that needed for Windows 8.

Apple officially supports Windows only in Legacy mode. On old Apple (such as MacBook3,1) firmware still doesn't have GOP, but I don't know about MacPro3,1 (although it is more or less from the same time, so it's probably a similar case).

On my MacBook3,1, I saw Windows 7 in UEFI mode trying to initialise GOP, failing, and hanging with a black screen. I didn't look into it further, so as you say, possibly more things are also missing to make UEFI Windows work on old Apple firmware. It never really interested me that much, as I have no problem to just use Win7/8.1 in Legacy mode, like Apple intended.

  • Like 1
Link to comment
Share on other sites

when I try to generate SSDT with Clover, I do not have full-TDP (35) only 24.

and state turbo goes up to 3092.

 

SSDT with Clover.png

 

TableIDs checked my SSDT tables extracted by the dump. and I saw these ids.

AxqSy7o.png

 

MCz74hw.png

 

kbe7lgk.png

 

aG0ayfR.png

 

 

How can i insert into config.plist for SSDT correctly?

Link to comment
Share on other sites

@jacobbloy, Slice,

There is no touchscreen support because only partial mouse support exists, only EFI_SIMPLE_POINTER_PROTOCOL is used but touchscreens implement EFI_ABSOLUTE_POINTER_PROTOCOL.

 

@Allan Oliviera,

Clover doesn't detect the TDP (it's not possible for some cpus) so it under powers the cpu in many situations. The slight under clocking is because your base clock isn't detected at exactly 100MHz so when it's multiplied it is less than expected. Neither is probably an issue but generate and inject an ssdt if you are having some issues.

 

@BugsB, Pene

The CsmVideoDxe driver should use the CSM to create GOP so it could be used to launch the windows efi installer, however, I feel like there's probably more issues than that. You can always use the DumpUefiCalls driver to see what is missing and needed and whether it could be easily implemented or worked around.

Link to comment
Share on other sites

@BugsB, Pene

The CsmVideoDxe driver should use the CSM to create GOP so it could be used to launch the windows efi installer, however, I feel like there's probably more issues than that. You can always use the DumpUefiCalls driver to see what is missing and needed and whether it could be easily implemented or worked around.

Afaik Apple's firmware loads CSM video only after legacy boot has started, so I don't think it's present while being in native UEFI-boot. It could be investigated (and probably solved), but there hardly is any interest in this, and only few Mac models could benefit from this, let alone the fact that hardly any real Macs actually use Clover...

Link to comment
Share on other sites

Oh... That's entirely a possibility like some horrible laptops' firmwares. It's worth a test at least probably and there may be a small user base but it really takes little effort, especially when one of the developers can test..... :-) It also shouldn't be too hard to create a UGA => GOP wrapper.

Link to comment
Share on other sites

Oh... That's entirely a possibility like some horrible laptops' firmwares. It's worth a test at least probably and there may be a small user base but it really takes little effort, especially when one of the developers can test..... :-) 

CsmVideo installs GOP, but using it results in black screen when Clover tries to use GOP. I looked further, and indeed VGA calls result in nothing under UEFI on the MacBook.

So it doesn't help, we need to communicate with the Video by UGA.

Link to comment
Share on other sites

Touch screen is possible but when some developer will have it.

Volume up is not needed in Clover yet because we have no boot sound at all. After entering OS you will have all you need without Clover influence.

Windows button... In OSX it works as Options key. Clover interface seems not needed such modifier.

Thanks, but regarding the volume keys I want to use them as up and down arrows to navigate through clover and use the windows start me ur key as an enter key to select that OS. Is some one could help me with this I would live to pay them!

Link to comment
Share on other sites

@BugsB:

One more note, currently Clover doesn't properly support booting Legacy Windows on Macs (which don't do it the standard way), so adding that to the above, using Clover on AppleEFI doesn't currently really offer a solution for booting Windows on Macs (but it shouldn't be difficult to add Apple-style LegacyBoot functionality to Clover).

About this, we really shouldn't have this limitation, so I added with r2387 the capability to boot Legacy Windows on real Apple Mac (like you do through rEFInd), in case you need it. To use that you need to set in your config.plist under Boot: Legacy=Apple

  • Like 1
Link to comment
Share on other sites

@BugsB:

About this, I decided we really shouldn't have this limitation, so I added with r2387 the capability to boot Legacy Windows on real Apple Mac (like you do through rEFInd), in case you need it. To use that you need to set LegacyBoot=Apple in config.plist.

LegacyBoot=Apple is it another entry under <key>Boot</key> or add it in <key>Arguments</key>?

Link to comment
Share on other sites

@rals2007,

Sorry, it was a typo in my original post about it... Updated it now with the correct syntax.

 

P.S. Remember that this is for use only on real Apple hardware... So there is no reason to try it anywhere else.

Link to comment
Share on other sites

About driver that get UGA and produce GOP it is a simple task. I just don't know if it is all that needed for Windows 8.

It also shouldn't be too hard to create a UGA => GOP wrapper.

I looked into this, and wrote a basic driver that produces GOP using UGA. The driver works for Clover, and Clover can successfully use GOP to display its graphics.

 

BUT - apparently UGA can support screen updating only through Blt, and doesn't provide a physical frame buffer (which GOP can provide, by the address given at GraphicsOutputProtocol->Mode->FrameBufferBase). So to use UGA I had to set PixelFormat=PixelBltOnly, disabling physical frame buffer support in GOP. And when Windows was trying to boot I got again black screen.

 

So, I checked Microsoft documentation and found this (http://msdn.microsoft.com/en-us/library/windows/hardware/jj128256.aspx):

PixelFormat must be PixelBlueGreenRedReserved8BitPerColor. Note that a physical frame buffer is required; PixelBltOnly is not supported

:/

So this seems like a dead end for this idea.

Link to comment
Share on other sites

I figured that would happen, I was thinking about this yesterday. I had a crazy idea, just create an appropriate gop frame buffer and set up a timer to re blt it to the uga buffer. It may look ugly but it only needs to work for a short period....

Wtf? Three duplicate posts? Can't delete any, why are consecutive posts merged but duplicates aren't dropped????

 

EDIT: Nevermind. Still annoying though.

Link to comment
Share on other sites

KP at end of boot

 

 

specs:  Dell Inspiron 15 3521, celeron 1017U, HD2500 with HD4000 injection.  full resolution working.

mavericks 10.9 installed

booting with chameleon

everything working properly

 

i want to use clover UEFI.  i have installed clover r2269 to my EFI partition.

drivers64UEFI:emuvariableuefi-64, fsinject-64, hfsplus, osxaptiofixdrv-64, osxfatbinarydrv-64

 

clover GUI appears as expected.

 

at the end of the boot, i get a KP on X86PlatformShim.

 

attached is a pic of the KP screen, as well as the kernel log (altho the last entry logged is "DSMOS has arrived", nothing after that is logged), and my config.plist.  the config.plist is the default one installed by clover installer with the exception of changing the smbios to macmini6,2 in order to get the hd2500/4000 graphics working.

 

thanks in advance for any help

 

ken

 

 

**SOLVED**

 

i set generatepstates and generatecstates to false, and that solved the problem.

 

given that this is a low-end cpu (1.6 ghz) is there any benefit to trying to get either pstates or cstates enabled?  if so, any tips?

KP.jpeg.zip

log from failed UEFI boot.zip

config.plist.zip

Link to comment
Share on other sites

The problem is probably that it didn't generate the correct pstates and tried to set one that isn't actually available to the cpu. There is some way to dump generated tables, I forgot how though. You are dropping your previous power management tables right?

Your clover boot.log would be useful, you can create a debug.log if you can't boot by setting Boot/Log=true and it goes to \EFI\CLOVER\misc\

I see from your config you are at least attempting to drop your previous power management, however I also see you don't have a complete (valid) smbios, that may be an issue.

Link to comment
Share on other sites

The problem is probably that it didn't generate the correct pstates and tried to set one that isn't actually available to the cpu. There is some way to dump generated tables, I forgot how though. You are dropping your previous power management tables right?

Your clover boot.log would be useful, you can create a debug.log if you can't boot by setting Boot/Log=true and it goes to \EFI\CLOVER\misc\

I see from your config you are at least attempting to drop your previous power management, however I also see you don't have a complete (valid) smbios, that may be an issue.

smbios:  i read in the clover documentation that just specifying the computer type was sufficient and that clover would fill in the blanks.  i will, though, add the other requisite info, as i have a complete smbios in my extra folder from when i booted with chameleon.

 

as for tables--should i add "drop oem ssdt" to my plist, and then set the generate p and c states back to true?

 

thanks!

Link to comment
Share on other sites

hi I need Help here

 

why Mac Info detect cpu as core i7 but I'm using core 2 duo?

 

here my clover config & mac info

1. Your config.plist is broken. Property List Editor refuses open it. I think line 36 is wrong

2. Cpu type is wrong. Do not write it in decimal. This is not Chameleon, this is a Clover. 

769 (decimal) == 0x0301 (hex)

  • Like 1
Link to comment
Share on other sites

1. Your config.plist is broken. Property List Editor refuses open it. I think line 36 is wrong

<dict/>

2. Cpu type is wrong. Do not write it in decimal. This is not Chameleon, this is a Clover. 

769 (decimal) == 0x0301 (hex)

 

Thanks Slice  :thumbsup_anim:

 

Here my new config can you check it

 

is any wrong line or missing info to run with clover?

 

sorry I'm new with clover :(

config.plist 2.zip

Link to comment
Share on other sites

×
×
  • Create New...