StephanCA Posted January 13, 2013 Share Posted January 13, 2013 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. Link to comment Share on other sites More sharing options...
iFIRE Posted January 13, 2013 Share Posted January 13, 2013 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) } } } Link to comment Share on other sites More sharing options...
buoo Posted January 13, 2013 Share Posted January 13, 2013 http://www.insanelymac.com/forum/topic/278159-what-are-quartz-extreme-and-core-image-qeci/ Link to comment Share on other sites More sharing options...
Alex009988 Posted January 13, 2013 Share Posted January 13, 2013 What frambuffer do you use? Link to comment Share on other sites More sharing options...
StephanCA Posted January 13, 2013 Author Share Posted January 13, 2013 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. Here is my IOreg. my mac pro.zip Link to comment Share on other sites More sharing options...
eep357 Posted January 14, 2013 Share Posted January 14, 2013 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. 1 Link to comment Share on other sites More sharing options...
StephanCA Posted January 14, 2013 Author Share Posted January 14, 2013 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 mymac.zip mymacnodsdt.zip DSDT.aml.zip Link to comment Share on other sites More sharing options...
eep357 Posted January 14, 2013 Share Posted January 14, 2013 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. DSDT.aml.zip 1 Link to comment Share on other sites More sharing options...
StephanCA Posted January 14, 2013 Author Share Posted January 14, 2013 It's still not working. Vervet is giving the same results. Yes I have DVI, display port and HDMI. Link to comment Share on other sites More sharing options...
eep357 Posted January 14, 2013 Share Posted January 14, 2013 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. DSDT.aml.zip 1 Link to comment Share on other sites More sharing options...
StephanCA Posted January 14, 2013 Author Share Posted January 14, 2013 Still doesn't work( Link to comment Share on other sites More sharing options...
eep357 Posted January 14, 2013 Share Posted January 14, 2013 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. 1 Link to comment Share on other sites More sharing options...
fantomas Posted January 14, 2013 Share Posted January 14, 2013 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 1 Link to comment Share on other sites More sharing options...
StephanCA Posted January 14, 2013 Author Share Posted January 14, 2013 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.techpowerup.com/vgabios/72815/Asus.HD5870.1024.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. 1 Link to comment Share on other sites More sharing options...
eep357 Posted January 14, 2013 Share Posted January 14, 2013 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. 2 Link to comment Share on other sites More sharing options...
StephanCA Posted January 14, 2013 Author Share Posted January 14, 2013 I'm on 10.8.2, I really dont understand anything you wrote) I will try to do a research and learn about it. 1 Link to comment Share on other sites More sharing options...
eep357 Posted January 14, 2013 Share Posted January 14, 2013 Try this, use Uakari either with Chameleon method or DSDT. Been a while since I did this, hopefully it's right ATI5000Controller.kext.zip 1 Link to comment Share on other sites More sharing options...
StephanCA Posted January 14, 2013 Author Share Posted January 14, 2013 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. mymac.zip Link to comment Share on other sites More sharing options...
eep357 Posted January 14, 2013 Share Posted January 14, 2013 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 Link to comment Share on other sites More sharing options...
StephanCA Posted January 14, 2013 Author Share Posted January 14, 2013 Desktop.zipI 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...SSDT.aml.zipDSDT.aml.zipIoreg.zip Link to comment Share on other sites More sharing options...
StephanCA Posted January 14, 2013 Author Share Posted January 14, 2013 I don't have any luck with trying different framebuffers. When I used Uakari with original kext I think it represented HDMI the best but it just had that annoying CRT display with it. Link to comment Share on other sites More sharing options...
eep357 Posted January 15, 2013 Share Posted January 15, 2013 try modified without DSDT using chameleon options only Link to comment Share on other sites More sharing options...
StephanCA Posted January 15, 2013 Author Share Posted January 15, 2013 For me it doesn't make difference DSDT or chameleon, I get same results. Don't know whats wrong with it. Maybe it could be that sense id's got mixed up and it thinks that my hdmi port is VGA. Yes in IOreg it says 0x200 and should say 0x800 for HDMI. what sense id's did you use? because i'm trying to play with framebuffer to see if I can learn it and I cant get the right one for DVI. For HDMI I think its 4 and DP is 3 or 5. Link to comment Share on other sites More sharing options...
StephanCA Posted January 15, 2013 Author Share Posted January 15, 2013 Ok here is what I got now in AMD5000Controller now that is all working except need to get rid of the last line 00 04 00 00 00 04 00 00 00 71 00 00 12 04 01 03 00 02 00 00 14 00 00 00 00 71 00 00 00 00 02 05 00 08 00 00 00 02 00 00 00 71 00 00 22 05 03 04 00 08 00 00 00 02 00 00 00 71 00 00 22 05 04 04 When I just remove the last line than the kext doesnt load, and when I use random sense id for it I get CRT monitor again. Link to comment Share on other sites More sharing options...
StephanCA Posted January 15, 2013 Author Share Posted January 15, 2013 I think I got it to work, I used those lines 00 04 00 00 00 04 00 00 00 71 00 00 12 04 04 03 00 02 00 00 14 00 00 00 00 71 00 00 00 00 06 05 00 08 00 00 00 02 00 00 00 71 00 00 22 05 05 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 I will attach my IOreg, please let me know if everything should be ok now, and a big thanks for your help, I learned a lot in those two days. mymac.zip 1 Link to comment Share on other sites More sharing options...
Recommended Posts