Jump to content

ATI Radeon HD 4850 1GB SD over DSDT @Yosemite


djmastera2000
 Share

22 posts in this topic

Recommended Posts

Hello,

 

can anyone help me please to patch dsdt to get the card working (with HDMI Audio) mentioned in topic title?  I am trying since days but nothing :-(

 

The card works perfectly oob with kext injector loaded from CLOVER, but i get no HDMI Audio working, not with injectors nor e.g. hdmiaudio.kext etc.

 

Everything works oob...

 

My Board: Gigabyte EP45-DS5

 

 

What i have done till today:

 

 

- dumped dsdt and patched with several things for my board(see attached dsdt)

- copied necessary kexts to /EFI/CLOVER/kexts/10.10/ (LegacyAMD4800Controller.kext, FakeSMC.kext, RealtekRTL81xx.kext, ApplePCIIDE.kext)

 

 

Attached ioregdump also...if you need any other info just tell me...

 

 

Thank you all very much :)

djmastera2000.ioreg.zip

DSDT_EP45-DS5_patched.aml.zip

Link to comment
Share on other sites

I dropped my ATI injector kext now and actually inject my ATI Radeon HD 4850 card via CLOVER with flag "ATIinject" and "FakeID: 94401002" only, works successfully. So i don't need this kext anymore...but here they are :)

 

But still no dsdt and so no HDMIAudio :-( Or is there a possibillity to inject gfx via CLOVER and HDMIAudio via dsdt additionally?

 

EDIT: my HDMIAudio ID ist 0xaa301002

LegacyAMD4800Controller.kext.zip

DSDT.aml.zip

Link to comment
Share on other sites

OK 
You have two options 
 
1. AppleHDA way
 
1.1 We need to tell osx that gpu has HDMI. This can be done with DSDT/SSDT or clover. Clover has option ACPI patch new-way 
<key>AddHDMI_8000000</key>
<true/>
so enable that. Post your ioreg when this enabled.
 
1.2 Driver for hdmi is located in appleHDA.kext/Contents/PlugIns/AppleHDAController.kext, but codec id is hard coded so we need to bin. patch that. Clover is here to help. We will use ati/amd 5xxx series codec id 50AA and replace it with ati 4xxx series 30AA
 
Clover PATCH: 

 
1.3 Framebuffer: motmot fb is default DVI and DisplayPort you need to patch that HDMI+DVI 
 
 
Option 2

 

2. VooDooHDA. Search :)
Link to comment
Share on other sites

OK, 1.3 done, but how can i verify that this is loaded by Yosemite?

 

Issue: RadeonFramebuffer loaded, which is fully OK and accelerated and all connectors work with DualDVI, but i should load MotMot...i don't know why...without MotMot no HDMIAudio...

ATIConnectorsController: 4800

original
0004000004010000000100001000020304000000140200000001000001110104
patched
0008000004020000000100000000000304000000140200000001000001110104
Link to comment
Share on other sites

0x021030aa is native, do not patch.

 

it is. thx toleda.

 

about FB: i extracted rom from your ioreg but i can't c no HDMI. are you using custom GPU rom ?

./radeon_bios_decode < 9666 

ATOM BIOS Rom: 

SubsystemVendorID: 0x1462 SubsystemID: 0x1530

IOBaseAddress: 0x0000

Filename: SV30528.bin 

BIOS Bootup Message: 

113-MSITV153MS.131 RV770PRO SAMSUNG 32MX32 1G                                 

PCI ID: 1002:9442

Connector at index 0

Type [@offset 44168]: DVI-I (2)

Encoder [@offset 44172]: INTERNAL_UNIPHY (0x1e)

i2cid [@offset 44278]: 0x92, OSX senseid: 0x3

Connector at index 1

Type [@offset 44178]: DVI-I (2)

Encoder [@offset 44182]: INTERNAL_KLDSCP_DAC2 (0x16)

i2cid [@offset 44278]: 0x92, OSX senseid: 0x3

Connector at index 2

Type [@offset 44188]: 9 pin DIN (9)

Encoder [@offset 44192]: INTERNAL_KLDSCP_DAC2 (0x16)

Connector at index 4

Type [@offset 44208]: DVI-I (2)

Encoder [@offset 44212]: INTERNAL_KLDSCP_DAC1 (0x15)

i2cid [@offset 44346]: 0x93, OSX senseid: 0x4

Connector at index 5

Type [@offset 44218]: DVI-I (2)

Encoder [@offset 44222]: INTERNAL_KLDSCP_LVTMA (0x1f)

i2cid [@offset 44346]: 0x93, OSX senseid: 0x4

Link to comment
Share on other sites

Hm, i'm sure i told already...my card has 2 DVI ports, which giving HDMI sound in Windows (DVI<->HDMI: signal compatible) with genuine ATI HDMI2DVI adapter. This adapter is for that audio signal espacially...therefore you can patch ATI connectors with CLOVER, to tell OS X you have a HDMI port, and not DVI only...

 

But new question is, why MotMot is not loaded??

 

No, my rom is genuine ATI...attached...

ATOM BIOS Rom:
    SubsystemVendorID: 0x1462 SubsystemID: 0x1530
    IOBaseAddress: 0xbe00
    Filename: SV30528.bin
    BIOS Bootup Message:
113-MSITV153MS.131 RV770PRO SAMSUNG 32MX32 1G
PCI ID: 1002:9442
Connector at index 0
    Type [@offset 44168]: DVI-I (2)
    Encoder [@offset 44172]: INTERNAL_UNIPHY (0x1e)
    i2cid [@offset 44278]: 0x92, OSX senseid: 0x3
Connector at index 1
    Type [@offset 44178]: DVI-I (2)
    Encoder [@offset 44182]: INTERNAL_KLDSCP_DAC2 (0x16)
    i2cid [@offset 44278]: 0x92, OSX senseid: 0x3
Connector at index 2
    Type [@offset 44188]: 9 pin DIN (9)
    Encoder [@offset 44192]: INTERNAL_KLDSCP_DAC2 (0x16)
Connector at index 4
    Type [@offset 44208]: DVI-I (2)
    Encoder [@offset 44212]: INTERNAL_KLDSCP_DAC1 (0x15)
    i2cid [@offset 44346]: 0x93, OSX senseid: 0x4
Connector at index 5
    Type [@offset 44218]: DVI-I (2)
    Encoder [@offset 44222]: INTERNAL_KLDSCP_LVTMA (0x1f)
    i2cid [@offset 44346]: 0x93, OSX senseid: 0x4

my ATI connector patch in CLOVER:

<key>ATIConnectorsController</key>
<string>4800</string>
<key>ATIConnectorsData</key>
<string>0004000004010000000100001000020304000000140200000001000001110104</string>
<key>ATIConnectorsPatch</key>
<string>0008000004020000000100000000000304000000140200000001000001110104</string>

ATIHD4850rom.zip

Link to comment
Share on other sites

  • 2 weeks later...

So, XFX Radeon 6870 1GB Black Edition (Dual Fan) works with HDMI Audio injected in dsdt only :thumbsup_anim:

                Device (GFX0)
                {
                    Name (_ADR, Zero)
                    Name (_SUN, One)
                    Method (_DSM, 4, NotSerialized)
                    {
                        Store (Package (0x0C)
                            {
                                "@0,name", 
                                Buffer (0x0D)
                                {
                                    "ATY,Gibba"
                                }, 

                                "@1,name", 
                                Buffer (0x0D)
                                {
                                    "ATY,Gibba"
                                }, 

                                "@2,name", 
                                Buffer (0x0D)
                                {
                                    "ATY,Gibba"
                                }, 

                                "@3,name", 
                                Buffer (0x0D)
                                {
                                    "ATY,Gibba"
                                }, 

                                "model", 
                                Buffer (0x1A)
                                {
                                    "XFX Radeon HD 6870 Series"
                                }, 

                                "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)
                    }
                }

FB Gibba, because of 5 Ports...but i have to patch ATI personality, 2 Ports are usable(HDMI/DVI), 2nd DVI not working, the two DP not tested because no HW...
Perhaps someone has patched ATI personality for this card to get all ports working already?
 
Also upgraded Yosemite to El Capitan directly via AppStore without any issues yesterday(i am on CLOVER only, necessary kexts loaded via CLOVER)...settings:
 
CSR 0x3 und Bootet 0x28...after successful boot activated SIP completely with CSR 0x0
  :yes:
 
 
Greetz

Link to comment
Share on other sites

I think i got it...HDMI /w Audio, both DVI are working too now...so i think the two DPs should work too lol


 

Original Gibba:


0000000 00 04 00 00 04 03 00 00 00 01 00 00 12 04 05 01
0000010 00 04 00 00 04 03 00 00 00 01 00 00 22 05 04 02
0000020 00 08 00 00 04 02 00 00 00 01 00 00 11 02 06 04
0000030 00 02 00 00 14 02 00 00 00 01 00 00 00 00 03 05
0000040 04 00 00 00 04 02 00 00 00 01 00 00 11 02 01 03


Patched:


0000000    00 04 00 00 04 03 00 00 00 01 00 00 12 04 04 01    ---- DP 1
0000010    00 04 00 00 04 03 00 00 00 01 00 00 22 05 05 02    ---- DP 2
0000020    00 08 00 00 04 02 00 00 00 01 00 00 11 02 06 04    ---- HDMI
0000030    00 02 00 00 14 02 00 00 00 01 00 00 00 00 03 05    ---- DVI 1
0000040    04 00 00 00 04 02 00 00 00 01 00 00 11 02 01 06    ---- DVI 2


Patch AMD6000Controller Kext via CLOVER:


Original Gibba:


0004000004030000000100001204050100040000040300000001000022050402000800000402000000010000110206040002000014020000000100000000030504000000040200000001000011020103


Patched:


0004000004030000000100001204040100040000040300000001000022050502000800000402000000010000110206040002000014020000000100000000030504000000040200000001000011020106

Now everything is working...i think :thumbsup_anim:

 

 

EDIT:

 

DSDT corrected for 5 ports(thanks toleda):

                Device (GFX0)
                {
                    Name (_ADR, Zero)
                    Name (_SUN, One)
                    Method (_DSM, 4, NotSerialized)
                    {
                        Store (Package (0x0E)
                            {
                                "@0,name", 
                                Buffer (0x0D)
                                {
                                    "ATY,Gibba"
                                }, 

                                "@1,name", 
                                Buffer (0x0D)
                                {
                                    "ATY,Gibba"
                                }, 

                                "@2,name", 
                                Buffer (0x0D)
                                {
                                    "ATY,Gibba"
                                }, 

                                "@3,name", 
                                Buffer (0x0D)
                                {
                                    "ATY,Gibba"
                                }, 

                                "@4,name", 
                                Buffer (0x0D)
                                {
                                    "ATY,Gibba"
                                }, 

                                "model", 
                                Buffer (0x1A)
                                {
                                    "XFX Radeon HD 6870 Series"
                                }, 

                                "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)
                    }
                }
Link to comment
Share on other sites

Sir,

 

I have a ati 4850HD with 512 megs of ram I tried what you have done and did not work for me!

 

If you have chance can you give me a few tips, currently I do not have an ati dvi to hdmi adapter. For now I just want dual monitors working.  Exotic patch only gives me one monitor!

 

Working with two monitors now! I used the fakeid and that worked so far.  I will check in later.

 

snakeman 

Link to comment
Share on other sites

 Share

×
×
  • Create New...