Jump to content

HD 5870 shows as 5000


  • Please log in to reply
26 replies to this topic

#1
StephanCA

StephanCA

    InsanelyMac Protégé

  • Members
  • Pip
  • 42 posts
Hi, I have a problem that my video card is showing as 5000, I already searched everywhere and tried everything but still no luck. When I use GraphicsEnable=Yes the card shows as 5800 series, but then my screen resolution is very small, and in display properties I'm somehow getting two displays.

I used this topic and tried everything from there, but I think I don't have any problems with QI/CI, it's just that my card is not showing as 5870. Let me know how can I test it to see if it works properly.

#2
iFIRE

iFIRE

    InsanelyMacaholic

  • Banned
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,807 posts
  • Gender:Male
  • Location:Bcn-Spain
it is only cosmetic HD 5000 for this display you have inject your card in DSDT. Example for inject it


Device (PEGP)

{

Name (_ADR, 0x00010000)

Method (_PRW, 0, NotSerialized)

{

Return (GPRW (0x09, 0x04))

}

Method (_PRT, 0, NotSerialized)

{

If (PICM)

{

Return (AR02)

}

Return (PR02)

}

}

Device (GFX0)

{

Name (_ADR, Zero)

Name (_SUN, One)

Method (_DSM, 4, NotSerialized)

{

Store (Package (0x0C)

{

"@0,name",

Buffer (0x0D)

{

"ATY,Duckweed"

},


"@1,name",

Buffer (0x0D)

{

"ATY,Duckweed"

},


"@2,name",

Buffer (0x0D)

{

"ATY,Duckweed"

},


"@3,name",

Buffer (0x0D)

{

"ATY,Duckweed"

},


"model",

Buffer (0x13)

{

"AMD Radeon HD 6850"

},


"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)

}

}

}


#3
buoo

buoo

    The Prodigal Son

  • Moderators
  • 4,541 posts
  • Gender:Male
  • Location:Italy
http://www.insanelym...ore-image-qeci/

#4
Alex Auditore

Alex Auditore

    InsanelyMac Legend

  • Donators
  • 700 posts
  • Gender:Male
What frambuffer do you use?

#5
StephanCA

StephanCA

    InsanelyMac Protégé

  • Members
  • Pip
  • 42 posts

it is only cosmetic HD 5000 for this display you have inject your card in DSDT. Example for inject it


Device (PEGP)
{
Name (_ADR, 0x00010000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR02)
}
Return (PR02)
}
}
Device (GFX0)
{
Name (_ADR, Zero)
Name (_SUN, One)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0C)
{
"@0,name",
Buffer (0x0D)
{
"ATY,Duckweed"
},

"@1,name",
Buffer (0x0D)
{
"ATY,Duckweed"
},

"@2,name",
Buffer (0x0D)
{
"ATY,Duckweed"
},

"@3,name",
Buffer (0x0D)
{
"ATY,Duckweed"
},

"model",
Buffer (0x13)
{
"AMD Radeon HD 6850"
},

"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)
}
}
}


Yes I used this code from the other topic

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 (0x0E)


{


"AAPL,slot-name",


Buffer (0x09)


{


"PCIe-1"


},


"@0,name",


Buffer (0x0D)


{


"ATY,Uakari"


},


"@1,name",


Buffer (0x0D)


{


"ATY,Uakari"


},


"@2,name",


Buffer (0x0D)


{


"ATY,Uakari"


},


"@3,name",


Buffer (0x0D)


{


"ATY,Uakari"


},


"model",


Buffer (0x13)


{


"ATI Radeon HD 5870"


},


"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)


}


}


}



But I'm not sure if it works because the only thing that changed is when I use

GraphicsEnable=Yes it makes low resolution and shows 5800 series, before I injected this code I could use

GraphicsEnable=Yes and it wasn't different form =No.



Posted Image

Here is my IOreg.

Attached Files



#6
eep357

eep357

    Triple Platinum

  • Retired
  • 2,527 posts
  • Gender:Male
  • Location:Dark Side of The Wall
  • Interests:things and stuff
DSDT edit as you have listed will not work, it's at the wrong device address! Per you IOreg, your card is at 0x00030000 but your DSDT entry is at 0x00010000. So it's not doing anything at the moment.

Uakari is correct FB for 5870, I had XFX-5870 for 2 years in hackintosh(great card BTW). DSDT injection OR GraphicsEnabler=Yes will work, but can only use one or the other. To use GE=Yes and get full res, , DVD Player not crash, You need to pick FB manually in Chameleon by adding.

GraphicsEnabler=Yes
AtiConfig=Uakari
AtiPorts=4

Here is my old simplified DSDT activation with my card being at 0x00030000 and HDMI audio. No need to include slot name and stuff. Best single GPU ATI card until release of 7000 series
		 Device (PEGP)
		 {
			 Name (_ADR, 0x00030000)
			 Name (_PRW, Package (0x02)
			 {
				 0x09,
				 0x05
			 })
			 Device (GFX0)
			 {
				 Name (_ADR, Zero)
				 Name (_SUN, One)
				 Method (_DSM, 4, NotSerialized)
				 {
					 Store (Package (0x0C)
						 {
							 "@0,name",
							 Buffer (0x0D)
							 {
								 "ATY,Uakari"
							 },
							 "@1,name",
							 Buffer (0x0D)
							 {
								 "ATY,Uakari"
							 },
							 "@2,name",
							 Buffer (0x0D)
							 {
								 "ATY,Uakari"
							 },
							 "@3,name",
							 Buffer (0x0D)
							 {
								 "ATY,Uakari"
							 },
							 "model",
							 Buffer (0x13)
							 {
								 "AMD Radeon HD 5870"
							 },
							 "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)
				 }
			 }
		 }
Using DSDT you must set GraphicsEnabler=No, either method will work equally well with no difference in performance. Just gave my 5870 to a friend and installed it in his Hackintosh for him, used GE=Yes with AtiConfig=Uakari and AtiPorts=4 and it works perfectly for him as well. His DSDT (which I made too) just has HDMI audio enable edits and nothing specific to GPU so he can change cards without me having to come and edit his DSDT for him

And no offense to everyone who helped the guy in that thread you referenced, but the only reason he had so much trouble was because he listened to everybody except the one person who owned the same card and knew without a doubt how to make it work perfectly. I still have benchmarks from it posted in many of the benchmarking threads in New Release section. In your IOreg the card is loading with full hardware acceleration, but without correct Frame Buffer loading and is using generic FB instead.

#7
StephanCA

StephanCA

    InsanelyMac Protégé

  • Members
  • Pip
  • 42 posts
eep357, Your code works and shows proper info and adds my card to PCI Cards, but only problem is that I'm getting low resolution, and another monitor in properties that is not physically connected. The problem is probably that my card has only 3 ports, and I dont know how to change your code for that, by removing @3,name it still the same. My card is ASUS HD 5870 V2. I will attach my two IOreg with and without DSDT, and also my DSDT.aml

Attached File  Screen Shot 2013-01-13 at 7.39.40 PM.png   87.89KB   24 downloads

Attached Files



#8
eep357

eep357

    Triple Platinum

  • Retired
  • 2,527 posts
  • Gender:Male
  • Location:Dark Side of The Wall
  • Interests:things and stuff
Oh, and in your DSDT the device name where you will apply edits is called MRP3, just copy the code over the whole device section replacing MRP3 with PEGP. You may have to change a couple old references to that device name also to PEGP when you compile it if any errors or warnings are received

OK, 1 sec, 3 port version coming right up

also since you have 3 port card and not reference design, Uakari may not be the best , what 3 connector types do you have? HDMI, DP and DVI?

Try this, but non reference design may require some additional work and possibly framebuffer personality editing.

Vervet frame buffer maybe another option to try before having to manually edit kext. Since it is also 6 digits long name, you can just change Uakari to Vervet in the DSDT with no need to change buffer length or anything.

Attached Files



#9
StephanCA

StephanCA

    InsanelyMac Protégé

  • Members
  • Pip
  • 42 posts
It's still not working.

Vervet is giving the same results. Yes I have DVI, display port and HDMI.



#10
eep357

eep357

    Triple Platinum

  • Retired
  • 2,527 posts
  • Gender:Male
  • Location:Dark Side of The Wall
  • Interests:things and stuff
Here, try this, otherwise gonna have to boot windows and get a ROM dump from GPU-z and use that info to modify personality tables, or use Clover bootloader's patching.

Attached Files



#11
StephanCA

StephanCA

    InsanelyMac Protégé

  • Members
  • Pip
  • 42 posts
Still doesn't work(

#12
eep357

eep357

    Triple Platinum

  • Retired
  • 2,527 posts
  • Gender:Male
  • Location:Dark Side of The Wall
  • Interests:things and stuff
non-reference card is the problem, so your ports and sense IDs do not mach the default personality tables. Dump your GPU's rom from windows using GPU-z and upload it here. dump will be a .bin file, just rename it to .rom, or not since I can do that part. :)

#13
fantomas1

fantomas1

    InsanelyMacaholic

  • Supervisors
  • 3,024 posts
  • Gender:Male
Hi :)

@eep357

it's more about HD 5870 than OS X Mountain Lion, so needs to be moved in the more appropriate place. :)

@StephanCA

chameleon can inject these infos alone, so try to install the last chameleon then

GraphicsEnabler=Yes


AtiConfig=Uakari


AtiPorts=4



into your org.chameleon.Boot.plist.


You will not need to inject it via DSDT. And like iFIRE said it, it's just cosmetic, it doesn't affect the proper functioning of your graphics card! ;)



Cordially

#14
StephanCA

StephanCA

    InsanelyMac Protégé

  • Members
  • Pip
  • 42 posts
eep357, I will have to install windows tomorrow to do that, but here is the rom that I updated my card with if thats the same thing http://www.techpower...024.100311.html

fantomas1, I tried those lines and it does the same thing - low resolution and another monitor in properties, without those lines everything seems to work, except I noticed when changing browsers window size it's not smooth, and the card is not listed in PCI Cards. I want to make sure it works good since I'm planning on keeping this set up.

#15
eep357

eep357

    Triple Platinum

  • Retired
  • 2,527 posts
  • Gender:Male
  • Location:Dark Side of The Wall
  • Interests:things and stuff
It will affect performance if FB cannot match the ports, and in this case due to non-reference design, Uakari will not. Forcing Uakari FrameBuffer will result in not all outputs working. GE=Yes will load generic framebuffer, which will work but slightly reduce performance and DVD Player will crash. The only way to make it work properly is to patch the framebuffer personalities in ATI5000Controller.kext. Once the kext is patched, it will not matter if you inject via DSDT or use Chameleon with options specified above (assuming the patching is applied to Uakari personality)

That will be enough, here is that rom decoded:
ATOM BIOS Rom:
SubsystemVendorID: 0x1043 SubsystemID: 0x0346
IOBaseAddress: 0x0000
Filename: SV36460.107
BIOS Bootup Message:
6898.12.20.0.5.AS02 U126							 
					 
PCI ID: 1002:6898
Connector at index 0
Type [@offset 44298]: DisplayPort (10)
Encoder [@offset 44302]: INTERNAL_UNIPHY2 (0x21)
i2cid [@offset 44398]: 0x92, OSX senseid: 0x3
Connector at index 1
Type [@offset 44308]: HDMI-A (11)
Encoder [@offset 44312]: INTERNAL_UNIPHY2 (0x21)
i2cid [@offset 44425]: 0x93, OSX senseid: 0x4
Connector at index 2
Type [@offset 44318]: DVI-I (2)
Encoder [@offset 44322]: INTERNAL_UNIPHY (0x1e)
i2cid [@offset 44462]: 0x94, OSX senseid: 0x5
Connector at index 3
Type [@offset 44328]: DVI-I (2)
Encoder [@offset 44332]: INTERNAL_KLDSCP_DAC1 (0x15)
i2cid [@offset 44462]: 0x94, OSX senseid: 0x5
Here is reference model 5870's rom decoded:
ATOM BIOS Rom:
SubsystemVendorID: 0x1682 SubsystemID: 0x2961
IOBaseAddress: 0x0000
Filename: 587XZF15.BIN
BIOS Bootup Message:
CYPRESS XT GDDR5 32Mx32 C00801 BIOS UCODEv:126							 
PCI ID: 1002:6898
Connector at index 0
Type [@offset 44528]: DisplayPort (10)
Encoder [@offset 44532]: INTERNAL_UNIPHY2 (0x21)
i2cid [@offset 44656]: 0x90, OSX senseid: 0x1
Connector at index 1
Type [@offset 44538]: HDMI-A (11)
Encoder [@offset 44542]: INTERNAL_UNIPHY2 (0x21)
i2cid [@offset 44683]: 0x93, OSX senseid: 0x4
Connector at index 2
Type [@offset 44548]: DVI-I (2)
Encoder [@offset 44552]: INTERNAL_UNIPHY1 (0x20)
i2cid [@offset 44720]: 0x92, OSX senseid: 0x3
Connector at index 3
Type [@offset 44558]: DVI-I (2)
Encoder [@offset 44562]: INTERNAL_KLDSCP_DAC2 (0x16)
i2cid [@offset 44720]: 0x92, OSX senseid: 0x3
Connector at index 4
Type [@offset 44568]: DVI-I (2)
Encoder [@offset 44572]: INTERNAL_UNIPHY (0x1e)
i2cid [@offset 44757]: 0x94, OSX senseid: 0x5
Connector at index 5
Type [@offset 44578]: DVI-I (2)
Encoder [@offset 44582]: INTERNAL_KLDSCP_DAC1 (0x15)
i2cid [@offset 44757]: 0x94, OSX senseid: 0x5
And here is Uakari's Table
Personality: Uakari
ConnectorInfo count in decimal: 4
Disk offset in decimal 591232
0000000    00  04  00  00  00  04  00  00  00  71  00  00  12  04  04  01
0000010    04  00  00  00  14  00  00  00  00  71  00  00  01  12  01  03
0000020    00  02  00  00  14  00  00  00  00  71  00  00  00  00  06  05
0000030    00  08  00  00  00  02  00  00  00  71  00  00  22  05  05  04
0000040
With the reference design, the port types and sense ID's all match what is in the VBIOS. On your non-reference, the first connector "DisplayPort" has different sense ID, instead of sense ID id 01, it has sense ID of 03 and therefor fails to load any further. Luckily the HDMI and DVI sense ID's do match, so will only need to make minor change to the personality like this:
Personality: Uakari
ConnectorInfo count in decimal: 4
Disk offset in decimal 591232
0000000    00  04  00  00  00  04  00  00  00  71  00  00  12  04  04  03
0000010    04  00  00  00  14  00  00  00  00  71  00  00  01  12  01  06
0000020    00  02  00  00  14  00  00  00  00  71  00  00  00  00  06  05
0000030    00  08  00  00  00  02  00  00  00  71  00  00  22  05  05  04
0000040

Then move the additional DVI port to the end of the connector list:
Personality: Uakari
ConnectorInfo count in decimal: 4
Disk offset in decimal 591232
0000000    00  04  00  00  00  04  00  00  00  71  00  00  12  04  04  03
0000010    00  02  00  00  14  00  00  00  00  71  00  00  00  00  06  05
0000020    00  08  00  00  00  02  00  00  00  71  00  00  22  05  05  04
0000030    04  00  00  00  14  00  00  00  00  71  00  00  01  12  01  06
0000040

I'll actually flip the Dual link and Single link in the connector table, but you get the idea :)

This layout should work, gimme a bit to patch it:
Personality: Uakari
ConnectorInfo count in decimal: 4
Disk offset in decimal 591232
0000000 00  04  00  00  00  04  00  00  00  71  00  00  12  04  04  03
0000010 04  00  00  00  14  00  00  00  00  71  00  00  01  12  01  05
0000020 00  08  00  00  00  02  00  00  00  71  00  00  22  05  05  04
0000030 00  02  00  00  14  00  00  00  00  71  00  00  00  00  06  01
0000040

What OSX version are you on, don't want to give you a patched 10.8.3 kext.

#16
StephanCA

StephanCA

    InsanelyMac Protégé

  • Members
  • Pip
  • 42 posts
I'm on 10.8.2, I really dont understand anything you wrote) I will try to do a research and learn about it.

#17
eep357

eep357

    Triple Platinum

  • Retired
  • 2,527 posts
  • Gender:Male
  • Location:Dark Side of The Wall
  • Interests:things and stuff
Try this, use Uakari either with Chameleon method or DSDT. Been a while since I did this, hopefully it's right

Attached Files



#18
StephanCA

StephanCA

    InsanelyMac Protégé

  • Members
  • Pip
  • 42 posts
eep357, it probably almost works, I'm already getting only one display in properties but it's recognized as CRT. here is IOreg. Thank you for helping.

I'm connected to HDMI at the moment, and it shows CRT and no audio.

Attached Files



#19
eep357

eep357

    Triple Platinum

  • Retired
  • 2,527 posts
  • Gender:Male
  • Location:Dark Side of The Wall
  • Interests:things and stuff
yes, IOreg looks really good other than that. Can you try some different frame framebuffers like Verevet, Eulemer, Hoolock, Baboon, or Langur until you find one that registers the hdmi properly and let me know which one it is and send that ioreg, I can then copy it's full hdmi table over to to Uakari

#20
StephanCA

StephanCA

    InsanelyMac Protégé

  • Members
  • Pip
  • 42 posts
Attached File  Desktop.zip   9.73KB   5 downloadsI don't know what you mean but when I used Vervet my screen resolution was good but in IOreg first entry was my monitor working ok and second entry was CRT. i will send it later because im not home. the other framebuffers I tried before didnt worked and some gave just black screen...Attached File  SSDT.aml.zip   620bytes   2 downloadsAttached File  DSDT.aml.zip   8.34KB   3 downloadsAttached File  Ioreg.zip   535.25KB   4 downloads





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

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