atlee Posted March 27, 2011 Share Posted March 27, 2011 I've made a new version of radeondump, now called radeon_bios_decode to avoid confusion with dong's tool. Attached to post #1 in a sec...This version computes the OSX senseid value for you, and also prints out the encoder ID information. The encoder information is obtained from the ATOM BIOS just like the other values. No need to run a kext or boot linux to obtain these values. What else do I need to add? Example: ./radeon_bios_decode < rom ATOM BIOS Rom: SubsystemVendorID: 0x174b SubsystemID: 0xe151 IOBaseAddress: 0x0000 Filename: 3E151DAF.HY1 BIOS Bootup Message: REDWOOD XT C02002 GDDR5 64Mx16 1G UCODEv:126 Connector at index 0 Type: DisplayPort (10) Encoder: id: 21 name: INTERNAL_UNIPHY2 i2cid: 0x91, OSX senseid: 0x2 Connector at index 1 Type: HDMI-A (11) Encoder: id: 21 name: INTERNAL_UNIPHY2 i2cid: 0x94, OSX senseid: 0x5 Connector at index 2 Type: DVI-I (2) Encoder: id: 20 name: INTERNAL_UNIPHY1 i2cid: 0x92, OSX senseid: 0x3 Connector at index 3 Type: DVI-I (2) Encoder: id: 15 name: INTERNAL_KLDSCP_DAC1 i2cid: 0x92, OSX senseid: 0x3 This is awsome, thank you bcc9 now my next question is, the new ati kexts from mbp 2011 update work just like Lion but they are different. How can we edit RadeonFramebuffer? If I load ATIConfig=RadeonFramebuffer my card gets deteced and loads VGA, however all the other personalities are now fuzzy except for Kinpunji, If i load Kipunji it then changes to RadeonFramebuffer, would be good if you could look at the behaviour to see how the new kexts are working? I will go test out your new dump tool Link to comment Share on other sites More sharing options...
atlee Posted March 27, 2011 Share Posted March 27, 2011 ATOM BIOS Rom: SubsystemVendorID: 0x103c SubsystemID: 0x1448 IOBaseAddress: 0x4000 Filename: BR38421.001 BIOS Bootup Message: MADISON Lenovo-Yx60-Madison Pro DDR3 64Mx16 500E/600M Connector at index 0 Type: LVDS (7) Encoder: id: 1e name: INTERNAL_UNIPHY i2cid: 0x96, OSX senseid: 0x7 Connector at index 1 Type: HDMI-A (11) Encoder: id: 20 name: INTERNAL_UNIPHY1 i2cid: 0x90, OSX senseid: 0x1 Connector at index 2 Type: VGA (1) Encoder: id: 15 name: INTERNAL_KLDSCP_DAC1 i2cid: 0x97, OSX senseid: 0x8 @Bcc9, Encoder ID's 30, 20 and 15. How would this relate to mucha's guide if encoder is 00,01,02,03,04,05 only? If Encoders are hardcoded then 30 would relate to what in terms of 00 -> 05. /* u can get this from Dmesg as above for R8XX architecture and above there is 06 Digital Encoder: DIG_1 > DIG_6*/ /* Encoder Bits 0-3 (DIG_ID : Digital) */ #define DIG1 0x00 // = DIGA #define DIG2 0x01 // = DIGB #define DIG3 0x02 // = DIGC Only for Radeon HD 5XXX Series and above #define DIG4 0x03 // = DIGD Only for Radeon HD 5XXX Series and above #define DIG5 0x04 // = DIGE Only for Radeon HD 5XXX Series and above #define DIG6 0x05 // = DIGF Only for Radeon HD 5XXX Series and above /* Encoder Bits 4-7 (DAC_ID : Analog) */ #define DAC 0x10 Now remains someone to do *dmg package with all the settings for HD4570 not that easy, things always change, do some reading and you will achieve more. Link to comment Share on other sites More sharing options...
bcc9 Posted March 27, 2011 Author Share Posted March 27, 2011 @Bcc9, Encoder ID's 30, 20 and 15. How would this relate to mucha's guide if encoder is 00,01,02,03,04,05 only?If Encoders are hardcoded then 30 would relate to what in terms of 00 -> 05. And those 3 IDs 0x1e, 0x20, 0x15, just map to the names INTERNAL_UNIPHY, INTERNAL_UNIPHY1, INTERNAL_KLDSCP_DAC1, respectively. Which is exactly what the other methods print under the "Encoders:" field at boot time. My read of mucha's post is that the OSX encoder field, bits 0-3 are derived from the radeon chipset, per the table you quoted, not from the encoder values printed under "Encoders:", or the value I'm printing. You work backwards from the name to the DIGx setting, to the corresponding number to figure out what to use for bits 0-3 of the encoder field. Link to comment Share on other sites More sharing options...
atlee Posted March 27, 2011 Share Posted March 27, 2011 And those 3 IDs 0x1e, 0x20, 0x15, just map to the names INTERNAL_UNIPHY, INTERNAL_UNIPHY1, INTERNAL_KLDSCP_DAC1, respectively. Which is exactly what the other methods print under the "Encoders:" field at boot time. My read of mucha's post is that the OSX encoder field, bits 0-3 are derived from the radeon chipset, per the table you quoted, not from the encoder values printed under "Encoders:", or the value I'm printing. You work backwards from the name to the DIGx setting, to the corresponding number to figure out what to use for bits 0-3 of the encoder field. So UNIPHY could be A or B same with UNIPHY1 DAC1 could be DACA or B? so i just play around with DIG00 to DIG05 till i get the right combination? Link to comment Share on other sites More sharing options...
bcc9 Posted March 27, 2011 Author Share Posted March 27, 2011 I've made a new version of ati-personality.pl, version 0.5 in post #1. This new version computes the disk offsets for the connectorinfo, not just the virtual address (ie it does all the otool/lipo commands and math for you). It also dd's the connectorinfo to a tmp file and prints the results for your viewing pleasure (assuming 16 bytes per entry). Lastly, with the new -a switch, the script will search the ATI*Controller kexts for connectorinfo instead of ATIFramebuffer. This accommodates the newer 10.7 and 10.6.7 2011 macbook pro kexts. Link to comment Share on other sites More sharing options...
foxzz Posted March 27, 2011 Share Posted March 27, 2011 I've made a new version of ati-personality.pl, version 0.5 in post #1. This new version computes the disk offsets for the connectorinfo, not just the virtual address (ie it does all the otool/lipo commands and math for you). It also dd's the connectorinfo to a tmp file and prints the results for your viewing pleasure (assuming 16 bytes per entry). Lastly, with the new -a switch, the script will search the ATI*Controller kexts for connectorinfo instead of ATIFramebuffer. This accommodates the newer 10.7 and 10.6.7 2011 macbook pro kexts. bcc9 do you have any informations of LVTMA ? like this DigAllocFree Mapping DIG2 encoder to KLDSKP_LVTMA Crtc[0]: found native mode from Monitor[LVDS Panel]: Modeline "1440x900" 96 1440 1488 1520 1734 900 903 909 926 Connector "PANEL" uses Monitor "LVDS Panel": RHDValidateScaledToMode rhdModeValidateCrtc DxModeValid: CRTC 1 DigModeValid LVTMATransmitterModeValid EncoderModeValid Listing modesetting layout: CRTC 1: tied to PLL 1 and LUT A: Outputs: UNIPHY_KLDSKP_LVTMA (PANEL) CRTC 2: unused Unused Outputs: DAC A I have a dell 1535 with ATI 3450M card Link to comment Share on other sites More sharing options...
kizwan Posted March 27, 2011 Share Posted March 27, 2011 Probably transmitter is wrong. Try get RadeonHD's log in linux. That's what I suggested 3 days ago I know but uukk didn't do it, so I remind uukk again. my radeondump: Mac-Pro-di-fabry:Desktop fabry$ ./radeondump < 1002_6898.rom ATOM BIOS Rom: SubsystemVendorID: 0x1043 SubsystemID: 0x0346 IOBaseAddress: 0x0000 Filename: SV36460.107 BIOS Bootup Message: 6898.12.20.0.5.AS02 U126 Connector at index 0 type: DisplayPort (10) Connector's i2cid: 92 Connector at index 1 type: HDMI-A (11) Connector's i2cid: 93 Connector at index 2 type: DVI-I (2) Connector's i2cid: 94 Connector at index 3 type: DVI-I (2) Connector's i2cid: 94 senseid = (i2cid And 0xF) + 1 DP: (92 And 0xF) + 1 = 3 HDMI: (93 And 0xF) + 1 = 4 DVI: (94 And 0xF) + 1 = 5 [ 10.139051] [drm] ring test succeeded in 1 usecs [ 10.139122] [drm] radeon: ib pool ready. [ 10.139229] [drm] ib test succeeded in 0 usecs [ 10.139238] failed to evaluate ATIF got AE_BAD_PARAMETER [ 10.139241] radeon 0000:01:00.0: Error during ACPI methods call [ 10.140737] [drm] Radeon Display Connectors [ 10.140738] [drm] Connector 0: [ 10.140740] [drm] DisplayPort [ 10.140741] [drm] HPD5 [ 10.140743] [drm] DDC: 0x6450 0x6450 0x6454 0x6454 0x6458 0x6458 0x645c 0x645c [ 10.140745] [drm] Encoders: [ 10.140746] [drm] DFP1: INTERNAL_UNIPHY2 [ 10.140748] [drm] Connector 1: [ 10.140749] [drm] HDMI-A [ 10.140750] [drm] HPD4 [ 10.140752] [drm] DDC: 0x6460 0x6460 0x6464 0x6464 0x6468 0x6468 0x646c 0x646c [ 10.140753] [drm] Encoders: [ 10.140754] [drm] DFP2: INTERNAL_UNIPHY2 [ 10.140755] [drm] Connector 2: [ 10.140756] [drm] DVI-I [ 10.140757] [drm] HPD6 [ 10.140758] [drm] DDC: 0x6470 0x6470 0x6474 0x6474 0x6478 0x6478 0x647c 0x647c [ 10.140759] [drm] Encoders: [ 10.140760] [drm] DFP3: INTERNAL_UNIPHY [ 10.140761] [drm] CRT1: INTERNAL_KLDSCP_DAC1 (Sorry to everyone. I'm going to analyzed uukk's log & in the process I might repeated somebody else suggestion/recommendation. ) Based on the log:- DP: TransmitterID=UNIPHY2 HDMI: TransmitterID=UNIPHY2 DVI (1st port): TransmitterID=UNIPHY DVI (2nd port): TransmitterID=UNIPHY Uakari's original connections:- 000000 00 04 00 00 00 04 00 00 00 01 00 00 12 04 04 01 000010 04 00 00 00 14 00 00 00 00 01 00 00 01 12 01 03 000020 00 02 00 00 14 00 00 00 00 01 00 00 00 00 06 05 000030 00 08 00 00 00 02 00 00 00 01 00 00 22 05 05 04 You tried this but have problem with DP:- 0000000 00 04 00 00 00 04 00 00 00 01 00 00 12 04 04 03 DP 0000010 04 00 00 00 14 00 00 00 00 01 00 00 01 12 01 01 DVI (1st port) 0000020 04 00 00 00 14 00 00 00 00 01 00 00 00 00 06 05 DVI (2nd port) 0000030 00 08 00 00 00 02 00 00 00 01 00 00 22 05 05 04 HDMI DP: DIG5 > UNIPHYE (0x12 // = UNIPHY2:LINKA) DVI (1st port): ? > UNIPHYCD (0x01 // = UNIPHY1:DUALLINK) DVI (2nd port): DIG1 > UNIPHYAB (0x00 // = UNIPHY:DUALLINK) HDMI: DIG6 > UNIPHYF (0x22 // = UNIPHY2:LINKB) Looks good, no links conflicted with each other but the first DVI look incorrect. Based on the log, TransmitterID should be UNIPHY, not UNIPHY1. SenseID also wrong on the first DVI port. At the first post, bcc9 did mentioned "Dual link DVI ports still count as a single ConnectorInfo". If I understand this correctly, there should be one connection for DVI in the connection table. So the best Transmitter for DVI is UNIPHYAB (0x00 // = UNIPHY:DUALLINK). Let us fixed it:- 0000000 00 04 00 00 00 04 00 00 00 01 00 00 12 04 04 03 DP 0000010 04 00 00 00 14 00 00 00 00 01 00 00 00 12 01 05 DVI 0000020 00 08 00 00 00 02 00 00 00 01 00 00 22 05 05 04 HDMI DP: DIG5 > UNIPHYE (0x12 // = UNIPHY2:LINKA) DVI: ? > UNIPHYAB (0x00 // = UNIPHY:DUALLINK) HDMI: DIG6 > UNIPHYF (0x22 // = UNIPHY2:LINKB) The last thing we need to worry here is the ports arrangement. On my notebook, I have LVDS, VGA & HDMI. If I put LVDS at the third line, VGA & HDMI won't work. Monitors connected to both ports will not detected at all. However, I don't know what is correct arrangement for DP, DVI & HDMI. Anyway, please test the above connection table with either Baboon or Eulemur or Hoolock or Langur framebuffer. Link to comment Share on other sites More sharing options...
bcc9 Posted March 27, 2011 Author Share Posted March 27, 2011 So UNIPHY could be A or Bsame with UNIPHY1 DAC1 could be DACA or B? so i just play around with DIG00 to DIG05 till i get the right combination? The recipe that mucha provides in section C has some chipset specific rules, so assuming you're looking at a radeon hd5xxx, and that the table in section C is right, some of the choices are ruled out. I'm confused about the mapping between connectors and link A/B. If you understand that, then you might not need to experiment at all. do you have any informations of LVTMA ?Yes, that's one of the encoder names I can print if found in your ATOM BIOS, and it's listed in mucha's section C...That's about all I know Link to comment Share on other sites More sharing options...
mojtabazarei Posted March 27, 2011 Share Posted March 27, 2011 thanks bcc9 the result is same as linux mine is same as atlees the difference is in senseid for HDMI & VGA ATOM BIOS Rom: SubsystemVendorID: 0x1043 SubsystemID: 0x1c22 IOBaseAddress: 0xd000 Filename: n61j0421.n61 BIOS Bootup Message: Asus N61Ja MadisonXT noSG 650e/800m ASID:A31N61.001$ Connector at index 0 Type: LVDS (7) Encoder: id: 1e name: INTERNAL_UNIPHY i2cid: 0x96, OSX senseid: 0x7 Connector at index 1 Type: HDMI-A (11) Encoder: id: 20 name: INTERNAL_UNIPHY1 i2cid: 0x91, OSX senseid: 0x2 Connector at index 2 Type: VGA (1) Encoder: id: 15 name: INTERNAL_KLDSCP_DAC1 i2cid: 0x90, OSX senseid: 0x1 Link to comment Share on other sites More sharing options...
atlee Posted March 27, 2011 Share Posted March 27, 2011 The recipe that mucha provides in section C has some chipset specific rules, so assuming you're looking at a radeon hd5xxx, and that the table in section C is right, some of the choices are ruled out. I'm confused about the mapping between connectors and link A/B. If you understand that, then you might not need to experiment at all. Hi Bcc9, Can ATY,ATY,RadeonFramebuffer be edited? if i inject RadeonFramebuffer i can get perfect VGA out on CRT, if this framebuffer can be edited this would be great. I have noticed Framebuffers have disappeared from the latest kexts, example Nomascus i cannot find it, Are they removing the personalities out and replacing with this auto framebuffer? Regarding the Encoders and transmitters i've tried so many combinations it's no longer funny or fun Link to comment Share on other sites More sharing options...
kizwan Posted March 27, 2011 Share Posted March 27, 2011 Hi Bcc9, Can ATY,ATY,RadeonFramebuffer be edited? if i inject RadeonFramebuffer i can get perfect VGA out on CRT, if this framebuffer can be edited this would be great. I have noticed Framebuffers have disappeared from the latest kexts, example Nomascus i cannot find it, Are they removing the personalities out and replacing with this auto framebuffer? Regarding the Encoders and transmitters i've tried so many combinations it's no longer funny or fun I know you ask bcc9 but anyway... Yes they can be edited. bcc9 already mentioned on the latest kexts (2011 MBP & 10.7's kexts) the personality has been moved to controller kext (platform specific kexts). In your case, in ATI5000Controller.kext. If you want to know which framebuffer is currently use by latest kexts, check under ATI5000Controller node in IORegistry. Link to comment Share on other sites More sharing options...
mojtabazarei Posted March 27, 2011 Share Posted March 27, 2011 I know you ask bcc9 but anyway... Yes they can be edited. bcc9 already mentioned on the latest kexts (2011 MBP & 10.7's kexts) the personality has been moved to controller kext (platform specific kexts). In your case, in ATI5000Controller.kext. If you want to know which framebuffer is currently use by latest kexts, check under ATI5000Controller node in IORegistry. I checked that in lion 5000 : +-o ATI5000Controller@1 <class ATI5000Controller, id 0x100000341, registered, matched, active, busy 0 (1 ms), retain 4> | | | | | { | | | | | "IOClass" = "ATI5000Controller" | | | | | "CFBundleIdentifier" = "com.apple.kext.ATI5000Controller" | | | | | "IOProviderClass" = "IOPCIDevice" | | | | | "ATY,Zonalis" = {"aty_config"={"CFG_NO_PP"=Yes}} | | | | | "aty_properties" = {"PP_R600RaisingMediumPercentage"=25,"PP_UserMaxClockForMultiDisplays"=1,"PP_R600ActivityHysteresis"=5,"PP_HighSamplingInterval"=200000,"PP_R600LoweringHighPercentage"=25,"PP_R600LoweringMediumPercentage"=10,"PP_R600RaisingLowPercentage"=10,"PP_ActivitySamplingInterval"=1000} | | | | | "IOName" = "ATI5000Controller" | | | | | "PPLIB_VERSION" = "2.158" | | | | | "IOProbeScore" = 65000 | | | | | "IOPCIMatch" = "0x68981002 0x68991002 0x68E01002 0x68E11002 0x68D81002 0x68C01002 0x68C11002 0x68D91002 0x68B81002 0x68B01002 0x68B11002 0x68A01002 0x68A11002 " | | | | | "ATY,Langur" = {"aty_config"={"CFG_FORCE_ICLK"=Yes}} | | | | | "ATY,Orangutan" = {"aty_config"={"CFG_GPIO_HIGH"=131104}} | | | | | "IOMatchCategory" = "IOFramebuffer" | | | | | "iofb_version" = "1.1.36" | | | | | "aty_config" = {"CFG_USE_SRRB"=Yes,"CFG_USE_USCN"=Yes,"CFG_NO_PP"=No} | | | | | "ATY,Hoolock" = {"aty_config"={"CFG_FORCE_ICLK"=Yes}} | | | | | } so we have : ATY,Zonalis ATY,Langur ATY,Orangutan ATY,Hoolock Link to comment Share on other sites More sharing options...
atlee Posted March 27, 2011 Share Posted March 27, 2011 @Kizwan I know it has moved, I was talking about ATI5000Controller but i was referring to ATY,RadeonFramebuffer can it be edited? I also asked Bcc9 if he has noticed framebuffers not in ATI5000Controller no more, And the question also was if framebuffers are disappearing is Apple's priority to replace the framebuffers with their new auto framebuffer called ReadeonFramebuffer. Try and find Nomascus inside the new ATI5000Controller. They have changed a few features in hex inside a few personalities but others i cannot find. Link to comment Share on other sites More sharing options...
kizwan Posted March 27, 2011 Share Posted March 27, 2011 @Kizwan I know it has moved, I was talking about ATI5000Controller but i was referring to ATY,RadeonFramebuffer can it be edited? I also asked Bcc9 if he has noticed framebuffers not in ATI5000Controller no more, And the question also was if framebuffers are disappearing is Apple's priority to replace the framebuffers with their new auto framebuffer called ReadeonFramebuffer. Try and find Nomascus inside the new ATI5000Controller. They have changed a few features in hex inside a few personalities but others i cannot find. Seriously I'm confused. You're talking about framebuffer but not framebuffer? AFAIK, the same framebuffer (e.g. Vervet, Zonalis, Uakari, etc) also used in 2011 MBP Update & Lion's kexts. The only difference is, in latest kext, the framebuffers are now located in their own platform specific kexts (ATI4600, ATI5000, etc). For exmaple, if you're trying to find Peregrine framebuffer inside ATI5000Controller, you won't find it because it is not in there. Link to comment Share on other sites More sharing options...
bcc9 Posted March 27, 2011 Author Share Posted March 27, 2011 If you want a dump of all the new framebuffer personality choices in 10.7 & 10.6.7 2011 MBP, just run ati-personality.pl -a (on a system where you've installed the new kexts). No searching or calculating on your part required. Link to comment Share on other sites More sharing options...
atlee Posted March 28, 2011 Share Posted March 28, 2011 Seriously I'm confused. You're talking about framebuffer but not framebuffer? AFAIK, the same framebuffer (e.g. Vervet, Zonalis, Uakari, etc) also used in 2011 MBP Update & Lion's kexts. The only difference is, in latest kext, the framebuffers are now located in their own platform specific kexts (ATI4600, ATI5000, etc). For exmaple, if you're trying to find Peregrine framebuffer inside ATI5000Controller, you won't find it because it is not in there. Maybe a misunderstanding...anyway Bcc9's new scripts works great. Kipunji has been removed. But I can see all the required personalities for 5xxx series, i guess i will just keep switching numbers till i get the right combination. I can get LVDS screen to activate but it's all messy like not using the right encoder or something, maybe there are more encoders past 00>05, might look through a few diff style linux distros to see if i can find a certain pattern if any. Thank you Kizwan, Bcc9 Link to comment Share on other sites More sharing options...
kizwan Posted March 28, 2011 Share Posted March 28, 2011 Maybe a misunderstanding... Just a little. Don't worry about it. Link to comment Share on other sites More sharing options...
bcc9 Posted March 28, 2011 Author Share Posted March 28, 2011 I just got around to trying the 10.6.7 MBP 2011 ATI kexts for myself with my radeon HD 5670. I found that it does indeed auto-detect the 3 connectors without any injection, with the right connector types & working HDMI audio. However, only 2 of the 3 connectors actually work (the DP port doesn't work). I took the same 2 editing changes that worked for me with 10.6.6 & vanilla 10.6.7 and applied them to the MBP uakari personality. However, only the HDMI change made a difference (the DP port continued to not work). So it seems as if the new OSX auto-detection code can still fail to do the right thing (picks the wrong senseid?) and/or DP is broken in some cases. Or maybe you just can't mix and match the 10.6.7 & MBP kexts without some issues... Link to comment Share on other sites More sharing options...
atlee Posted March 28, 2011 Share Posted March 28, 2011 @bcc9 wondering if 5670 and 5650 would be close in encoder/transmitters? also with a personality having a DP port, if i changed it to a LVDS port 02 would this work, or this is the main cause why i cannot get my LVDS working? Do i have to pick a personality that supports LVDS 0x02 by default or can i change DP 0x04 to 0x02? Link to comment Share on other sites More sharing options...
kizwan Posted March 28, 2011 Share Posted March 28, 2011 Do i have to pick a personality that supports LVDS 0x02 by default or can i change DP 0x04 to 0x02? Yes, you can change like that. Make sure LVDS is at the first row. Someone has reported if LVDS is put at the last row, other ports will not work. I already tested it myself, using Shrike fb (3 connections). When LVDS at the 3rd row, other ports, HDMI & VGA unable to detect monitor plugged in to it. Link to comment Share on other sites More sharing options...
bcc9 Posted March 28, 2011 Author Share Posted March 28, 2011 @bcc9 wondering if 5670 and 5650 would be close in encoder/transmitters? Dunno, I would compare radeon_bios_dump output to get an idea. I don't really have anything to add to what mucha documented about encoders/transmitters; if you have more questions he's probably the one to ask. Link to comment Share on other sites More sharing options...
atlee Posted March 28, 2011 Share Posted March 28, 2011 Yes, you can change like that. Make sure LVDS is at the first row. Someone has reported if LVDS is put at the last row, other ports will not work. I already tested it myself, using Shrike fb (3 connections). When LVDS at the 3rd row, other ports, HDMI & VGA unable to detect monitor plugged in to it. Yeah Eulemur goes like this: 04 0008 10 Kizwan when you were trying different transmitters and encoders did your LVDS scramble and go multi-coloured fuzziness that moves really quick? Just wondering why i cannot get any screen working, if 5730 which is Madison chip is enabled natively i cannot see huge differences in architect. if only there was someone with a 5730 and they somehow could dump the T/E values that would be heaps good. Link to comment Share on other sites More sharing options...
mojtabazarei Posted March 28, 2011 Share Posted March 28, 2011 Yeah Eulemur goes like this:04 0008 10 Kizwan when you were trying different transmitters and encoders did your LVDS scramble and go multi-coloured fuzziness that moves really quick? Just wondering why i cannot get any screen working, if 5730 which is Madison chip is enabled natively i cannot see huge differences in architect. if only there was someone with a 5730 and they somehow could dump the T/E values that would be heaps good. mine is 5730 what should i do? Link to comment Share on other sites More sharing options...
kizwan Posted March 28, 2011 Share Posted March 28, 2011 Kizwan when you were trying different transmitters and encoders did your LVDS scramble and go multi-coloured fuzziness that moves really quick? Just wondering why i cannot get any screen working, if 5730 which is Madison chip is enabled natively i cannot see huge differences in architect. if only there was someone with a 5730 and they somehow could dump the T/E values that would be heaps good. I first got output with Lion's kexts. With Lion's kexts, I only got output with HDMI & VGA. I only get output on the LVDS when no monitor connected to HDMI. However the color on the LVDS are wrong (I think this is what you're referring to as multi-colored fuzziness):- I did tried bcc9's guide (before using Lion's kext) but I only focused on HDMI, figured LVDS is a PITA at that time. I managed to get internal (LVDS) & external monitor registered in IORegistry but no output. I only tried LVDS when I found ATY,ControlFlags & how to set it. The result is I got the same output when I'm using Lion's kext. As usual when testing, I always unplug & replug the HDMI port. This is when I found out the LVDS is working when HDMI port is not in use. Later mucha told me they are using the same link which cause the interference:- LVDS: 02 00 00 00 40 00 00 00 09 01 00 00 02 01 00 01 > DIG2>UNIPHY2>DUAL_LINK (A+B )>LVDS HDMI: 00 08 00 00 04 02 00 00 00 01 00 00 22 05 05 02 > DIG6>UNIPHY2>LINK_B>HDMI In HEX, I didn't noticed both are using the same link. mucha's guide not available yet at that time. BTW, VGA very easy. Thanks to the IORegistry dump when using Lion's kext. Figured out the connector-type is 0x10 & ControlFlags is 0x10. Then copied the existing one in the ATIFramebuffer. It's just working. So, basically I got LVDS & VGA working (dual-monitor) with incorrect transmitter & encoder. This is connection table which all ports are working. With wrong transmitter & encoder too. Dual-monitor configuration supported LVDS+VGA & LVDS+HDMI. 02 00 00 00 40 00 00 00 09 01 00 00 12 00 00 01 (LVDS) 10 00 00 00 10 00 00 00 00 01 00 00 00 10 01 06 (VGA) 00 08 00 00 00 02 00 00 00 01 00 00 20 01 02 02 (HDMI) DIG1 > UNIPHYE > LVDS: Encoder=0x00 Transmitter=0x12 DAC > DACA > VGA: Encoder=0x10 Transmitter=0x00 DIG2 > UNIPHYB > HDMI: Encoder=0x01 Transmitter=0x20 This is with correct transmitter & encoder. All ports still works. 02 00 00 00 40 00 00 00 09 01 00 00 12 01 00 01 (LVDS) 10 00 00 00 10 00 00 00 00 01 00 00 10 10 01 06 (VGA) 00 08 00 00 00 02 00 00 00 01 00 00 20 00 02 02 (HDMI) CRTC1 > DIG2 > UNIPHYE > LVDS: Encoder=0x01 Transmitter=0x12 CRTC1 > DAC > DACB > VGA: Encoder=0x10 Transmitter=0x10 CRTC0 > DIG1 > UNIPHYB > HDMI: Encoder=0x00 Transmitter=0x20 One thing I noticed when interference/conflict happen, LVDS flickered white and then turned black. BTW, what is your internal monitor native (highest) resolution? EDIT: I saw in your signature, 1366 x 768. So, should be easy. Link to comment Share on other sites More sharing options...
kizwan Posted March 29, 2011 Share Posted March 29, 2011 I found out connector-type=0x2 & ControlFlags=0x100 is DP_INT (DisplayPort). The "_INT" stand for internal I guess. I found this in iMac11,1's IORegistry. ACPI_i7_iMac11_1.zip Link to comment Share on other sites More sharing options...
Recommended Posts