I think that is Zonalis, because i was browsing inside of the ATI5000Controller.kext and looking the file info.plist i found the Dev ID and the Vendor under the String Zonalis
Hello you say use gpu-z
what should i do if it does not give me a bios version and that i can not use atiflash on dos
The vendor (Sony vaio laptop ) and win 8 say that my video card is a 7650m 2 gb
SiSoftware Sandra
Information du Dispositif
Type de Dispositif : VGA Adaptateur VidÈo
ID Dispositif : bus 1, dispositif 0, fonction 0
Nom du Dispositif Windows : AMD Radeon HD 7550M/7650M Graphics
Nom du Dispositif OEM : ATI (AMD) Thames PRO [Radeon HD 7850]
ID MatÈriel OEM : VEN_1002, DEV_6841, REV_00
Nom du Dispositif : Sony Thames PRO [Radeon HD 7850]
ID Produit : VEN_104D, DEV_90AB, REV_00
RÈvision : A1
My point is that i do not know how to make a dsdt and it seem that my machine does not allow me to start to learn it 🙂
Can you please give me a hand i know your time is valuable
Hi Sir.
I have an ATI 7400M Series and i tried to load a driver. First i used DSDT injection Guide of yours and i was going to wait until 10.8.3 to release. The i find out that my Graphic Card is rebranded and it’s identical to 6400M series. So I used GE=Yes and ATI6000Controller loaded successfully but only work on VGA port. I used Lotus frame buffer and change according to your guide. But still same answer.I have Only VGA port and internal display.
Here is bios dump and …:
redsock_bios_decoder*****************************************************************************
k54h0905.001:
Asus K54HR SEYMOUR M2 XTX DDR3
Subsystem Vendor ID: 1043
Subsystem ID: 2002
Object Header Structure Size: 199
Connector Object Table Offset: 34
Router Object Table Offset: 0
Encoder Object Table Offset: 99
Display Path Table Offset: 12
Connector Object Id [14] which is [LVDS]
encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false
Connector Object Id [12] which is [HDMI_TYPE_A]
encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x21 [duallink 0x1] enc 0x3)] linkb: true
Connector Object Id [5] which is [VGA]
encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false
radeon_bios_decode******************************************************************************************
ATOM BIOS Rom:
SubsystemVendorID: 0x1043 SubsystemID: 0x2002
IOBaseAddress: 0xd000
Filename: k54h0905.001
BIOS Bootup Message:
Asus K54HR SEYMOUR M2 XTX DDR3
PCI ID: 1002:6760
Connector at index 0
Type [@offset 44820]: LVDS (7)
Encoder [@offset 44824]: INTERNAL_UNIPHY (0x1e)
i2cid [@offset 44894]: 0x96, OSX senseid: 0x7
Connector at index 1
Type [@offset 44830]: HDMI-A (11)
Encoder [@offset 44834]: INTERNAL_UNIPHY1 (0x20)
i2cid [@offset 44917]: 0x91, OSX senseid: 0x2
Connector at index 2
Type [@offset 44840]: VGA (1)
Encoder [@offset 44844]: INTERNAL_KLDSCP_DAC1 (0x15)
i2cid [@offset 44944]: 0x97, OSX senseid: 0x8
This guide will explain how to edit a ATI/AMD Framebuffer Personality to properly enable all of the video ports on your graphics card. Many of you have asked for this and feel free to ask any questions. Please do not ask me to modify your framebuffer. This is why I have provided the guide to do so.
if 0×00000002  = 02  00  00 00 and 0×00000800 =  00 08 00 00, so just for example 0×12345678 should be 78 56 34 12?
so why 0×00000080 = 08  00  00 00 ? shouldn’t it be 80 00 00 00?
also I can’t understand anything from part5,2. the control flags part, I mean you said 0×0800 : HDMI   ControlFlag : 0×0200, so I thought the control flag will be 00 02 00 00 but found you writing it as 04 02  00 00
I think i should have understood that before reading this tutorial as I have zero knowledge about hexadecimals and such
from all of this can you just and please tell me what is the left hand side from the equal symbol and what is the right hand side in all of this tutorial?
I think the left hand side is hexadecimal but what is the right hand side? not knowing what the hell is that I just tried to figure a relation and it was as in the first line, 0×12 34 56 78 should be 78 56 34 12, where each two numbers are considered as one number, then the last will be the first, the one before last will be the second etc…
this relation is justified in most of this tutorial except a few of them, so can you clarify this for me?
That section has to do with how the app displays the info. Do not worry about it to much. And only change things in the FB that are not working already.
okay anyway, here is my bios
Subsystem Vendor ID: 174b
Subsystem ID: e174
Object Header Structure Size: 291
Connector Object Table Offset: 3e
Router Object Table Offset: 0
Encoder Object Table Offset: d0
Display Path Table Offset: 12
Connector Object Id [19] which is [DISPLAY_PORT]
encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x12 [duallink 0x2] enc 0x4)] linkb: false
Connector Object Id [12] which is [HDMI_TYPE_A]
encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x22 [duallink 0x2] enc 0x5)] linkb: true
Connector Object Id [2] which is [DVI_I]
encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false
Connector Object Id [2] which is [DVI_I]
encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false
the thing is when I open ati-personality.pl I don’t get configs, I only get name of a config and its decimal offset so I don’t know what should I replace my output with via hexeditor,
thought of searching for someone who copied configs form their computer in some forums but their values weren’t in my 5000 kext, any ideas?
Okay, though I was trying to say I have a problem like the first 2 posters in this topic “http://www.insanelymac.com/forum/topic/286130-first-attempt-at-custom-personality-ati-personalitypl-issue/” I managed to just copy over frame buffers from the 3rd poster in the very same topic and putting those strings in the find box in hexedit and could really replace them with mine.
Anyway HDMI worked (without audio) and DVI didn’t, seems like I will try other flags from section 2 in part 5 and hope for a better result!
guess you really helped as HDMI video worked eh? :p
Ye true, actually I have DVI working alone with 32 AtiConfigs from the 45 out there (yes I tried all of them) but only thought of doing this tutorial so as to get both HDMI and DVI working together even if connected after boot, and about audio maybe you are right but some other tutorial said that his HDMI audio wasn’t working because his connector ID was false, he changed it and audio worked afterwards
still thanks for the tutorial, HDMI video working means your tutorial is indeed a success!
Just a basic question about connector patching, from my understanding i should use one of the basic frame buffers which matches the count of connectors of my card. But, means it “physical” or “logical” (my second DVI port can also output VGA). [Sapphire 7950, DP, HDMI, DVD-D and DVD-I. ]
@Jabberwocky – did you ever make this work? I have a sapphire 7950 boost and have stubbled to make Futomaki work. Without editing I got both monitors maybe every firth reboot but locks ups most of the time. I edited to the below but still no dice. Any Advice?
Hi Gareth,
actually i’m using FB hamachi, with dual monitor setup, 4 connectors. DP and DVI, still 10.8.5.
Patching is done with clover, first string is original code (with some pre-bytes, else the false FB will be patched), second string is my patched version.
I have the both displays detected but one screen blank. Oddly when I remote to the machine I get both displays find on the remote session. Will keep playing.
Is it possible to use this with the other tutorial concerning adding the GPU to the DSDT? I mean I am now able to use DVI and HDMI (hot plug enabled) and detected as 5850 from this
But when I added my GPU to the DSDT just like the other tutorial under DSDT guides 1, I got HDMI audio working but system profiler detected my card as 5000 series and dvd player crashes though I renamed the FB personality in the DSDT to the same name of the one I have edited
I thought so too, and actually I changed Duckweed to Uakari in the DSDT (Uakari is the personality I have successcully edited), maybe I missed or deleted a symbol by mistake….. will give it another try tomorrow
btw mate, you answer my comments really fast lol
you got a damn good notifer :p
I have black screen problem.
I install iAtkos ML 10.8.2, If i use a external monitor it works with no problem bu identifed as HD 5750M. On the other hand if i try to use laptop display i got black screen than i type PciRoot=1 there is no problem for working screen however this time vga has identified as 3mb standart vga with no acc. So what’s wrong or where i am wrong? Also , i tried to edid display ID, Framebuffer was Hoolock and graphicsEnabler=Yes.
17.3” Display on laptop with 1600×900 res.
So do you think this will solve my problem? If it is, can you show me the way when i send you what you need.(codes, rom version, etc.). I need a specialized tutorial.
I have an old XFX HD4890 card but have been unable to get both DVI ports to work (it has previously sensed a DVI port and a VGA port)
I’ve tried following the guide, and modified my Kext but with no success (system profile now reports that no kext is loaded, and its really sluggish as a result.
The ROM dump of my card is as follows:-
489ZSF2W.BIN:
Wekiva RV790 B93102-00 XT 850E/975M
Subsystem Vendor ID: 1682
Subsystem ID: 2702
Object Header Structure Size: 354
Connector Object Table Offset: 50
Router Object Table Offset: 0
Encoder Object Table Offset: 10b
Display Path Table Offset: 10
Connector Object Id [2] which is [DVI_I]
encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false
Connector Object Id [2] which is [DVI_I]
encoder obj id [0x16] which is [INTERNAL_KLDSCP_DAC2] linkb: false
Connector Object Id [15] which is [DIN]
encoder obj id [0x16] which is [INTERNAL_KLDSCP_DAC2] linkb: false
Connector Object Id [15] which is [DIN]
encoder obj id [0x16] which is [INTERNAL_KLDSCP_DAC2] linkb: false
Connector Object Id [2] which is [DVI_I]
encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false
Connector Object Id [2] which is [DVI_I]
encoder obj id [0x1f] which is [INTERNAL_KLDSCP_LVTMA] linkb: false
Which based on following the guide I came up with the following for my edits
Yes, had the exotic patch installed, before edits it was fine (although only a single DVI port working) after edits doesn’t seem to load, have reloaded the original Kext in the interim, but any chance you could help see if the strings I have calculated are correct based on the bios dump above?
You do not change the values on the port that is working. My guide just goes step by step if you had to. Making the second port almost match the working port would be the solution.
Still no joy, whatever changes I make still results in 2 Displays DVI & VGA, although VGA isn’t outputting anything as I’ve actually got 2 DVI ports (one capable of VGA), and a DIN port.
I’ve tried using Quail as the personality on the basis that technically I have 3 outputs (although I only care for the DVI ones).
I’m using Lion 10.7.5 when using ati-personality.pl i get this output. Why it doesn’t work?
Kext /System/Library/Extensions/ATI6000Controller.kext/Contents/MacOS/ATI6000Controller
Personality: Pithecia
ConnectorInfo count in decimal: 0
Disk offset in decimal 116195
Personality: Bulrushes
ConnectorInfo count in decimal: 0
Disk offset in decimal 116265
Personality: Cattail
ConnectorInfo count in decimal: 0
Disk offset in decimal 116342
Personality: Hydrilla
ConnectorInfo count in decimal: 0
Disk offset in decimal 116411
Personality: Duckweed
ConnectorInfo count in decimal: 0
Disk offset in decimal 116481
Personality: Fanwort
ConnectorInfo count in decimal: 0
Disk offset in decimal 121659
Personality: Elodea
ConnectorInfo count in decimal: 0
Disk offset in decimal 124357
Personality: Kudzu
ConnectorInfo count in decimal: 0
Disk offset in decimal 124649
Personality: Gibba
ConnectorInfo count in decimal: 0
Disk offset in decimal 124719
Personality: Lotus
ConnectorInfo count in decimal: 0
Disk offset in decimal 127609
Personality: Ipomoea
ConnectorInfo count in decimal: 0
Disk offset in decimal 127679
Personality: Muskgrass
ConnectorInfo count in decimal: 0
Disk offset in decimal 129581
There is no solution then? I’m trying to get my secondary DVI out working but i’m unable to get it… There is any ATI6000Controller.kext working with both DVI connectors?
My card is Radeon HD 7850 yet I get this error after dragging ati-personality.pl in to Terminal and pressing return.
Cannot open otool -arch x86_64 -l /System/Library/Extensions/ATI2400Controller.kext/Contents/MacOS/AMD2400Controller for input
On my MacPro 3,1 I have an XFX 7970 that lists 6 connections using red sock_bios_decoder. Do I just choose any personality in ATI7000controller.kext That has an equal number of connections? Like the “OPM” or the “Ikura” personalities? I just noticed in the example that you choose Gibba, which has 5 connections, while your BIOS has 6 connections. Did you just insert connection number 6 after the last connection listed in Gibba?
With unaltered kexts and the original BIOS for the card, IOREG under AMD7000Controller@2 shows “ATY,Chutoro” and “ATY,Hamachi”. What actually cause the system to choose these two? If I alter my kext as explained in your tutorial, will the system automatically choose my altered personality?
Feel free to point me to any further reading I should do to understand this entire process better.
I just wanted 4 ports to work (DVI port is tied to HDMI port so only one works). Just as long as you get the amount of ports working is all that maters.
Hello
Thanks for this tutorial.
i have vaio sve15117fdb and my graphics card is radeon 7650m
Graphics Card Manufacturer Powered by AMD
Graphics Chipset AMD Radeon HD 7500M/7600M Series
Device ID 6841
Vendor ID 1002
Subsystem ID 90AB
Subsystem Vendor ID 104D
Graphics Bus Capability PCI Express 2.0
Maximum Bus Setting PCI Express 2.0 x16
BIOS Version 013.012.000.041
BIOS Part Number HK5.019
BIOS Date 2012/07/10
Memory Size 1024 MB
Memory Type DDR3
Core Clock in MHz 500 MHz
Memory Clock in MHz 900 MHz
Total Memory Bandwidth in GByte/s 28.8 GByte/s
It is based on the same chip as the Radeon HD 6650M, but has a lower core clock of 450 – 550 MHz.
The power consumption of the chip and 3D performance is similar to the Radeon HD 6630M.
i have problem with Framebuffer Personality (not work for me) of course i do in 10.9 dp4 .
is there other method for get frambuffer?
Hi, I get that I need to edit my framebuffer but which one to use as a base?
Card amd firepro m8900 .(DELL Precision M6600)
Should I stick with Elodea since it defaults to that and then trial and error with connectors?
Found a related post on another forum which suggested this layout enabled lvds ( modified cattail using clover )
02 00 00 00 40 00 00 00 29 05 00 00 10 00 00 05 (tested this with chameleon/chimera but no luck)
Redsock decode doesnt list lvds , is it possible that ldvs shares a dp connector ?
with graphics enabler=yes ….ioreg | grep ATY = Elodea
no laptop screen,no hdmi , VGA MONITOR working and card identified correctly in system profiler with full acceleration ( though elodea personality looks to be dp based )
aticonfig=Ipomoea & GE=YES …..
LAPTOP DISPLAY NO ,VGA NO , HDMI working and card identified correctly in system profiler with full acceleration
aticonfig=Muckgrass & GE=YES …..
LAPTOP DISPLAY NO ,VGA NO , HDMI working and card identified correctly in system profiler with full acceleration
I’m comfortable editing personalities but just need a solid starting point.
Thanks.
I get a black screen on my laptop when booting with Ati kexts installed ,VGA Works with fully graphics acceleration
Could you help me find out which Personality should I edit
my card AMD Radeon HD 6570M/5700 Series
I found this while searching
{ 0x68C0, 0x00000000, CHIP_FAMILY_REDWOOD, “AMD Radeon HD 6570M/5700 Series”, kNull },
it says the AtiConfig must be Null , so what Personality should I edit to get my notebook’s LVDS Monitor working!
Thanks a lot for the guide. Unfortunately I couldn’t find the right value for every Framebuffer property. This is what my bios gave me (I’m having the same card as Hady Hallak, which is mobile Radeon HD 5730):
______________________________________________________________________________
HP / Quanta Gerrard / Hammm 2.0 64Mx16 GDDR5 1GB UCODEv:128
Subsystem Vendor ID: 103c
Subsystem ID: 1593
Object Header Structure Size: 199
Connector Object Table Offset: 34
Router Object Table Offset: 0
Encoder Object Table Offset: 99
Display Path Table Offset: 12
Connector Object Id [14] which is [LVDS]
encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false
Connector Object Id [12] which is [HDMI_TYPE_A]
encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x21 [duallink 0x1] enc 0x3)] linkb: true
Connector Object Id [5] which is [VGA]
encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false
_______________________________________________________________________________
This is the result of my first line edit, which does at the moment give me a black, but backlighted screen:
02 00 00 00 14 00 00 00 09 01 00 00 10 00 00 04
I tried a lot of values, some gave me internal screen and some did not. None of them fixed my problem yet: After display sleep, the internal screen wakes with distorted colors, external screens didn’t. I am not using a DSDT.
Could you help me out with this? If you have some time, would you also help me with the VGA? There’s a phantom screen capable of many resolutions whenever no VGA is connected.
I just copy it here, could you confirm whether you saw the post or not?
This is it:
Thanks a lot for the guide. Unfortunately I couldn’t find the right value for every Framebuffer property. This is what my bios gave me (I’m having the same card as Hady Hallak, which is mobile Radeon HD 5730):
______________________________________________________________________________
HP / Quanta Gerrard / Hammm 2.0 64Mx16 GDDR5 1GB UCODEv:128
Subsystem Vendor ID: 103c
Subsystem ID: 1593
Object Header Structure Size: 199
Connector Object Table Offset: 34
Router Object Table Offset: 0
Encoder Object Table Offset: 99
Display Path Table Offset: 12
Connector Object Id [14] which is [LVDS]
encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0×0)] linkb: false
Connector Object Id [12] which is [HDMI_TYPE_A]
encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x21 [duallink 0x1] enc 0×3)] linkb: true
Connector Object Id [5] which is [VGA]
encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false
_______________________________________________________________________________
This is the result of my first line edit, which does at the moment give me a black, but backlighted screen:
02 00 00 00 14 00 00 00 09 01 00 00 10 00 00 04
I tried a lot of values, some gave me internal screen and some did not. None of them fixed my problem yet: After display sleep, the internal screen wakes with distorted colors, external screens didn’t. I am not using a DSDT.
Could you help me out with this? If you have some time, would you also help me with the VGA? There’s a phantom screen capable of many resolutions whenever no VGA is connected.
Ok thank you. I just urgently need the first line for internal screen. It’s quite a mess whenever the lid get’s closed. Also, sleep would be great on a laptop with low battery times.
Hi …
my card AMD Radeon HD 6570M/5700 Series
my internal screen is working with patched Eulumer and Edid override
the problem is that my display0 in ioreg is detected as “AppleDisplay”
I’m trying to load it as AppleBacklightDisplay
patches which worked
02 00 00 00 14 00 00 00 01 08 00 00 10 02 01 07
02 00 00 00 14 00 00 00 09 01 00 00 10 02 01 07
whenever I change “14 00 00 00” to “02 00 00 00” or “00 01 00 00”
I never get a working screen … even in ioreg no display0
I am currently using my Radeon R9 270X which has the following detected:
R927XO2D.F1 :
GV-R927XOC-2GD/F1
Subsystem Vendor ID: 1458
Subsystem ID: 2272
Object Header Structure Size: 355
Connector Object Table Offset: 48
Router Object Table Offset: 0
Encoder Object Table Offset: fd
Display Path Table Offset: 12
Connector Object Id [19] which is [DISPLAY_PORT]
encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x12 [duallink 0x2] enc 0x4)] linkb: false
Connector Object Id [12] which is [HDMI_TYPE_A]
encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x22 [duallink 0x2] enc 0x5)] linkb: true
Connector Object Id [2] which is [DVI_I]
encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false
Connector Object Id [2] which is [DVI_I]
encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false
Connector Object Id [4] which is [DVI_D]
encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] linkb: false
And I’m having some success with a pre-prepared four port framebuffer personality from Valda, which modifies the Futomaki personality to:
However, this results in the DVI-I/VGA port not working as VGA, and it results in the secondary DVI-D port only functioning as single link. I would like the VGA port to function as VGA, and the other DVI port to function as dual link. If necessary, I can replace some 5 or even 6 port personality instead.
Hello,
Forgive me for this dumb question – will this work on a real Mac (I have an old 2010 MacPro) with AMD 7970, but only 1 DVI and display port works:(
hello,
I have installed successfully..but screen gets flicker when i open safari or launchpad menu or while playing video
my PC specs :
Intel core 2 Duo
intel 965RY motherbord
5gb ram
Saphire ATI Radeon 5450 1gb ddr3
I tried several kexts for this GPU…no luck…please guide me..thanx
video players use the frame buffer. when playing video on youtube it work fine. only when using a video player the audio would skip through out the playback.
Have you ever seen a problem where the readback checksum using atiflash is always 0x0000?
I have tried -unlockrom but that did not seem to have any effect
I bit the bullet, re-installed windows and tried to use the GPU-Z method. If I try to save to file I get a “BIOS reading not supported on this device” error.
Ok, I believe I have found a solution and I will post here just in case anyone is interested or runs into a similar issue. I was working on an Asus laptop. Laptops apparently sometimes store the VBIOS in the actual BIOS. I downloaded a bios update ROM for my laptop and loaded it into MMTool. Using MMTool I browsed until I found my Graphics Card Vendor and Product ID and I believe was able to extract the VBIOS from the laptop BIOS.
No Problem I am still working on getting all ports 100% functional. I was able to get the LVDS display working. HDMI I have running but you can’t plug it in after boot it has to be plugged in on start up. I am guessing this is the Hot Plug ID? Also, when I plug it in instead of switching exclusively between monitors it is running both simultaneously but turns the backlight off on the LVDS display instead of using only the HDMI… Anything I might be missing here?
Ok so I believe I am done modifying my Radeon Mobility 4670 on my Asus N81Vp-X1 laptop. Here are the caveats… I have not gotten VGA port functioning in OSX and I am no longer working towards this. If someone gets it working please post here. LVDS is fully functional. HDMI out works but it comes up as a secondary display. Also you cannot “Hot Plug” the HDMI. It must be plugged in at boot. The display is not just disabled when the lid is closed although the backlight appears to be turned off (a function of the laptop hardware, not OSX). I am guessing this is an ACPI issue as I did set up the LVDS as a clamshell display.
Modified AMD4600Controller.kext for the “Shrike” buffer.
I need to know if I have a working Frame Buffer on my system. Everything in my system is working very well with a 7970. (I am using Clover).
I get transparent menu bars etc and no video problems whatsoever, however I have never changed any FB settings, also the 7970 comes up as a 7xxx under system profiler. I am on 10.9.3.
Can you let me know a solid way to check if my frame buffer is functioning?
Awesome! You are the king of frame buffer gpu knowledge.
I have also been able to flash my MSI 7970 with a GOP VBIOS (supplied by MSI when I sent them my VBIOS) – by doing this I get boot screens from the 7970 under clover.
Added to this that triple screens are working flawlessly with the 7970 when using the “Active” Mini-displayport adaptor along with a HDMI and another display port port.
Suffice to say that discovering that worked was very insightful as there was practically no info online regarding it. Hope this helps your knowledge base even a little!
PS: I lied a bit about never getting video problems: FCPX sometimes does some very very very stupid things with graphics and video outputs, but then I read about it on ‘MacPros’ – so apart from normal video problems there are no problems! ;-D
i’ve been following this and getting everything pretty well until the senseID part where you never updated how you obtained it from the radeon decoder output.
My output looks like your sample screenshot and has no obvious senseID field like some of the forum tutorial screens that you linked to.
Can you please clarify how you got working values for SenseID? Thanks! 😀
Hey, I’ve found that the radeon bios decoder will tell you the senseID information. So you can use the two bios tools together to figure everything out.
Right now I’m a little confused to how the patch actually works. How does OSX know to use the specific personality that I chose to modify? I know we modify the kext but how do I know that was the one it defaults to anyway? did i miss a step where i specify which personality to use?
Have you seen an issue where settings used in one version of OS X do now work when moving to a newer release? For example they work in Mavericks but not Yosemite?
Pingback: Editing ATI/AMD Framebuffer Personalities Guide | rampagedev
I keep getting the following error when running the script:
Cannot open otool -arch x86_64 -l /System/Extensions/ATI2600Controller.kext
known issue. See end of page for list of framebuffers.
What is the solution of this? or How can I get my card personality?
Bug with the app. Use IOReg to see the FB you are using now.
Hello Rampagedev
I have the same error and i dont know how see the framebuffer with the IOReg
Can you help me?
Ok i was looking in detail the IOReg and found 4 names under the ATI500Controller
Hoolock
Langur
Orangutan
Zonalis
Can i use one of those 4 names or is a name in special?
Thanks in advanced
I think that is Zonalis, because i was browsing inside of the ATI5000Controller.kext and looking the file info.plist i found the Dev ID and the Vendor under the String Zonalis
CFBundleDevelopmentRegion
English
CFBundleExecutable
ATI5000Controller
CFBundleGetInfoString
ATI5000Controller 1.6.36.10 (9792)
CFBundleIdentifier
com.apple.kext.ATI5000Controller
CFBundleInfoDictionaryVersion
6.0
CFBundleName
Radeon 5000 Controller
CFBundlePackageType
KEXT
CFBundleShortVersionString
1.6.36
CFBundleSignature
????
CFBundleVersion
6.3.6
IOKitPersonalities
Controller
ATY,Hoolock
aty_config
CFG_FORCE_ICLK
ATY,Langur
aty_config
CFG_FORCE_ICLK
ATY,Orangutan
aty_config
CFG_GPIO_HIGH
131104
ATY,Zonalis
aty_config
CFG_NO_PP
CFBundleIdentifier
com.apple.kext.ATI5000Controller
IOClass
ATI5000Controller
IOMatchCategory
IOFramebuffer
IOName
ATI5000Controller
IOPCIMatch
0x68981002 0x68991002 0x68E01002 0x68E11002 0x68D81002 0x68C01002 0x68C11002 0x68D91002 0x68B81002 0x68B01002 0x68B11002 0x68A01002 0x68A11002
IOProbeScore
65000
IOProviderClass
IOPCIDevice
aty_config
CFG_NO_PP
CFG_USE_SRRB
CFG_USE_USCN
aty_properties
PP_ActivitySamplingInterval
1000
PP_HighSamplingInterval
200000
PP_R600ActivityHysteresis
5
PP_R600LoweringHighPercentage
25
PP_R600LoweringMediumPercentage
10
PP_R600RaisingLowPercentage
10
PP_R600RaisingMediumPercentage
25
PP_UserMaxClockForMultiDisplays
1
OSBundleCompatibleVersion
1.1.36
OSBundleLibraries
com.apple.iokit.IOACPIFamily
1.2
com.apple.iokit.IOGraphicsFamily
1.3
com.apple.iokit.IOPCIFamily
1.2
com.apple.kext.ATISupport
1.1.36
com.apple.kpi.bsd
8.0.0
com.apple.kpi.iokit
8.0.0
com.apple.kpi.libkern
8.0.0
com.apple.kpi.mach
8.0.0
OSBundleRequired
Safe Boot
Wrong… Vervet is the one you need to use.
Hello you say use gpu-z
what should i do if it does not give me a bios version and that i can not use atiflash on dos
The vendor (Sony vaio laptop ) and win 8 say that my video card is a 7650m 2 gb
SiSoftware Sandra
Information du Dispositif
Type de Dispositif : VGA Adaptateur VidÈo
ID Dispositif : bus 1, dispositif 0, fonction 0
Nom du Dispositif Windows : AMD Radeon HD 7550M/7650M Graphics
Nom du Dispositif OEM : ATI (AMD) Thames PRO [Radeon HD 7850]
ID MatÈriel OEM : VEN_1002, DEV_6841, REV_00
Nom du Dispositif : Sony Thames PRO [Radeon HD 7850]
ID Produit : VEN_104D, DEV_90AB, REV_00
RÈvision : A1
My point is that i do not know how to make a dsdt and it seem that my machine does not allow me to start to learn it 🙂
Can you please give me a hand i know your time is valuable
Hi Sir.
I have an ATI 7400M Series and i tried to load a driver. First i used DSDT injection Guide of yours and i was going to wait until 10.8.3 to release. The i find out that my Graphic Card is rebranded and it’s identical to 6400M series. So I used GE=Yes and ATI6000Controller loaded successfully but only work on VGA port. I used Lotus frame buffer and change according to your guide. But still same answer.I have Only VGA port and internal display.
Here is bios dump and …:
redsock_bios_decoder*****************************************************************************
k54h0905.001:
Asus K54HR SEYMOUR M2 XTX DDR3
Subsystem Vendor ID: 1043
Subsystem ID: 2002
Object Header Structure Size: 199
Connector Object Table Offset: 34
Router Object Table Offset: 0
Encoder Object Table Offset: 99
Display Path Table Offset: 12
Connector Object Id [14] which is [LVDS]
encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false
Connector Object Id [12] which is [HDMI_TYPE_A]
encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x21 [duallink 0x1] enc 0x3)] linkb: true
Connector Object Id [5] which is [VGA]
encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false
radeon_bios_decode******************************************************************************************
ATOM BIOS Rom:
SubsystemVendorID: 0x1043 SubsystemID: 0x2002
IOBaseAddress: 0xd000
Filename: k54h0905.001
BIOS Bootup Message:
Asus K54HR SEYMOUR M2 XTX DDR3
PCI ID: 1002:6760
Connector at index 0
Type [@offset 44820]: LVDS (7)
Encoder [@offset 44824]: INTERNAL_UNIPHY (0x1e)
i2cid [@offset 44894]: 0x96, OSX senseid: 0x7
Connector at index 1
Type [@offset 44830]: HDMI-A (11)
Encoder [@offset 44834]: INTERNAL_UNIPHY1 (0x20)
i2cid [@offset 44917]: 0x91, OSX senseid: 0x2
Connector at index 2
Type [@offset 44840]: VGA (1)
Encoder [@offset 44844]: INTERNAL_KLDSCP_DAC1 (0x15)
i2cid [@offset 44944]: 0x97, OSX senseid: 0x8
Original Personality**********************************
Personality: Lotus
ConnectorInfo count in decimal: 3
Disk offset in decimal 180064
0000000 00 04 00 00 04 03 00 00 00 01 00 00 11 02 01 01
0000010 00 08 00 00 04 02 00 00 00 01 00 00 22 05 04 04
0000020 00 04 00 00 00 01 00 00 00 01 00 00 21 03 02 02
0000030
My Personality****************************************
Personality: Lotus
ConnectorInfo count in decimal: 3
Disk offset in decimal 180064
0000000 00 02 00 00 00 40 00 00 00 09 00 00 10 00 01 07
0000010 00 08 00 00 02 00 00 00 00 00 00 00 21 03 02 02
0000020 00 10 00 00 00 10 00 00 00 00 00 00 10 10 03 08
0000030
Am I did something wrong? Help me.
Sorry for My English.
Way to much for a post… look at what other people have done for GPU’s for laptops and work off of that. Chances are you can find a edit that works.
At least help Me with Encode byte plz
This guide will explain how to edit a ATI/AMD Framebuffer Personality to properly enable all of the video ports on your graphics card. Many of you have asked for this and feel free to ask any questions. Please do not ask me to modify your framebuffer. This is why I have provided the guide to do so.
It may not always work…
this was in Part5, 1.
if 0×00000002  = 02  00  00 00 and 0×00000800 =  00 08 00 00, so just for example 0×12345678 should be 78 56 34 12?
so why 0×00000080 = 08  00  00 00 ? shouldn’t it be 80 00 00 00?
also I can’t understand anything from part5,2. the control flags part, I mean you said 0×0800 : HDMI   ControlFlag : 0×0200, so I thought the control flag will be 00 02 00 00 but found you writing it as 04 02  00 00
I think i should have understood that before reading this tutorial as I have zero knowledge about hexadecimals and such
from all of this can you just and please tell me what is the left hand side from the equal symbol and what is the right hand side in all of this tutorial?
I think the left hand side is hexadecimal but what is the right hand side? not knowing what the hell is that I just tried to figure a relation and it was as in the first line, 0×12 34 56 78 should be 78 56 34 12, where each two numbers are considered as one number, then the last will be the first, the one before last will be the second etc…
this relation is justified in most of this tutorial except a few of them, so can you clarify this for me?
That section has to do with how the app displays the info. Do not worry about it to much. And only change things in the FB that are not working already.
okay anyway, here is my bios
Subsystem Vendor ID: 174b
Subsystem ID: e174
Object Header Structure Size: 291
Connector Object Table Offset: 3e
Router Object Table Offset: 0
Encoder Object Table Offset: d0
Display Path Table Offset: 12
Connector Object Id [19] which is [DISPLAY_PORT]
encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x12 [duallink 0x2] enc 0x4)] linkb: false
Connector Object Id [12] which is [HDMI_TYPE_A]
encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x22 [duallink 0x2] enc 0x5)] linkb: true
Connector Object Id [2] which is [DVI_I]
encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false
Connector Object Id [2] which is [DVI_I]
encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false
my output was
00 04 00 00 04 03 00 00 00 01 00 00 12 02 01 01
00 08 00 00 00 02 00 00 00 01 00 00 22 02 02 04
00 02 00 00 04 02 00 00 00 01 00 00 10 00 03 03
00 02 00 00 04 02 00 00 00 01 00 00 00 10 04 03
the thing is when I open ati-personality.pl I don’t get configs, I only get name of a config and its decimal offset so I don’t know what should I replace my output with via hexeditor,
thought of searching for someone who copied configs form their computer in some forums but their values weren’t in my 5000 kext, any ideas?
You need to just pic a FB and change it to the ones you found
Okay, though I was trying to say I have a problem like the first 2 posters in this topic “http://www.insanelymac.com/forum/topic/286130-first-attempt-at-custom-personality-ati-personalitypl-issue/” I managed to just copy over frame buffers from the 3rd poster in the very same topic and putting those strings in the find box in hexedit and could really replace them with mine.
Anyway HDMI worked (without audio) and DVI didn’t, seems like I will try other flags from section 2 in part 5 and hope for a better result!
guess you really helped as HDMI video worked eh? :p
HDMI audio is a DSDT edit not a kext edit. Some cards the DVI port is tied to the HDMI port and does not work but not in the 5xxx series that I know.
________________________________
Ye true, actually I have DVI working alone with 32 AtiConfigs from the 45 out there (yes I tried all of them) but only thought of doing this tutorial so as to get both HDMI and DVI working together even if connected after boot, and about audio maybe you are right but some other tutorial said that his HDMI audio wasn’t working because his connector ID was false, he changed it and audio worked afterwards
still thanks for the tutorial, HDMI video working means your tutorial is indeed a success!
Just a basic question about connector patching, from my understanding i should use one of the basic frame buffers which matches the count of connectors of my card. But, means it “physical” or “logical” (my second DVI port can also output VGA). [Sapphire 7950, DP, HDMI, DVD-D and DVD-I. ]
I believe it should be the physical count.
Physical. This method is untested on the new cards.
@Jabberwocky – did you ever make this work? I have a sapphire 7950 boost and have stubbled to make Futomaki work. Without editing I got both monitors maybe every firth reboot but locks ups most of the time. I edited to the below but still no dice. Any Advice?
Thanks
Gareth
Personality: Futomaki
ConnectorInfo count in decimal: 4
Disk offset in decimal 663056
0000000 00 04 00 00 04 03 00 00 00 01 01 00 12 04 01 01
0000010 00 08 00 00 04 02 00 00 00 01 02 00 22 05 02 02
0000020 04 00 00 00 14 02 00 00 00 01 03 00 11 02 03 03
0000030 04 00 00 00 04 02 00 00 00 01 04 00 10 00 04 06
0000040
Everything i know is here…
Hi Gareth,
actually i’m using FB hamachi, with dual monitor setup, 4 connectors. DP and DVI, still 10.8.5.
Patching is done with clover, first string is original code (with some pre-bytes, else the false FB will be patched), second string is my patched version.
1102010300040000040300000001010012040501000400000403000000010200220504020400000014020000000103000000030600080000040200000001040011020104
ATIConnectorsPatch1102010300040000040300000001010012040501000800000002000000010200220504020400000014020000000103001102030300020000040200000001040000000106
Bye
Thanks both.
I have the both displays detected but one screen blank. Oddly when I remote to the machine I get both displays find on the remote session. Will keep playing.
Is it possible to use this with the other tutorial concerning adding the GPU to the DSDT? I mean I am now able to use DVI and HDMI (hot plug enabled) and detected as 5850 from this
But when I added my GPU to the DSDT just like the other tutorial under DSDT guides 1, I got HDMI audio working but system profiler detected my card as 5000 series and dvd player crashes though I renamed the FB personality in the DSDT to the same name of the one I have edited
Not related at all. You are not changing the Framebuffer in the DSDT edit. Thats your issue.
I thought so too, and actually I changed Duckweed to Uakari in the DSDT (Uakari is the personality I have successcully edited), maybe I missed or deleted a symbol by mistake….. will give it another try tomorrow
btw mate, you answer my comments really fast lol
you got a damn good notifer :p
lol. Goot luck. And its called Email notification my friend.
I have black screen problem.
I install iAtkos ML 10.8.2, If i use a external monitor it works with no problem bu identifed as HD 5750M. On the other hand if i try to use laptop display i got black screen than i type PciRoot=1 there is no problem for working screen however this time vga has identified as 3mb standart vga with no acc. So what’s wrong or where i am wrong? Also , i tried to edid display ID, Framebuffer was Hoolock and graphicsEnabler=Yes.
17.3” Display on laptop with 1600×900 res.
So do you think this will solve my problem? If it is, can you show me the way when i send you what you need.(codes, rom version, etc.). I need a specialized tutorial.
HD3000/4000 will be the only one to work since this is a laptop. If you can not turn off intels GPU off in the BIOS it will never work.
Its not a swicthable configuration. There is only HD5650M on my system.
I have an old XFX HD4890 card but have been unable to get both DVI ports to work (it has previously sensed a DVI port and a VGA port)
I’ve tried following the guide, and modified my Kext but with no success (system profile now reports that no kext is loaded, and its really sluggish as a result.
The ROM dump of my card is as follows:-
489ZSF2W.BIN:
Wekiva RV790 B93102-00 XT 850E/975M
Subsystem Vendor ID: 1682
Subsystem ID: 2702
Object Header Structure Size: 354
Connector Object Table Offset: 50
Router Object Table Offset: 0
Encoder Object Table Offset: 10b
Display Path Table Offset: 10
Connector Object Id [2] which is [DVI_I]
encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false
Connector Object Id [2] which is [DVI_I]
encoder obj id [0x16] which is [INTERNAL_KLDSCP_DAC2] linkb: false
Connector Object Id [15] which is [DIN]
encoder obj id [0x16] which is [INTERNAL_KLDSCP_DAC2] linkb: false
Connector Object Id [15] which is [DIN]
encoder obj id [0x16] which is [INTERNAL_KLDSCP_DAC2] linkb: false
Connector Object Id [2] which is [DVI_I]
encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false
Connector Object Id [2] which is [DVI_I]
encoder obj id [0x1f] which is [INTERNAL_KLDSCP_LVTMA] linkb: false
Which based on following the guide I came up with the following for my edits
0000000 00 02 00 00 04 02 00 00 00 01 00 00 10 00 01 01
0000010 00 02 00 00 04 02 00 00 00 01 00 00 00 10 02 01
Any pointers would be greatly appreciated.
You need netkas exotic package for you card.
Yes, had the exotic patch installed, before edits it was fine (although only a single DVI port working) after edits doesn’t seem to load, have reloaded the original Kext in the interim, but any chance you could help see if the strings I have calculated are correct based on the bios dump above?
You do not change the values on the port that is working. My guide just goes step by step if you had to. Making the second port almost match the working port would be the solution.
Still no joy, whatever changes I make still results in 2 Displays DVI & VGA, although VGA isn’t outputting anything as I’ve actually got 2 DVI ports (one capable of VGA), and a DIN port.
I’ve tried using Quail as the personality on the basis that technically I have 3 outputs (although I only care for the DVI ones).
Using this as my Hex edits:-
0000000 00 02 00 00 04 02 00 00 00 01 00 00 10 00 01 03 Attempt 5 DVI Port
0000010 08 00 00 00 20 00 00 00 04 01 00 00 10 10 02 15 Attempt 5 DIN (assume SVideo)
0000020 00 02 00 00 04 02 00 00 00 01 00 00 00 10 03 03 Attempt 5 DVI
Graphics Displays in System Profile just list the following
Displays:
2461W:
Resolution: 1920 x 1080 @ 60 Hz
Pixel Depth: 32-Bit Color (ARGB8888)
Display Serial Number:
Main Display: Yes
Mirror: Off
Online: Yes
Rotation: Supported
Television: Yes
VGA Display:
Resolution: 1920 x 1080 @ 60 Hz
Pixel Depth: 32-Bit Color (ARGB8888)
Mirror: Off
Online: Yes
Rotation: Supported
The display which is working perfectly, just wish I could get the second monitor online.
Its one of the values at the end of the string for the FB that is the issue. Not sure what value to change however.
I’m using Lion 10.7.5 when using ati-personality.pl i get this output. Why it doesn’t work?
Kext /System/Library/Extensions/ATI6000Controller.kext/Contents/MacOS/ATI6000Controller
Personality: Pithecia
ConnectorInfo count in decimal: 0
Disk offset in decimal 116195
Personality: Bulrushes
ConnectorInfo count in decimal: 0
Disk offset in decimal 116265
Personality: Cattail
ConnectorInfo count in decimal: 0
Disk offset in decimal 116342
Personality: Hydrilla
ConnectorInfo count in decimal: 0
Disk offset in decimal 116411
Personality: Duckweed
ConnectorInfo count in decimal: 0
Disk offset in decimal 116481
Personality: Fanwort
ConnectorInfo count in decimal: 0
Disk offset in decimal 121659
Personality: Elodea
ConnectorInfo count in decimal: 0
Disk offset in decimal 124357
Personality: Kudzu
ConnectorInfo count in decimal: 0
Disk offset in decimal 124649
Personality: Gibba
ConnectorInfo count in decimal: 0
Disk offset in decimal 124719
Personality: Lotus
ConnectorInfo count in decimal: 0
Disk offset in decimal 127609
Personality: Ipomoea
ConnectorInfo count in decimal: 0
Disk offset in decimal 127679
Personality: Muskgrass
ConnectorInfo count in decimal: 0
Disk offset in decimal 129581
It is a bug in the app.
There is no solution then? I’m trying to get my secondary DVI out working but i’m unable to get it… There is any ATI6000Controller.kext working with both DVI connectors?
No because chances are it is tied to the HDMI port so use a converter.
My card is Radeon HD 7850 yet I get this error after dragging ati-personality.pl in to Terminal and pressing return.
Cannot open otool -arch x86_64 -l /System/Library/Extensions/ATI2400Controller.kext/Contents/MacOS/AMD2400Controller for input
Thank you very much for the tutorial.
On my MacPro 3,1 I have an XFX 7970 that lists 6 connections using red sock_bios_decoder. Do I just choose any personality in ATI7000controller.kext That has an equal number of connections? Like the “OPM” or the “Ikura” personalities? I just noticed in the example that you choose Gibba, which has 5 connections, while your BIOS has 6 connections. Did you just insert connection number 6 after the last connection listed in Gibba?
With unaltered kexts and the original BIOS for the card, IOREG under AMD7000Controller@2 shows “ATY,Chutoro” and “ATY,Hamachi”. What actually cause the system to choose these two? If I alter my kext as explained in your tutorial, will the system automatically choose my altered personality?
Feel free to point me to any further reading I should do to understand this entire process better.
Cheers and enjoy the weekend,
DreamConjuror
I just wanted 4 ports to work (DVI port is tied to HDMI port so only one works). Just as long as you get the amount of ports working is all that maters.
Hello
Thanks for this tutorial.
i have vaio sve15117fdb and my graphics card is radeon 7650m
Graphics Card Manufacturer Powered by AMD
Graphics Chipset AMD Radeon HD 7500M/7600M Series
Device ID 6841
Vendor ID 1002
Subsystem ID 90AB
Subsystem Vendor ID 104D
Graphics Bus Capability PCI Express 2.0
Maximum Bus Setting PCI Express 2.0 x16
BIOS Version 013.012.000.041
BIOS Part Number HK5.019
BIOS Date 2012/07/10
Memory Size 1024 MB
Memory Type DDR3
Core Clock in MHz 500 MHz
Memory Clock in MHz 900 MHz
Total Memory Bandwidth in GByte/s 28.8 GByte/s
It is based on the same chip as the Radeon HD 6650M, but has a lower core clock of 450 – 550 MHz.
The power consumption of the chip and 3D performance is similar to the Radeon HD 6630M.
i have problem with Framebuffer Personality (not work for me) of course i do in 10.9 dp4 .
is there other method for get frambuffer?
Your trying to edit it not find it… I think your mixing up what this guide is meant to do.
Friend, can you help me to identify this log (xfx5770 via DSDT;);
GPU Hang State = 0x00000000
2013-10-29 20:00:51 -0400 kernel[0]: GPU hang: Not Implemented
2013-10-29 20:00:51 -0400 kernel[0]: Trying restart GPU …
2013-10-29 20:00:51 -0400 kernel[0]: AMDJuniperGraphicsAccelerator: bad busy count (255,1)
2013-10-29 20:00:51 -0400 kernel[0]: Backtrace 0xffffff800062d0b8 0xffffff800062cfc4 0xffffff7f81f34697 0xffffff7f81f129d0 0xffffff7f81f1b4c5 0xffffff7f81f202f2 0xffffff7f81f15e3d
2013-10-29 20:00:51 -0400 kernel[0]: Kernel Extensions in backtrace:
Change the FB.
No. If you can not turn off intel Gpu in the bios the it will never work.
Hello,
I have problem with my Mobility Radeon HD4570:
——————————
Radeon Bios Decode:
——————————
ATOM BIOS Rom:
SubsystemVendorID: 0x1025 SubsystemID: 0x0212
IOBaseAddress: 0x5000
Filename: BR34582.001
BIOS Bootup Message:
BR34582.001 M92 DDR2 64bit 680e/500m
PCI ID: 1002:9553
Connector at index 0
Type [@offset 45718]: LVDS (7)
Encoder [@offset 45722]: INTERNAL_UNIPHY2 (0x21)
i2cid [@offset 45762]: 0x96, OSX senseid: 0x7
Connector at index 1
Type [@offset 45728]: VGA (1)
Encoder [@offset 45732]: INTERNAL_KLDSCP_DAC1 (0x15)
i2cid [@offset 45785]: 0x90, OSX senseid: 0x1
——————————
Redsock Bios Decoder:
——————————
BR34582.001 :
BR34582.001 M92 DDR2 64bit 680e/500m
Subsystem Vendor ID: 1025
Subsystem ID: 212
Object Header Structure Size: 138
Connector Object Table Offset: 28
Router Object Table Offset: 0
Encoder Object Table Offset: 6a
Display Path Table Offset: 10
Connector Object Id [14] which is [LVDS]
encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x12 [duallink 0x2] enc 0x4)] linkb: false
Connector Object Id [5] which is [VGA]
encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false
——————————
With this information i patched Shrike framebuffer. Here’s what I got:
LVDS 02 00 00 00 40 00 00 00 09 01 00 00 12 04 00 07
VGA 10 00 00 00 10 00 00 00 00 01 00 00 00 10 01 01
EMPTY 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
After that I have transparent menubar, DVD Player is working but Chess (all 3D apps) suspend system.
Can You help me find error?
All I know is in the guide.
Hi, I get that I need to edit my framebuffer but which one to use as a base?
Card amd firepro m8900 .(DELL Precision M6600)
Should I stick with Elodea since it defaults to that and then trial and error with connectors?
Found a related post on another forum which suggested this layout enabled lvds ( modified cattail using clover )
02 00 00 00 40 00 00 00 29 05 00 00 10 00 00 05 (tested this with chameleon/chimera but no luck)
Redsock decode doesnt list lvds , is it possible that ldvs shares a dp connector ?
with graphics enabler=yes ….ioreg | grep ATY = Elodea
no laptop screen,no hdmi , VGA MONITOR working and card identified correctly in system profiler with full acceleration ( though elodea personality looks to be dp based )
aticonfig=Ipomoea & GE=YES …..
LAPTOP DISPLAY NO ,VGA NO , HDMI working and card identified correctly in system profiler with full acceleration
aticonfig=Muckgrass & GE=YES …..
LAPTOP DISPLAY NO ,VGA NO , HDMI working and card identified correctly in system profiler with full acceleration
I’m comfortable editing personalities but just need a solid starting point.
Thanks.
No idea. I have everything I know in the guide so trial and error is the way to go.
Hello
thank you for this guide
I get a black screen on my laptop when booting with Ati kexts installed ,VGA Works with fully graphics acceleration
Could you help me find out which Personality should I edit
my card AMD Radeon HD 6570M/5700 Series
I found this while searching
{ 0x68C0, 0x00000000, CHIP_FAMILY_REDWOOD, “AMD Radeon HD 6570M/5700 Series”, kNull },
it says the AtiConfig must be Null , so what Personality should I edit to get my notebook’s LVDS Monitor working!
thanks in advance for any help you can offer
Not sure.
Hi Rampagedev,
Thanks a lot for the guide. Unfortunately I couldn’t find the right value for every Framebuffer property. This is what my bios gave me (I’m having the same card as Hady Hallak, which is mobile Radeon HD 5730):
______________________________________________________________________________
HP / Quanta Gerrard / Hammm 2.0 64Mx16 GDDR5 1GB UCODEv:128
Subsystem Vendor ID: 103c
Subsystem ID: 1593
Object Header Structure Size: 199
Connector Object Table Offset: 34
Router Object Table Offset: 0
Encoder Object Table Offset: 99
Display Path Table Offset: 12
Connector Object Id [14] which is [LVDS]
encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false
Connector Object Id [12] which is [HDMI_TYPE_A]
encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x21 [duallink 0x1] enc 0x3)] linkb: true
Connector Object Id [5] which is [VGA]
encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false
_______________________________________________________________________________
This is the result of my first line edit, which does at the moment give me a black, but backlighted screen:
02 00 00 00 14 00 00 00 09 01 00 00 10 00 00 04
I tried a lot of values, some gave me internal screen and some did not. None of them fixed my problem yet: After display sleep, the internal screen wakes with distorted colors, external screens didn’t. I am not using a DSDT.
Could you help me out with this? If you have some time, would you also help me with the VGA? There’s a phantom screen capable of many resolutions whenever no VGA is connected.
Thank you very much!!!
Is there anyone who could help me with this?
This is weird, i’m the only one who didn’t get a reply yet. Not even an “just look into the guide”. Do you guys see my posts at all?
What did I miss?
I just copy it here, could you confirm whether you saw the post or not?
This is it:
Thanks a lot for the guide. Unfortunately I couldn’t find the right value for every Framebuffer property. This is what my bios gave me (I’m having the same card as Hady Hallak, which is mobile Radeon HD 5730):
______________________________________________________________________________
HP / Quanta Gerrard / Hammm 2.0 64Mx16 GDDR5 1GB UCODEv:128
Subsystem Vendor ID: 103c
Subsystem ID: 1593
Object Header Structure Size: 199
Connector Object Table Offset: 34
Router Object Table Offset: 0
Encoder Object Table Offset: 99
Display Path Table Offset: 12
Connector Object Id [14] which is [LVDS]
encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0×0)] linkb: false
Connector Object Id [12] which is [HDMI_TYPE_A]
encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x21 [duallink 0x1] enc 0×3)] linkb: true
Connector Object Id [5] which is [VGA]
encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false
_______________________________________________________________________________
This is the result of my first line edit, which does at the moment give me a black, but backlighted screen:
02 00 00 00 14 00 00 00 09 01 00 00 10 00 00 04
I tried a lot of values, some gave me internal screen and some did not. None of them fixed my problem yet: After display sleep, the internal screen wakes with distorted colors, external screens didn’t. I am not using a DSDT.
Could you help me out with this? If you have some time, would you also help me with the VGA? There’s a phantom screen capable of many resolutions whenever no VGA is connected.
Thank you very much!!!
Try one line at a time. Look on IM for a fix for a MSI 5770 ghost display if I recall for that fix.
Ok thank you. I just urgently need the first line for internal screen. It’s quite a mess whenever the lid get’s closed. Also, sleep would be great on a laptop with low battery times.
Dead link to ati-personality.pl. Any chance of a new link?
Thanks Rampage, keep up the good work! 🙂
Don’t have the time ATM to look. Google it for now until I get a chance.
Hi …
my card AMD Radeon HD 6570M/5700 Series
my internal screen is working with patched Eulumer and Edid override
the problem is that my display0 in ioreg is detected as “AppleDisplay”
I’m trying to load it as AppleBacklightDisplay
patches which worked
02 00 00 00 14 00 00 00 01 08 00 00 10 02 01 07
02 00 00 00 14 00 00 00 09 01 00 00 10 02 01 07
whenever I change “14 00 00 00” to “02 00 00 00” or “00 01 00 00”
I never get a working screen … even in ioreg no display0
any idea / experience with that ??
your help is much appreciated … Thanks in advance
Look at the back end of the FB as well.
Does your sleep work without color distortion? For these two patches that worked for you.
I am currently using my Radeon R9 270X which has the following detected:
R927XO2D.F1 :
GV-R927XOC-2GD/F1
Subsystem Vendor ID: 1458
Subsystem ID: 2272
Object Header Structure Size: 355
Connector Object Table Offset: 48
Router Object Table Offset: 0
Encoder Object Table Offset: fd
Display Path Table Offset: 12
Connector Object Id [19] which is [DISPLAY_PORT]
encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x12 [duallink 0x2] enc 0x4)] linkb: false
Connector Object Id [12] which is [HDMI_TYPE_A]
encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x22 [duallink 0x2] enc 0x5)] linkb: true
Connector Object Id [2] which is [DVI_I]
encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false
Connector Object Id [2] which is [DVI_I]
encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false
Connector Object Id [4] which is [DVI_D]
encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] linkb: false
And I’m having some success with a pre-prepared four port framebuffer personality from Valda, which modifies the Futomaki personality to:
04 00 00 00 14 02 00 00 00 01 00 00 01 02 05 05
00 08 00 00 04 02 00 00 00 01 00 00 22 05 02 03
00 04 00 00 04 03 00 00 00 01 00 00 12 04 01 01
00 02 00 00 04 02 00 00 00 01 00 00 10 00 03 06
However, this results in the DVI-I/VGA port not working as VGA, and it results in the secondary DVI-D port only functioning as single link. I would like the VGA port to function as VGA, and the other DVI port to function as dual link. If necessary, I can replace some 5 or even 6 port personality instead.
Blah, it doesn’t even support HDCP over that DVI port, either.
Hello,
Forgive me for this dumb question – will this work on a real Mac (I have an old 2010 MacPro) with AMD 7970, but only 1 DVI and display port works:(
Thanks
Yes.
hello,
I have installed successfully..but screen gets flicker when i open safari or launchpad menu or while playing video
my PC specs :
Intel core 2 Duo
intel 965RY motherbord
5gb ram
Saphire ATI Radeon 5450 1gb ddr3
I tried several kexts for this GPU…no luck…please guide me..thanx
You do not have QE running on your GPU.
my audio had glitches when playing video and audio on any player this fix it.
work great.
running mavericks
amd phenom ii x4 965
ati firepro v3750
And this has to do with this because… I am at a lose on what you are talking about.
video players use the frame buffer. when playing video on youtube it work fine. only when using a video player the audio would skip through out the playback.
Unrelated.
Have you ever seen a problem where the readback checksum using atiflash is always 0x0000?
I have tried -unlockrom but that did not seem to have any effect
Nope.
I bit the bullet, re-installed windows and tried to use the GPU-Z method. If I try to save to file I get a “BIOS reading not supported on this device” error.
Ok, I believe I have found a solution and I will post here just in case anyone is interested or runs into a similar issue. I was working on an Asus laptop. Laptops apparently sometimes store the VBIOS in the actual BIOS. I downloaded a bios update ROM for my laptop and loaded it into MMTool. Using MMTool I browsed until I found my Graphics Card Vendor and Product ID and I believe was able to extract the VBIOS from the laptop BIOS.
Thank you for this guide. I have my Radeon Mobility 4670M fully functioning by correcting the framebuffer to wrk with my Asus laptop.
Be sure to post your pre and post FB patch
No Problem I am still working on getting all ports 100% functional. I was able to get the LVDS display working. HDMI I have running but you can’t plug it in after boot it has to be plugged in on start up. I am guessing this is the Hot Plug ID? Also, when I plug it in instead of switching exclusively between monitors it is running both simultaneously but turns the backlight off on the LVDS display instead of using only the HDMI… Anything I might be missing here?
Ok so I believe I am done modifying my Radeon Mobility 4670 on my Asus N81Vp-X1 laptop. Here are the caveats… I have not gotten VGA port functioning in OSX and I am no longer working towards this. If someone gets it working please post here. LVDS is fully functional. HDMI out works but it comes up as a secondary display. Also you cannot “Hot Plug” the HDMI. It must be plugged in at boot. The display is not just disabled when the lid is closed although the backlight appears to be turned off (a function of the laptop hardware, not OSX). I am guessing this is an ACPI issue as I did set up the LVDS as a clamshell display.
Modified AMD4600Controller.kext for the “Shrike” buffer.
Original Framebuffer:
0000000 02 00 00 00 40 00 00 00 09 01 00 00 02 01 00 03
0000010 02 00 00 00 00 10 00 00 09 01 00 00 20 01 02 02
0000020 00 04 00 00 04 03 00 00 00 01 00 00 10 00 01 01
0000030
Modified Framebuffer:
0000000 10 00 00 00 10 00 00 00 00 01 00 00 00 10 02 06
0000010 02 00 00 00 40 00 00 00 09 01 00 00 12 04 00 07
0000020 00 08 00 00 04 22 00 00 00 00 00 00 20 01 01 02
0000030
RampageDev,
I need to know if I have a working Frame Buffer on my system. Everything in my system is working very well with a 7970. (I am using Clover).
I get transparent menu bars etc and no video problems whatsoever, however I have never changed any FB settings, also the 7970 comes up as a 7xxx under system profiler. I am on 10.9.3.
Can you let me know a solid way to check if my frame buffer is functioning?
Cheers,
A
Not needed with the newer OS.
Awesome! You are the king of frame buffer gpu knowledge.
I have also been able to flash my MSI 7970 with a GOP VBIOS (supplied by MSI when I sent them my VBIOS) – by doing this I get boot screens from the 7970 under clover.
Added to this that triple screens are working flawlessly with the 7970 when using the “Active” Mini-displayport adaptor along with a HDMI and another display port port.
Suffice to say that discovering that worked was very insightful as there was practically no info online regarding it. Hope this helps your knowledge base even a little!
Cheers,
A
lol. Glad I could help. I just put all the info in one place as it is poorly documented. Just started on Intel GPU’s now…
PS: I lied a bit about never getting video problems: FCPX sometimes does some very very very stupid things with graphics and video outputs, but then I read about it on ‘MacPros’ – so apart from normal video problems there are no problems! ;-D
hey, awesome tutorial by the way.
i’ve been following this and getting everything pretty well until the senseID part where you never updated how you obtained it from the radeon decoder output.
My output looks like your sample screenshot and has no obvious senseID field like some of the forum tutorial screens that you linked to.
Can you please clarify how you got working values for SenseID? Thanks! 😀
You have to do trial and error.
Hey, I’ve found that the radeon bios decoder will tell you the senseID information. So you can use the two bios tools together to figure everything out.
Right now I’m a little confused to how the patch actually works. How does OSX know to use the specific personality that I chose to modify? I know we modify the kext but how do I know that was the one it defaults to anyway? did i miss a step where i specify which personality to use?
I’m using clover by the way.
You tell the Boot loader or inject it into a SSDT/DSDT with the FB you use.
Have you seen an issue where settings used in one version of OS X do now work when moving to a newer release? For example they work in Mavericks but not Yosemite?