Jump to content
ytrox

[HOW TO] enable HDMI DP DVI output on ATI 4890 4870 4850 4830 series (TESTING)

56 posts in this topic

Recommended Posts

Yup safe mode locked up, no sound when trying to input alt ctrl del, unlike non safe mode.

 

Are you running lion ytrox?

 

Also just out of curiosity, would running netkas exotic qe/ci patch make any difference?

Share this post


Link to post
Share on other sites
Advertisement
Yup safe mode locked up, no sound when trying to input alt ctrl del, unlike non safe mode.

 

Are you running lion ytrox?

 

Also just out of curiosity, would running netkas exotic qe/ci patch make any difference?

 

i'm running snow but i have tested kexts in lion, they works. netkas will not help you about resolution. you must try to change res in remote mode. remove framebuffer and activate screen sharing then reinstall framebuffer and use your pc in remote mode. you can also use team viewer to do that

Share this post


Link to post
Share on other sites

Ok, rebooted, still no dice, only sees 1 monitor, and resolutions are not right (seem 16:9 ratio, going up to 1680x1050). I have also disconnected both monitors, and reconnected them sperately etc...

 

Now I will say im using the chameleon 2.1 rc5 from this link (its built in with th script) http://www.insanelymac.com/forum/index.php?showtopic=185097

 

Its not the latest rev, but its close. Would that make any difference? I replaced the i386 folder from the boot loader with the one you gave me and it loads all my copies of working OSX. SO I dont think its the boot loader thats causing the problems...

 

 

 

If you have a copy of rev 1701 for download (complete) can I get it off you and try that - but I dont think its the boot loader.

 

I manually load the command arguments:

 

-AtiPorts=2 -AtiConfig=Peregrine

 

But no luck...any ideas?

Share this post


Link to post
Share on other sites
Ok, rebooted, still no dice, only sees 1 monitor, and resolutions are not right (seem 16:9 ratio, going up to 1680x1050). I have also disconnected both monitors, and reconnected them sperately etc...

 

Now I will say im using the chameleon 2.1 rc5 from this link (its built in with th script) http://www.insanelymac.com/forum/index.php?showtopic=185097

 

Its not the latest rev, but its close. Would that make any difference? I replaced the i386 folder from the boot loader with the one you gave me and it loads all my copies of working OSX. SO I dont think its the boot loader thats causing the problems...

 

 

 

If you have a copy of rev 1701 for download (complete) can I get it off you and try that - but I dont think its the boot loader.

 

I manually load the command arguments:

 

-AtiPorts=2 -AtiConfig=Peregrine

 

But no luck...any ideas?

look at pci cards in system profiler the framebuffer you are using. i believe you are using motmot

Share this post


Link to post
Share on other sites

I noticed some people struggling to get simultaneous DVI and HDMI, so I thought I'd post.

 

I got DVI and HDMI working simultaneously in Mac OS X 10.7.3 Lion on a SAPPHIRE HD 4890 Vapor-X 2GB by modifying the MotMot ATI personality/frame buffer in ATI4800Controller.kex, which I learned from mucha's post. It appears that the MotMot ATI personality/frame buffer on Lion is set up for DVI and DisplayPort, but not HDMI. So, I edited the DP port from:

 

00 04 00 00 04 01 00 00 00 01 00 00 10 00 02 03

 

to change it to an HDMI port:

 

00 08 00 00 04 02 00 00 00 01 00 00 20 00 02 02

 

The values:

 

00 80 00 00 (0x800) = connector-type (HDMI)

04 02 00 00 (0x204) = ATY,ControlFlags (had to boot it in a Mac Pro and use IORegistryExplorer to see what it was looking for, 0x200 did not work)

00 01 (0x01) = features ("internal", just kept it the same)

00 00 (0x00) = unknown (couldn't find it documented, just kept it the same)

20 (0x20) = transmitter (UNIPHYB/linkb=true reported by redsock_bios_decoder from my card's ROM dump on INTERNAL_UNIPHY)

00 (0x0) = encoder (DIG1/DIGA, kept the same, this differs from redsock's output but 0x1 causes a conflict with DVI)

02 (0x2) = hot plug ID (2 for port 2?, just kept it the same)

02 (0x2) = sense ID (reported by radeon_bios_decode, available on bcc9's post)

Lion_4890_2GB_ATI4800Controller.zip

Share this post


Link to post
Share on other sites

I got DVI and HDMI working simultaneously in Mac OS X 10.7.3 Lion on a SAPPHIRE HD 4890 Vapor-X 2GB by modifying the MotMot ATI personality/frame buffer

 

Attached are patched Apple ATI Radeon HD 48xx Graphics drivers from Mac OS X Lion 10.7.4 (consisting of version 7.18.18 of ATI4800Controller.kext/ATIRadeonX2000.kext) with both:

  • netkas' QE/CI ATI Radeon HD 48xx "exotic" card patch, which enables hardware acceleration on unsupported cards, and
  • my HDMI ATI Radeon HD 48xx MotMot framebuffer patch, which enables simultaneous dual-link DVI+HDMI displays output.

Both kexts need to be installed with Cindori's Kext Drop or something else that properly installs kext files.

 

Works on my SAPPHIRE HD 4890 Vapor-X 2GB with the following in my org.chameleon.Boot.plist:

 

<key>AtiConfig</key>
<string>Motmot</string>
<key>Graphics Mode</key>
<string>2560x1600x32</string>
<key>GraphicsEnabler</key>
<string>Yes</string>

 

It doesn't seem to "light up" both displays at the OS X desktop unless I set a graphics mode in Chameleon (or Chimera), which is kind-of interesting. In OS X, my actual desktop resolutions are 2560x1600 on dual-link DVI and 1920x1200 on HDMI (with DVI adapter).

48xxExotic10-7-4 hdmi.zip

Share this post


Link to post
Share on other sites

Using the above method, I kept seeing an unrecognized component of the 4890 card in "PCI Cards" in System Information (from About This Mac/System Report...), and eventually it dawned on me it was the HDMI audio output component.

 

Using instructions I found elsewhere, I added the "Generic DSDT_HDMI_Audio_Edit" code from the thread's dsdt-hdmi_audio-v3.dsl into my DSDT.aml file. That then fully recognized my graphics card in "PCI Cards" and also added "HDMI Output" to my audio devices.

 

No edits were necessary to AppleHDA or AppleHDAController as my card's HDMI Audio Device_id, "30 aa", was already in the kexts.

Share this post


Link to post
Share on other sites

Same as above, simply updated for OS X Mountain Lion 10.8 (12A269).

 

Attached are patched Apple ATI Radeon HD 48xx Graphics drivers (consisting of version 8.0.51 of ATI4800Controller.kext/ATIRadeonX2000.kext) with both:

  • netkas' QE/CI ATI Radeon HD 48xx "exotic" card patch, which enables hardware acceleration on unsupported cards, and
  • my HDMI ATI Radeon HD 48xx MotMot framebuffer patch, which enables simultaneous dual-link DVI+HDMI displays output.

Both kexts need to be installed with Cindori's Kext Drop or something else that properly installs kext files.

48xxExotic10-8-0 hdmi.zip

Share this post


Link to post
Share on other sites

I am not currently running 10.8.3 on my system, can someone test this for me for hardware acceleration on unsupported cards and simultaneous dual-link DVI+HDMI displays output?

 

UPDATE: Moved to 10.8.3, been tested. Works.

 

Attached are patched Apple ATI Radeon HD 48xx Graphics drivers for OS X 10.8.3 (12D78), consisting of version 8.10.44 of ATI4800Controller.kext and ATIRadeonX2000.kext with both netkas' QE/CI ATI Radeon HD 48xx "exotic" card patch and my HDMI MotMot framebuffer patch.

 

Both kexts need to be installed with Cindori's Kext Drop or something else that properly installs kext files.

QE_CI Exotic HDMI patch OS X Lion_10.8.3.zip

Share this post


Link to post
Share on other sites

I'm not running 10.8.3 yet either on my system so I can't help you there, but I'm having a strange issue with my dual monitor setup on 10.8 using the QE/CI patch and Motmot patch from your post #37 above. Everything is working perfectly at proper resolution on my main DVI display, but the second VGA display goes into power-save mode as soon as the OSX login screen appears. Both displays are awake in the BIOS and in Chameleon. OSX still detects the VGA display, though; when I go to System Preferences -> Displays, and then click Gather Windows, the VGA display window pops up. I can also drag my mouse pointer off the screen as if the monitor was extending correctly, it just simply has no image.

 

I edited my org.chameleon.Boot.plist as you have in post #35, and have tried the following AtiConfigs to no avail: Motmot, Pithecia, Peregrine, Wormey, Lamma. If anyone has any suggestions they would be greatly appreciated!

 

Here's my full org.chameleon.Boot.plist:
[/indent]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>EthernetBuiltIn</key>
<string>Yes</string>
<key>AtiConfig</key>
<string>Motmot</string>
<key>Graphics Mode</key>
<string>1680x1050x32</string>
<key>GraphicsEnabler</key>
<string>Yes</string> 
<key>Kernel Flags</key>
<string>npci=0x2000</string>
<key>Timeout</key>
<string>5</string>
<key>USBBusFix</key>
<string>Yes</string>
<key>UseKernelCache</key>
<string>Yes</string>
</dict>
</plist>
[indent=2]

 

And my Graphics/Displays info from System Information. Nothing shows up under PCI cards, though I have not yet tried your HDMI output fix above.

 

 

ATI Radeon HD 4800:

 

Chipset Model: ATI Radeon HD 4800

Type: GPU

Bus: PCIe

PCIe Lane Width: x16

VRAM (Total): 1024 MB

Vendor: ATI (0x1002)

Device ID: 0x9460

Revision ID: 0x0000

Displays:

L227W:

Resolution: 1680 x 1050 @ 60 Hz

Pixel Depth: 32-Bit Color (ARGB8888)

Main Display: Yes

Mirror: Off

Online: Yes

Rotation: Supported

VGA Display:

Resolution: 800 x 600 @ 60 Hz

Pixel Depth: 32-Bit Color (ARGB8888)

Mirror: Off

Online: Yes

Rotation: Supported

Share this post


Link to post
Share on other sites

[...] Everything is working perfectly at proper resolution on my main DVI display, but the second VGA display goes into power-save mode as soon as the OSX login screen appears. [...]

I doubt my HDMI patch is going to help you out, because you're not using an HDMI port and your card may be physically different from mine. I suspect you either need (1) the regular QE/CI exotic card patch without my HDMI patch because it might light up your VGA port... although it may not because in the case of non-patched MotMot the second port is meant to be a DP port, or (2) to roll your own VGA ATI Radeon HD 48xx MotMot framebuffer/personality patch to enable simultaneous dual-link DVI+VGA displays output (basically, do the VGA version of my HDMI patch). It took me a while to dive into it, but I got all the information I needed to do this type of patch from mucha's post.

Share this post


Link to post
Share on other sites

I am not currently running 10.8.3 on my system, can someone test this for me for hardware acceleration on unsupported cards and simultaneous dual-link DVI+HDMI displays output?

 

UPDATE: Moved to 10.8.3, been tested. Works.

 

Attached are patched Apple ATI Radeon HD 48xx Graphics drivers for OS X 10.8.3 (12D78), consisting of version 8.10.44 of ATI4800Controller.kext and ATIRadeonX2000.kext with both netkas' QE/CI ATI Radeon HD 48xx "exotic" card patch and my HDMI MotMot framebuffer patch.

 

Both kexts need to be installed with Cindori's Kext Drop or something else that properly installs kext files.

 

Thanks, it works on my 4890 Sapphire Vapor-X 1Gb too!

 

I have DVI + HDMI working fine, just had to add:

<key>display_1</key>
<string>display_4</string>

in order to have the HDMI and not the VGA as a second monitor

Share this post


Link to post
Share on other sites

Hey guys, I'm trying to get dual DVI working on my Sapphire 4870, in Mavericks DP1. (It should be roughly the same as ML)

 

I've tried various kexts available through this thread, but all to no avail.

Specifically, the ATIFramebuffer.kext on the first post will make my screen display gibberish black and white after the Apple logo during bootup (computer still runs fine, I can hear the volume adjustments)

As for the exotic QE/CI patch, I get kext load errors when booting in verbose.

 

Is there any manual editing of the kexts I need to do to get dual DVI to work? If so, will anyone kindly point in the right direction? Thanks!

Share this post


Link to post
Share on other sites

I am not currently running 10.8.3 on my system, can someone test this for me for hardware acceleration on unsupported cards and simultaneous dual-link DVI+HDMI displays output?

 

UPDATE: Moved to 10.8.3, been tested. Works.

 

Attached are patched Apple ATI Radeon HD 48xx Graphics drivers for OS X 10.8.3 (12D78), consisting of version 8.10.44 of ATI4800Controller.kext and ATIRadeonX2000.kext with both netkas' QE/CI ATI Radeon HD 48xx "exotic" card patch and my HDMI MotMot framebuffer patch.

 

Both kexts need to be installed with Cindori's Kext Drop or something else that properly installs kext files.

 

Thank you Mr. Zarniwoop,

the kexts you provided work well. My main screen is connected via DVI and my TV via HDMI. Sound is not working via HDMI but this is another topic itself ;)

post-387347-0-42555800-1379423761_thumb.png

Share this post


Link to post
Share on other sites

 

the kexts you provided work well. My main screen is connected via DVI and my TV via HDMI. Sound is not working via HDMI but this is another topic itself ;)

 

 

Add the following to your DSDT to enable HDMI audio output:

 
            Device (PEGP)
            {
                Name (_ADR, 0x00040000)
                Name (_PRW, Package (0x02)
                {
                    0x09, 
                    0x05
                })
 
                Device (GFX0)
                {
                    Name (_ADR, Zero)
                    Name (_SUN, One)
                    Method (_DSM, 4, NotSerialized)
                    {
                        Store (Package (0x02)
                            {
                                "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)
                    }
                }
            }
 
Note that address in "Name (_ADR, 0x00040000)" may be different for your card, I don't have enough experience to know if this is the same across all cards or not?  It definitely seems to be the same at least for those with OEM Apple ATI Radeon HD 5770 cards and this DSDT also enables audio over the Mini DisplayPort ports including using MiniDP-to-HDMI adapters.  In order for this DSDT edit to work, Chameleon's bdmesg output needs to show the PCI card's address as 0x4. Mine reads "ATI Radeon HD 4890 2048MB [1002:9460] (subsys [174b:e118]) (RV772:Motmot) :: PciRoot(0x0)/Pci(0x4,0x0)/Pci(0x0,0x0)" which equates to "Name (_ADR, 0x00040000)" for my 4890 in slot 1.
 
No edits were necessary to AppleHDA or AppleHDAController as my card's HDMI Audio Device_id, "30 aa", was already in the kexts.  If your ID is the same, this should fully recognize your graphics card in "PCI Cards" and should add "HDMI Output" to your audio devices.

Share this post


Link to post
Share on other sites

Thank you again Mr. Zarniwoop for your answer. I haven't gotten into testing HDMI audio with your tips yet because the last days I've been setting up my Mavericks install.

 

I am using Clover as bootloader (r2236) which gives me HDMI video corruption and a black DVI screen out of the box. Installing the provided kexts lead to a working DVI when HDMI cable is connected but a 'not supported video signal' on my TV.

 

Did you get a chance to update your kexts for Mavericks?

Have you checked out Clover yet? It's a really powerful bootloader - unfortunately my knowledge is too limited to use all the options. I feel that all your edits on the kexts/DSDT can be included there right in the config.plist because Clover can patch kexts on the fly. 

 

Keep us updated when you have news :)

Share this post


Link to post
Share on other sites

Haven't tried Clover, as there's not enough incentive for me to switch since Chameleon works so well, but it does sound like it offers a few great features.

 

I haven't updated my system to Mavericks yet.  I was thinking of upgrading over the weekend.  I have looked at the kexts and it seems like they are unchanged so both netkas' exotic patch and my HDMI patch should work fine in case you wanted to do it yourself.

Share this post


Link to post
Share on other sites

I renamed your kexts to 'AMD4800Controller' and 'AMDRadeonX2000' and installed them but I got only a mirrored display with 1024x768 resolution -.-

I'll just wait for your install :P

 

I'm using this guide  for audio and system information is telling me, that I have HDMI audio out but it's not showing in system preferences (yet). But again, first step is working video...

 

edit: ATI RV770 ATI Radeon HD 4870  2048MB (Motmot) [1002:9440] (subsys [174B:E114]):: PcieRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)

so after your guide I have to patch my DSDT with "Name (_ADR, 0x00030000)".

Since I use Clover bootloader, I don't provide a DSDT to my system and clover is applying all the fixes/patches on the fly while booting (IF I understood that correctly). I haven't found out yet how to add custom fixes :(

 

edit2: apparently installing those kexts and then deleting them and replacing with the original AMD4800Controller somehow broke my QE/CI so I can't watch *.mkv anymore. sigh. But at least my 5.1 sound is working haha

I guess that's enough for today - glad that this is only my testbed ;)

post-387347-0-38003400-1383336127_thumb.png

Share this post


Link to post
Share on other sites

Today I started a new try after made a fresh testbed install for Mavericks.

My MotMot personality is as follows:

Personality: MotMot
ConnectorInfo count in decimal: 2
Disk offset in decimal 531280
0000000    00  04  00  00  04  01  00  00  00  01  00  00  10  00  02  03
0000010    04  00  00  00  14  02  00  00  00  01  00  00  01  11  01  04
0000020

I grabbed the AMD4800Controller.kext from S/L/E, copied to my desktop and opened AMD4800Controller.kext/Contents/MacOS/AMD4800Controller with HexEdit.

 

I did a search and replace of the line (my 'display port')

00  04  00  00  04  01  00  00  00  01  00  00  10  00  02  03

and changed it to 

00  08  00  00  04  02  00  00  00  01  00  00  20  00  02  02

saved it, and installed that kext with kextdrop.

Plugged in my TV over HDMI and rebootet. 

Funny thing: My clover bootloader won't even begin to boot Mavericks when I have a HDMI cable plugged in!

When I unplug the HDMI cable, Mavericks would boot up fine but my main DVI screen lost QE/CI and the resolution is {censored}. Installing the provided ATIRadeonX2000.kext does not help.

 

Mr. Zarniwoop, what did you change in the ATIRadeonX2000.kext? Did you do something else to the AMD4800controller.kext?

 

Thanks for your help

 

edit: Not being able to boot when HDMI cable is plugged in, that's the bootloader's fault (Clover r2293) - booting with an older version and hdmi cable plugged in works... but still same problems as above.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×