Jump to content
Welcome to InsanelyMac Forum

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.


  • Content count

  • Joined

  • Last visited

About redsockosx

  • Rank
    InsanelyMac Protégé

Contact Methods

  • Website URL
  1. Editing custom personalities for ATI Radeon HD[45]xx

    Hey bcc9, hat's off to ya for all your early and continued effort on all this. Its been many moons since I did anything with my quick hackjob for redsock_bios_decoder, from memory, the only reason I did it was to cross-reference the actual output flags that were scattered from different sources with part of your effort as I had been scratching down lots of hand-written notes when I was playing around with it all. Let me know if y'all want me to dust off my notes as well. Cheers
  2. Editing custom personalities for ATI Radeon HD[45]xx

    After having played with it for several days on end, the MBP ATI kexts don't appear to be using a connectorinfo like the one we have been playing with here... It really does appear to be dynamically acquired in at least some description... I ended up abandoning all of the aforementioned as soon as I got the working GraphicsEnabler=no MBP kexts happening. Still, I am unable to get the DisplayPort working from my Flex card ... which I would have thought would be easier than the HDMI port, apparently not. Unknown really... I wasn't able to coax much out of using the modified txmit/encoder values... your mileage may vary... :-)
  3. will this ati card work in snow leopard?

    running on two different ones at the same time, no issues.. see my last post in the personality editing for [45]xxx ... Cheers
  4. Editing custom personalities for ATI Radeon HD[45]xx

    Well, to maybe save someone else the fine pleasure of trial and error w/ my particular card... In the end, using vanilla SL 10.6.7 kexts I was unable to get a second or third monitor working regardless of what framebuffer or personality entries I put. (I could certainly affect things with it however). The best I could get was an incorrectly/forced cloned HDMI display. QE/CI worked from the outset so that wasn't really the goal. What I ended up doing was installing the MBP 10.6.7 kexts, which gave me two correct screens, one from the DL-DVI and one from the HDMI. To get me a couple more monitors, I just went and bought another 5770 (non flex this time as there was no real point for osx, heh) and now have four monitors connected. Note: GraphicsEnabler=no was the goods for the MBP kexts, everything works fantastico. Also of note is that the ioreg for it now looks quite a bit different... Where it used to say things like ATY,Vervet@0 it says ATY,ATY,RadeonFrameBuffer@0 ... other flags/etc look same-same. happily operating on dual 5770 cards across four monitors... :-)
  5. Editing custom personalities for ATI Radeon HD[45]xx

    Greetz again... Not being sure about what to set the txmit/encoder bytes to, I went ahead and wrote a quick atombios decoder that outputs different goods to bcc9's... (and armed with both sets, hmmm maybe I am one step closer). I didn't bother to do up the sense ids or i2cids, and was only focussed on the txmit/encoder bytes for R5xxx or better atombios goods (hmm) my attached bin doesn't do much error checking, but is used same way as bcc9's for consistency. Here is output of my Sapphire 5770 Flex 1GB card from my own... I have yet to plug in/test these values, but based on Mucha's thread and this one, maybe I'll get lucky ;-) ./redsock_bios_decoder <image.bin 148X0300.DP3: JUNIPER BIOS UCODEv:126 Subsystem Vendor ID: 174b Subsystem ID: 1484 Object Header Structure Size: 379 Connector Object Table Offset: 48 Router Object Table Offset: 0 Encoder Object Table Offset: 118 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 [19] which is [DISPLAY_PORT] encoder obj id [0x20] which is [iNTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] 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 Again I am not sure what the KLDSCP_DAC1 values should really be hence the ? mark there... unknown.. Hmmm, it says I am not permitted to upload this type of file as an attachment... Link here: redsock_bios_decoder
  6. Editing custom personalities for ATI Radeon HD[45]xx

    Greets to all, and a huge thanks to all of you, you're legends for getting this far, haha I have spent the last several days of my life sitting here plodding away with some trial and error based on my[your] understanding of the personality table... I have a Sapphire 1GB Flex 5770 that will run 3 displays without active displayport adapter... OTB I can get QE/CI/OpenCL no sweat with Baboon, Vervet framebuffers, Hoolock if I modify the personality to include the dual DVI 0x200 connector type... Anyway, I have made progress... I haven't really spent much time attempting to get any of the other ports to work other than the HDMI and the dual link DVI port (which works fine). Here is my radeon_bios_decode: ./radeon_bios_decode <image.bin ATOM BIOS Rom: SubsystemVendorID: 0x174b SubsystemID: 0x1484 IOBaseAddress: 0xde00 Filename: 148X0300.DP3 BIOS Bootup Message: JUNIPER BIOS UCODEv:126 PCI ID: 1002:68b8 Connector at index 0 Type [@offset 44326]: DisplayPort (10) Encoder [@offset 44330]: INTERNAL_UNIPHY2 (0x21) i2cid [@offset 44444]: 0x91, OSX senseid: 0x2 Connector at index 1 Type [@offset 44336]: DisplayPort (10) Encoder [@offset 44340]: INTERNAL_UNIPHY1 (0x20) i2cid [@offset 44471]: 0x94, OSX senseid: 0x5 Connector at index 2 Type [@offset 44346]: HDMI-A (11) Encoder [@offset 44350]: INTERNAL_UNIPHY2 (0x21) i2cid [@offset 44498]: 0x90, OSX senseid: 0x1 Connector at index 3 Type [@offset 44356]: DVI-I (2) Encoder [@offset 44360]: INTERNAL_UNIPHY (0x1e) i2cid [@offset 44535]: 0x92, OSX senseid: 0x3 Connector at index 4 Type [@offset 44366]: DVI-I (2) Encoder [@offset 44370]: INTERNAL_KLDSCP_DAC1 (0x15) i2cid [@offset 44535]: 0x92, OSX senseid: 0x3 So armed with all of your information I modified my HDMI personality line and get signal no sweat... problem is: it is always a mirror display of my primary. (Noting here that OSX thinks it is extended and not mirrored, despite it really being mirrored). I have attempted several things here... your connectorInfo description/struct is of course not exactly in line with mucha's, and admittedly the discrepancy between them gives a bit of pause.. specifically, your OP says: byte link_i2cid; /* Bits 0-3: i2cid Bits 4-7: link transmitter link */ byte dac_digidx; /* Bits 0-3: link encoder number Bits 4-7: link dac number */ and Mucha's says transmitter & encoder bytes with UNIPHY, etc. Your dac_digidx appears ot be inline with Muchas, but the link_i2cid one is the one I am unsure of. Looking at the entire list of personality info, I'd say that mucha's appears to be correct. This however doesn't really get me closer to figuring out why HDMI output, sensing, EDID detction, and everything is working, but it is reading it from the wrong spot in vram... hmmmm It would appear that nothing I can really do to the two important bytes there (transmitter/encoder) have anything to do with it.. Does this mean that instead of using the Vervet framebuffer as I have been that there is some other better suited one? The reading I have done suggests that in evergreen based ati cards that the DIG encoders are hardwired to outputs, so I can't really mess with them... and the transmitter itself seems pretty straightforward... The thought occurs to me that maybe I am going a bit cross-eyed having stared at all of this and taken too many notes and that maybe I am just missing something stupid, hahah my "working" vervet personality (working == dual link dvi port and HDMI output but 'falsely' cloned) looks like: Personality: Vervet ConnectorInfo count in decimal: 4 Disk offset in decimal 80000 0000000 00 04 00 00 00 04 00 00 00 01 00 00 12 04 04 02 (haven't messed with DP yet) 0000010 04 00 00 00 14 00 00 00 00 01 00 00 01 12 01 04 (ATY,ActiveFlags = 1) 0000020 00 02 00 00 14 00 00 00 00 01 00 00 00 00 06 03 (Working fine) 0000030 00 08 00 00 00 02 00 00 00 01 00 00 02 04 05 01 (HDMI, incorrectly cloned) also, the second DVI port "should" work too right? In looking at my radeon_bios_decode, it says the same senseid and i2cid as the working DL-DVI port which is weird, and I wasn't sure how the INTERNAL_KLDSCP_DAC1 maps to any of the UNIPHY/DACA/DACB & corresponding transmitter/encoder values... Ideally, I am hoping to get three single-link DVI monitors hanging off this card... and I am pleasantly optimistic I can get it to work... must be missing something stupid, heheh, hoping you guys might be able to steer me in a better/more efficient direction... Thx again to all of you... I am not sure most people appreciate how many fine hours all of this really represents.. haha Cheers!