Martuzki Posted May 13, 2011 Share Posted May 13, 2011 Shrike: VGA 02 00 00 00 40 00 00 00 09 01 00 00 02 01 01 02 LVDS 10 00 00 00 10 00 00 00 00 01 00 00 00 10 00 01 This will enable the best Resulotion for my screen. VGA and LVDS are working. On VGA the screen is for 1/4 black. But no QE/CI. Can someone help me please? I've a Mobility 4570 (0x9553) Sry here is the BIOS Dump: ATOM BIOS Rom: SubsystemVendorID: 0x1019 SubsystemID: 0x2379 IOBaseAddress: 0x9000 Filename: BR033553.004 BIOS Bootup Message: BR033553.004 M92 DDR2 64bit 500e/500m PCI ID: 1002:9553 Connector at index 0 Type [@offset 45504]: VGA (1) Encoder [@offset 45508]: INTERNAL_KLDSCP_DAC1 (0x15) i2cid [@offset 45548]: 0x90, OSX senseid: 0x1 Connector at index 1 Type [@offset 45514]: LVDS (7) Encoder [@offset 45518]: INTERNAL_UNIPHY2 (0x21) i2cid [@offset 45571]: 0x91, OSX senseid: 0x2 Link to comment Share on other sites More sharing options...
bcc9 Posted May 14, 2011 Author Share Posted May 14, 2011 Silly question but I can't find the 64 bit Vervet table in the ATIFrambuffer. I can see the output in ati personality: Personality: Vervet - 64 bit 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 0000010 04 00 00 00 14 00 00 00 00 01 00 00 01 12 01 04 0000020 00 02 00 00 14 00 00 00 00 01 00 00 00 00 06 03 0000030 00 08 00 00 00 02 00 00 00 01 00 00 22 05 05 01 0000040 The offset of 80000 = 0x13880 I look on that row using HexEditor and I can't see it there ! Can anyone help ? I'm analysis it in 10.6.7 normal update (not MBP or iMac kexts) You're doing something wrong.... % cd /System/Library/Extensions/ATIFramebuffer.kext/Contents/MacOS/ % ls -l ATIFramebuffer -rw-r--r-- 1 root wheel 304556 Mar 2 16:57 ATIFramebuffer % dd if=ATIFramebuffer of=/tmp/vervet bs=1 count=64 skip=80000 64+0 records in 64+0 records out 64 bytes transferred in 0.000856 secs (74752 bytes/sec) % od -tx1 /tmp/vervet 0000000 00 04 00 00 00 04 00 00 00 01 00 00 12 04 04 02 0000020 04 00 00 00 14 00 00 00 00 01 00 00 01 12 01 04 0000040 00 02 00 00 14 00 00 00 00 01 00 00 00 00 06 03 0000060 00 08 00 00 00 02 00 00 00 01 00 00 22 05 05 01 0000100 % You could of course just edit /tmp/vervet above, and then dd the result back in place. I just tried the following and it worked: cd /tmp xxd < vervet >! hex ;edit hex here xxd -r < hex > vervet.new dd if=vervet.new of=/System/Library/Extensions/ATIFramebuffer.kext/Contents/MacOS/ATIFramebuffer bs=1 count=64 seek=80000 conv=notrunc Link to comment Share on other sites More sharing options...
notshy Posted May 14, 2011 Share Posted May 14, 2011 You're doing something wrong....% cd /System/Library/Extensions/ATIFramebuffer.kext/Contents/MacOS/ % ls -l ATIFramebuffer -rw-r--r-- 1 root wheel 304556 Mar 2 16:57 ATIFramebuffer % dd if=ATIFramebuffer of=/tmp/vervet bs=1 count=64 skip=80000 64+0 records in 64+0 records out 64 bytes transferred in 0.000856 secs (74752 bytes/sec) % od -tx1 /tmp/vervet 0000000 00 04 00 00 00 04 00 00 00 01 00 00 12 04 04 02 0000020 04 00 00 00 14 00 00 00 00 01 00 00 01 12 01 04 0000040 00 02 00 00 14 00 00 00 00 01 00 00 00 00 06 03 0000060 00 08 00 00 00 02 00 00 00 01 00 00 22 05 05 01 0000100 % You could of course just edit /tmp/vervet above, and then dd the result back in place. I just tried the following and it worked: cd /tmp xxd < vervet >! hex ;edit hex here xxd -r < hex > vervet.new dd if=vervet.new of=/System/Library/Extensions/ATIFramebuffer.kext/Contents/MacOS/ATIFramebuffer bs=1 count=64 seek=80000 conv=notrunc Thanks for the info ! Doing it that way has made it a lot clearer ! I seem to be missing the final piece of the puzzle tho. I've used the ati-personality script to pull out the personality tables for each framebuffer. I'm wanting to edit Vervet so I've used the offset as described above to pull out the vervet section into it's own temporary file in /tmp-fb-edit/vervet . I've then used HexEdit to change the sense ID in my HDMI row (3rd port - final row - begins "00 08") from 01 to 05 (the batmobile 5770 has 05 as the Sense ID for HDMI). I've then saved that edited hex to vervet.new. I've then used dd as above to replace that coding back into the ATI5000controller.kext in the two positions for Vervet in 32/64 bit - taken from the original ati-personaility info. I've then repaired permissions and cache using Kext Utility and rebooted. I still got a black screen on HDMI. So I swapped back to DVI, put the hack to sleep using the keyboard and woke it up again and got my picture back. I then re-ran the ati-personality script and it showed that I had edited the sense ID to "05" in the ATI5000Controller kext. So I've got no idea what's going wrong. I then checked and saw that the permissions on the ATI5000Controller bin file had X's in - so I then ran "sudo chmod 644 /System/Library/Extensions/ATI5000Controller.kext/Contents/MacOS/ATI5000Controller" and then repaired permissions again. Rebooted and still no HDMI. I've viewed other people's edits for the 5770 to make sure that I'm doing the right thing and I'm making the same edits. Can I take a screenshot of anything in IOReg via VNC to help work out what's going wrong ? Should I edit it on the desktop then install back to /S/L/E using Kext Helper / [url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url] ? Here's my radeon_bios_decode: ATOM BIOS Rom: SubsystemVendorID: 0x1458 SubsystemID: 0x21d7 IOBaseAddress: 0x0000 Filename: R577UDAD.F1 BIOS Bootup Message: GV-R577UD-1GD/F1 PCI ID: 1002:68b8 Connector at index 0 Type [@offset 44350]: DisplayPort (10) Encoder [@offset 44354]: INTERNAL_UNIPHY2 (0x21) i2cid [@offset 44470]: 0x91, OSX senseid: 0x2 Connector at index 1 Type [@offset 44360]: HDMI-A (11) Encoder [@offset 44364]: INTERNAL_UNIPHY2 (0x21) i2cid [@offset 44497]: 0x94, OSX senseid: 0x5 Connector at index 2 Type [@offset 44370]: DVI-I (2) Encoder [@offset 44374]: INTERNAL_UNIPHY1 (0x20) i2cid [@offset 44534]: 0x93, OSX senseid: 0x4 Connector at index 3 Type [@offset 44380]: DVI-I (2) Encoder [@offset 44384]: INTERNAL_KLDSCP_DAC2 (0x16) i2cid [@offset 44534]: 0x93, OSX senseid: 0x4 Connector at index 4 Type [@offset 44390]: DVI-I (2) Encoder [@offset 44394]: INTERNAL_UNIPHY (0x1e) i2cid [@offset 44571]: 0x92, OSX senseid: 0x3 Connector at index 5 Type [@offset 44400]: DVI-I (2) Encoder [@offset 44404]: INTERNAL_KLDSCP_DAC1 (0x15) i2cid [@offset 44571]: 0x92, OSX senseid: 0x3 I've been sent a pre-edited ATIFramebuffer with these edits in for the Normal 10.6.7 ATI Kexts and installed that and I get HDMI signal, so I'm just not quite sure what is going on. I am using the same DVI input into my screen but using a HDMI>DVI converter. Do you think it could be this converter causing me issues with the new ATI kexts? It works fine with the 10.6.7 edited Kexts that I've been sent. Link to comment Share on other sites More sharing options...
notshy Posted May 15, 2011 Share Posted May 15, 2011 Seems like I was trying to run before I could walk !!!! (Background info - I'm running a Batmobile Gigabyte 5770 and trying to edit the framebuffer tables to allow DVI and HDMI ports together on the normal and iMac update ATI kexts - please see my earlier posts) So I went back to the "Normal" 10.6.7 ATI kexts v1.6.26 and started again. I remembered that Uakari seemed to load my HDMI port OK so I went to look at the entry for Uakarai Personality: Uakari ConnectorInfo count in decimal: 4 Disk offset in decimal 226552 / 79936 0000000 00 04 00 00 00 04 00 00 00 01 00 00 12 04 04 01 0000010 04 00 00 00 14 00 00 00 00 01 00 00 01 12 01 03 0000020 00 02 00 00 14 00 00 00 00 01 00 00 00 00 06 05 0000030 00 08 00 00 00 02 00 00 00 01 00 00 22 05 05 04 0000040 And found it strange that the Sense ID was "04" for the HDMI connector "00 08". So I used the dd method above to extract the two Uakarai personailities, I then editied and switched the Sense IDs for the final two rows - i.e. the "04" and "05". 0000020 00 02 00 00 14 00 00 00 00 01 00 00 00 00 06 04 0000030 00 08 00 00 00 02 00 00 00 01 00 00 22 05 05 05 Reinserted this edit using dd and changed permissions using chmod on the ATIframebuffer file using 644 - and then ran kext utility ! Rebooted, forced Uakari FB to load and hey-presto - back into OSX with HDMI signal still. I then went on to edit the Vervet framebuffer to do it properly to this : Personality: Vervet 0000000 00 08 00 00 00 02 00 00 00 01 00 00 22 05 05 05 0000010 00 04 00 00 04 06 00 00 00 01 00 00 12 04 04 02 0000020 04 00 00 00 14 00 00 00 00 01 00 00 01 02 01 04 0000030 04 00 00 00 14 00 00 00 00 01 00 00 01 02 01 03 0000040 Using info from jsl's thread and also re-ordering the ports to match the layout per the BIOS file. Again insterted that using dd to the Vervet section - chmod - Kext Utility - rebooted - foreced Vervet - and HDMI worked !!!! So I then went on to the iMac ATI kexts 1.6.34 and tried the same thing as above. I forced Uakari vanilla FB to load, rebooted and I had HDMI signal. Personality: Uakari ConnectorInfo count in decimal: 4 Disk offset in decimal 512696 / 176672 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 I then used dd to extract the Uakari section and tried swaping the sense IDs again for 04 and 05. 0000020 00 02 00 00 14 00 00 00 00 71 00 00 00 00 06 04 0000030 00 08 00 00 00 02 00 00 00 71 00 00 22 05 05 05 reinserted in Uakari sections - chmod - Kext Ultility - reboot - force Uakari FB to load - NO SIGNAL ON HDMI !!! So it seems that the new ATI kexts are a lot more sensitive to the physical connector that you attach to the screen. I'm using a HDMI > DVI converter as I don't have a HDMI input into my screen. Seems like I was doing the right edits but I need a real HDMI input to test with. I'm pleased to shed some light on the situation but I think I need to move my hack to my HDMI TV to have a go at the FB edit for HMDI for the new ATI kexts. I just thought I'd share this with you as it seems like the new ATI kexts are going to be here to stay and they are a lot more sensitive to physical connectors than the normal ATI kexts. @bcc9 - thanks for your insight and help with this and your method of using dd is much better than I was doing which was loading the whole fb into a hex editor and then searching for the right section. Using your method you can edit the hex once and install to both the 32 bit and 64 bit sections easily and you are much less likely to make mistakes. It was a lot easier to trouble shoot on shorter sections of hex code. Laters P.S. if anyone wants my edited hex files for 1.6.26 or v1.6.34 or finalised edited ATIframebuffer kext for ATI v1.6.26 then please shout and I will upload it for you. Link to comment Share on other sites More sharing options...
Martuzki Posted May 15, 2011 Share Posted May 15, 2011 Can someone help me? I can't get QE & CI on my 4570 Mobility to work I tried this: Peregrine: VGA 02 00 00 00 40 00 00 00 09 01 00 00 02 01 01 02 LVDS 10 00 00 00 10 00 00 00 00 01 00 00 00 10 00 01 Both will work and i can change the res to 1366x768. On the VGA Output the screen is not centred. How can i get QE/CI to work? Some Infos: Kexts loaded: ATIFramebuffer.kext ATI4600Controller.kext ATIRadeonX2000.kext ATISupport.kext Sys Profiler: ATI Radeon 4500 Mobility Series: Chipsatz-Modell: ATI Radeon 4500 Mobility Series Typ: GPU Bus: PCIe Steckplatz: Slot-1 PCIe-Lane-Breite: x8 VRAM (gesamt): 512 MB Hersteller: ATI (0x1002) Geräte-ID: 0x9553 Versions-ID: 0x0000 ROM-Version: 113-B7710C-176 EFI-Treiberversion: 01.00.318 Monitore: Monitor: Auflösung: 1366 x 768 @ 60 Hz Pixeltiefe: 32-Bit Farbe (ARGB8888) Hauptmonitor: Ja Synchronisierung: Aus Eingeschaltet: Ja Integriert: Ja SyncMaster: Auflösung: 1920 x 1080 @ 60 Hz Pixeltiefe: 32-Bit Farbe (ARGB8888) Synchronisierung: Aus Eingeschaltet: Ja Rotation: Unterstützt BIOS Dump: ATOM BIOS Rom: SubsystemVendorID: 0x1019 SubsystemID: 0x2379 IOBaseAddress: 0x9000 Filename: BR033553.004 BIOS Bootup Message: BR033553.004 M92 DDR2 64bit 500e/500m PCI ID: 1002:9553 Connector at index 0 Type [@offset 45504]: VGA (1) Encoder [@offset 45508]: INTERNAL_KLDSCP_DAC1 (0x15) i2cid [@offset 45548]: 0x90, OSX senseid: 0x1 Connector at index 1 Type [@offset 45514]: LVDS (7) Encoder [@offset 45518]: INTERNAL_UNIPHY2 (0x21) i2cid [@offset 45571]: 0x91, OSX senseid: 0x2 Thanks for any help! Link to comment Share on other sites More sharing options...
bcc9 Posted May 15, 2011 Author Share Posted May 15, 2011 Using info from jsl's thread and also re-ordering the ports to match the layout per the BIOS file.Have you found re-ordering the entries to make a difference?So I then went on to the iMac ATI kexts 1.6.34 and tried the same thing as above. I forced Uakari vanilla FB to load, rebooted and I had HDMI signal.You lost me here because before you wrote that you had to change the senseid for the HDMI connector entry to 5 before it would work, now you're using 4 and saying it works. Are you sure your HDMI port is using the 0800 connector-type entry at this point? (You should be able to tell from the ioreg dump).@bcc9 - thanks for your insight and help with this and your method of using dd is much better than I was doing which was loading the whole fb into a hex editor and then searching for the right section. Using your method you can edit the hex once and install to both the 32 bit and 64 bit sections easily and you are much less likely to make mistakes. It was a lot easier to trouble shoot on shorter sections of hex code.Thanks, I'll move the editing example details to post #1 now that I've bothered to make some Good point about it being easier to copy to both the 32&64 bit sections. Link to comment Share on other sites More sharing options...
notshy Posted May 15, 2011 Share Posted May 15, 2011 Have you found re-ordering the entries to make a difference? No difference that I noted, but I can try it the other order again. You lost me here because before you wrote that you had to change the senseid for the HDMI connector entry to 5 before it would work, now you're using 4 and saying it works. Are you sure your HDMI port is using the 0800 connector-type entry at this point? (You should be able to tell from the ioreg dump). I will go back and re-test this. I'm not on my hack right now but I can take an IOReg dump of the ATY sections to post up the results. But yes - I did get signal to my Screen via HDMI Output > HMDI-DVI Conv > DVI Cable when the sense ID for 0800 was 4 not 5. But 4 did correspond to my DVI so I'm not sure if it's something to do with me not using a real HDMI input. I will post up all the outputs of IOReg to show you. Thanks, I'll move the editing example details to post #1 now that I've bothered to make some Good point about it being easier to copy to both the 32&64 bit sections. Thanks again for your help and I'll post in the next couple of days with my results. I've already spent many many hours trying to get this work as it's my first go at Hex editing and I jumped straight in with the new ATI kexts and sense ID 5 for the HDMI port and couldn't understand why it wasn't working. And I was also trying 2 or 3 different hexeditors. P.S. I couldn't get xxd to run even though I've checked it's installed via Xcode. Link to comment Share on other sites More sharing options...
malak Posted May 16, 2011 Share Posted May 16, 2011 hi, very long and interesting topic ! Just one question : Kizwan told us about problems with Dual-Link LVDS support, he got 4570 working on his laptop's 1366x768 internal screen, but didn't succeed on same laptop with a 1920x1080 LCD panel. do you know if Checcco's solution has the same problem with Full HD LVDS ? Link to comment Share on other sites More sharing options...
toleda Posted May 23, 2011 Share Posted May 23, 2011 With hda-gfx dsdt injection, I get HDMI audio from my Sapphire HD 6870 with AppleHDA v2.0.5 and 2.0.8 out of the box. I'm trying to edit AppleHDA v1.9.9 for the 6870. I've added 0x021088aa (6870 HDMI audio device_id) to AppleHDAController binary. IOReg/ATY,Duckweed@1 w/ AppleHDA v2.0.x: the following appear with HDMI/DP audio working: ATY,ActiveFlags: 0x200 ATY,ControlFlags: 0x204 audio-codec-info: 0x30100 av-signal-type: 0x8 connector-type: 0x800 IOReg/ATY,Duckweed@1 w/ AppleHDA v1.9.9: HDMI/DP audio not working: ATY,ActiveFlags: 0x200 ATY,ControlFlags: 0x204 av-signal-type: 0x8 connector-type: 0x800 In addition to audio-codec-info missing in ATY,Duckweed@1 DigitalAudioCapabilities is missing in HDAU, AppleHDAController, IOHDACodecDevice PinConfigurations is missing in HDAU Any ideas on how to trigger audio-codec-info with AppleHDA v1.9.9? Link to comment Share on other sites More sharing options...
Lipe Posted May 23, 2011 Share Posted May 23, 2011 I my friends, my graphic card is an ATI Mobility Radeon HD 1GB and Resolution - Ok QE/CI - OK LDVS - OK VGA - Dont Work HDMI - Dont Work I do not know what I make bad already try very modifications. I leave my graphic bios rom here and my to atiframworker and ask for somebody to see what it tou to make bad and correct please. Sorry my bad englhis Thanks ATIFramebuffer.kext.zip vgabios__2_.rom.zip Link to comment Share on other sites More sharing options...
Lipe Posted May 26, 2011 Share Posted May 26, 2011 Please help me Anybody creat me a framebuffer to my card to work with LVDS and VGA? Link to comment Share on other sites More sharing options...
bcc9 Posted May 26, 2011 Author Share Posted May 26, 2011 For mobile radeon cards, everyone should read mucha's thread (the one linked in post #1). For reference that is: http://www.insanelymac.com/forum/index.php?showtopic=252061 I don't have a mobile radeon card myself so I can't provide any first hand knowledge of LVDS issues. Link to comment Share on other sites More sharing options...
mt33 Posted June 7, 2011 Share Posted June 7, 2011 Hi all, been reading this thread along with wmarsh's, dong's, and mucha's and really appreciate the time and effort you guys and gals have put into this. I'm trying to get my Display Port connector on my XFX 5850 working. It's getting recognized by the OS (screenshot/Display preferences, etc) but the screen is always blank. I'm connecting my 24" LCD on the top DVI port, small 17" LCD on bottom DVI port, my HDTV is hooked up like this: HDMI -> DVI adapter, long DVI cable, DVI -> Active DP adapter, into the video card. I'm really close but I just can't figure out the last few steps. I've tried many settings for the personalities but they all end up in a blank screen (on both monitors) after boot. I'm not looking for HDMI audio, just looking to get Eyefinity/triple monitors working (it works flawlessly in Windows 7). Running the Uakari framebuffer with GraphicsEnabler=Yes First of all, I'm running the ATI 1.6.32.12 kexts out of [url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url] 3.4. Quoting the installer: "Updated ATI kexts from the Mac OS X v10.6.7 Update for early 2011 MacBook Pros." If I understand correctly, this means my personalities are hard coded in the specific ATI controllers, in my case, ATI5000Controller, and not ATIFramebuffer. This I've checked. Running bcc9's ati_personality 0.6 script perl ati_personality.pl -a -x, gives me: Kext ATI5000Controller ... Personality: Uakari ConnectorInfo count in decimal: 4 Disk offset in decimal 172576 0000000 00 04 00 00 00 04 00 00 00 71 00 00 12 04 04 01 DP 0000010 04 00 00 00 14 00 00 00 00 71 00 00 01 12 01 03 DVI 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 HDMI 0000040 which corresponds to this: Running bcc9's radeon_bios_decode on Cypress.bin (extracted using GPU-Z in Windows 7), I get: ATOM BIOS Rom: SubsystemVendorID: 0x1682 SubsystemID: 0x2972 IOBaseAddress: 0x0000 Filename: 585ZAF22.BIN BIOS Bootup Message: CYPRESS CR PRO GDDR5 BIOS UCODEv:126 PCI ID: 1002:6899 Connector at index 0 Type [@offset 44846]: DisplayPort (10) Encoder [@offset 44850]: INTERNAL_UNIPHY2 (0x21) i2cid [@offset 44974]: 0x90, OSX senseid: 0x1 Connector at index 1 Type [@offset 44856]: HDMI-A (11) Encoder [@offset 44860]: INTERNAL_UNIPHY2 (0x21) i2cid [@offset 45001]: 0x93, OSX senseid: 0x4 Connector at index 2 Type [@offset 44866]: DVI-I (2) Encoder [@offset 44870]: INTERNAL_UNIPHY1 (0x20) i2cid [@offset 45038]: 0x92, OSX senseid: 0x3 Connector at index 3 Type [@offset 44876]: DVI-I (2) Encoder [@offset 44880]: INTERNAL_KLDSCP_DAC2 (0x16) i2cid [@offset 45038]: 0x92, OSX senseid: 0x3 Connector at index 4 Type [@offset 44886]: DVI-I (2) Encoder [@offset 44890]: INTERNAL_UNIPHY (0x1e) i2cid [@offset 45075]: 0x94, OSX senseid: 0x5 Connector at index 5 Type [@offset 44896]: DVI-I (2) Encoder [@offset 44900]: INTERNAL_KLDSCP_DAC1 (0x15) i2cid [@offset 45075]: 0x94, OSX senseid: 0x5 which IMO matches the Uakari FB pretty closely. Last night I burned a Ubuntu 11.04 LiveCD to get some of the logging data on my card (for Transmiter and Encoder values) and I didn't get any further, but maybe I missed something. Here's a link to the /var/log/Xorg.0.log file produced after booting with the F6 => ESC => "radeon.modeset=0" trick: http://dl.dropbox.com/u/62786/hackintosh/Xorg.0.log.txt (Side note: I was able to get a mirror image in Ubuntu between my 24" and my HDTV on the DP port.) In the log, I see UNIPHY2 for my DP connector, and DIG4 a lot, which means 0x04 for the Encoder byte. And for the Transmitter byte, it looks like 0x12 is appropriate, given UNIPHY2. I guess the last thing to think about is LINK_A, LINK_B, or DUAL_LINK (according to this post?) I tried 0x22 but that didn't work, and anyway, wouldn't that conflict with the HDMI port on senseid 04? * * * Should this IORegistryExplorer screen be a concern, the fact that it mentions ATI X3000 controller? * * * Any pointers appreciated, I feel like I'm close! Link to comment Share on other sites More sharing options...
loKEY Posted June 8, 2011 Share Posted June 8, 2011 tearing my hair out over HDMI audio for HIS 5570. redeondump: bash-3.2# ./radeondump < 1002_68d9.rom ATOM BIOS Rom: SubsystemVendorID: 0x1787 SubsystemID: 0x2009 IOBaseAddress: 0xe000 Filename: SQ2G02.00R BIOS Bootup Message: REDWOOD PRO 1024M/128B DDR3 DLDVI-I/HDMI/VGA 800M/650E PCI ID: 1002:68d9 Connector at index 0 Type [@offset 44434]: HDMI-A (11) Encoder [@offset 44438]: INTERNAL_UNIPHY2 (0x21) i2cid [@offset 44518]: 0x92, OSX senseid: 0x3 Connector at index 1 Type [@offset 44444]: DVI-I (2) Encoder [@offset 44448]: INTERNAL_UNIPHY1 (0x20) i2cid [@offset 44555]: 0x93, OSX senseid: 0x4 Connector at index 2 Type [@offset 44454]: DVI-I (2) Encoder [@offset 44458]: INTERNAL_KLDSCP_DAC1 (0x15) i2cid [@offset 44555]: 0x93, OSX senseid: 0x4 Connector at index 3 Type [@offset 44464]: VGA (1) Encoder [@offset 44468]: INTERNAL_KLDSCP_DAC2 (0x16) i2cid [@offset 44582]: 0x90, OSX senseid: 0x1 so i edited Eulemur to: Personality: Eulemur ConnectorInfo count in decimal: 3 Disk offset in decimal 513112 0000000 04 00 00 00 14 00 00 00 00 01 00 00 01 02 01 04 0000010 00 08 00 00 00 02 00 00 00 71 00 00 12 04 04 0[b]3[/b] 0000020 10 00 00 00 10 00 00 00 00 00 00 00 00 10 00 01 0000030 HDAU and GFX edits are in DSDT and HDAU attaches ok in IOREG under correct address. Using AppleHDA 1.9.9, HDMI is listed in SystemPrefs but there are no output controls. Using updated iMac Ati kexts or vanilla 10.6.7 Ati kexts makes no difference. reordering ports in FB to match bios makes no difference. Any idea as to what I am missing? EDIT:NVM got it working Link to comment Share on other sites More sharing options...
phobox Posted June 11, 2011 Share Posted June 11, 2011 Unfortunately it would seem the framebuffer personalities are very different in 10.7 Lion Developer Preview 4. I ran the ati-personality script on Lion DP4 and the results are wildy different to the 10.6.7 MBP 2011 kexts (which I successfully edited for my card). I have no idea where to start with editing the Lion kexts, does anyone have any further info on the changes and perhaps a way to modify them? Link to comment Share on other sites More sharing options...
bcc9 Posted June 12, 2011 Author Share Posted June 12, 2011 Should this IORegistryExplorer screen be a concern, the fact that it mentions ATI X3000 controller? Yes, it's normal for the X3000 driver to match the radeon hd 5xxx cards. In the ioregistry, I think the important fields to look at are: port-number connector-type which should match the connector-type in the ConnectorInfo structure ATY,ActiveFlag which is 1 if the port was not detected, else 2^(active-connection-number) which comes out to 4 for DVI, 512 for HDMI, 1024 for Displayport av-signal-type, also based upon active-conection-number, but mapped to 2 for DVI, 8 for HDMI, 16 for DP. (Must be 8 or 16 for HDMI/DP audio to work with AppleHDA). What you posted shows the right senseid for the various ports, but without the other fields above it's not clear if everything detected correctly. If your DP connector got mapped correctly I'd suspect something simple like a hotplug or resolution issue. Perhaps if you hotplug your DP connector it will begin to work? Link to comment Share on other sites More sharing options...
mt33 Posted June 12, 2011 Share Posted June 12, 2011 Thanks bcc9. I just want to make sure that, to edit any of the connector stuff using 10.6.7 MBP kexts, it's the ATI5000Controller binary and not the ATIFramebuffer, right? And that I have to do the edits at the 32bit and 64bit addresses. Also, what do you mean by hotplug? Link to comment Share on other sites More sharing options...
bcc9 Posted June 12, 2011 Author Share Posted June 12, 2011 Unfortunately it would seem the framebuffer personalities are very different in 10.7 Lion Developer Preview 4. I ran the ati-personality script on Lion DP4 and the results are wildy different to the 10.6.7 MBP 2011 kexts (which I successfully edited for my card). I have no idea where to start with editing the Lion kexts, does anyone have any further info on the changes and perhaps a way to modify them? It's no surprise that the set of personalities changes between releases... I think it's great that my script still works In the case of the Uakari connector info, 23 bits changed per entry, so byte 8 is now 0x71 instead of 0x01 (some feature bits were added). I wouldn't call that very different. Perhaps you could detail what isn't working. I haven't tried modifying personalities under 10.7 yet myself. Thanks bcc9. I just want to make sure that, to edit any of the connector stuff using 10.6.7 MBP kexts, it's the ATI5000Controller binary and not the ATIFramebuffer, right? And that I have to do the edits at the 32bit and 64bit addresses. Also, what do you mean by hotplug? So ATIRadeonX3000 is ATIRadeonX3000.kext, ie not a controller kext. The controller kext in the radeon hd 5xxx case would be ATI5000Controller as you say. Yes, with the newer 2011 MBP kexts (or the OSX 10.7 kexts) you mod the individual controller kext not ATIFramebuffer.kext. If you boot 32 bit, you need to modify the 32 bit version. If you boot 64 bit, you need to modify the 64 bit version. If you use both, mod both. By hotplug I mean unplug the DP cable from the back of your system after the system is fully booted. Then plug it back in. For some ATI personalities I've had to do that to get beyond a black display. I even need to do it with my intel graphics card right now... See also the hotplugid byte in the connectorinfo structure and mucha's info on the expected values. Link to comment Share on other sites More sharing options...
mt33 Posted June 13, 2011 Share Posted June 13, 2011 Thanks for your input bcc9. Unfortunately I'm still not getting it to work. I've tried the hotplug, too. I just spent this morning playing with personality edits (that sounds so psychological... ) but nothing worked and I got blank boot screens at the beginning. I know the DP works because I booted W7 and Ubuntu and it works, and during boot, I see Chameleon's boot screen on the HDTV (DP connector). I booted again in Ubuntu with the radeon.modeset=0 setting, with all three monitors connected (1 DVI, 1DVI->VGA, and 1DP). Here's the log file but I'm having a hard time deciphering it all. Original Uakari 00 04 00 00 00 04 00 00 00 71 00 00 12 04 04 01 04 00 00 00 14 00 00 00 00 71 00 00 01 12 01 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 Try one: -- this one worked, but mouse was "choppy" as hell, and DP didn't work 00 04 00 00 04 06 00 00 00 71 00 00 12 04 04 01 04 00 00 00 14 00 00 00 00 71 00 00 01 12 01 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 Try two: this one just didn't boot. - Tried 0, 1, 2, 4 for HotplugIDs. 00 04 00 00 04 06 00 00 00 71 00 00 02 04 00 01 00 08 00 00 00 02 00 00 00 71 00 00 22 05 01 04 04 00 00 00 14 00 00 00 00 71 00 00 01 12 02 03 04 00 00 00 14 00 00 00 00 71 00 00 00 00 03 05 I'm wondering what the 00 02 means on the third line of the Original and Try One, because as far as I can tell, this one should be DVI, no? Since I have two DVI ports, a DP, and HDMI ports... Finally, here's IOReg right now, after I returned to the 1.6.32 Early 2011 MacBook Pro kexts: EDIT: actually it seems the choppiness only happens when the DP port is plugged in, regardless of Personality edits... Matt Link to comment Share on other sites More sharing options...
Azimutz Posted June 13, 2011 Share Posted June 13, 2011 I'm wondering what the 00 02 means on the third line of the Original... Matt Hi Matt... 00 02 = 0x0200 = single-link DVI I noticed this a while ago on my card when i first read the topic, but forgot to pass the info to you guys... sorry. Your code woke up the memory ----- ----- // ----- ----- bcc9, you can complete the info on first post now: #define CONNECTORTYPE_DVI_DL 0x00000004 (naming is just a suggestion) #define CONNECTORTYPE_DVI_SL 0x00000200 connector-type 0x0004=dual-link DVI at port 1 connector-type 0x0200=single-link DVI at port 2 (hex needs to be corrected on 1st post, from 0x0002) Nice work with this stuff and Chameleon input Stay safe... Link to comment Share on other sites More sharing options...
phobox Posted June 14, 2011 Share Posted June 14, 2011 It's no surprise that the set of personalities changes between releases...I think it's great that my script still works In the case of the Uakari connector info, 23 bits changed per entry, so byte 8 is now 0x71 instead of 0x01 (some feature bits were added). I wouldn't call that very different. Perhaps you could detail what isn't working. I haven't tried modifying personalities under 10.7 yet myself. Below I have pasted the output I get from your script running on the Lion DP4 kexts. The results, as you can see, are very different to those presented from Snow Leopard 10.6.7 kexts. I have also manually searched the DP4 kexts using the Flicker values from 10.6.7 as a frame of reference, they are again different and Im not entirely sure that what I found was correct, however they looked a lot more 'normal' to me than the results presented by the script. Im still not sure how to correctly modify them to reflect the correct values I have in my edited 10.6.7 kext however, if anyone has done this on DP4 and can help, Im all ears. Otherwise I'll have to do some more testing myself. Script results: Kext ATI4600Controller Personality: Flicker ConnectorInfo count in decimal: 3 Disk offset in decimal 332616 0000000 24 08 10 5f 02 00 c7 44 24 04 2e 4d 02 00 c7 04 0000010 24 10 5d 02 00 e8 d6 ff ff ff c7 05 10 5d 02 00 0000020 70 fc 01 00 83 c4 18 5d c3 55 89 e5 83 ec 08 c7 0000030 Link to comment Share on other sites More sharing options...
bcc9 Posted June 14, 2011 Author Share Posted June 14, 2011 bcc9, you can complete the info on first post now: #define CONNECTORTYPE_DVI_DL 0x00000004 (naming is just a suggestion) #define CONNECTORTYPE_DVI_SL 0x00000200 Thanks, I thought 0x200 was dvi, and mucha has it marked as such, but are you sure it's always single link?connector-type 0x0200=single-link DVI at port 2 (hex needs to be corrected on 1st post, from 0x0002)Got that updated now too. Had that corrected in my copy but hadn't made it to post #1... And thanks, glad I could be of service with some chameleon issues. Below I have pasted the output I get from your script running on the Lion DP4 kexts. The results, as you can see, are very different to those presented from Snow Leopard 10.6.7 kexts. I have also manually searched the DP4 kexts using the Flicker values from 10.6.7 as a frame of reference, they are again different and Im not entirely sure that what I found was correct, however they looked a lot more 'normal' to me than the results presented by the script. Im still not sure how to correctly modify them to reflect the correct values I have in my edited 10.6.7 kext however, if anyone has done this on DP4 and can help, Im all ears. Otherwise I'll have to do some more testing myself. Script results: Kext ATI4600Controller Personality: Flicker ConnectorInfo count in decimal: 3 Disk offset in decimal 332616 0000000 24 08 10 5f 02 00 c7 44 24 04 2e 4d 02 00 c7 04 0000010 24 10 5d 02 00 e8 d6 ff ff ff c7 05 10 5d 02 00 0000020 70 fc 01 00 83 c4 18 5d c3 55 89 e5 83 ec 08 c7 0000030 I had checked my script output under 10.7 preview 4 with -a -x (64-bit mode), and things looked OK. Since 10.7 is normally only run in 64 bit mode, 32 bit mode is less relevant. I hadn't noticed that the 32 bit mode output is wrong. You can see that it's clearly wrong as only 1 bit should be set in the first 4 bytes of each connectorinfo entry, yet you have garbage above. With -d you can see that the script is getting the wrong effective address in 32-bit mode. (I suspect apple switched compilers and it's now generating better optimized code; no time to look further tonight). So in summary, just look at the 64-bit reporting information, it should be all you need anyways. Link to comment Share on other sites More sharing options...
Azimutz Posted June 14, 2011 Share Posted June 14, 2011 Thanks, I thought 0x200 was dvi, and mucha has it marked as such, but are you sure it's always single link? Well, the only proof i have is based on my desktop card (scroll a bit down) info and ioreg output: Using the single-link atm; no need to use dual-link with this monitor (1440x900) and it gives me black screen in some well known situation that i can't remember right now. Link to comment Share on other sites More sharing options...
bcc9 Posted June 14, 2011 Author Share Posted June 14, 2011 Well, the only proof i have is based on my desktop card (scroll a bit down) info and ioreg output: Using the single-link atm; no need to use dual-link with this monitor (1440x900) and it gives me black screen in some well known situation that i can't remember right now. Hmm, well in my testing I could sometimes get my hdmi or dvi ports to work with connector-type 0x200 as well, but I wouldn't conclude that it means 0x200 is single-link DVI.. I tried to keep the info in post #1 based upon the actual driver code algorithms and or measured results. I guess I should mark 0x200 as *probably* single link DVI... Link to comment Share on other sites More sharing options...
Azimutz Posted June 14, 2011 Share Posted June 14, 2011 Well, if you can get to a conclusion from the cards BIOS or any other dump i can get, just let me know... i have a BIOS dump and i can get into windows or ubuntu to get any other info you need. Link to comment Share on other sites More sharing options...
Recommended Posts