Contribute
Register

HD5500 HDMI not working and other problems.

Status
Not open for further replies.
Yes, but I am getting KP when using Rename _DSM methods to XDSM.

It is probably from VoodooI2C.kext...
You can't remove/rename the _DSM method that kext expects to call...
 
So, what should I do?
 
So, what should I do?

You need to restore the _DSM that VoodooI2C.kext expects to call.
Or change the kext so it can call XDSM or _DSM... (look at my github repo for the code changes I did to VoodooI2C...)
 
I renamed the duplicate _DSM to XDM and changed the layout id to 0x0D.Still HDMI audio does not work and heaphones get distorted audio(internal speaker seems fine though),getting optxdrv error, laptop screen goes to 0 brightness after sleep with lid closed(need to plug in hdmi)
 

Attachments

  • 4May.ioreg
    8.2 MB · Views: 72
  • CLOVER.zip
    1.9 MB · Views: 49
Still HDMI audio does not work

See HDMI audio guide linked from the FAQ.

getting optxdrv error,

Due to incorrect config.plist settings (CsrActiveConfig should be 0x67, you're using incorrect 0x3).
Also, use OsxAptioFixDrv-64.efi instead of OsxAptioFix2Drv-64.efi.
(if you are to use Fix2, you should specify kernel flag slide=0)

laptop screen goes to 0 brightness after sleep with lid closed(need to plug in hdmi)

Very likely that ACPI is not patched correctly (no ACPI/origin, so impossible to tell).
You need only "Brightness Fix" for IntelBacklight.kext.

heaphones get distorted audio

Install CodecCommander.kext as per FAQ.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
 
Sometimes Laptop internal display is not detected and need to plug-in HDMI then also only external HDMI being detected (Also changed from ACPIbacklight to Intelbacklight)

Also still getting KP when using BOD3 -> HDAU patch.

Using your patch, I get errors on both DSDT and SSDT-8 as it cannot rename all BOD3

After patch this still remains in DSDT,

If (LAnd (LNotEqual (And (\_SB.PCI0.B0D3.ABAR, 0xFFFFC004), 0xFFFFC004), LNotEqual (And (\_SB.PCI0.B0D3.ABAR, 0xFFFFC000), Zero)))
{
Store (\_SB.PCI0.B0D3.ABAR, \_SB.PCI0.B0D3.BARA)
}

and I get error as BOD3 is not found.

In SSDT-8 also your patch couldnt rename scope,
Scope (\_SB.PCI0.B0D3) remains after patch.

So, I modified the patch & added few lines:

Patch:

into method label _WAK code_regex B0D3 replaceall_matched begin HDAU end;
into definitionblock code_regex B0D3 replaceall_matched begin HDAU end;
nto_all all code_regex B0D3\. replaceall_matched begin HDAU. end;
into_all all code_regex \.B0D3 replaceall_matched begin .HDAU end;
into_all all code_regex \sB0D3, replaceall_matched begin HDAU, end;
into_all all code_regex \(B0D3 replaceall_matched begin (HDAU end;
into_all all label B0D3 set_label begin HDAU end;
into_all all label _SB.PCI0.B0D3 set_label begin _SB.PCI0.HDAU end;
into_all all label \_SB.PCI0.B0D3 set_label begin \_SB.PCI0.HDAU end;
into_all all label ^^B0D3 set_label begin ^^HDAU end;
into_all all label ^B0D3 set_label begin ^HDAU end;


into method label _DSM parent_adr 0x00020000 remove_entry;
into device name_adr 0x00020000 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
Return (Package()\n
{\n
"hda-gfx", Buffer() { "onboard-1" },\n
})\n
}\n
end

into method label _DSM parent_adr 0x00030000 remove_entry;
into device name_adr 0x00030000 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
Return (Package()\n
{\n
"layout-id", Buffer() { 0x0D, 0x00, 0x00, 0x00 },\n
"hda-gfx", Buffer() { "onboard-1" },\n
})\n
}\n
end;

into device label B0D3 set_label begin HDAU end;
into method label SBCB code_regex B0D3 replaceall_matched begin HDAU end;

After this patch I didn't get error but am Still getting KP from IGPU(Screenshot attached).
Clover folder attached.(renamed in DSDT and SSDT-8).

Also attaching pre-bod3 patch dsl's for your reference.
 

Attachments

  • CLOVER.zip
    1.9 MB · Views: 44
  • DSDT_layout.dsl
    742.7 KB · Views: 108
  • SSDT-8.dsl
    157.9 KB · Views: 85
  • KP.jpeg
    KP.jpeg
    103.9 KB · Views: 82
Sometimes Laptop internal display is not detected and need to plug-in HDMI then also only external HDMI being detected (Also changed from ACPIbacklight to Intelbacklight)

Also still getting KP when using BOD3 -> HDAU patch.

Using your patch, I get errors on both DSDT and SSDT-8 as it cannot rename all BOD3

After patch this still remains in DSDT,

If (LAnd (LNotEqual (And (\_SB.PCI0.B0D3.ABAR, 0xFFFFC004), 0xFFFFC004), LNotEqual (And (\_SB.PCI0.B0D3.ABAR, 0xFFFFC000), Zero)))
{
Store (\_SB.PCI0.B0D3.ABAR, \_SB.PCI0.B0D3.BARA)
}

and I get error as BOD3 is not found.

In SSDT-8 also your patch couldnt rename scope,
Scope (\_SB.PCI0.B0D3) remains after patch.

So, I modified the patch & added few lines:

Patch:

into method label _WAK code_regex B0D3 replaceall_matched begin HDAU end;
into definitionblock code_regex B0D3 replaceall_matched begin HDAU end;
nto_all all code_regex B0D3\. replaceall_matched begin HDAU. end;
into_all all code_regex \.B0D3 replaceall_matched begin .HDAU end;
into_all all code_regex \sB0D3, replaceall_matched begin HDAU, end;
into_all all code_regex \(B0D3 replaceall_matched begin (HDAU end;
into_all all label B0D3 set_label begin HDAU end;
into_all all label _SB.PCI0.B0D3 set_label begin _SB.PCI0.HDAU end;
into_all all label \_SB.PCI0.B0D3 set_label begin \_SB.PCI0.HDAU end;
into_all all label ^^B0D3 set_label begin ^^HDAU end;
into_all all label ^B0D3 set_label begin ^HDAU end;


into method label _DSM parent_adr 0x00020000 remove_entry;
into device name_adr 0x00020000 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
Return (Package()\n
{\n
"hda-gfx", Buffer() { "onboard-1" },\n
})\n
}\n
end

into method label _DSM parent_adr 0x00030000 remove_entry;
into device name_adr 0x00030000 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
Return (Package()\n
{\n
"layout-id", Buffer() { 0x0D, 0x00, 0x00, 0x00 },\n
"hda-gfx", Buffer() { "onboard-1" },\n
})\n
}\n
end;

into device label B0D3 set_label begin HDAU end;
into method label SBCB code_regex B0D3 replaceall_matched begin HDAU end;

After this patch I didn't get error but am Still getting KP from IGPU(Screenshot attached).
Clover folder attached.(renamed in DSDT and SSDT-8).

Also attaching pre-bod3 patch dsl's for your reference.

If you try to disassemble your files in ACPI/patched: iasl -da -dl *.aml
...

... you will get an error due to duplicate _DSM methods. Make sure you read the ACPI patching guide carefully regarding _DSM methods and the related patches.
 
Yes, I have followed the guide and I get no errors of duplicate _DSM as I did rename the duplicate one to _XDSM. The problem occurs when I use BOD3 patch.

Also, I didnt try to disassemble file from ACPI/patched , I am using the ones from Origin.
 
Yes, I have followed the guide and I get no errors of duplicate _DSM as I did rename the duplicate one to _XDSM. The problem occurs when I use BOD3 patch.

Also, I didnt try to disassemble file from ACPI/patched , I am using the ones from Origin.

Clearly you didn't remove/rename all OEM _DSM methods in all DSDT/SSDTs.
Read the guide carefully.
Check your work.
Disassembly of your patched files in ACPI/patched is a good way to check that you've done it correctly. If you can't disassemble with 'iasl -da -dl *.aml', then you made a mistake.
 
Thanks for updating your audio patch.It did work.

But I am still getting ae_already_exist because of the _dsm method in igpu (from your bod3 patch), it works when I rename to xdsm but has no effect for hdmi.

Is there any other way i can add hda-gfx onboard1 to igpu?

Can you please help me patch it correctly.
 

Attachments

  • CLOVER.zip
    1.9 MB · Views: 64
Status
Not open for further replies.
Back
Top