Jump to content

4870 has phantom VGA in displays


12 posts in this topic

Recommended Posts

My old 4870 worked fine with dual screens on Snow Leopard but since Lion it shows a phantom second VGA screen as being present. This prevent a second monitor from showing the desktop. At boot, both show the Chameleon screens but as soon as I select the boot drive, one screen goes black. This also happens with Mountain Lion DP3—with one screen everything is fine (full acceleration, resolution, etc.) but as soon as the second screen is connected the working screen goes black and the new screen has part of an extended desktop.

Any ideas for a fix?

Link to comment
Share on other sites

Thanks for your reply.

 

No graphics enabler, no dsdt, etc. This old hacked BIOS ep45-ud3r hasn't usually needed them.

 

This is the output

 

 

ioreg | grep ATY

| | | | +-o ATY,ATY,RadeonFramebuffer@0 <class AtiFbStub, id 0x10000032a, registered, matched, active, busy 0 (515 ms), retain 8>

| | | | | +-o ATY_ATY,RadeonFramebuffer <class AMDFramebuffer, id 0x10000032d, registered, matched, active, busy 0 (250 ms), retain 16>

| | | | +-o ATY,ATY,RadeonFramebuffer@1 <class AtiFbStub, id 0x10000032b, registered, matched, active, busy 0 (1 ms), retain 8>

| | | | | +-o ATY_ATY,RadeonFramebuffer <class AMDFramebuffer, id 0x100000333, registered, matched, active, busy 0 (0 ms), retain 17>

Link to comment
Share on other sites

So I tried this as org.chameleon.boot.plist but no go:

 

 

<?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>AtiConfig</key>

<string>Motmot</string>

<key>GUI</key>

<string>No</string>

<key>GraphicsEnabler</key>

<string>Yes</string>

</dict>

</plist>

 

 

I do have QE/CI and everything else is working fine using 12A239. Just no second screen. Time to upgrade from 4870?

Link to comment
Share on other sites

There may be other reasons to upgrade your graphics card, but this is not one of them, even cards that work otb may require some tinkering to work 100% and just comes with the territory. I had a XFX 4870 and now XFX 5870, both reference design, which makes things way easier, but any card bought 6 months+ after that model first comes out, will usually not be reference design with that layout being limited to the initial release.

 

Motmot is correct frame buffer for many 4870's, but not all follow the same reference design, but it's definitely one of the birds i.e. Peregrine, Raven, etc. You can try some of the others until you find one that works, also add the # of ports you card has:

 

 

AtiPorts

4

 

change the number to 3 if you have 3 port card. Chameleon Wizard has all of them listed in it's org.chameleon.Boot.plist editor, but I suggest adding them manually at boot until you find the right one by typing ATIConfig=Nameofframbuffer substituting Nameofframebuffer for the name of, um...the frame buffer.

 

Also see this post for some additional info and possible patch to help. http://www.insanelym...ic=258665&st=20

Link to comment
Share on other sites

Thanks ee357,

I'll give it a try with other framebuffer names. Under SL when there were no problems, it was MotMot for sure but ....

I have been thru all the related and ATi controller, radeon and AMD kexts and the device ID/vendoe ID is present in all so that isn't the problem.

I'll post what i find later.

Link to comment
Share on other sites

Good luck! Was there any difference between how it ran when you first uploaded the ioreg and no framebuffer other than generic was loaded, vs later post where you indicated adding of Motmot to boot.plist? Did same terminal command then show that Motmot did in fact get loaded at that point instead of ATY,ATY,RadeonFramebuffer@0blalblablabla?

Link to comment
Share on other sites

No, it is basically the same even, with MotMot in the boot.plist—but the memory addresses are different:

The only other logical possibility for the 4870 is the Cardinal frame buffer but that does nothing too.

It is worth noting this is 10.8 build but the same happens on 10.7.4 too.

 

 

ioreg | grep ATY

| | | | +-o ATY,ATY,RadeonFramebuffer@0 <class AtiFbStub, id 0x100000326, registered, matched, active, busy 0 (486 ms), retain 8>

| | | | | +-o ATY_ATY,RadeonFramebuffer <class AMDFramebuffer, id 0x10000032b, registered, matched, active, busy 0 (220 ms), retain 16>

| | | | +-o ATY,ATY,RadeonFramebuffer@1 <class AtiFbStub, id 0x100000327, registered, matched, active, busy 0 (1 ms), retain 8>

| | | | | +-o ATY_ATY,RadeonFramebuffer <class AMDFramebuffer, id 0x100000331, registered, matched, active, busy 0 (1 ms), retain 17>

 

Good luck! Was there any difference between how it ran when you first uploaded the ioreg and no framebuffer other than generic was loaded, vs later post where you indicated adding of Motmot to boot.plist? Did same terminal command then show that Motmot did in fact get loaded at that point instead of ATY,ATY,RadeonFramebuffer@0blalblablabla?

Link to comment
Share on other sites

OK, but again in that IOreg you just posted, there is no framebuffer loaded other than the same generic one that always gets loaded when you haven't set it up properly. It should look like this, with Uakari (my Frame buffer) substituted for the one you specified

ioreg | grep ATY
   | |   |   | +-o ATY,Uakari@0  <class AtiFbStub, id 0x1000003ac, registered, matched, active, busy 0 (5 ms), retain 8>
   | |   |   | | +-o ATY_Uakari  <class AMDFramebuffer, id 0x1000003b0, registered, matched, active, busy 0 (4 ms), retain 18>
   | |   |   | +-o ATY,Uakari@1  <class AtiFbStub, id 0x1000003ad, registered, matched, active, busy 0 (0 ms), retain 8>
   | |   |   | | +-o ATY_Uakari  <class AMDFramebuffer, id 0x1000003b6, registered, matched, active, busy 0 (0 ms), retain 17>
   | |   |   | +-o ATY,Uakari@2  <class AtiFbStub, id 0x1000003ae, registered, matched, active, busy 0 (0 ms), retain 8>
   | |   |   | | +-o ATY_Uakari  <class AMDFramebuffer, id 0x1000003bc, registered, matched, active, busy 0 (0 ms), retain 14>
   | |   |   | +-o ATY,Uakari@3  <class AtiFbStub, id 0x1000003af, registered, matched, active, busy 0 (0 ms), retain 8>
   | |   |   | | +-o ATY_Uakari  <class AMDFramebuffer, id 0x1000003c2, registered, matched, active, busy 0 (0 ms), retain 14>

Your also only loading 2 display connectors as apposed to the 4 you can see loaded in mine. I'm not sure if you have a 3 port or 4 port card, but I doubt it's a 2 port card, so something has been overlooked in your configuration. I would guess it has to be either an injector kext has been installed, org.chameleon.Boot.plist either not loading at all or is not configured correctly, or your device ID was missed in one of the ATI extension and has not been added. Since you seem confident all those things are correct, I'm gonna go out on a limb here and say

 

"ADD PCIRoot=1 TO YOUR BOOT PLIST!!!"

 

and then fixed

Link to comment
Share on other sites

Thanks for your fantastic help eep357. I am going to try that but in the meantime I borrowed a friend's Radeon 6870 and it is working perfectly with two screens (one on top DVI and one on MDP using MDP to DVI cable). I'll stick with this setup until the job I am working on is done (time is money) and then try some more changes to Boot.plist.

 

Here is the output and yet again no loaded frame buffer for the 6870 but no problems at all with both screens and full QE/CI.

 

 

ioreg | grep ATY

| | | | +-o ATY,AMD,RadeonFramebuffer@0 <class AtiFbStub, id 0x10000032c, registered, matched, active, busy 0 (463 ms), retain 8>

| | | | +-o ATY,AMD,RadeonFramebuffer@1 <class AtiFbStub, id 0x10000032d, registered, matched, active, busy 0 (1 ms), retain 8>

| | | | +-o ATY,AMD,RadeonFramebuffer@2 <class AtiFbStub, id 0x10000032e, registered, matched, active, busy 0 (0 ms), retain 8>

| | | | +-o ATY,AMD,RadeonFramebuffer@3 <class AtiFbStub, id 0x10000032f, registered, matched, active, busy 0 (0 ms), retain 8>

| | | | +-o ATY,AMD,RadeonFramebuffer@4 <class AtiFbStub, id 0x100000330, registered, matched, active, busy 0 (0 ms), retain 8>

 

 

OK, but again in that IOreg you just posted, there is no framebuffer loaded other than the same generic one that always gets loaded when you haven't set it up properly. It should look like this, with Uakari (my Frame buffer) substituted for the one you specified

ioreg | grep ATY
| |   |   | +-o ATY,Uakari@0  <class AtiFbStub, id 0x1000003ac, registered, matched, active, busy 0 (5 ms), retain 8>
| |   |   | | +-o ATY_Uakari  <class AMDFramebuffer, id 0x1000003b0, registered, matched, active, busy 0 (4 ms), retain 18>
| |   |   | +-o ATY,Uakari@1  <class AtiFbStub, id 0x1000003ad, registered, matched, active, busy 0 (0 ms), retain 8>
| |   |   | | +-o ATY_Uakari  <class AMDFramebuffer, id 0x1000003b6, registered, matched, active, busy 0 (0 ms), retain 17>
| |   |   | +-o ATY,Uakari@2  <class AtiFbStub, id 0x1000003ae, registered, matched, active, busy 0 (0 ms), retain 8>
| |   |   | | +-o ATY_Uakari  <class AMDFramebuffer, id 0x1000003bc, registered, matched, active, busy 0 (0 ms), retain 14>
| |   |   | +-o ATY,Uakari@3  <class AtiFbStub, id 0x1000003af, registered, matched, active, busy 0 (0 ms), retain 8>
| |   |   | | +-o ATY_Uakari  <class AMDFramebuffer, id 0x1000003c2, registered, matched, active, busy 0 (0 ms), retain 14>

Your also only loading 2 display connectors as apposed to the 4 you can see loaded in mine. I'm not sure if you have a 3 port or 4 port card, but I doubt it's a 2 port card, so something has been overlooked in your configuration. I would guess it has to be either an injector kext has been installed, org.chameleon.Boot.plist either not loading at all or is not configured correctly, or your device ID was missed in one of the ATI extension and has not been added. Since you seem confident all those things are correct, I'm gonna go out on a limb here and say

 

"ADD PCIRoot=1 TO YOUR BOOT PLIST!!!"

 

and then fixed

Link to comment
Share on other sites

It depends on the card, I can load mine without any frame buffer or graphics enabler for that matter and it will work 100% fine out the box on a vanilla install, all ports, with same generic frame buffer. But it runs even better with graphics enabler and manual frame buffer.

Link to comment
Share on other sites

 Share

×
×
  • Create New...