Jump to content

Mobility Radeon - 10.6.6/7 guide for QE/CI - testing 10.7


wmarsh
 Share

564 posts in this topic

Recommended Posts

Yes, you don't lose anything from it. Just to be sure that the HDMI to DVI converter doesn't caused false result. In hackintosh world, the converter sometime can make display working & sometime don't. It depend on the driver I guess. During testing/troubleshooting better connect directly the external monitor to HDMI port. But you don't have monitor with HDMI port. So, either borrow one from your friend OR if you have extra money, just buy one.

 

____________________________________________________________________________

 

I think we can start compare notes here.

So far I got these results for LVDS:-

  • On my Dell Studio 1557, it has a dual-link LVDS transmitter and can support up to WUXGA panel resolution (1920x1280). But right now it only fitted with WXGA panel resolution (1366x768). LVDS is working.
  • Dell Studio 1747 (almuras), SXPS 1640 (sydlix) & SXPS 1645 (jvilla), also has dual-link LVDS transmitter. I got all three of RadeonHD's log from them & I found all three have Full HD LCD panel. Also RadeonHD's log said all three have single-link LVDS transmitter which is weird. Based on the notebooks specification, it should be dual-link LVDS transmitter. LVDS is NOT working.
  • Acer Aspire 5738ZG (hjs89) has single-link LVDS transmitter. LVDS is working.
  • Dell Inspiron 1545 (wmarsh & c0ke), based on the hardware specification, I'm sure it has single-link LVDS transmitter. LVDS is working.

Actually my RadeonHD log (posted above) says single link transmitter

But in fact I get no output that way, only when I set it dual link.

 

And I get white lines. My current theory is this is interference possibly from the boot screen, which GraphicsEnabler attaches @0 but physically is @1, and then possibly not detaching as it should.

 

I think the problem is with the theory of detecting transmitter/encoder. We are trying to connect statically to what is during the boot phase -- and possibly wake from sleep etc -- a dynamic process. What we really want to know is the transmitter/encoder when OS X is done booting with normal graphics -- not with Linux, or with RadeonHD with only 1 head support. People have noted conflicts between Linux dmesg and RadeonHD dmesg. And OS X itself gives us no dmesg.

 

We have to realize the settings may be different depending on whether other monitors are attached. People have said this about HDMI.

 

Given there are only a limited number of possibilities, the brute force technique is not unreasonable.

 

[EDIT -- if I accept kizwan's point below that only dual link supports my screen resolution of 1600 x 900, then there are only 6 possibilities. Transmitters 00, 01, and 02. Encoders 00 and 01. This is not an excessive number to try.]

 

In other words, what I think my system is doing with GraphicsEnabler at graphics startup time is:

1) boot screen fails to detach

2) AtomBios cannot connect at 12 00 transmitter/encoder like dmesg says

3) AtomBios therefore connects at 02 01 (which you sent to me via c0ke). I get QE output, but the white lines are from interference from boot screen

 

Therefore, what I should be testing with my DSDT patch is not the 02 01 that worked before, but 12 00 per dmesg. I have not done this.

 

I think my next step is to do just that with my DSDT injector.

 

It would also be very helpful if people who have connected with patch as predicted by dmesg would test the DSDT patch. Its much harder to debug 2 problems at once.

Link to comment
Share on other sites

Actually my RadeonHD log (posted above) says single link transmitter

But in fact I get no output that way, only when I set it dual link.

Sorry, I'm not very clear at my statement on my previous post. I was referring to LVDS technology available on the motherboard. We can called it LVDS "port". I know Dell Studio notebook's motherboard support/have dual-link LVDS transmitter because Dell Studio specification include Full HD LCD (upgrade option). I also know most Acer notebook, their motherboard only support/have single-link LVDS transmitter. On Dell Inspiron 1545, I'm not sure but based on the specification it only support WXGA display (1366x768), so the motherboard only support single-link LVDS transmitter.

And I get white lines. My current theory is this is interference possibly from the boot screen, which GraphicsEnabler attaches @0 but physically is @1, and then possibly not detaching as it should.

I'm surprise you got different result than what c0ke got. Both of you have the same notebook which is Dell Inspiron 1545. Do both of you use the same BIOS version? The boot screen on notebook is set to internal LCD. It is not possible it conflicted with itself.

 

What I noticed on my notebook, whenever I unplugged/plugged external monitor to either VGA or HDMI, all connection are "refreshed". This include internal LCD. I can monitor it live using IORegistryExplorer. The same thing happen whenever wake up from hibernate/sleep.

I think the problem is with the theory of detecting transmitter/encoder. We are trying to connect statically to what is during the boot phase -- and possibly wake from sleep etc -- a dynamic process. What we really want to know is the transmitter/encoder when OS X is done booting with normal graphics -- not with Linux, or with RadeonHD with only 1 head support. People have noted conflicts between Linux dmesg and RadeonHD dmesg. And OS X itself gives us no dmesg.

For the transmitter, if the LVDS link on the motherboard only support single-link LVDS, for sure the LinkID is either LINK_A or LINK_B.

 

While if the LVDS link on the motherboard support dual-link LVDS, the LinkID will depend on what type of LCD panel connected to it. If the LCD panel is WXGA display (1366x768), the LinkID is either LINK_A or LINK_B. If the LCD panel can support resolution higher than 1366x768, the LinkID will be DUAL_LINK (LINK_A + LINK_;).

 

Regarding the linux's dmesg, did you tried increase the log verbose level? I noticed with RadeonHD.kext 10/20/2009 update, if debugMode is false OR verboseLevel is 1 (I don't remember which one), the dmesg only show TransmitterID instead of both TransmitterID & LinkID.

I think my next step is to do just that with my DSDT injector.

Check the LCD device in DSDT & compared it with the one from working notebook.

Link to comment
Share on other sites

Sorry, I'm not very clear at my statement on my previous post. I was referring to LVDS technology available on the motherboard. We can called it LVDS "port". I know Dell Studio notebook's motherboard support/have dual-link LVDS transmitter because Dell Studio specification include Full HD LCD (upgrade option). I also know most Acer notebook, their motherboard only support/have single-link LVDS transmitter. On Dell Inspiron 1545, I'm not sure but based on the specification it only support WXGA display (1366x768), so the motherboard only support single-link LVDS transmitter.

 

I'm surprise you got different result than what c0ke got. Both of you have the same notebook which is Dell Inspiron 1545. Do both of you use the same BIOS version? The boot screen on notebook is set to internal LCD. It is not possible it conflicted with itself.

Probably we have different screens. mine is 1600x900, so your hardware specification must be incomplete.
For the transmitter, if the LVDS link on the motherboard only support single-link LVDS, for sure the LinkID is either LINK_A or LINK_B.

 

While if the LVDS link on the motherboard support dual-link LVDS, the LinkID will depend on what type of LCD panel connected to it. If the LCD panel is WXGA display (1366x768), the LinkID is either LINK_A or LINK_B. If the LCD panel can support resolution higher than 1366x768, the LinkID will be DUAL_LINK (LINK_A + LINK_;).

This is helpful. Mine is 1600x900 so must use dual link.

Regarding the linux's dmesg, did you tried increase the log verbose level? I noticed with RadeonHD.kext 10/20/2009 update, if debugMode is false OR verboseLevel is 1 (I don't remember which one), the dmesg only show TransmitterID instead of both TransmitterID & LinkID.

Mine above is with debug false and verbose =1. Have not personally done linux on notebook yet, just on desktop.

Check the LCD device in DSDT & compared it with the one from working notebook.

Please elaborate, I do not understand.

Link to comment
Share on other sites

Probably we have different screens. mine is 1600x900, so your hardware specification must be incomplete.

This means Dell Inspiron 1545's motherboard support dual-link LVDS transmitter.

 

@c0ke, does your internal LCD support resolution higher than 1366x768? I bet yours is WXGA display (1366x768). Am I right?

Please elaborate, I do not understand.

Under graphic device (VGA or GFX0 or M86) in DSDT, there should be internal LCD device control method in it. Please observed mine:-

				Device (GFX0)
			{
				Name (_ADR, Zero)
				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x04)
						{
							"@0,EDID", 
							Buffer (0x80)
							{
								/* 0000 */	0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 
								/* 0008 */	0x25, 0xCC, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 
								/* 0010 */	0x00, 0x13, 0x01, 0x03, 0x90, 0x22, 0x13, 0x78, 
								/* 0018 */	0x0A, 0xC8, 0x85, 0x9E, 0x57, 0x54, 0x9B, 0x26, 
								/* 0020 */	0x12, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 
								/* 0028 */	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
								/* 0030 */	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x36, 0x1A, 
								/* 0038 */	0x56, 0x44, 0x50, 0x00, 0x0D, 0x30, 0x11, 0x0C, 
								/* 0040 */	0x32, 0x00, 0x58, 0xC2, 0x10, 0x00, 0x00, 0x1A, 
								/* 0048 */	0x36, 0x1A, 0x56, 0x44, 0x50, 0x00, 0x0D, 0x30, 
								/* 0050 */	0x11, 0x0C, 0x32, 0x00, 0x58, 0xC2, 0x10, 0x00, 
								/* 0058 */	0x00, 0x1A, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x31, 
								/* 0060 */	0x47, 0x35, 0x44, 0x33, 0x81, 0x31, 0x35, 0x36, 
								/* 0068 */	0x47, 0x57, 0x30, 0x31, 0x00, 0x00, 0x00, 0x00, 
								/* 0070 */	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
								/* 0078 */	0x00, 0x01, 0x01, 0x0A, 0x20, 0x20, 0x00, 0xF2
							}, 
							"hda-gfx", 
							Buffer (0x0A)
							{
								"onboard-1"
							}
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}
				Method (_DOS, 1, NotSerialized)
				{
				}
				Name (_DOD, Package (0x03)
				{
					0x00010100, 
					0x00010110, 
					0x0210
				})
				Method (_STA, 0, NotSerialized)
				{
					Return (0x0F)
				}
				/* ...more codes... */
				Device (LCD)
				{
					Name (_ADR, 0x0110)
					Name (_DCS, 0x1F)
					Name (_DGS, One)
					Method (_DSS, 1, NotSerialized)
					{
						If (And (Arg0, 0x40000000))
						{
							If (And (Arg0, One))
							{
								Store (0x1F, _DCS)
							}
							Else
							{
								Store (0x1D, _DCS)
							}
						}
					}
					Method (_BCL, 0, NotSerialized)
					{
						Return (Package (0x12)
						{
							0x64, 
							0x1E, 
							0x06, 
							0x0C, 
							0x12, 
							0x18, 
							0x1E, 
							0x24, 
							0x2A, 
							0x30, 
							0x36, 
							0x3C, 
							0x42, 
							0x48, 
							0x4E, 
							0x54, 
							0x5A, 
							0x64
						})
					}

Please examine your "Device (LCD)" & compare it with others, preferably from notebook which have working LVDS.

Link to comment
Share on other sites

Under graphic device (VGA or GFX0 or M86) in DSDT, there should be internal LCD device control method in it.

I did not inject the EDID, although it would be easy enough to add that. Should be @1 in my rig.

 

I did not change the LCD device -- really just changed VID to GFX0 so that is recognized and attached.

What you posted looks similiar to my memory, but I need to look at it.

 

So I did not post that section of code, but will look at it and do so tonight.

Link to comment
Share on other sites

Please examine your "Device (LCD)" & compare it with others, preferably from notebook which have working LVDS.

 

I've Device VGA and Device GFX0 in my DSDT. In VGA I can find Device CRT,LCD,TV0 and DVI. In GFX0 Device DD01, DD02, DD03, DD04 and DD05 and a lot of methods.

 

At first look the methods of my Device LCD are notserialized.

 

                    Device (LCD)
                   {
                       Name (_ADR, 0x0110)
                       Method (_DCS, 0, NotSerialized)
                       {
                           If (And (CSTE, 0x0808))
                           {
                               Return (0x1F)
                           }
                           Return (0x1D)
                       }
                       Method (_DGS, 0, NotSerialized)
                       {
                           If (And (NSTE, 0x0808))
                           {
                               Return (One)
                           }
                           Return (Zero)
                       }
                       Method (_DSS, 1, NotSerialized)
                       {
                           If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
                           {
                               Store (NSTE, CSTE)
                           }
                       }
                       Method (_DDC, 1, NotSerialized)
                       {
                           If (LEqual (Arg0, One))
                           {
                               Return (DDC4)
                           }
                           If (LEqual (Arg0, 0x02))
                           {
                               Concatenate (DDC4, DDC0, Local0)
                               Return (Local0)
                           }
                           Return (Zero)
                       }
                       Method (_BCL, 0, NotSerialized)
                       {
                           Return (BCLP)
                       }
                       Method (_BCM, 1, NotSerialized)
                       {
                           Store (One, Local0)
                           Store (0x02, Local1)
                           While (Local0)
                           {
                               If (LEqual (Arg0, DerefOf (Index (BCLP, Local1))))
                               {
                                   Store (Zero, Local0)
                               }
                               Else
                               {
                                   Increment (Local1)
                                   If (LEqual (0x0B, Local1))
                                   {
                                       Store (Zero, Local0)
                                   }
                               }
                           }
                           Decrement (Local1)
                           Decrement (Local1)
                           If (^^^^LPCB.EC0.BNCM)
                           {
                               If (^^^^LPCB.EC0.ACST)
                               {
                                   Store (Local1, ^^^^LPCB.EC0.BNAC)
                               }
                               Else
                               {
                                   Store (Local1, ^^^^LPCB.EC0.BNDC)
                               }
                           }
                           Else
                           {
                               Store (Local1, ^^^^LPCB.EC0.BNAC)
                           }
                       }
                       Method (_BQC, 0, NotSerialized)
                       {
                           If (^^^^LPCB.EC0.BNCM)
                           {
                               If (^^^^LPCB.EC0.ACST)
                               {
                                   Store (^^^^LPCB.EC0.BNAC, Local1)
                               }
                               Else
                               {
                                   Store (^^^^LPCB.EC0.BNDC, Local1)
                               }
                           }
                           Else
                           {
                               Store (^^^^LPCB.EC0.BNAC, Local1)
                           }
                           Increment (Local1)
                           Increment (Local1)
                           Store (DerefOf (Index (BCLP, Local1)), Local0)
                           Return (Local0)
                       }
                   }

 

Do you know what is the function of Devices TV0, DVI? Maybe we should have one Device LVDS?

 

About Aspire 5738 there are a lot of variants, there is one with touch screen (not mine) but I think that all them are 15'6" with 1366x768 resolution.

Link to comment
Share on other sites

I did not inject the EDID, although it would be easy enough to add that. Should be @1 in my rig.

 

I did not change the LCD device -- really just changed VID to GFX0 so that is recognized and attached.

What you posted looks similiar to my memory, but I need to look at it.

 

So I did not post that section of code, but will look at it and do so tonight.

Please ignore the EDID injection & other codes before the "Device (LCD)" control method. The purpose I include "Device (GFX0)" is to show where you can find the "Device (LCD)". Just concentrate at "Device (LCD)" only. The EDID injection & changing from "Device (M86)" to "Device (GFX0)" are just cosmetic.

 

So, your graphic is "Device (VID)" in DSDT, right? Try compare yours with crazybirdy's.

Link to comment
Share on other sites

...

 

@c0ke, does your internal LCD support resolution higher than 1366x768? I bet yours is WXGA display (1366x768). Am I right?

...

 

 

Yes you're right! In fact initially I tried to force it to 1600x900 as wmarsh said about his hardware and the screen went blank!

 

I'm actually upgraded to 10.6.7, noticed no difference than before.

Still trying to get the VGA plugged lcd on with 10.6.6 kexts (i think that upgrade has not affected my ati kexts).

Tried crazybirdy configuration but still having odd colors on lvds while vga working fine.

It's very annoying to have 2 different configurations partially working and can't get them working together

Link to comment
Share on other sites

Do you know what is the function of Devices TV0, DVI? Maybe we should have one Device LVDS?

It's just ACPI codes/function telling how the TV & DVI port should function in ACPI-aware operating system. LVDS is covered by "Device (LCD)".

About Aspire 5738 there are a lot of variants, there is one with touch screen (not mine) but I think that all them are 15'6" with 1366x768 resolution.

To be precise, usually Acer notebooks which is 15'6" or lower screen, the motherboard only support single-link LVDS transmitter.

 

If you have, for example "Device (VGA)" & "Device (GFX0)" in your DSDT, to determine which one is correct for your hardware, you'll need to check the "address" of the "PCI Express Root Port" in windows Device Manager. The "PCI Express Root Port" is the "parent" device of your graphic card.

Link to comment
Share on other sites

The EDID injection & changing from "Device (M86)" to "Device (GFX0)" are just cosmetic.

 

So, your graphic is "Device (VID)" in DSDT, right? Try compare yours with crazybirdy's.

I don't think the GFX0 is just cosmetic. I've been working on this for a while. The ATI4600Controller would not connect until I changed it from VID to GFX0

 

Has crazybirdy posted his DSDT? Where?

Link to comment
Share on other sites

I don't think the GFX0 is just cosmetic. I've been working on this for a while. The ATI4600Controller would not connect until I changed it from VID to GFX0

It is cosmetic. I can get it to work when mine was "Device (M86)".

Has crazybirdy posted his DSDT? Where?

I'll ask crazybirdy for you.

 

@crazybirdy, can you share your DSDT with wmarsh? Thank you.

Link to comment
Share on other sites

I don't think the GFX0 is just cosmetic. I've been working on this for a while. The ATI4600Controller would not connect until I changed it from VID to GFX0

 

Has crazybirdy posted his DSDT? Where?

I'll ask crazybirdy for you.

@crazybirdy, can you share your DSDT with wmarsh? Thank you.

Posted before. Checcco wants it.

 

dsdt.aml is here. Post #245

http://www.insanelymac.com/forum/index.php...p;#entry1658286

Link to comment
Share on other sites

Yes you're right! In fact initially I tried to force it to 1600x900 as wmarsh said about his hardware and the screen went blank!

So far, any success report I read which LVDS is working, all of them have WXGA display (1366x768). Is there anyone I missed which have internal LCD support resolution higher than 1366x768, able to get their LCD working (without any artifact or tearing)?

 

@wmarsh, have you tried 2011 MBP update with 10.6.7?

Link to comment
Share on other sites

So far, any success report I read which LVDS is working, all of them have WXGA display (1366x768). Is there anyone I missed which have internal LCD support resolution higher than 1366x768, able to get their LCD working (without any artifact or tearing)?

 

@wmarsh, have you tried 2011 MBP update with 10.6.7?

No I have not, although I have the kexts and have looked at them.

The ConnectorInfo has moved to ATI4600Controller, and Peregrine is not to be found, just like Lion.

 

I could modify Shrike in that file easily and use my Chameleon recompiled for shrike and see if that works.

 

Thats actually a very good idea -- my problem could well be lack of support for my resolution in FB, which should be resolved with the new MBP kext

 

[EDIT -- my memory was incorrect. The MBP kexts do not include ATI4600Controller. However, just like Lion, the ConnectorInfo strings are not found in ATIFramebuffer. So I think I will have to work with Lion kexts if I want to follow this approach]

 

Posted before. Checcco wants it.

 

dsdt.aml is here.

crazybirdy, your link does not work, but I found it going through your posts.

 

crazybirdy's graphic section is PEGP and does not appear to be modified. There is no reference to any FB. He is using a recompiled chameleon - I think from kabyl's branch. I've actually tried his bootloader with same result.

 

kizwan, you said you connected without changing your video device to GFX0, but again, you are using GraphicsEnabler I think? Or do you have a working DSDT patch to share?

Link to comment
Share on other sites

please see a part of ioreg

 

	| |   |   | | |   "display-type" = "NONE"
| |   |   | | |   "connector-type" = 2048
| |   |   | | |   "ATY,ActiveFlags" = 1
| |   |   | | |   "IOFBDependentIndex" = 2
| |   |   | | |   "IOFBDependentID" = 117486592
| |   |   | | |   "ATY,ControlFlags" = 516
| |   |   | | |   "AAPL,gray-page" = <01000000>
| |   |   | | |   "device_type" = "display"
| |   |   | | |   "av-signal-type" = 0
| |   |   | | |   "AAPL,iokit-ndrv" = <8002c25e>
| |   |   | | |   "AAPL,gray-value" = <c38c6400>
| |   |   | | |   "display-connect-flags" = <00000000>
| |   |   | | |   "name" = "ATY,ATY,RadeonFramebuffer"
| |   |   | | |   "port-number" = 1

 

with this info what is

 

ATY,ControlFlags in hex for personality

 

who know the null personality of lion or 10.6.7 MBP 2011 when we dont use any framebuffer ?

Link to comment
Share on other sites

please see a part of ioreg

 

	| |   |   | | |   "display-type" = "NONE"
| |   |   | | |   "connector-type" = 2048
| |   |   | | |   "ATY,ActiveFlags" = 1
| |   |   | | |   "IOFBDependentIndex" = 2
| |   |   | | |   "IOFBDependentID" = 117486592
| |   |   | | |   "ATY,ControlFlags" = 516
| |   |   | | |   "AAPL,gray-page" = <01000000>
| |   |   | | |   "device_type" = "display"
| |   |   | | |   "av-signal-type" = 0
| |   |   | | |   "AAPL,iokit-ndrv" = <8002c25e>
| |   |   | | |   "AAPL,gray-value" = <c38c6400>
| |   |   | | |   "display-connect-flags" = <00000000>
| |   |   | | |   "name" = "ATY,ATY,RadeonFramebuffer"
| |   |   | | |   "port-number" = 1

 

with this info what is

 

ATY,ControlFlags in hex for personality

 

I've this values when I don't have any display connected in a port. For example now I don't have connected the HDMI cable and I've these values for that port.

 

who know the null personality of lion or 10.6.7 MBP 2011 when we dont use any framebuffer ?

 

This is a good question. When I try to inject a personality that is not in ATI4600Controller it is named ATY,ATY,RadeonFramebuffer.

 

About 10.6.7. I haven't updated yet. What happens? Is there 2 packs of ATI kext? Standard and MBP 2011 that are like Lion's?

Link to comment
Share on other sites

This is a good question. When I try to inject a personality that is not in ATI4600Controller it is named ATY,ATY,RadeonFramebuffer.

I got the same thing when I tried to inject Shrike and that is in ATI4600Controller. Have you successfully injected here?

 

About 10.6.7. I haven't updated yet. What happens? Is there 2 packs of ATI kext? Standard and MBP 2011 that are like Lion's?

There are 2 separate updates posted on Apple. Standard is like 10.6.6. Have not downloaded MBP, but doubt it would revert.

Link to comment
Share on other sites

I've this values when I don't have any display connected in a port. For example now I don't have connected the HDMI cable and I've these values for that port.

 

 

 

This is a good question. When I try to inject a personality that is not in ATI4600Controller it is named ATY,ATY,RadeonFramebuffer.

 

About 10.6.7. I haven't updated yet. What happens? Is there 2 packs of ATI kext? Standard and MBP 2011 that are like Lion's?

 

I've this values when I don't have any display connected in a port. For example now I don't have connected the HDMI cable and I've these values for that port.

 

 

 

This is a good question. When I try to inject a personality that is not in ATI4600Controller it is named ATY,ATY,RadeonFramebuffer.

 

About 10.6.7. I haven't updated yet. What happens? Is there 2 packs of ATI kext? Standard and MBP 2011 that are like Lion's?

 

 

for 5000 series we have 4 kexts AtIx3000 ,ati support .ati framebuffer ,ati 5000 controller

 

 

i installed ati support .ati framebuffer ,ati 5000 controller from lion (lion and 10.6.7 2011 MBP are same as each other)

 

i plugged My LG T710PU to vga connector

 

see two pics

1.tiff

 

post-686077-1300993515_thumb.jpg

 

 

it recognized the monitor fully dont have HDMI monitor or tv to test

 

but LVDS doesnt recognized as you see in pic

Link to comment
Share on other sites

for 5000 series we have 4 kexts AtIx3000 ,ati support .ati framebuffer ,ati 5000 controller

but LVDS doesnt recognized as you see in pic

Looks like you have Hoolock, Langur, Oramgutan and Zonalis to patch inside ATI5000Controller

Link to comment
Share on other sites

kizwan, you said you connected without changing your video device to GFX0, but again, you are using GraphicsEnabler I think? Or do you have a working DSDT patch to share?

Of course, GraphicsEnabler is necessary to activate the graphic card. Both GraphicsEnabler & DSDT patch (ATI injection) are the same thing. GraphicsEnabler inject ATI property from bootloader. ATI injection in DSDT also the same thing except it inject ATI property from DSDT.

Link to comment
Share on other sites

Of course, GraphicsEnabler is necessary to activate the graphic card. Both GraphicsEnabler & DSDT patch (ATI injection) are the same thing. GraphicsEnabler inject ATI property from bootloader. ATI injection in DSDT also the same thing except it inject ATI property from DSDT.

Kizwan, they would be the same thing if the people who wrote Graphics Enabler had mobility Radeons to test the code on when they wrote it. They didn't. Nobody cracked mobility before.

 

And while the injection of Graphics Enabler works for some people, like you, it is entirely possible that for some people, like me, it is not working correctly. It was written for desktop cards. And if you examine published DSDT hacks for injection -- for Nvidia and Intel -- you will see the code is different for laptops than desktops.

 

Its actually rather remarkable that it works at all, because it was written for desktops.

 

Netkas on his site has said Mobility is not supported.

Link to comment
Share on other sites

Kizwan, they would be the same thing if the people who wrote Graphics Enabler had mobility Radeons to test the code on when they wrote it. They didn't. Nobody cracked mobility before.

 

And while the injection of Graphics Enabler works for some people, like you, it is entirely possible that for some people, like me, it is not working correctly. It was written for desktop cards. And if you examine published DSDT hacks for injection -- for Nvidia and Intel -- you will see the code is different for laptops than desktops.

 

Its actually rather remarkable that it works at all, because it was written for desktops.

 

Netkas on his site has said Mobility is not supported.

LOL. You obviously missing the point here. What I'm saying is what do you want to inject in DSDT actually has been done beautifully by GraphicsEnabler. If you want to inject different property for notebook, if there's any, you at least need a reference. Do you have latest macbook pro's IORegistry dump?

 

May I know based on what facts GraphicsEnabler was written for desktops computer only?

 

Netkas said like that because, just like you said, nobody was able to cracked ati radeon mobility before, hence the not supported comment.

 

crazybirdy's graphic section is PEGP and does not appear to be modified. There is no reference to any FB. He is using a recompiled chameleon - I think from kabyl's branch. I've actually tried his bootloader with same result.

I was suggesting you to compare your VID with crazybirdy's PEGP. Since both of you have the same card, you can copy his & test on yours. I didn't said to test his bootloader.

Link to comment
Share on other sites

LOL. You obviously missing the point here. What I'm saying is what do you want to inject in DSDT actually has been done beautifully by GraphicsEnabler.

Actually Kizwan, you are missing the point here. GraphicsEnabler does not work correctly for me. For instance, it injects my LVDS screen @0, when physically it is @1.

 

Further, GraphicsEnabler won't inject a desired FB for Lion kext -- Lion ignores what you inject. And Lion correctly detects my LVDS @1, although unfortunately I have not figured out how to inject a FB for Lion kexts. As evidence of this I am posting my latest ioreg using Lion kexts so you can see it.

 

We need a better injector. We have 3 choices. We can pray the Chameleon people somehow come to our rescue and make GraphicsEnabler work. I am not the patient wait for salvation type. Or we can try to fix it ourselves, working on a DSDT patch, which I have proposed but no one else seems interested in. Or we can try Netkas' new ATY_INIT, which I have just downloaded and will look at to try. But unless the code is posted somewhere -- I have not seen this -- then it is unlikely we can modify the Framebuffer. [EDIT -- no references to any Mobility in ATY_INIT]

Link to comment
Share on other sites

Further, GraphicsEnabler won't inject a desired FB for Lion kext -- Lion ignores what you inject. And Lion correctly detects my LVDS @1, although unfortunately I have not figured out how to inject a FB for Lion kexts. As evidence of this I am posting my latest ioreg using Lion kexts so you can see it.

 

Lion's fb didn't ignore the inject. I've tested to mod the personalities of ATI4600Controller and in ioreg the FB was named ATY,Shrike. My LVDS was detectes but without signal and HDMI wasn't detected.

 

I hope that when Lion arrives officially and the people start to work with it we'll see new improvements.

Link to comment
Share on other sites

Lion's fb didn't ignore the inject. I've tested to mod the personalities of ATI4600Controller and in ioreg the FB was named ATY,Shrike. My LVDS was detectes but without signal and HDMI wasn't detected.

 

I hope that when Lion arrives officially and the people start to work with it we'll see new improvements.

Maybe its a hardware difference. But when I recompile Chameleon trunk, and use GraphicsEnabler, only changing the FB to be injected with 95521002 to "Shrike" from "Peregrine", my ioreg (posted above) still reads ATY,ATY,RadeonFramebuffer and in the details you see Peregrine. It does add aty_config settings I tried to add under Shrike to the info.plist inside ATI4600Controller. And it cannot be something hardcoded to the GPU chip as you and I have the same GPU chip -- RV710.

 

And I do get signal on my LVDS, and the system is quite usable. The colors are weird, and the screen is blurry. But I can change resolutions, etc.

Maybe it connects because I modified the ConnectorInfo in ATI4600Controller -- I did not try otherwise.

Link to comment
Share on other sites

 Share

×
×
  • Create New...