llamafilm Posted September 19, 2016 Share Posted September 19, 2016 I'm a beginner when it comes to DSDT patching. I've cobbled together some patches, by using examples from toleda and others. I've finally gotten HDMI audio working, but I wonder if there's a more elegant way. I'd love to get some feedback from more experienced users about this. First, I renamed H000 to GFX1 to resolve the black screen bug with Mac Pro 6,1 SMBIOS in Yosemite. That's just two edits, on lines 30101 and 55613. Now for audio, I'm using two Clover patches: FixHDA renames ALZA to HDEF, and AddDTGP enables layout-id injection. I use Clover to inject audio ID 2, and AppleALC.kext to patch AppleHDA on the fly. For HDMI, I renamed H001 to HDAU, and added several lines to that device and GFX1. Some of this code may be unnecessary, but I copied large chunks from toleda's SSDT-HDMI-NVIDIA-BR3A. Here is the modified section, and I've attached the full DSDT. I would love to make these into SSDTs instead, for easier sharing with others, but I don't know how. Device (GFX1) { Name (_ADR, Zero) Name (_SUN, One) Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x0E) { "@0,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@1,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@2,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@3,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@4,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "@5,connector-type", Buffer (0x04) { 0x00, 0x08, 0x00, 0x00 }, "hda-gfx", Buffer (0x0A) { "onboard-2" } }) } } Device (HDAU) { Name (_ADR, One) Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x04) { "hda-gfx", Buffer (0x0A) { "onboard-2" }, "layout-id", Buffer (0x04) { 0x01, 0x00, 0x00, 0x00 } }) } } DSDT.aml.zip Link to comment Share on other sites More sharing options...
maleorderbride Posted September 22, 2016 Share Posted September 22, 2016 Hi Elliot,You should not need most of that for functionality. DefinitionBlock ("", "SSDT", 1, "iconic", "GFX1", 0x00001000) { External (_SB_.PCI0.BR3A, DeviceObj) // (from opcode) Scope (_SB.PCI0.BR3A) { Device (GFX1) { Name (_ADR, Zero) // _ADR: Address Name (_SUN, One) // _SUN: Slot User Number } } Device (HDAU) { Name (_ADR, One) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x02) { "hda-gfx", Buffer (0x0A) { "onboard-1" } }) } } Name (_SB.PCI0.BR3A.H000._STA, Zero) // _STA: Status Name (_SB.PCI0.BR3A.H001._STA, Zero) // _STA: Status Name (_SB.PCI0.BR3A.D080._STA, Zero) // _STA: Status Name (_SB.PCI0.BR3A.D07F._STA, Zero) // _STA: Status Link to comment Share on other sites More sharing options...
llamafilm Posted October 8, 2016 Author Share Posted October 8, 2016 Thanks very much for that! When I tried layout-id 1, I got no audio devices. It works with ID 2, 7, and 11. Before I install this SSDT, I wanted to look at it, but I'm unable to open it with MaciASL. Do you know why? Link to comment Share on other sites More sharing options...
genzai Posted October 9, 2016 Share Posted October 9, 2016 Before I install this SSDT, I wanted to look at it, but I'm unable to open it with MaciASL. Do you know why? unsure. it opens fine for me in macIASL. Also ID 1 works for me. Cheers, g\ Link to comment Share on other sites More sharing options...
llamafilm Posted October 10, 2016 Author Share Posted October 10, 2016 Maybe something went wrong with the upload or the zipping. What should sha1 be for the aml file? I get ba2ab112b445fcf0744230c95452f12bda18e3a3. Link to comment Share on other sites More sharing options...
llamafilm Posted December 18, 2016 Author Share Posted December 18, 2016 Hey genzai, could you please explain what that SSDT does, besides the GPU rename and HDAU? I see it renames the ethernet slot to "Internal" — is that purely cosmetic? What does it do with the USB? And what is the VSND device for? Link to comment Share on other sites More sharing options...
genzai Posted December 24, 2016 Share Posted December 24, 2016 Hey genzai, could you please explain what that SSDT does, besides the GPU rename and HDAU? I see it renames the ethernet slot to "Internal" — is that purely cosmetic? What does it do with the USB? And what is the VSND device for? Internal is important for certain services like iMessage and app store login. Or at least it used to be. USB fixes make the ports appear more native, and so may help in some cases or may be just cosmetic but certainly should not hurt. VSND does not do anything anymore, it used to fix some issues on system that did not have any audio controllers. But it is still useful as a way to tell very quickly and easily if the SSDT is getting loaded properly in cases where that is in question. g\ Link to comment Share on other sites More sharing options...
MaLd0n Posted April 21, 2017 Share Posted April 21, 2017 DSDT.llamafilm.zip Link to comment Share on other sites More sharing options...
Recommended Posts