Jump to content
  • Announcements

    • Allan

      Forum Rules   04/13/2018

      Hello folks! As some things are being fixed, we'll keep you updated. Per hour the Forum Rules don't have a dedicated "Tab", so here is the place that we have our Rules back. New Users Lounge > [READ] - InsanelyMac Forum Rules - The InsanelyMac Staff Team. 
negative zero

ATI5970 Mountain Lion - QE/CI is not enabled

16 posts in this topic

Recommended Posts

Greetings,

 

I am not sure if anybody tried to enable QE/CI for ATI5970 in MountainLion. The card has been working great since Snow Leopard to Lion. The only thing need is just a modification of ATIRadeon5000Controller.kext by adding the cardID and VendorID in IOPCIMatch as "0x689C1002". Mountain Lion always installs fine. I use xMove and modified the ATIRadeon5000Controller.kext in the Installer before start the install. And it boots fine into Mountain Lion.

 

The only problem that I have is the QE/CI (QE/CI was enabled in the Lion and SnowLeopard). From my reading so far, it looks like I need to add the card ID and vendor ID to the AMDRadeonAccelerator.kext. But ATI5970 belongs to Class Name "Hemlock" which is not listed in the AMDRadeonAccelerator.kext. I tried to add it to the Cypress IOPCIMatch key, but doesn't work out for me. It stuck after [iOBluethController] Started, which i think it's related to that change.

 

Can anyone share some light into this? It's kinda frustrated when QE/CI is not enabled (feels like screen got torn sometimes)

 

Thanks in advance.

Share this post


Link to post
Share on other sites

I think i just got this to work.

 

Previously in Snow Leopard, 5970 needs to disable the second GPU by adding:

 

<key>IOPCIClassMatch</key>

<string>0x03000000&0xFFFF0000</string>

in the

ATIRadeonX3000.kext. But later on in Lion, this constraint is not needed anymore.

But in the mountain lion,

ATIRadeonX3000 is replaced with AMDRadeonAccelerator.kext, and I need to explicitly disable the GPU again as well as adding the device card in the Cypress family.

Share this post


Link to post
Share on other sites

so only 1 of both cores work ?

 

But ATI5970 belongs to Class Name "Hemlock" which is not listed in the AMDRadeonAccelerator.kext.

 

try to put one of :

 

 

AMDHemlockGraphicsAccelerator

ATIEnableWideBlitSupport

ATIUseTearingWideBlit

CFBundleIdentifier

com.apple.AMDRadeonAccelerator

GpuDebugPolicy

0

IOClass

AMDHemlockGraphicsAccelerator

IODVDBundleName

AMDRadeonVADriver

IOKitDebug

0

IOMatchCategory

IOAccelerator

IOPCIMatch

0x689C1002

IOProbeScore

200

IOProviderClass

IOPCIDevice

IOSourceVersion

0.0.0.0.0

IOVARendererID

16908288

sensor-properties

device_type

Z3B1LXNlbnNvcg==

location

GPU

name

gpu-sensor

polling-period

AAAAAQAAAAA=

reg

AAAAAg==

sample-period

AAAAAACYmAA=

sensor-id

AAAABg==

version

AAAAAg==

zone

AAAAAg==

 

 

I don't know if this can work or not, or if there's need to patch binary. But you can try it. ;)

 

 

Good luck

Share this post


Link to post
Share on other sites

Thanks fantomas1,

Yes, only one core is actually working. Is there anybody managed to get two cores in 5970 to work?

 

I checked over the plist, it looks like the settings are the same with Cypress Family. It's probably won't work since it didn't disable the second GPU. I tried to add the device ID to the Cypress Family without Disable GPU, it fails to boot.

 

But do you know if anybody manage to get two cores of 5970 to work?

Share this post


Link to post
Share on other sites

and I seem to have this extra display problem: I have only one display connected but the displays shows 2.

One display is ID 756E6B6E-0000-0717-0000-00005B81C5C4

and another one ID is: 00000610-0000-9236-02D9-061300000000

 

How do I remove the other display? (set AtiPorts=1 doesn't help)

Share this post


Link to post
Share on other sites

yes but you don't tell me if you have try to put the settings like i said in #3 ! :)

 

if you watch into Info.plist, all settings seem to be same, just the name of Framebuffer change !

 

This is why i said you to try this, maybe it can work or maybe need patching binary ! ;)

Share this post


Link to post
Share on other sites

hmm... just tried. It looks like this key AMDHemlockGraphicsAccelerator is not being read in the plist.

System boots ok but without QE/CI.

 

what framebuffer does it specify? Any instructions on patch the binary?

Share this post


Link to post
Share on other sites

i am currently using Uakari,

ioreg | grep ATY

| | | | | +-o ATY,Uakari@0 <class AtiFbStub, id 0x1000003ab, registered, matched, active, busy 0 (2727 ms), retain 8>

| | | | | | +-o ATY_Uakari <class AMDFramebuffer, id 0x1000003bd, registered, matched, active, busy 0 (2266 ms), retain 18>

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

| | | | | | +-o ATY_Uakari <class AMDFramebuffer, id 0x1000003c8, registered, matched, active, busy 0 (0 ms), retain 14>

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

| | | | | | +-o ATY_Uakari <class AMDFramebuffer, id 0x1000003ce, registered, matched, active, busy 0 (0 ms), retain 14>

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

| | | | | | +-o ATY_Uakari <class AMDFramebuffer, id 0x1000003d4, registered, matched, active, busy 0 (0 ms), retain 14>

Share this post


Link to post
Share on other sites

any update on this, or if anyone reading has found a solution to get QE/CI working with a ati 5970 on mountain lion please let us know...

 

Thankyou

 

DSDT injection....

Share this post


Link to post
Share on other sites

Hello,

 

I successfuly have my 5970 working with QE/CI with AtiConfig=Uakari, pcidev in AMDRadeonAccelerator.kext under Cypress and in Ati5000Controller.kext.

 

I'm experiencing a white screen when I boot straight to ML, but it does not happend when I previously booted under windows rebooted and then boot to ML (the two from power off).

 

It must be an init issue.

 

Any ideas ?

 

PS: Sorry for my english

 

EDIT: It seems that Evoenabler solved my problem.

 

It now detects 4 monitors instead of two... AtiPorts=2 does not help :wallbash:

Share this post


Link to post
Share on other sites

Hi all !

 

The 4 monitors problem seems to be produced by the second GPU.

 

IODeviceTree shows two display adapters : The first one with 4 ports (two monitors enabled on DVI ports realy connected), the second one with 2 ports (two monitors enabled as CRT but does not exist).

 

The difference between the two GPU is the Sub-System ID :

 

ATI Radeon HD 5970 (Master GPU) :

 

Nom: ATY,Uakari

Type: Contrôleur du moniteur

Gestionnaire installé: Oui

MSI: Oui

Bus: PCI

Logement: Slot-1

Identifiant du fournisseur: 0x1002

Identifiant du périphérique: 0x689c

Identifiant du fournisseur du sous-système: 0x1002

Identifiant du sous-système: 0x2542

Identifiant de révision: 0x0000

Largeur du câble: x16

Vitesse de la liaison: 5.0 GT/s

 

ATI Radeon HD 5970 (Slave GPU) :

 

Nom: ATY,Uakari

Type: Contrôleur du moniteur

Gestionnaire installé: Oui

MSI: Oui

Bus: PCI

Logement: Slot-1

Identifiant du fournisseur: 0x1002

Identifiant du périphérique: 0x689c

Identifiant du fournisseur du sous-système: 0x1002

Identifiant du sous-système: 0x2042

Identifiant de révision: 0x0000

Largeur du câble: x16

Vitesse de la liaison: 5.0 GT/s

 

Is there a way to disable de second GPU by making the driver to enable only the first one ? Or simply enable Crossfire ?

 

May be I should have opened a new thread for that ? Please tell me.

 

Thanks for reading.

Share this post


Link to post
Share on other sites

I solved my ghost screens problem by adding a IOPCISecondaryMatch section to ATI Kexts to disable the second graphic adapter.

Share this post


Link to post
Share on other sites

What I did :

 

1. Added AtiConfig=Uakari to org.chameleon.boot.plist.

2. Added pcidevvendorid (0x689C1002) in IOPCIMatch AMDRadeonAccelerator.kext under Cypress section and in Ati5000Controller.kext.

3. Added IOPCISecondaryMatch key/value (0x25421002) under each IOPCIMatch I edited to only match the master gpu.

4. Installed Evoenabler.kext from http://www.osx86.net/view/3043-ati_radeon_hd5450_with_full_qe-ci_support.html

 

Everything is fine after that steps. I also added UseAtiRom with a copy of my master rom but I don't realy know if it's necessary.

If you have troubles to do that, safe mode will help.

Share this post


Link to post
Share on other sites

No need of EVOEnabler with this steps :

1. Add AtiConfig=Uakari to org.chameleon.boot.plist with GE=No (I use chimera 2.0.1 and DVD player is ok)
2. Add pcidevvendorid (0x689C1002) in IOPCIMatch of AMDRadeonAccelerator.kext under Cypress section and in Ati5000Controller.kext Info.plist files.
3. Add IOPCIClassMatch key with 0x03000000&0xFFFF0000 as string value in the two files I edited in step 2 (see code below)
 

            <key>IOPCIMatch</key>
            <string>0x689C1002</string>
            <key>IOPCIClassMatch</key>
            <string>0x03000000&0xFFFF0000</string>

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.

×