Jump to content

Editing custom personalities for ATI Radeon HD[45]xxx


  • Please log in to reply
735 replies to this topic

#261
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts

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.

#262
mojtabazarei

mojtabazarei

    InsanelyMac Protégé

  • Members
  • PipPip
  • 88 posts
  • Gender:Male
  • Location:IRAN

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


#263
atlee

atlee

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 688 posts
  • Gender:Male
  • Location:South NSW, Australia
@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.

#264
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts

@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.

#265
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,277 posts
  • Gender:Male
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.

#266
atlee

atlee

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 688 posts
  • Gender:Male
  • Location:South NSW, Australia

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

#267
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts

Maybe a misunderstanding...

Just a little. Don't worry about it. :)

#268
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,277 posts
  • Gender:Male
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...

#269
atlee

atlee

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 688 posts
  • Gender:Male
  • Location:South NSW, Australia
@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?

#270
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts

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.

#271
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,277 posts
  • Gender:Male

@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.

#272
atlee

atlee

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 688 posts
  • Gender:Male
  • Location:South NSW, Australia

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.

#273
mojtabazarei

mojtabazarei

    InsanelyMac Protégé

  • Members
  • PipPip
  • 88 posts
  • Gender:Male
  • Location:IRAN

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?

#274
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts

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):-
Attached File  mbpx8n.jpg   64.92KB   33 downloads

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. :dance_24:

#275
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts
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.
Attached File  ACPI_i7_iMac11_1.zip   874.88KB   24 downloads

#276
atlee

atlee

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 688 posts
  • Gender:Male
  • Location:South NSW, Australia

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.
Attached File  ACPI_i7_iMac11_1.zip   874.88KB   24 downloads


nice work, i'm looking through atombios.h config for linux drivers it actually lists encoders etc in hex, I got my VGA out working perfectly using new kexts, LVDS is also activated but fuzzy so will have to work out the correct encoder. but now i have found extra info inside radeon drivers from linux hopefully i can find right values.

Wondering if there is LVDS_INT and what value it would be?

#277
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,277 posts
  • Gender:Male

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.
Attached File  ACPI_i7_iMac11_1.zip   874.88KB   24 downloads

No, connector-type 0x400 is DP, 0x2 is connector-type LVDS. Per post #1. I've verified these personally.

#278
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts

Wondering if there is LVDS_INT and what value it would be?

LVDS will be LVDS (as printed out by ATY,EFIDisplay). It share connector-type with DP_INT which is 0x2 but LVDS's ControlFlags is 0x40 while DP_INT's is 0x100.

No, connector-type 0x400 is DP, 0x2 is connector-type LVDS. Per post #1. I've verified these personally.

Yes, DP's connector-type is 0x400. Please check the iMac11,1's IORegistry I posted at my previous post.

#279
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,277 posts
  • Gender:Male

Yes, DP's connector-type is 0x400. Please check the iMac11,1's IORegistry I posted at my previous post.

Already did that before posting. And now you're agreeing with me, so perhaps you might want to rephrase your original statement?

#280
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts

Already did that before posting. And now you're agreeing with me, so perhaps you might want to rephrase your original statement?

Look to this screenshots:-
Attached File  iMac11_1_IOReg.jpg   262.83KB   60 downloads
Attached File  iMac11_1_IOReg_01.jpg   142.5KB   60 downloads
Attached File  iMac11_1_SP.jpg   48.87KB   67 downloads

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.

I'm quoting myself here. I said DP_INT's connector-type is 0x2 is based on the iMac11,1's IORegistry. The "DisplayPort" can be seen in the iMac11,1's System Profiler (included in the zip file).

I didn't said DisplayPort's connector-type is 0x2. The DisplayPort's connector-type is 0x400. The DP_INT's connector-type is 0x2 based on the iMac11,1's IORegistry.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy