Jump to content
InsanelyMac Forum
Sign in to follow this  
newnekton1

4870 has phantom VGA in displays

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?

Share this post


Link to post
Share on other sites
Advertisement

are you using graphics enabler or any patch, any framebuffer? Check framebuffer in terminal: ioreg | grep ATY

Share this post


Link to post
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>

Share this post


Link to post
Share on other sites

Well it seems like you're loading up the default framebuffer you could try loading MotMot I know for a fact it worked fine with my 4850 when I was running with it you could try it out and see how it works out for you.

Share this post


Link to post
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?

Share this post


Link to post
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

Share this post


Link to post
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.

Share this post


Link to post
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?

Share this post


Link to post
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?

Share this post


Link to post
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

Share this post


Link to post
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

Share this post


Link to post
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.

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
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Posts

    • Cool! Do you have a link? Googled and didn't see anything yet.   Never mind... you're quick! I just noticed you updated it on the 1st page THANKS!!!!!!
    • I resolved the problem. Just set this coding in your config.plist:   "
      <key>KextsToPatch</key>
              <array>
                  <dict>
                      <key>Comment</key>
                      <string>USB 10.13.4+ by PMHeart</string>
                      <key>Disabled</key>
                      <false/>
                      <key>Find</key>
                      <data>
                      g32UDw+DlwQAAA==
                      </data>
                      <key>InfoPlistPatch</key>
                      <false/>
                      <key>MatchOS</key>
                      <string>10.13.x</string>
                      <key>Name</key>
                      <string>com.apple.driver.usb.AppleUSBXHCI</string>
                      <key>Replace</key>
                      <data>
                      g32UD5CQkJCQkA==
                      </data>
                  </dict>
              </array>     "
    • New Web Driver - 387.10.10.10.30.107 for 10.13.4 build 17E202
    • I guess having pre{max-height: 500px;overflow: auto;} in CSS was too much for IPS Devs' tast.  Until an admin has hands on this, you still can use stylish plugin to accomplish it.     In fact, it is pretty easy than it appears - Just apply a simple click on the codebox (it will highlight it), then 'delete' key.
    • all the possible frequencyes i have added seems to work fine at the moment, i have added a lot of different frequencyes to support better all kinds of professional applications, inclunding strange sampling rates and goes from 8khz up to 176.4 khz, unfortunately 192 khz does not seems to work even on cards which should support it like the audigy rx, but other frequencyes just works fine and at the moment i have tested only the sound blaster audigy rx and the audigy sb0090 (1st gen audigy) and i can confirm that all the frequencyes from 8khz up to 176.4 khz does work on that card, so i think that such frequencyes should work on all the audigy 2, 2sz, 4 cards as well, tomorrow i will test with my sound blaster live! cards and i will let you know, but here are also some photos (pro tip: use cmd + alt/opton + 4 and then press space to make a screenshot of a single window):


×