Contribute
Register

Lion HDMI Audio - Part 2a: DSDT Edits/Discrete - AMD/Nvidia

Status
Not open for further replies.
But I cannot make PEGP/GFX0 edits because of compilation errors and a conflict with _PRW being defined elsewhere.
Delete the native dsdt/PEGP, PEG0 is renamed PEGP.

Try this (DSDTSE commands, DSDT Editor similar)
1. back up your dsdt.
2. delete all lines with references to PEGP (Search PEGP, delete, Next, delete, repeat Next, etc.)
3. rename GFX0 to IGPU (Search GFX0, Replace IGPU, Replace)
4. rename PEG0 to PEGP (Search PEG0, Replace PEGP, Replace)
5. paste HDMI edit code into new PEGP (Preserve existing Name and Methods, copy Device (GFX0) and Device (HDAU))
6. continue as specified in the guide
 
Delete the native dsdt/PEGP, PEG0 is renamed PEGP.

Try this (DSDTSE commands, DSDT Editor similar)
1. back up your dsdt.
2. delete all lines with references to PEGP (Search PEGP, delete, Next, delete, repeat Next, etc.)
3. rename GFX0 to IGPU (Search GFX0, Replace IGPU, Replace)
4. rename PEG0 to PEGP (Search PEG0, Replace PEGP, Replace)
5. paste HDMI edit code into new PEGP (Preserve existing Name and Methods, copy Device (GFX0) and Device (HDAU))
6. continue as specified in the guide

Success!! HDMI Audio works with the U1h UEFI using EVGA GT 640 & patched AppleHDA :headbang:

Screen Shot 2012-08-18 at 6.42.24 PM.png

You rock toleda, thanks again :thumbup:

DSDT: View attachment DSDT-GA-Z68X-UD3H-B3-U1H-HDMI-Audio-GT640-GE=No.zip
 
Hi toleda
I need Another Help.
I have x5000xvn server board and gtx480 v.card.
I don't have onboard sound.I have usb sound device and BlackMagic Design Intensity= ProPciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)
USB Sound Device :

Product ID: 0x0102
Vendor ID: 0x0d8c (C-MEDIA ELECTRONICS INC.)
I need add graphics and hdmi for dsdt.aml
ple Can check my ioreg and dsdt graphics also not work for me.
 

Attachments

  • ioreg and dsdt.zip
    1.1 MB · Views: 95
Can check my ioreg and dsdt graphics also not work for me.
dsdt problems:
1. No HDEF, see [EasyGuide] How to add HDEF to your dsdt
2. PEGP, rename all instances of PCIF to PEGP (Search/Replace/Replace)
3. Delete this code and the last closing bracket the PEGP edit
Code:
                Device (PEGP)
                {
                    Name (_ADR, 0x00040000)
                    Name (_PRW, Package (0x02)
                    {
                        0x09, 
                        0x05
                    })

After edit looks like this:
Code:
            Device (PCIF)
            {
                Name (_ADR, 0x00040000)
                Name (_UID, 0xD9)
                Name (_PRW, Package (0x02)
                {
                    0x18, 
                    0x05
                })


                    Device (GFX0)
                    {
                        Name (_ADR, Zero)
                        Name (_SUN, One)
                        Method (_DSM, 4, NotSerialized)
                        {
                            Store (Package (0x1E)
                                {
                                    "AAPL,slot-name", 
                                    "PCI x16", 
                                    "@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 */    0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 
                                        /* 0010 */    0x00, 0x00, 0x00, 0x00
                                    }, 


                                    "VRAM,totalsize", 
                                    Buffer (0x04)
                                    {
                                        0x00, 0x00, 0x00, 0x60
                                    }, 


                                    "device_type", 
                                    Buffer (0x0C)
                                    {
                                        "NVDA,Parent"
                                    }, 


                                    "model", 
                                    Buffer (0x10)
                                    {
                                        "GeForce GTX 480"
                                    }, 


                                    "rom-revision", 
                                    Buffer (0x0F)
                                    {
                                        "70.08.29.00.30"
                                    }, 


                                    "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 (_PRT, 0, NotSerialized)
If you use GE=Y, this edit works better:
Code:
          Device (PCIF)
            {
                Name (_ADR, 0x00040000)
                Name (_UID, 0xD9)
                Name (_PRW, Package (0x02)
                {
                    0x18, 
                    0x05
                })


                    Device (GFX0)
                    {
                        Name (_ADR, Zero)
                        Name (_SUN, One)
                        Method (_DSM, 4, NotSerialized)
                        {
                            Store (Package (0x06)
                                {
   
                                    "@0,connector-type", 
                                    Buffer (0x04)
                                    {
                                        0x00, 0x08, 0x00, 0x00
                                    }, 


                                    "@1,connector-type", 
                                    Buffer (0x04)
                                    {
                                        0x00, 0x08, 0x00, 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 (_PRT, 0, NotSerialized)
 
Great! thanks toledo.
I have to go work.After that I will replay thank you very much.
 
toldeo, I'm having some trouble compiling my edited dsdt. I've attached the unedited version that compiles fine.

In the second step, when I search PEGP, I found an entry, but I definitely do not have HDMI audio set up. So was not sure what to do here. Rather, I continued on and replaced the PEG0 section with the generic section of the DSDT HDMI Audio Edits v3 file. However, when I compile, I get a bunch of errors which I don't know how to fix. Can you please take a look if you have a chance?

I have GA-Z68MX-UD2H-B3 (UEFI bios) and a Gigabyte 6850 OC card. Thanks!
 

Attachments

  • IOReg.tiff
    278.1 KB · Views: 123
  • DSDT.aml.zip
    14.7 KB · Views: 108
toldeo, I'm having some trouble compiling my edited dsdt. I've attached the unedited version that compiles fine.

I have GA-Z68MX-UD2H-B3 (UEFI bios) and a Gigabyte 6850 OC card. Thanks!
Try this:
1. back up your dsdt.
2. delete all lines with references to PEGP (Search PEGP, delete, Next, delete, repeat Next, etc.)
3. rename GFX0 to IGPU (Search GFX0, Replace IGPU, Replace)
4. rename PEG0 to PEGP (Search PEG0, Replace PEGP, Replace)
5. paste HDMI edit code into new PEGP (Preserve existing Name and Methods, copy Device (GFX0) and Device (HDAU))
6. continue as specified in the guideWhat processor are you using?

What processor are you using?
 
Try this:
1. back up your dsdt.
2. delete all lines with references to PEGP (Search PEGP, delete, Next, delete, repeat Next, etc.)
3. rename GFX0 to IGPU (Search GFX0, Replace IGPU, Replace)
4. rename PEG0 to PEGP (Search PEG0, Replace PEGP, Replace)
5. paste HDMI edit code into new PEGP (Preserve existing Name and Methods, copy Device (GFX0) and Device (HDAU))
6. continue as specified in the guideWhat processor are you using?

What processor are you using?

Ok, I'll give that a try. I'm using a i5-2500K
 
Ok, I'll give that a try. I'm using a i5-2500K

so I gave it a try, and now I'm down to two errors, both related to DTGP references ("Object does not exist"). I looked through Kris404's DSDT to compare and I think the issue is related to not having a detailed HDEF section. Should i go back to the beginning (where I first created my DSDT) and add the HDEF patch?

Thanks toledo
 

Attachments

  • dsdt.dsl.zip
    27.6 KB · Views: 75
so I gave it a try, and now I'm down to two errors, both related to DTGP references ("Object does not exist"). I looked through Kris404's DSDT to compare and I think the issue is related to not having a detailed HDEF section. Should i go back to the beginning (where I first created my DSDT) and add the HDEF patch?
See [EasyGuide] How to add HDEF to your dsdt
 
Status
Not open for further replies.
Back
Top