Jump to content

Clover General discussion


ErmaC
30,171 posts in this topic

Recommended Posts

I am having trouble with, presumably, the Framebuffer, after having upgraded from Yosemite to El Capitan. 

 

I have a three-monitor setup, using 2x MSI 290x Lightning. All three monitors are connected to 1 GPU, 2 by way of DVI-D, 1 by Display Port.

 

Previously, this had been working perfectly using the below clover config. I had come across the framebuffer patch string by user BBond007 who used a 290x Lightning as well. At the time I wasn't comfortable decoding the ROM and figuring all that out, so I found what could work and it did. I have been running with that ever since. 

<key>Graphics</key>
	<dict>
		<key>DualLink</key>
		<integer>1</integer>
		<key>FBName</key>
		<string>Baladi</string>
		<key>Inject</key>
		<dict>
			<key>ATI</key>
			<true/>
			<key>Intel</key>
			<false/>
			<key>NVidia</key>
			<false/>
		</dict>
		<key>NvidiaSingle</key>
		<false/>
		<key>VRAM</key>
		<integer>4096</integer>
		<key>VideoPorts</key>
		<integer>4</integer>
	</dict>
	<key>KernelAndKextPatches</key>
	<dict>
		<key>ATIConnectorsController</key>
		<string>8000</string>
		<key>ATIConnectorsData</key>
		<string>000400000403000000010300120403030004000004030000000101001102010100040000040300000001020021030202000400000403000000010400220504040004000004030000000105001000050500040000040300000001060020010606</string>
		<key>ATIConnectorsPatch</key>
		<string>000400000403000000010300120401010008000004020000000101002205020304000000140200000001020011020304040000001402000000010400100004060004000004030000000105002001050500040000040300000001060020010605</string>

Now when I downloaded and ran the upgrade installer, I never had any display, so I knew something was wrong immediately, but it certainly looked like it was installing by leaving it alone. It rebooted and the Installer option disappeared from the Clover boot entry list. And upon first boot I had some weird error, so that's when I found I needed to add this:

	<key>RtVariables</key>
	<dict>
		<key>BooterConfig</key>
		<string>0x28</string>
		<key>CsrActiveConfig</key>
		<string>0x67</string>
	</dict>

So it would complete the boot process, but once it finished and would get to the login screen, I had no displays on any monitor.

 

I tried changing the FBName, used FakeID (figured it was worth a shot - unnecessary for a 290x but whatever, why not), removed Inject ATI, removed the KernelAndKextPatches framebuffer patch, and various combinations... never got anything.

 

I figured it could be worthwhile to finally draw up my own framebuffer patch. Thankfully I have a Macbook with which to work, so I grabbed my GPU ROM on my desktop in Windows, and copied that to my laptop and ran two versions of the ROM decoder, one for the main information, and the customized one by Fl0rian to get the hot plug and sense IDs. That gave me the following:

 

00  04  00  00  04  03  00  00  00  01  00  00  12  04  02  01
00  08  00  00  04  02  00  00  00  01  00  00  22  05  03  03
04  00  00  00  14  02  00  00  00  01  00  00  11  05  01  04
04  00  00  00  14  02  00  00  00  01  00  00  10  00  06  06
00  40  00  00  04  03  00  00  00  01  00  00  10  00  04  02
00  04  00  00  04  03  00  00  00  01  00  00  20  01  05  05
 
The last two lines I just took the default from the framebuffer and changed the last two bytes to be unique compared to the others. I know don't if what I did was correct or if the above would ever function, but when I put that into my patch above, I still got nothing upon boot. I don't know if it's supposed to be ordered differently, I just went by listed order in the ROM. 
 
 
Anyone have any suggestions based on the above? I'm wondering if anything of this is even supposed to work now, because in the Clover Change Explanations thread, there is one comment that makes it sound like Framebuffers have changed for El Capitan. But I cannot find any evidence of that in any other discussions. 
Link to comment
Share on other sites

Tried to install 3388/3389 from Sourceforge. For some reason Clover freezes at blank (black) screen once it tries to boot Mac OS X 10.11.4 partition - I don't even get verbose boot output at all, doesn't even seem to be trying to boot anything. Reinstalling 3368 boots perfectly.  Is there some change or update I need to make in my configuration between 3368 to 3388 to prevent this? I have a legacy BIOS system X58 chipset, X980 CPU.

 

To be clear, the Clover GUI is coming up just fine in 3388/3389, just after it goes to boot Mac OS X from that point it freezes on a black screen.

 

Just tried it and for me it bots to a black screen after selecting entry.No verbose nothing only black.

and all others....

 

Resolved in 3409.

The reason is new PcRTC introduced in EDK2. I replaced it with one already existing in Clover folder with some updates.

  • Like 6
Link to comment
Share on other sites

In legacy Clover, booting with boot6/boot7

It decides which volume to boot by looking for \EFI\BOOT\BOOTX64.efi

What if it finds multiple volumes with such file?

How does it decide which one to boot?

Is there any way of changing which volume it decides to boot?

(This is before loading of Clover GUI or reading config.plist.  It is done in Clover EFI)

Thanks.

Link to comment
Share on other sites

and all others....

 

Resolved in 3409.

The reason is new PcRTC introduced in EDK2. I replaced it with one already existing in Clover folder with some updates.

 

3411 installed and working great now, thanks!

  • Like 1
Link to comment
Share on other sites

What are the commands for manual build compiling Clover from source?

 

I found the old instructions but they are not up to date:

http://www.insanelymac.com/forum/topic/282787-clover-v2-instructions/?do=findComment&comment=1853337

https://clover-wiki.zetam.org/Development

Are the following commands will OK? : 

cd ~
mkdir src
cd src
svn co svn://svn.code.sf.net/p/edk2/code/trunk/edk2 edk2
cd edk2
svn co svn://svn.code.sf.net/p/cloverefiboot/code Clover 
make -C BaseTools/Source/C
cd Clover
./buildgettext.sh
./buildgcc-4.9.sh 
./buildnasm.sh
./edksetup.sh 
cp -R Clover/Patches_for_EDK2/* ./
./ebuild.sh
./ebuild.sh -mc
./ebuild.sh --ia32
Small note: HFSPlus.efi is not available in the repository. There are two options: You can find it somewhere else or change the project definition files .fdf to use the open driver VboxHfs instead of the private one. It is a bit slower and has some downsides that will probably be corrected in future, but it is functional. 
One note. In svn repository there are no files HFSPlus.efi because of licensing. Took them here from download section.
Or you may use opensource VBoxHFS.efi.
To use Apple's driver you may correct Clover.fdf from Change:

# foreign file system support#INF  Clover/VBoxFsDxe/VBoxHfs.inf
INF  RuleOverride=BINARY Clover/HFSPlus/HFSPlus.inf
to:
# foreign file system support
INF  Clover/VBoxFsDxe/VBoxHfs.inf
#INF  RuleOverride=BINARY Clover/HFSPlus/HFSPlus.inf



cd ~/src/edk2/Clover/CloverPackage/
./makepkg
./makeiso
Link to comment
Share on other sites

hackintosh1984, I suggest getting edk2 from github repository - works faster

git clone --depth 1 https://github.com/tianocore/edk2 edk2

the edk2setup.sh script is in the edk2 folder, not Clover subfolder, and must be run with

. ./edk2setup.sh

Also, the command to build boot7 should be

./ebuild.sh -mc -D DISABLE_USB_SUPPORT
  • Like 2
Link to comment
Share on other sites

zxv, there's one at https://github.com/Clover-EFI-Bootloader, but it's not kept current.

 

chris1111 ????

 

svn log svn://svn.code.sf.net/p/cloverefiboot/code |grep zenith432
r3412 | zenith432 | 2016-04-05 19:13:15 +0000 (Tue, 05 Apr 2016) | 1 line
r3410 | zenith432 | 2016-04-05 13:40:23 +0000 (Tue, 05 Apr 2016) | 1 line
r3408 | zenith432 | 2016-04-05 12:34:20 +0000 (Tue, 05 Apr 2016) | 1 line
r3394 | zenith432 | 2016-03-31 18:46:47 +0000 (Thu, 31 Mar 2016) | 1 line
r3390 | zenith432 | 2016-03-30 15:38:43 +0000 (Wed, 30 Mar 2016) | 1 line
r3194 | zenith432 | 2015-03-13 16:04:44 +0000 (Fri, 13 Mar 2015) | 1 line
r3190 | zenith432 | 2015-03-01 11:09:22 +0000 (Sun, 01 Mar 2015) | 1 line
r3189 | zenith432 | 2015-02-28 22:08:53 +0000 (Sat, 28 Feb 2015) | 1 line
r3188 | zenith432 | 2015-02-27 11:56:53 +0000 (Fri, 27 Feb 2015) | 1 line
r3186 | zenith432 | 2015-02-25 19:39:26 +0000 (Wed, 25 Feb 2015) | 4 lines
r3175 | zenith432 | 2015-02-13 11:56:54 +0000 (Fri, 13 Feb 2015) | 1 line
r3163 | zenith432 | 2015-02-05 17:36:38 +0000 (Thu, 05 Feb 2015) | 1 line
r3162 | zenith432 | 2015-02-05 17:33:26 +0000 (Thu, 05 Feb 2015) | 1 line
r3158 | zenith432 | 2015-02-04 13:00:38 +0000 (Wed, 04 Feb 2015) | 1 line
r3157 | zenith432 | 2015-02-03 19:08:04 +0000 (Tue, 03 Feb 2015) | 1 line
r3153 | zenith432 | 2015-01-31 19:02:19 +0000 (Sat, 31 Jan 2015) | 1 line
r3152 | zenith432 | 2015-01-31 17:10:35 +0000 (Sat, 31 Jan 2015) | 1 line
r3150 | zenith432 | 2015-01-30 17:14:28 +0000 (Fri, 30 Jan 2015) | 1 line
r3148 | zenith432 | 2015-01-30 11:13:07 +0000 (Fri, 30 Jan 2015) | 1 line
r3147 | zenith432 | 2015-01-29 18:34:39 +0000 (Thu, 29 Jan 2015) | 1 line
Link to comment
Share on other sites

 

chris1111, LOL, I am

./rEFIt_UEFI/refit/main.c:    AddMenuInfoLine(&AboutMenu, L"  cparm, rehabman, nms42, sherlocks, Zenith432");

Your name deserves in my opinion to be on the Installer 

Link to comment
Share on other sites

In legacy Clover, booting with boot6/boot7

It decides which volume to boot by looking for \EFI\BOOT\BOOTX64.efi

What if it finds multiple volumes with such file?

How does it decide which one to boot?

Is there any way of changing which volume it decides to boot?

(This is before loading of Clover GUI or reading config.plist.  It is done in Clover EFI)

Thanks.

I think first found.

To be sure read this file

Clover/Library/GenericBdsLib/BdsBoot.c

Link to comment
Share on other sites

What might be the cause of this? Reporting -1Mb VRAM doesn't look right (lines 2-4, 7). Also initially being declared Evergreen family.

 

0:762  0:000  ATI card POSTed,
0:762  0:000  Set VRAM for Cedar=-1Mb
0:762  0:000  ATI: get_vram_size returned 0xFFF00000
0:762  0:000  ATI Radeon EVERGREEN family
0:762  0:000  Users config name Labrador
0:762  0:000  (AtiPorts) Nr of ports set to: 4
0:762  0:000  ATI Amethyst ATI Radeon R9 M295X -1MB (Labrador) [1002:6938] (subsys [174B:E308]):: PciRoot(0x0)\Pci(0x1,0x0)\Pci(0x0,0x0)
Link to comment
Share on other sites

on clover 3412 on my Lenovo T420 UEFI - i tried to revert to OsxAptioFixDrv-64.efi instead of Fix2Drv to test out if it can fix HD3000 glitches on 10.11.4. FixDrv used to work about 9 months ago.  However, now i see this on startup? what does this mean? is this a bios setting issue?

 

post-954945-0-41819400-1459900583_thumb.jpg

Link to comment
Share on other sites

and all others....

 

Resolved in 3409.

The reason is new PcRTC introduced in EDK2. I replaced it with one already existing in Clover folder with some updates.

 

Working just fine now here, thanks a lot Slice!

Link to comment
Share on other sites

@ellaosx - that did it. thanks. now to see if the HD3000 glitches stay gone. so far it was nice and clean on boot up and login.

Nice to know :)

Actually, you can use whatever your old value was,you just need to include nvram.

Im not sure if this is the real fix or just a workaround for the osxaptiofixdrv.

 

Dev?

Link to comment
Share on other sites

Yes

 

i am wondering what is different in the working OsxAptioFixDrv - that seems glitch free - and Fix2Drv - that not working as well for HD3000 in El Capitan - especially 10.11.4?

Link to comment
Share on other sites

 

the edk2setup.sh script is in the edk2 folder, not Clover subfolder, and must be run with

. ./edk2setup.sh

shouldnt be just ./edksetup.sh Im sure its just a typo :)

 

It sets up the environmnent. But i noticed that the environment settings is being setup by the "other" script (whatever that script is) even we exclude that command. Do we need to run it twice?  

Link to comment
Share on other sites

Does not PATCH edk2 except for custom tools_def, build_rules and GccBase.lds.

I got Clover to compile successfully via "./ebuild.sh -gcc53 --std-ebda" using only patches:

 

Conf/build_rule.txt

Conf/tools_def.

BaseTools/Scripts/gcc4.9-ld-script

Unfortunately the compiled Clover itself doesn't work. What did you do differently?

 

Edit: Swapped out BaseTools/Scripts/gcc4.9-ld-script → BaseTools/Scripts/GccBase.lds. Build fails: …/src/edk2/BaseTools/Scripts/GccBase.lds:26: undefined symbol `PECOFF_HEADER_SIZE' referenced in expression

Link to comment
Share on other sites

i am wondering what is different in the working OsxAptioFixDrv - that seems glitch free - and Fix2Drv - that not working as well for HD3000 in El Capitan - especially 10.11.4?

i used slide=0 last time i had HD3000 to fix the glitches. was on Yose though

Link to comment
Share on other sites

×
×
  • Create New...