Contribute
Register

SJ_UnderWater's Thin MiniITX Build DQ77KB, i3-3225

Status
Not open for further replies.
you should not be using Easybeast, I used UserDSDT/DSDT-Free

Indeed. The reason behind that - Multibeast 5.2.1 continually failed to install the bootloader without choosing Easybeast. Why? Don't know.

Had some success with installing to a 120gb SATA drive and then cloning to the mSATA and is currently stable. DSDT can wait until tomorrow..
 
I actually meant to talk about the patch for AppleIntelNBGraphicsFB.kext
 
A Few Notes On Installing
  • Don't bother doing anything until you modify and update the BIOS. Download the newest "recovery" ROM from Intel (version 0048, ~14MB at time of writing), patch it with DPCIManager (or a separate copy of PMPatch),


  • Do you have a complied version of PMPatch? I'm not sure how to compile this code...once used PMPatch on the BIOS image I will write it using DPCIMAnager right?
 
Indeed. The reason behind that - Multibeast 5.2.1 continually failed to install the bootloader without choosing Easybeast. Why? Don't know.
did you try installing Chimera separately? Easybeast, UserDSDT, and Chimera will all install Chimera, but Easybeast and its kexts really are inappropriate for this board, it's basically DSDT-Free like the Gigabyte series-7 (or more like Asus because of the modded bios?), in most cases.
I actually meant to talk about the patch for AppleIntelNBGraphicsFB.kext
That SNB/Capri patch is for mixed series-6/7 Sandy/Ivy configurations. If you have series-7 (Q77) and Ivy (3xxx) then it's not a mixed configuration. The only real Capri patch which applies is the one I linked, a binary patch to enable audio-out over the HDMI port
Do you have a complied version of PMPatch? I'm not sure how to compile this code...once used PMPatch on the BIOS image I will write it using DPCIMAnager right?
there are compiled versions of PMPatch available, but using DPCIManager might be easier. Rename the .BIO file to .ROM, then use the "Patch" option in the newest DPCI beta. Take the patched .ROM and use the board's F7 BIOS flashing utility at boot.
 
did you try installing Chimera separately? Easybeast, UserDSDT, and Chimera will all install Chimera, but Easybeast and its kexts really are inappropriate for this board, it's basically DSDT-Free like the Gigabyte series-7 (or more like Asus because of the modded bios?), in most cases.

Another build again today - patched BIOS 48 with DPCIManager and flashed ok. Multibeast 5.2.1 with UserDSDT using DSDT patched according to your first post for HDMI audio, Intel LAN driver, FakeSMC Plugins, 1080p option, ALC892 with DSDT. Kernel panics upon restart. Can't remember the sysdef I chose.

Does it need the SSDT to boot correctly? Didn't get round to reading through that lot..

Getting a 10.8.2 setup working is a lot more in depth than the simple button clicking of 10.6.8 on my Mini 10v; it's a pretty steep learning curve :)

My DQ77KB is living in a Mini-box M350 with Crucial M4 64gb mSATA, Core i3 3225 with Scythe Kozuti cooler. Fast, near silent operation. ML boots in around 10 secs using the mSATA as boot drive.
 
whenever you get a kernel panic you should boot verbose (-v) and take a pic, so you can see what caused it
 
I have follow your instructions and not used the patch. I'm using DSDT-Free installation only. I'm using a LCD panel via LVDS and the maximum resolution is 1366 x 768 x 32. When booting with GraphicEnabler=Yes it seems like the graphic driver doesn't support that resolution. The screen is pitch black...
Any idea how I can fix that?
 
when using HD 4000 in a non-desktop configuration (not HDMI/DP/DVI), you must understand that the AAPL,ig-platform-id injection performed by GraphicsEnabler=Yes is not appropriate for LVDS (as I understand it). You must inject a different platform-id using either EFI strings (device-properties) or a DSDT edit.
When I built the DQ77, after flashing the patched ROM and setting min VRAM to 64MB, the only step left was to use "Graphics Mode"="1920x1080x32" when booting the Installer, because GraphicsEnabler=Yes (the default) would inject a platform-id I could use with the DisplayPort connection to my monitor. When using LVDS, this will not work, and you must set the platform-id yourself.
 
since this seems to be a sticking point with HD 4000, I've written a simple PHP script to dump the Capri framebuffer information from the kext binary. Save it as a php file (e.g. "capri.php"), then run it (e.g. `php capri.php`)
Code:
<?php
$ctype=array('02000000'=>'LVDS','04000000'=>'DDVI','08000000'=>'SVIDEO','10000000'=>'VGA','00020000'=>'SDVI','00040000'=>'DP','00080000'=>'HDMI');
$entry=array('01000000','02050000','03040000','04060000','05030000');
function padHex($d,$l) {return str_pad(dechex($d),$l,'0',STR_PAD_LEFT);}
function toHex($s){$i=0;$t='';while(isset($s[$i])){$t.=padHex(ord($s[$i++]),2);}return $t;}
function toStr($h){$s='';$i=4;while($i-->0){$s.=chr($h>>(8*$i)&0xFF);}return $s;}
$a=file_get_contents('/System/Library/Extensions/AppleIntelFramebufferCapri.kext/Contents/MacOS/AppleIntelFramebufferCapri');
$b=-1;
while($b++<16){
	if (($f=$b<<24|0x6601) && ($c=strpos($a,toStr($f)))===false &&
	($f=$b<<24|0x6201) && ($c=strpos($a,toStr($f)))===false) continue;
	while (ord($a[$c+8]) > 0) $c=strpos($a,toStr($f),$c+1);
	echo '0x'.strtoupper(padHex($f,8)).' ('.(ord($a[$c+11])*16)."MiB)\n";
	$t='';
	$p=array();
	foreach(str_split(substr($a,$c,108),12) as $d) {
		$d=toHex($d);
		if (in_array(substr($d,0,8),$entry)) $p[]=$ctype[substr($d,8,8)];
		$t.=$d."\n";
	}
	if (count($p)) echo implode(', ',$p)."\n";
	echo "$t\n";
}
Code:
0x00006601 (96MiB)
LVDS, DP, DP, DP
000066010003040300000006
000080010000002010070000
100700000000000000000000
000000000000000000000000
010000000200000030000000
020500000004000007000000
030400000004000007000000
040600000004000007000000
000000000000000000000000

0x01006601 (96MiB)
LVDS, HDMI, DP, DP
010066010103040300000006
000080010000003010070000
100700000000000000000000
00000000f0d9050000000000
010000000200000030000000
020500000008000006000000
030400000004000007010000
040600000004000007010000
020000001100110000000000

0x02006601 (64MiB)
LVDS
020066010103010100000004
000080010000002010070000
100700000000000000de0500
00000000f0d9050000000000
010000000200000030000000
000000000100000040000000
000000000100000040000000
000000000100000040000000
000000001200000000000000

0x03006601 (64MiB)
LVDS, DP, DP, DP
030066010102040200000004
000000010000002010070000
100700000000000000000000
000000000000000000000000
050300000200000030000000
020500000004000007040000
030400000004000081000000
040600000004000081000000
000000000002001100000000

0x04006601 (32MiB)
LVDS
040066010103010100000002
000000010000001810070000
100700000000000000da0500
000000000000000000000000
050300000200000030020000
000000000100000040000000
000000000100000040000000
000000000100000040000000
000000000000000000000000

0x05006201 (32MiB)
DP, DP, DP
050062010002030200000002
000000010000002010070000
100700000000000000000000
000000000000000000000000
020500000004000011000000
030400000004000007010000
040600000004000007010000
000000000100000040000000
000000000000110000000000

0x06006201 (0MiB)
060062010000000000000000
000000000000001010070000
100700000000000000000000
000000000000000000000000
000000000100000040000000
000000000100000040000000
000000000100000040000000
000000000100000040000000
000000000000000000000000

0x07006201 (0MiB)
070062010000000000000000
000000000000001010070000
100700000000000000000000
000000000000000000000000
000000000100000040000000
000000000100000040000000
000000000100000040000000
000000000100000040000000
000000000000000000000000

0x08006601 (64MiB)
LVDS, DP, DP
080066010103030300000004
000000010000002010070000
100700000000000000000000
00000000f0d9050000000000
010000000200000030000000
020500000004000007010000
030400000004000007010000
000000000100000040000000
030000000100010010c80f00

0x09006601 (64MiB)
LVDS, DP, DP
090066010103030300000004
000000010000002010070000
100700000000000000000000
00000000f0d9050000000000
010000000200000030000000
020500000004000007010000
030400000004000007010000
000000000100000040000000
030000000000010010c80f00

0x0A006601 (32MiB)
DP, DP, HDMI
0a0066010002030200000002
000000010000002010070000
100700000000000000000000
000000000000000000000000
020500000004000007010000
030400000004000007010000
040600000008000006000000
000000000100000040000000
020000000000020010c80f00

0x0B006601 (32MiB)
DP, DP, HDMI
0b0066010002030200000002
000000010000002010070000
100700000000000000000000
000000000000000000000000
020500000004000007010000
030400000004000007010000
040600000008000006000000
000000000100000040000000
000000000000020010c80f00
--edit
slightly improved script, added 0x62 framebuffers
fixed for 10.8.3 false positive matches
expanded for completeness
 
Status
Not open for further replies.
Back
Top