Jump to content

Editing custom personalities for ATI Radeon HD[45]xx


bcc9
 Share

775 posts in this topic

Recommended Posts

Any progress on the LVDS? Is it still working on mirror mode with external monitor? What happen to LVDS when external monitor is not connected? :rolleyes:

new ati kexts show diff results, just going through now and testing but atleast Eulemur and Baboon produce both LVDS which is scrambled but in a diff way, VGA get's turned on as extended. Will see if i can find the personality and change it because LVDS loads as connector 10. will fiddle and will post results. I think the more newer version of kexts the more our card has a chance of working :D

 

LVDS does not change with or without VGA plugged in, i haven't been able to make anything turn on and off.

 

well my lvds popped on first, no vga now, haven't tested hdmi. well atleast im getting diff results now, going to play around abit you never know i still might hit dead end :D

 

Play with as you please :angel:

 

ati5000dp2.zip

 

a least i know hdmi works now :D using it now. 1080p on 42" plasma :(

if i unplug hdmi, lvds switches on, can't have both so might have to find right numbers, vga works also. so i guess what is left is the right numbers for lvds.

 

lvds flags 40,100 do nothing, senseid doesnt matter, port doesnt matter, controlflag is the most important, more studying needed :) 1amish need sleep.

Link to comment
Share on other sites

new ati kexts show diff results, just going through now and testing but atleast Eulemur and Baboon produce both LVDS which is scrambled but in a diff way, VGA get's turned on as extended. Will see if i can find the personality and change it because LVDS loads as connector 10. will fiddle and will post results. I think the more newer version of kexts the more our card has a chance of working :D

 

LVDS does not change with or without VGA plugged in, i haven't been able to make anything turn on and off.

 

well my lvds popped on first, no vga now, haven't tested hdmi. well atleast im getting diff results now, going to play around abit you never know i still might hit dead end :D

 

Play with as you please ;)

 

ati5000dp2.zip

 

a least i know hdmi works now :D using it now. 1080p on 42" plasma :)

if i unplug hdmi, lvds switches on, can't have both so might have to find right numbers, vga works also. so i guess what is left is the right numbers for lvds.

 

lvds flags 40,100 do nothing, senseid doesnt matter, port doesnt matter, controlflag is the most important, more studying needed :wacko: 1amish need sleep.

 

atlee may you put the patch and what FB you used?

 

thanks

Link to comment
Share on other sites

a least i know hdmi works now :D using it now. 1080p on 42" plasma :)

if i unplug hdmi, lvds switches on, can't have both so might have to find right numbers, vga works also. so i guess what is left is the right numbers for lvds.

That means LVDS & HDMI use same link. Check transmitter for both ports.

 

Example of LVDS & HDMI using the same link:-

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 00 02 00 00 00 01 00 00 22 00 02 02 > DIG1>UNIPHY2>LINK_B>HDMI

 

LVDS is using UNIPHY2>LINK_B & HDMI is using the same link. This causes interference you experienced right now.

Link to comment
Share on other sites

thanks to @kizwan and @bcc9!

 

DVI and HDMI output (dual mode) is now working with my Sapphire Ultimate 4670 (passive cooling) with the Shrike framebuffer under 10.6.4

http://pastebin.com/WnznjGXK

 

0x36C18
0000000	02  00  00  00  40  00  00  00  09  00  00  00  00  01  00  03
0000010	00  08  00  00  00  02  00  00  00  01  00  00  20  01  02  05  (HDMI)
0000020	00  04  00  00  04  07  00  00  00  01  00  00  10  00  01  01  (DVI-Dual)
0000030	00  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00

 

Could somebody please help me with HDMI audio?

DVI+HDMI output is working after patching, but audio not

 

http://pastebin.com/ZhejbdsS

 

http://pastebin.com/B6MRicWd

Link to comment
Share on other sites

Could somebody please help me with HDMI audio?

DVI+HDMI output is working after patching, but audio not

 

http://pastebin.com/ZhejbdsS

 

http://pastebin.com/B6MRicWd

Did you inject "hda-gfx" in DSDT? (The name of the devices can be different in your DSDT)

			Device (P0P2)		  // <--- This is parent device where your graphic card connected to
		{
			/* more codes, skipped */
			Device (GFX0)		 // <--- This is graphic card device
			{
				Name (_ADR, Zero)
				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x02)
						{
							"hda-gfx", 
							Buffer (0x0A)
							{
								"onboard-1"
							}
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}
				/* more codes, skipped */
			}
			Device (HDAU)			// <--- Add this for HDMI audio support
			{
				Name (_ADR, One)
				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x02)
						{
							"hda-gfx", 
							Buffer (0x0A)
							{
								"onboard-1"
							}
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}
			}
		}

Link to comment
Share on other sites

@Kizwan yeah i can notice sometimes i get interfrence when lvds loads fuzzy can still see desktop but looks like a wind storm ;)

 

@mojtabazarei - i'm not posting an unperfect patch no point, i want to get things right

 

Eulemur & Baboon get 2 outputs but i have noticed i can get 3 outputs using Hoolock, so this means Hoolock and Langur give more outputs then Eulemur and Baboon.

 

using new kext's without patching i get all outputs on HDMI,VGA,LVDS

 

LVDS still shows as CRT even with their deault settings,HDMI produces a screen but it's using default settings which is 214 which gives me a good hint.

 

CRT as always for VGA works.

 

Going to play around more but these 2 framebuffers just might be our winner for 5650's in the end.

 

If i load auto FB RadeonFramebuffer it only produces VGA so that auto {censored} still don't work.

 

My guess is why mobilty 68c1 dont load is because atiframebuffer looks for both 68c1 and vendor id, mine is hp but if we can somehow change vendor id from hp to apple then maybe the cards might auto load the ATIFramebuffer i saw some error message in console said something like Framebuffer cannot start due to vendor blah blah.

Link to comment
Share on other sites

Hi bcc9,

 

I already created this collection's thread to collect tested configurations for mobility card. I'm thinking to open it to all ATI graphic card. This way if the person have the same graphic card (same brand & model), they just use the existing solution. What do you think?

I'm all for collecting working results, even better if collected in such a way that the information could be automated. Seems to me if you'd make a table of:

 

pci vendor&device code,

pci subsystem vendor&device code,

personality name

OSX version

working modified personality

 

then you'd have something that could be auto-patched for newbies.

 

Also I notice that in that other thread you're recommending my obsolete radeondump + don'g radeonhd instead of just my newer radeon_bios_decode...

 

With a little more understanding, it seems likely that a program could auto-patch the personality simply by taking as input a bios dump and a personality name target. At least for the desktop case. This could be supplemented with some sort of quirks table for the special cases.

 

Can you watch my post number #596 here: http://www.insanelymac.com/forum/index.php...t&p=1664464

 

for an explanation of my Ioreg, please

I wasn't able to get my DP connector to work with the 10.6.7 2011 MBP kexts either, yet it does work for me just fine with standard 10.6.6/10.6.7 kexts and a modified personality. Perhaps those MBP kexts can't be mixed&matched completely successfully without replacing some other dependent kexts as well.

 

 

Anyone knows how to hexedit the VBIOS to change the I2CID for a connector index??

Well radeon_bios_decode could be made to give you the offsets in the bios of those fields. A program-based solution like that is probably easiest as the atom bios structures aren't simply at fixed offsets.

Then you'd have to follow along with the instructions to update the checksum(s); there's info on that over on netkas's forum.

Link to comment
Share on other sites

also IMac11,2 uses the 5670 card which uses Framebuffer Galago by default. This only has 2 outputs though, wonder why they are using this way?

 

New Control Flag for 02 connector, 256 which i'm going to try now. DP_INT

 

av sig type 16.

 

I decided to check my oireg using RadeonFramebuffer

Port 0

Connector 0x02, ControlFlags 64, dec 64 is 40 hex

Port 1

Connector 0x16 ControlFlags 16, dec 16 is 10 hex, control is 10

Port 2

Connector 2048 ControlFlags 516, dec 2048 is 800 hex and control is 204.

 

so figures are right. should be anyway.

 

21,03 is definetly HDMI

00,00,00,10 ffoorr VGA not working will keep trying.

LVDS well thats another story :)

 

HDMI fully works on mbp2011 drivers, just tested using above info. control flag 204 on 21,03. must be using a interfered T/E FOR LVDS because it switches on when hdmi is in but switches back off when it is not in.

Link to comment
Share on other sites

My guess is why mobilty 68c1 dont load is because atiframebuffer looks for both 68c1 and vendor id, mine is hp but if we can somehow change vendor id from hp to apple then maybe the cards might auto load the ATIFramebuffer i saw some error message in console said something like Framebuffer cannot start due to vendor blah blah.

Can you post the ATIFramebuffer error message?

 

You won't be able to change the vendor ID since the VID (Vendor Identification) register is read-only (checked in Intel 5 Series datasheet). I think you want to change the sub-vendor ID. Sub-vendor ID register (SVID) is R/WO. You can set it in DSDT:-

	// start - Subsystem & Device Vendor ID hack
Method (PINI, 0, NotSerialized) // For PCI0/Wake INI				 // <--- Add this control method
{
	Store (0x0107106B, \_SB.PCI0.PEGP.GFX0.ASDI)				 // <--- Check for the correct path to your graphic card device
}
// end

The 0x0107 is sub-device ID. You should maintain the original value (yours will be different than this example). The one you want to change is the sub-vendor ID to 0x106b (Apple).

 

	Method (_WAK, 1, NotSerialized)
{
	// start - Subsystem & Device Vendor ID hack
	PINI ()
	// end
	/* more codes, skipped */
}

Then put it in _WAK control method. This to prevent the sub-vendor ID reset back to default after waking up from sleep.

 

	Scope (\_SB)
{
	Method (_INI, 0, NotSerialized)
	{
		/* more codes, skipped */
		// start - Subsystem & Device Vendor ID hack
		PINI ()
		// end
	}

The PINI() control method will be initialized/executed during boot.

 

			Device (PEGP)	// <--- This is parent device where the graphic card is connected to. Yours might have different name & address.
		{
			Name (_ADR, 0x00010000)
			Device (GFX0)									 // <--- This is graphic card device. Yours might have different name.
			{
				Name (_ADR, Zero)
				// start - Subsystem & Device Vendor ID hack
				OperationRegion (SVID, PCI_Config, Zero, 0xF0)		   // <--- Add this OperationRegion
				Field (SVID, DWordAcc, NoLock, Preserve)
				{
							Offset (0x40),
					ASDI,   32
				}
				// end

Lastly, add the above OperationRegion in the graphic card device codes. I used this trick on my old notebook (purely cosmetic in my case). I think it can be use with Intel 5 Series chipset too.

Link to comment
Share on other sites

Also I notice that in that other thread you're recommending my obsolete radeondump + don'g radeonhd instead of just my newer radeon_bios_decode...

I forgot to update. :)

With a little more understanding, it seems likely that a program could auto-patch the personality simply by taking as input a bios dump and a personality name target. At least for the desktop case. This could be supplemented with some sort of quirks table for the special cases.

If you have time to do it, that would be wonderful. It will be useful for mobility card too.

 

The only problem with mobility card is the LVDS + resolution higher than 1366x768 configuration. In some hardware datasheet (e.g. Toshiba) did mentioned single-link LVDS transmitter support up to a WXGA panel resolution (1366x768, 24-bit/pixel). While dual-link LVDS transmitter can support up to WUXGA panel resolution (1920x1200, 18-bit/pixel). The highest WXGA resolution is 1440x900 but I haven't heard from anyone with 1440x900 LCD panel yet (probably missed it). I have schematic for my notebook. In it I found the LVDS interface has two channels labeled with LVDSA & LVDSB. I can get my LVDS working without extensive trial & error, probably because I have 1366x768 LCD panel. There is other person who have identical notebook, Dell Studio 1557 but have Full HD LCD panel but can't get it working. Still testing though. I hope I can get correct result from him/her later because right now he/she unable to get the ATI4600Controller.kext loaded.

Well radeon_bios_decode could be made to give you the offsets in the bios of those fields. A program-based solution like that is probably easiest as the atom bios structures aren't simply at fixed offsets.

This feature would be great too. :) So the i2cid value is not hardware dependent?

Link to comment
Share on other sites

Can you post the ATIFramebuffer error message?

Sub-vendor i think it is. will see if i can apply this DSDT, that's one reason i think RadeonFramebuffer does not autoload. even if i force it to load the settings it loads does not load my LVDS screen.

 

 

HDMI i can get to show as LCD

 

VGA as CRT

 

LVDS i can get it to load but i think it's loading the same values as VGA not sure why the behaviour.

 

i won't give up but i need to try another method. 5670 uses Galago not sure why because 3 connections but personality has 2 outputs maybe thats when RadeonFramebuffer kicks in to load the missing 3rd connection. now would like to look at an ioreg using a ATI 5630 :)

 

wondering if any method of dumping somehow the T & E currently used by loading RadeonFramebuffer? would like to see what is trying to be used.

Link to comment
Share on other sites

LVDS i can get it to load but i think it's loading the same values as VGA not sure why the behaviour.

Probably driver falsely identified LVDS as CRT (VGA). Did you tried patched the connection table in the new kext? Probably change the connector-type or ControlFlags & see if it help driver identified LVDS correctly. Try compare the LVDS's EDID in IORegistry with LVDS's EDID obtain in windows. Both should be identical which explained the LVDS is working but falsely recognized as CRT (VGA).

 

wondering if any method of dumping somehow the T & E currently used by loading RadeonFramebuffer? would like to see what is trying to be used.

It is possible if you can read it from RAM. In windows you can use HEX editor to "read" loaded application in memory. I wonder if there is a HEX editor for mac which can do the same thing.

Link to comment
Share on other sites

Probably driver falsely identified LVDS as CRT (VGA). Did you tried patched the connection table in the new kext? Probably change the connector-type or ControlFlags & see if it help driver identified LVDS correctly. Try compare the LVDS's EDID in IORegistry with LVDS's EDID obtain in windows. Both should be identical which explained the LVDS is working but falsely recognized as CRT (VGA).

 

 

It is possible if you can read it from RAM. In windows you can use HEX editor to "read" loaded application in memory. I wonder if there is a HEX editor for mac which can do the same thing.

 

you gave me good idea :) how to get edid in macosx? i know how in windows and linux?

Link to comment
Share on other sites

@Kizwan yeah i can notice sometimes i get interfrence when lvds loads fuzzy can still see desktop but looks like a wind storm :)

 

@mojtabazarei - i'm not posting an unperfect patch no point, i want to get things right

 

Eulemur & Baboon get 2 outputs but i have noticed i can get 3 outputs using Hoolock, so this means Hoolock and Langur give more outputs then Eulemur and Baboon.

 

using new kext's without patching i get all outputs on HDMI,VGA,LVDS

 

LVDS still shows as CRT even with their deault settings,HDMI produces a screen but it's using default settings which is 214 which gives me a good hint.

 

CRT as always for VGA works.

 

Going to play around more but these 2 framebuffers just might be our winner for 5650's in the end.

 

If i load auto FB RadeonFramebuffer it only produces VGA so that auto {censored} still don't work.

 

My guess is why mobilty 68c1 dont load is because atiframebuffer looks for both 68c1 and vendor id, mine is hp but if we can somehow change vendor id from hp to apple then maybe the cards might auto load the ATIFramebuffer i saw some error message in console said something like Framebuffer cannot start due to vendor blah blah.

 

 

atlee see what they mean?

 

by using ATY,RadeonFramebuffer

 

see ioreg in 5000 node for my 5730

 

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 maybe the reported frame buffer is compatible with our card now you say that langur and hoolock have 3 output they are in list

 

what do you think ?

Link to comment
Share on other sites

Here is my conclusion:

 

4 Framebuffers Langur/Hoolock/Baboon/Eulemur can be edited and used.

 

Hoolock give the best HDMI output results.

 

Baboon is the main focus though but you can also edit Eulemur as the layout is the same.

 

HDMI fully works on either 22,05 or 21,03 whatever you want. probably others too but anyway.

 

VGA works also.

 

Save people from editing just AtiConfig=RadeonFramebuffer this will give you perfect VGA and HDMI.

 

LVDS i can do a dodgy way, for some wierd reason it replicates VGA edid and also enables LVDS screen using same edid and same connector and everything. Very dodgy way of doing it is making LVDS controlflag 14, HDMI is 204, VGA is 10. By Flagging LVDS with 14 it will allow Mirroring and Extended desktop but LVDS isn't really working it's just running 2 sets of the VGA screen but they act as seperate screens wierd huh?

 

LVDS will not work as of yet! I have tried all combinations. Just use the dodgy way till another new kexts arrive.

 

There is no perfect way of doing this for this card.

 

Using the DP2 kexts you can boot using Baboon/Eulemur/Langur/Hoolock without editing.

 

VNC in, fix resolution up using SwitchResX and you will have VGA, a 2nd VGA acting as LVDS.

 

To get perfect HDMI you will need to patch.

 

Personality: Baboon

ConnectorInfo count in decimal: 3Disk offset in decimal 508152

04  00  00  00  14  00  00  00  00  01  00  00  01  02  01  03

00  08  00  00  00  02  00  00  00  71  00  00  22  05  02  01

10  00  00  00  10  00  00  00  00  01  00  00  00  10  00  02 

Patched Baboon

02  00  00  00  14  00  00  00  00  01  00  00  01  12  01  07

00  08  00  00  04  02  00  00  00  01  00  00  21  03  02  01

10  00  00  00  10  00  00  00  00  01  00  00  00  10  00  08

 

If you use HDMI, you will get interference because LVDS is really the VGA connection. you can try and find something that don't interfere but there is no real solution. Use VGA or use HDMI.

 

I'm off to install the new Lion. I have had enough of spending hours and hours on this :rolleyes:

 

Also with the Baboon layout i didn't have to change much, conector does not do anything, senseid does not do anything. lot's of combinations of encoders/transmitters will work with the new kexts from Lion DP2 package. Pretty much all combos work ;) just make sure you keep VGA on 00,00 or 00,10.

 

The most important feature that makes any difference is control flags everything else really does not matter.

Link to comment
Share on other sites

Here is my conclusion:

... ... ...

 

Personality: Baboon

Patched Baboon

02  00  00  00  14  00  00  00  00  01  00  00  01  12  01  07

00  08  00  00  04  02  00  00  00  01  00  00  21  03  02  01

10  00  00  00  10  00  00  00  00  01  00  00  00  10  00  08

 

Your personality looks very close to mine. May I have your System Profiler output and ioreg dump?

I'd like to see how OS X detect your card.

 

Thanks.

Link to comment
Share on other sites

Your personality looks very close to mine. May I have your System Profiler output and ioreg dump?

I'd like to see how OS X detect your card.

 

Thanks.

 

my ioreg looks very similar to yours, but you can get HDMI, VGA working, Also you can get your LVDS working as a second VGA.

 

But bottom line is i will be very surprised if someone gets LVDS to work and recognize correctly without new version-ed drivers. just does not work, the support must not be there, even RadeonFramebuffer cannot load it so doing it manually wont work either. i guess we wait till further drivers and stick with dodgy way of doing it like me :rolleyes:

Link to comment
Share on other sites

Well radeon_bios_decode could be made to give you the offsets in the bios of those fields. A program-based solution like that is probably easiest as the atom bios structures aren't simply at fixed offsets.

Then you'd have to follow along with the instructions to update the checksum(s); there's info on that over on netkas's forum.

 

Could you please code such app it would help in many cases avoiding the need of binary patching the drivers after each update and also would solve the cases where an i2CID is out of the 0x9X range and can not be associated with any personality.

Link to comment
Share on other sites

my ioreg looks very similar to yours, but you can get HDMI, VGA working, Also you can get your LVDS working as a second VGA.

 

But bottom line is i will be very surprised if someone gets LVDS to work and recognize correctly without new version-ed drivers. just does not work, the support must not be there, even RadeonFramebuffer cannot load it so doing it manually wont work either. i guess we wait till further drivers and stick with dodgy way of doing it like me ;)

 

 

no atlee i think the driver is full but doesnt have support for LVDS or we dont know how to mke it working ? i think with further driver the result is same as now

Link to comment
Share on other sites

Everyone wanted more details regarding how linux chooses certain encoders and transmitter, i debugged the video using an option which gives too much detail but anyway here it is, not sure if it will get us a step closer to getting LVDS working but anyway.

 

This is ATI 5650m debugged.

 

So info here is

LVDS works off UNIPHY

Connector 17, CRTC 10 uses Encoder 16.

VGA works off DAC

Connector 19, CRTC 11 uses Encoder 20.

did another dmesg using debug for HDMI, which is not in this text file but anyway.

HDMI works off UNIPHY1

Connector 21, CRTC 11 uses Encoder 18.

 

DRM_DEBUG.zip

 

From my final understanding:

02 connector could only be 00,00, 20,01 or 10,00 using mucha's guide and removing the others that don't match. 12,04,21,03,01,02,01,12,02,04

800 connector could only be 01,11 or 21 so that would mean 21,03/01,02,01,12 or 11,02.***(21,03 the only working one without interference)***

10 connector could only be 00,10.

 

not sure where 22,05 sits though.

 

so that's my final understanding of all of it.

 

Also regarding DP2 kexts earlier i forgot to include GA,GL,VA driver which works with the new kexts posted earlier.

 

What is interesting is new personality in 6000 series kext where VGA and DP run off 00,00. Gave me an idea as it's a dual link i will use 00,00 for VGA and 00,00 for LVDS.

Link to comment
Share on other sites

Here is my conclusion: ... ... ...

 

LVDS i can do a dodgy way, for some wierd reason it replicates VGA edid and also (1) enables LVDS screen using same edid and same connector and everything. Very dodgy way of doing it is making LVDS controlflag 14, HDMI is 204, VGA is 10. By Flagging LVDS with 14 it will allow Mirroring and Extended desktop but (2) LVDS isn't really working it's just (3) running 2 sets of the VGA screen but they act as seperate screens wierd huh?

 

... ... ...

 

If you use HDMI, you will (4) get interference because LVDS is really the VGA connection. you can try and find something that don't interfere but there is no real solution. Use VGA or use HDMI.

 

... ... ...

 

Also with the Baboon layout i didn't have to change much, (5) conector does not do anything, (6) senseid does not do anything. (7) lot's of combinations of encoders/transmitters will work with the new kexts from Lion DP2 package. Pretty much all combos work :( just make sure you(8) keep VGA on 00,00 or 00,10.

 

The most important feature that makes any difference is (9) control flags everything else really does not matter.

 

I'm interested in a dodgy way you have discovered. I've tested your Baboon personality with my Ipomoea to see how dodgy way is but nothing different on my system. LVDS is never been detected, never seen any output on LVDS screen.

 

Here is personality tested in attempt to see what the dodgy way is.

Patched Ipomoea based on @atlee's Baboon

02 00 00 00 14 00 00 00 00 01 00 00 01 12 01 07 (LVDS) used as-is

00 08 00 00 04 02 00 00 00 01 00 00 21 03 02 02 (HDMI) change SenseId to 02, tested encoder 2205 = No output on screen

10 00 00 00 10 00 00 00 00 01 00 00 00 00 00 08 (VGA) change encoder=00

 

By refer to your quote :

(1) What kind of "enables LVDS screen" do you get?

(2) This means there is no output on physical LVDS screen, right?

(3) How can you determine that LVDS is enabled and act as another VGA screen?

(4) No question, just want to see the interference(if possible).

(5) I agree with you, connector does nothing.

(6) SenseId is important for me, in my HDMI case, if SenseId is incorrect, screen is not detected.

(7) Just FYI, not sure about this, in my HDMI case, There will be output on screen only when transmitter/encoder=2103. Please notice that if SenseId is correct, OSX will detect HDMI as we can see in System Profiler but will be no output on screen if transmitter/encoder is not 2103.

00 08 00 00 04 02 00 00 00 01 00 00 21 03 02 01 (HDMI) not detected in System Profiler, no output on screen

00 08 00 00 04 02 00 00 00 01 00 00 22 05 02 02 (HDMI) senseid is correct=Detected in System Profiler, encoder incorrect=No output on screen

00 08 00 00 04 02 00 00 00 01 00 00 21 03 02 02 (HDMI) senseid is correct=Detected in System Profiler, encoder correct=output on screen

 

(8) My VGA is only worked with 0000.

(9) Only Control flag=14 can give corrupt output on LVDS (the only case that show something on screen).

02 00 00 00 40 00 00 00 00 01 00 00 01 12 0X 07 (LVDS) X=0,1,2,3,4 show blank/black screen, backlight on

02 00 00 00 14 00 00 00 00 01 00 00 01 12 01 07 (LVDS) show blank/black screen, backlight on

 

02 00 00 00 14 00 00 00 00 01 00 00 01 12 0X 07 (LVDS) X=0,2 give me corrput screen both LVDS and HDMI. VGA not detected, System Profiler show no screen detected.

Incorrect value in LVDS can make HDMI and VGA not working. This means only a single line of incorrect value can crack down the whole system.

post-633174-1301821904_thumb.jpg

Link to comment
Share on other sites

 Share

×
×
  • Create New...