Jump to content

applehacker

applehacker

Member Since 27 Oct 2007
Offline Last Active Dec 24 2014 08:35 PM
***--

Topics I've Started

[Working] ATi Mobility Radeon 7970M HD

11 September 2014 - 04:22 AM

Guys, I've finally managed to do it. Two years (on/off) worth of testing, and I've finally managed to enable FULL dGPU ACCELERATION in OS X Mavericks for the ATi Mobility Radeon 7970M HD!!! I have something useful to contribute finally :D
 
 
 
I found/decoded the correct connectors and patched the appropriate controller kext, and it works beautifully. So far, on the M17x R4, the following is working
 
{Note: I am using Chameleon Bootloader r2380}
Full CPU Support (all cores/threads) [native support]
All RAM Recognized (in my case, 16GB) [native support]
Intel HD 4000 Full Accleration (when set to iGPU or SG in BIOS) [patched in the DSDT]
ATi Mobility Radeon 7970M Full Acceleration (When set to PEG in BIOS) [needs my patched kext]
DVD/Blu ray drive (works natively)
Touchpad mimicking Apple's Touchpad (works with VoodooPS2)
All USB/ESATA Ports (works with correct DSDT)
Webcam (works with correct DSDT)
Wifi (replaced stock card with AR9280 card, recognized natively)
Bluetooth (works natively)
 
Things still need to be worked on:
Audio (the flaky Recon3Di chip is not helping my case....) [probably will approach with voodooHDA, later with AppleHDA]
Sleep/Wake support [needs DSDT tweaking]  WORKING
HDMI Output [needs connector patching in framebuffer]
DP Output [needs connector patching in framebuffer]
VGA Output [needs connector patching in framebuffer]
AlienFX Control [no freaking clue.....]
Memory card reader [will explore voodooSDXC]
 
 
Additional cards may be made to work if they are donated to me to work on (talking about ATi cards, I refuse to work on nVidia)
 
So all in all.....ITS POSSIBLE GUYS!
 
Link to my "Extra" folder, including patched AMD kext: http://www.mediafire...7x_R4_Extra.zip
 
For those interested:
 
Proper Framebuffer is: Buri
 
Initial address in framebuffer: 
02000000000100002905010010000505
 
the proper connector patch is:
02000000400000000901000010000005

ATI Mobility Radeon 7970M Help achieving QE/CI

23 May 2014 - 07:49 PM

Hey everybody,

I am attempting to get my ATI Mobility Radeon 7970M working in Mac OS X. I am using an Alienware M17x R4. Buri frame buffer looks like it has the most promise, so let us begin there:

 

 

RADEON BIOS DECODE DUMP:

ATOM BIOS Rom: 

SubsystemVendorID: 0x1028 SubsystemID: 0x057b

IOBaseAddress: 0x0000

Filename: C42904A1.117

BIOS Bootup Message: 

Wimbledon XT A01 MXM GDDR5 300e/150m 0.9V A1                                

 

PCI ID: 1002:6800

Connector at index 0

Type [@offset 45840]: (null) (-1055027892)

Encoder [@offset 45844]: INTERNAL_UNIPHY2 (0x21)

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

Connector at index 1

Type [@offset 45850]: (null) (-1055027892)

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

i2cid [@offset 46003]: 0x94, OSX senseid: 0x5

Connector at index 2

Type [@offset 45860]: DisplayPort (10)

Encoder [@offset 45864]: INTERNAL_UNIPHY1 (0x20)

i2cid [@offset 46030]: 0x91, OSX senseid: 0x2

Connector at index 3

Type [@offset 45870]: HDMI-A (11)

Encoder [@offset 45874]: INTERNAL_UNIPHY1 (0x20)

i2cid [@offset 46057]: 0x90, OSX senseid: 0x1

Connector at index 4

Type [@offset 45880]: HDMI-A (11)

Encoder [@offset 45884]: INTERNAL_UNIPHY2 (0x21)

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

Connector at index 5

Type [@offset 45890]: VGA (1)

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

i2cid [@offset 46111]: 0x97, OSX senseid: 0x8

Redsocks BIOS DECODE

 

Wimbledon XT A01 MXM GDDR5 300e/150m 0.9V A1                                

 

Subsystem Vendor ID: 1028

       Subsystem ID: 57b

Object Header Structure Size: 435

Connector Object Table Offset: 52

Router Object Table Offset: 0

Encoder Object Table Offset: 13f

Display Path Table Offset: 12

Connector Object Id [22] which is [(unknown)]

encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x22 [duallink 0x2] enc 0x5)] linkb: true

Connector Object Id [22] which is [(unknown)]

encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false

Connector Object Id [19] which is [DISPLAY_PORT]

encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x21 [duallink 0x1] enc 0x3)] linkb: true

Connector Object Id [12] which is [HDMI_TYPE_A]

encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] linkb: false

Connector Object Id [12] which is [HDMI_TYPE_A]

encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x12 [duallink 0x2] enc 0x4)] linkb: false

Connector Object Id [5] which is [VGA]

encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false

 
Connections on this system:  LVDS, HDMI IN, HDMI OUT, VGA, DisplayPort
The system is equipped with a muxless switchable graphics scheme, with the option of running Intel only or ATI only.
Am I correct in assuming that the first two "unknown" connector objects are LVDS?
 
First line from Buri Framebuffer

02 00 00 00 00 01 00 00 29 05 01 00 10 00 05 05

 
Suggested patch for LVDS

02 00 00 00 40 00 00 00 29 05 00 00 10 00 00 05

 

Here is the current condition:

With graphics enabler=no, I can boot in limited graphics (1920x1080), no option to change resolution, so I assume no frame buffer is being loaded. Graphics enabler =yes never gets me to the desktop. In verbose mode, it only stays on verbose text. 

 

Kexts that are loaded:

AMDX4000

AMDsupport

 

Kexts not loaded:

AMD7000controller

AMDFramebuffer

 

Device ID is 0x6800, 0x1002. This ID natively exists in AMD7000Controller and AMDX4000

 

Where do I proceed from here? Thanks in advance for info.

 

Also, in my DSDT, I had sections for PEG0, PEGP, and GFX0. GFX0 was renamed to IGP since it pointed to the intel HD 4000, which is fully working. I read other posts online, and decided to delete PEGP from DSDT and rename PEG0 to PEGP and inject my code there. DSDT code is below, please advise.

 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,slot-name", 
                            Buffer (0x07)
                            {
                                "Slot-1"
                            }, 

                            "device-id", 
                            Buffer (0x04)
                            {
                                0x00, 0x68, 0x00, 0x00
                            }, 

                            "@0,connector-type", 
                            Buffer (0x04)
                            {
                                0x02, 0x00, 0x00, 0x00
                            }, 

                            "@0,ATY,EFIDisplay", 
                            Buffer (0x0C)
                            {
                                "LVDS"
                            }, 

                            "@0,compatible", 
                            Buffer (0x0C)
                            {
                                "ATY,Buri"
                            }, 

                            "@0,device_type", 
                            Buffer (0x08)
                            {
                                "display"
                            }, 

                            "@0,name", 
                            Buffer (0x0E)
                            {
                                "ATY,Buri"
                            }, 

                            "@1,device_type", 
                            Buffer (0x08)
                            {
                                "display"
                            }, 

                            "@1,compatible", 
                            Buffer (0x0C)
                            {
                                "ATY,Buri"
                            }, 

                            "@1,connector-type", 
                            Buffer (0x04)
                            {
                                0x00, 0x08, 0x00, 0x00
                            }, 

                            "@1,name", 
                            Buffer (0x0E)
                            {
                                "ATY,Buri"
                            }, 

                            "ATY,Card#", 
                            Buffer (0x0E)
                            {
                                "C29-615001-00"
                            }, 

                            "ATY,Rom#", 
                            Buffer (0x10)
                            {
                                "C29-61500-100"
                            }, 

                            "device_type", 
                            Buffer (0x12)
                            {
                                "ATY,BuriParent"
                            }, 

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

                            "model", 
                            Buffer (0x1D)
                            {
                                "ATi Mobility Radeon HD 7970M"
                            }, 

                            "AAPL00,DualLink", 
                            Buffer (0x04)
                            {
                                0x01, 0x00, 0x00, 0x00
                            }, 

                            "@0,display-dual-link", 
                            Buffer (0x04)
                            {
                                0x01, 0x00, 0x00, 0x00
                            }, 

                            "AAPL,HasPanel", 
                            Buffer (0x04)
                            {
                                0x01, 0x00, 0x00, 0x00
                            }, 

                            "AAPL,Haslid", 
                            Buffer (0x04)
                            {
                                0x01, 0x00, 0x00, 0x00
                            }, 

                            "AAPL,backlight-control", 
                            Buffer (0x04)
                            {
                                0x01, 0x00, 0x00, 0x00
                            }, 

                            "@0,backlight-control", 
                            Buffer (0x04)
                            {
                                0x01, 0x00, 0x00, 0x00
                            }, 

                            "@0,AAPL,boot-display", 
                            Buffer (0x04)
                            {
                                0x01, 0x00, 0x00, 0x00
                            }, 

                            "@0,built-in", 
                            Buffer (One)
                            {
                                0x01
                            }, 

                            "@0,display-link-component-bits", 
                            Buffer (0x04)
                            {
                                0x06, 0x00, 0x00, 0x00
                            }, 

                            "@0,display-pixel-component-bits", 
                            Buffer (0x04)
                            {
                                0x06, 0x00, 0x00, 0x00
                            }, 

                            "AAPL00,Dither", 
                            Buffer (0x04)
                            {
                                0x00, 0x00, 0x00, 0x00
                            }, 

                            "@0,display-dither-support", 
                            Buffer (0x04)
                            {
                                0x00, 0x00, 0x00, 0x00
                            }, 

                            "@0,inverter-current", 
                            Buffer (0x04)
                            {
                                0x00, 0x00, 0x00, 0x00
                            }, 

                            "@1,connector-type", 
                            Buffer (0x04)
                            {
                                0x00, 0x08, 0x00, 0x00
                            }, 

                            "hda-gfx", 
                            Buffer (0x0A)
                            {
                                "onboard-2"
                            }
                        }, 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-2"
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }
        }

Applehda/sound problem

26 January 2014 - 05:14 AM

Hey fellas,

I successfully patched Applehda, and my internal speakers, my headphone jack auto switching, and microphone all work. however, there is a nasty problem where when the system wakes from sleep, the internal speakers stop working, but the microphone and headphone jack still work. Only a hard reset will fix the audio. Does anybody have same problem and a fix? Thanks! Sound card is CX20672/CX20590 bin patched appleHDA

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy