HDMI2HDMI
org.chameleon.Boot.plist
<?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>Boot Banner</key>
<string>No</string>
<key>CSTUsingSystemIO</key>
<string>Yes</string>
<key>EHCIacquire</key>
<string>Yes</string>
<key>EnableC2State</key>
<string>Yes</string>
<key>EnableC3State</key>
<string>Yes</string>
<key>EnableC4State</key>
<string>Yes</string>
<key>EthernetBuiltIn</key>
<string>Yes</string>
<key>ForceHPET</key>
<string>Yes</string>
<key>ForceWake</key>
<string>Yes</string>
<key>GenerateCStates</key>
<string>Yes</string>
<key>GeneratePStates</key>
<string>Yes</string>
<key>Graphics Mode</key>
<string>1920x1080x32@60</string>
<key>GraphicsEnabler</key>
<string>Yes</string>
<key>Instant Menu</key>
<string>Yes</string>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>rd=disk0s2 -v -f npci=0x2000 darkwake=0</string>
<key>Legacy Logo</key>
<string>Yes</string>
<key>NVCAP_DEVICEID</key>
<string>0400000000000300040000000000000700000000</string>
<key>PCIRootUID</key>
<string>1</string>
<key>QuietBoot</key>
<string>Yes</string>
<key>ShowInfo</key>
<string>Yes</string>
<key>SystemType</key>
<string>1</string>
<key>UHCIreset</key>
<string>Yes</string>
<key>USBLegacyOff</key>
<string>No</string>
<key>UseKernelCache</key>
<string>Yes</string>
<key>UseMemDetect</key>
<string>No</string>
<key>Wake</key>
<string>Yes</string>
<key>device-properties</key>
<string>450000000100000001000000390000000100000002010c00d041030a040000000101060000197fff0400160000006200750069006c0074002d0069006e0000000500000001</string>
</dict>
</plist>
SMBios.plist (MacMini 5,2 or MacPro 3,1 or 4,1 seem all ok)
DSDT.dsl relevant sections:
At the top:
DTGP definition needed:
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20091214
*
* Disassembly of ./dsdt.aml, Fri Nov 16 08:18:59 2012
*
*
* Original Table Header:
* Signature "DSDT"
* Length 0x000036A8 (13992)
* Revision 0x01 **** ACPI 1.0, no 64-bit math support
* Checksum 0x49
* OEM ID "DELL"
* OEM Table ID "dt_ex"
* OEM Revision 0x00001000 (4096)
* Compiler ID "INTL"
* Compiler Version 0x20091214 (537465364)
*/
DefinitionBlock ("./dsdt.aml", "DSDT", 1, "DELL", "dt_ex", 0x00001000)
{
Method (DTGP, 5, NotSerialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
/* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
}))
{
If (LEqual (Arg1, One))
{
If (LEqual (Arg2, Zero))
{
Store (Buffer (One)
{
0x03
}, Arg4)
Return (One)
}
If (LEqual (Arg2, One))
{
Return (One)
}
}
}
Store (Buffer (One)
{
0x00
}, Arg4)
Return (Zero)
}
Method (DBIN, 0, NotSerialized)
{
Noop
}
>---> snip >--->
inside
Device (PCI0) section
Video card here as Device PEGP:
Scope (_SB)
{
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A03"))
Name (_UID, One)
Name (_ADR, Zero)
Name (_BBN, Zero)
Name (_PRW, Package (0x02)
{
0x0D,
0x05
})
Method (_S1D, 0, NotSerialized)
{
Return (One)
}
Method (_S3D, 0, NotSerialized)
{
If (HACK ())
{
Return (0x03)
}
Else
{
Return (0x02)
}
}
Device (PEGP)
{
Name (_ADR, 0x00010000)
Name (_PRW, Package (0x02)
{
0x09,
0x05
})
Device (GFX0)
{
Name (_ADR, Zero)
Name (_SUN, One)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x3E)
{
"AAPL,gart-width",
Buffer (0x03)
{
"40"
},
"AAPL,slot-name",
Buffer (0x0D)
{
"PCI-E x16"
},
"device-id",
Buffer (0x04)
{
0x00, 0x06, 0x00, 0x00
},
"vendor-id",
Buffer (0x04)
{
0xDE, 0x10, 0x00, 0x00
},
"@0,compatible",
Buffer (0x0B)
{
"NVDA,NVMac"
},
"@0,connector-type",
Buffer (0x04)
{
0x00, 0x08, 0x00, 0x00
},
"@0,device_type",
Buffer (0x08)
{
"display"
},
"@0,name",
Buffer (0x0F)
{
"NVDA,Display-A"
},
"@1,compatible",
Buffer (0x0B)
{
"NVDA,NVMac"
},
"@1,connector-type",
Buffer (0x04)
{
0x00, 0x08, 0x00, 0x00
},
"@1,device_type",
Buffer (0x08)
{
"display"
},
"@1,name",
Buffer (0x0F)
{
"NVDA,Display-B"
},
"NVCAP",
Buffer (0x18)
{
/* 0000 */ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
/* 0008 */ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
/* 0010 */ 0x00, 0x00, 0x00, 0x00
},
"NVPM",
Buffer (0x20)
{
/* 0000 */ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0018 */ 0x00, 0x00, 0x00, 0x00
},
"VRAM,totalsize",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x80
},
"device_type",
Buffer (0x0C)
{
"NVDA,Parent"
},
"model",
Buffer (0x1C)
{
"NVIDIA GeForce 450 GTS"
},
"rom-revision",
Buffer (0x0F)
{
"preset 1.0.0"
},
"reg",
Buffer (0x78)
{
/* 0000 */ 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x02,
/* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
/* 0028 */ 0x14, 0x00, 0x01, 0x42, 0x00, 0x00, 0x00, 0x00,
/* 0030 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0038 */ 0x00, 0x00, 0x00, 0x10, 0x1C, 0x00, 0x01, 0x02,
/* 0040 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0048 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
/* 0050 */ 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
/* 0058 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0060 */ 0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x01, 0x02,
/* 0068 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0070 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00
},
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Device (HDAU)
{
Name (_ADR, One)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x02)
{
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
}
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Device (PCI4)
>---> snip >--->
still inside
Device (PCI0) section
HDEF Section for audio (not needed for VoodooHDA? but necessary if use AppleHDA):
Device (HDEF)
{
Name (_ADR, 0x001B0000)
Name (_PRW, Package (0x02)
{
0x09,
0x05
})
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x04)
{
"layout-id",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},
"PinConfigurations",
Buffer (Zero) {}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
VoodooHDA 2.7.3
Info.plist:
<?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>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>VoodooHDA</string>
<key>CFBundleIdentifier</key>
<string>org.voodoo.driver.VoodooHDA</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>VoodooHDA</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>2.7.4</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>2.7.4</string>
<key>IOKitPersonalities</key>
<dict>
<key>VoodooHDA</key>
<dict>
<key>CFBundleIdentifier</key>
<string>org.voodoo.driver.VoodooHDA</string>
<key>IOClass</key>
<string>VoodooHDADevice</string>
<key>IOMatchCategory</key>
<string>VoodooHDADevice</string>
<key>IOPCIPrimaryMatch</key>
<string>0x76188086</string>
<key>IOProviderClass</key>
<string>IOPCIDevice</string>
<key>IOUserClientClass</key>
<string>VoodooHDAUserClient</string>
<key>InhibitCache</key>
<true/>
<key>MixerValues</key>
<dict>
<key>PCM</key>
<string>90</string>
<key>Rec</key>
<string>70</string>
<key>iGain</key>
<string>0</string>
<key>iMix</key>
<string>0</string>
</dict>
<key>NodesToPatch</key>
<array/>
<key>Noise</key>
<integer>2</integer>
<key>Vectorize</key>
<true/>
<key>VoodooHDAEnableHalfMicVolumeFix</key>
<true/>
<key>VoodooHDAEnableHalfVolumeFix</key>
<true/>
<key>VoodooHDAEnableMuteFix</key>
<true/>
<key>VoodooHDAEnableVolumeChangeFix</key>
<true/>
<key>VoodooHDAVerboseLevel</key>
<integer>1</integer>
</dict>
<key>HDMI</key>
<dict>
<key>CFBundleIdentifier</key>
<string>org.voodoo.driver.VoodooHDA</string>
<key>IOClass</key>
<string>VoodooHDADevice</string>
<key>IOMatchCategory</key>
<string>VoodooHDADevice</string>
<key>IOPCIPrimaryMatch</key>
<string>0x0bee10de</string>
<key>IOProviderClass</key>
<string>IOPCIDevice</string>
<key>IOUserClientClass</key>
<string>VoodooHDAUserClient</string>
<key>NodesToPatch</key>
<array/>
<key>VoodooHDAVerboseLevel</key>
<integer>1</integer>
</dict>
</dict>
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.iokit.IOAudioFamily</key>
<string>1.1fc9</string>
<key>com.apple.iokit.IOPCIFamily</key>
<string>2.1</string>
<key>com.apple.kpi.iokit</key>
<string>9.0.0</string>
<key>com.apple.kpi.libkern</key>
<string>9.0.0</string>
<key>com.apple.kpi.mach</key>
<string>9.0.0</string>
<key>com.apple.kpi.unsupported</key>
<string>9.0.0</string>
</dict>
</dict>
</plist>
I also used some modding of
AppleGraphicsPowerManagement.kext and removed AppleTyMCEDriver.kext
but MacPro4,1 needed as SMBios.plist id.
The mod is:
add to Info.plist
<key>Vendor10deDevice1245</key>
<dict>
<key>Heuristic</key>
<dict>
<key>ID</key>
<integer>0</integer>
<key>IdleInterval</key>
<integer>250</integer>
<key>SensorOption</key>
<integer>1</integer>
<key>SensorSampleRate</key>
<integer>4</integer>
<key>TargetCount</key>
<integer>5</integer>
<key>Threshold_High</key>
<array>
<integer>100</integer>
<integer>90</integer>
<integer>90</integer>
<integer>0</integer>
</array>
<key>Threshold_Low</key>
<array>
<integer>0</integer>
<integer>90</integer>
<integer>90</integer>
<integer>0</integer>
</array>
</dict>
<key>LogControl</key>
<integer>0</integer>
<key>control-id</key>
<integer>18</integer>
</dict>
Well that is it overall - you are welcome to improve on this...
finally credit is to whom credit is due...
I mainly did copy, paste, compile and test, patience and time