Jump to content

Mobility Radeon HD 4650:Full Resolution with QE & CI working on Internal LVDS screen


mucha
 Share

696 posts in this topic

Recommended Posts

To skip the dsdt.aml, you'll need to removed or renamed it. You can do this by booting to single mode (-s) or safe mode (-x -v). After you have delete/rename the dsdt.aml, please proceed with Peregrine test.

 

May I know what is the BIOS version? I can download the Studio 1747's BIOS from Dell website & extract DSDT from it.

 

Here is my current BIOS http://dl.dropbox.com/u/24426032/1747A13_W32-64.exe

 

Thanks!

Link to comment
Share on other sites

Sorry about that. I'm getting confused. ;) Yeah, iMac11,1 has an Intel Core i7. So, it is not suitable for your notebook.

 

Maybe iMac7,1 is more suitable. It have C2D.

 

Finally I think that the more suitable is iMac10,1, It's C2D + ATI 4670. Now I've Speedstep and agpm. Istat still without working but MSR works, so I'll be able to live with this "issue" hehe.

 

The hdmi port still without working, but I'll do more test now.

Link to comment
Share on other sites

To skip the dsdt.aml, you'll need to removed or renamed it. You can do this by booting to single mode (-s) or safe mode (-x -v). After you have delete/rename the dsdt.aml, please proceed with Peregrine test.

 

May I know what is the BIOS version? I can download the Studio 1747's BIOS from Dell website & extract DSDT from it.

 

I checked peregrine, both LVDS and external VGA monitor are black but both correctly recognized in display preferences via VNC!!! So the laptop does correctly identifies all monitors, there is just no signal, except when we test hdmi connector with Shrike. I think we are getting close ;)

Link to comment
Share on other sites

To skip the dsdt.aml, you'll need to removed or renamed it. You can do this by booting to single mode (-s) or safe mode (-x -v). After you have delete/rename the dsdt.aml, please proceed with Peregrine test.

 

May I know what is the BIOS version? I can download the Studio 1747's BIOS from Dell website & extract DSDT from it.

Thanks, I will also need an imac 10,1 smbios.plist.

Link to comment
Share on other sites

I've thought for sometime that GraphicsEnabler is part of the problem, and I know I've ticked kizwan off by saying so.

 

I've looked at the new MBP ioreg, which I posted above, and I think to get dual-link LVDS working, we need to modify the injector to add the dual link flags to ati.c

 

Its been years since I did programing -- back on Z80s before the 1st PC -- but I think we need to add this to ATI.C and recompile

struct ati_data_key ati_dual_link= { 0x04, "AAPL00,DualLink", {0x01, 0x00, 0x00, 0x00} };
struct ati_data_key ati_display_dual_link= { 0x04, "@0,display-dual-link", {0x02, 0x00, 0x00, 0x00} };

Attached find a boot file for Dual LVDS Flicker for testing. be sure to chmod 755 it after copying to boot or you will brick system.

 

I hope to have time tonight to test with 2011 10.6.7 MBP kexts.

The offsets for FB in ATI4600Controller are:

Flicker 20ee0 and 79298

Shrike 20f60 and 79338

Gliff 20f20 and 792d8

After more time to examine the MacbookPro8_3 ioreg, I decided more extensive changes were needed

I will post an ati.c and precompiled binaries for my device id on my thread.

Link to comment
Share on other sites

I checked peregrine, both LVDS and external VGA monitor are black but both correctly recognized in display preferences via VNC!!! So the laptop does correctly identifies all monitors, there is just no signal, except when we test hdmi connector with Shrike. I think we are getting close ;)

Please try again with this DSDT. I has extracted it directly from your Studio 1747's BIOS you gave me earlier. Actually this DSDT is similar with the one you gave me earlier. It shouldn't cause any problem since this is correct DSDT.

Dell_Studio_1747_DSDT_Fixed_02.zip

  1. Also please make sure com.apple.Boot.plist only contain this:-
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>Kernel</key>
    <string>mach_kernel</string>
    <key>Kernel Flags</key>
    <string>arch=i386</string>
    <key>GraphicsEnabler</key>
    <string>Yes</string>
    <key>Timeout</key>
    <string>1</string>
    </dict>
    </plist>


  2. Please use iMac11,1 as machine identifier.
  3. Please test this connection table again with Shrike framebuffer.
    --> 00000000	 02  00  00  00  40  00  00  00  09  01  00  00  02  00  00  07  (LVDS)
    --> 00000010	 10  00  00  00  10  00  00  00  00  01  00  00  00  10  01  01  (VGA)
    --> 00000020	 00  08  00  00  00  02  00  00  00  01  00  00  10  01  02  02  (HDMI)


    Offset of Shrike connections table (3 connections):-

    • 32bit: 0x00037298
    • 64bit: 0x00010F80

[*]Please test this with Peregrine framebuffer with only LVDS & VGA:-

--> 00000000	 02  00  00  00  40  00  00  00  09  01  00  00  02  00  00  07  (LVDS)
--> 00000010	 10  00  00  00  10  00  00  00  00  01  00  00  00  10  01  01  (VGA)

Offset of Peregrine connections table (2 connections):-

  • 32bit: 0x37278
  • 64bit: 0x10F60

 

No changes in transmitter & encoder. I inject dual-link in DSDT. So let see the result.

 

Please post the IORegistry dump for both test. Thank you.

Link to comment
Share on other sites

Please try again with this DSDT. I has extracted it directly from your Studio 1747's BIOS you gave me earlier. Actually this DSDT is similar with the one you gave me earlier. It shouldn't cause any problem since this is correct DSDT.

Dell_Studio_1747_DSDT_Fixed_02.zip

  1. Also please make sure com.apple.Boot.plist only contain this:-
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
     <key>Kernel</key>
     <string>mach_kernel</string>
     <key>Kernel Flags</key>
     <string>arch=i386</string>
     <key>GraphicsEnabler</key>
     <string>Yes</string>
     <key>Timeout</key>
     <string>1</string>
    </dict>
    </plist>


  2. Please use iMac11,1 as machine identifier.
  3. Please test this connection table again with Shrike framebuffer.
    --> 00000000	 02  00  00  00  40  00  00  00  09  01  00  00  02  00  00  07  (LVDS)
    --> 00000010	 10  00  00  00  10  00  00  00  00  01  00  00  00  10  01  01  (VGA)
    --> 00000020	 00  08  00  00  00  02  00  00  00  01  00  00  10  01  02  02  (HDMI)


    Offset of Shrike connections table (3 connections):-

    • 32bit: 0x00037298
    • 64bit: 0x00010F80

[*]Please test this with Peregrine framebuffer with only LVDS & VGA:-

--> 00000000	 02  00  00  00  40  00  00  00  09  01  00  00  02  00  00  07  (LVDS)
--> 00000010	 10  00  00  00  10  00  00  00  00  01  00  00  00  10  01  01  (VGA)

Offset of Peregrine connections table (2 connections):-

  • 32bit: 0x37278
  • 64bit: 0x10F60

 

No changes in transmitter & encoder. I inject dual-link in DSDT. So let see the result.

 

Please post the IORegistry dump for both test. Thank you.

 

 

Thank you Kizwan, I will do some testing tonight :D and will get back to you.

Link to comment
Share on other sites

My card is an ATI Mobility Radeon HD 2600 XT and after changing the SenseID of my first connector (theorically LVDS) to 07 the ATIFramebuffer reads LVDS EDID and detects the screen resolutions and it's color profile but it's black all the time and the backlight shutsdown after booting. Misteriously if I sleep the screen with expose corners it turns white an the backlight goes on and when I wake it the backlight remains on but the screen becomes black again. For my VGA there are many working SenseID's the ones I tested were 11, 01 but depending on which I use the screen shows vsync tearing in a different area of the screen. I am unable to use bbc9 radeondump tool as it says "ATOMBIOS signature not found" only Slice radeondump works with my VBIOS and shows some I2C values but they are totally different from the ones required to get the SenseID.

 

Anyone knows other ways to get the SenseID's??

 

PD: I believe that if it is possible to get the ATIFramebuffer to read the LVDS EDID and enable some kind of backlight control on a Mobility Radeon HD 2600 XT this could help to get to work Mobility Radeons from HD2XXX to HD3XXX as they use the Mobility RV6XX architecture which seems to be supported somehow by OSX.

Link to comment
Share on other sites

My card is an ATI Mobility Radeon HD 2600 XT and after changing the SenseID of my first connector (theorically LVDS) to 07 the ATIFramebuffer reads LVDS EDID and detects the screen resolutions and it's color profile but it's black all the time and the backlight shutsdown after booting. Misteriously if I sleep the screen with expose corners it turns white an the backlight goes on and when I wake it the backlight remains on but the screen becomes black again. For my VGA there are many working SenseID's the ones I tested were 11, 01 but depending on which I use the screen shows vsync tearing in a different area of the screen. I am unable to use bbc9 radeondump tool as it says "ATOMBIOS signature not found" only Slice radeondump works with my VBIOS and shows some I2C values but they are totally different from the ones required to get the SenseID.

 

Anyone knows other ways to get the SenseID's??

 

PD: I believe that if it is possible to get the ATIFramebuffer to read the LVDS EDID and enable some kind of backlight control on a Mobility Radeon HD 2600 XT this could help to get to work Mobility Radeons from HD2XXX to HD3XXX as they use the Mobility RV6XX architecture which seems to be supported somehow by OSX.

Google "dong vbios"

At the 1st link you can get dong's (not Slices's) tool to read your vbios to disk.

 

Then use that file as input to bcc9's radeondump tool

./radeondump < myvbios.rom

Link to comment
Share on other sites

Google "dong vbios"

At the 1st link you can get dong's (not Slices's) tool to read your vbios to disk.

 

Then use that file as input to bcc9's radeondump tool

./radeondump < myvbios.rom

 

What's the difference between getting the bios from ATIFlash or GPU-Z and that tool??

Link to comment
Share on other sites

Some VBios, including mine, are locked so you can't get them with ATIFlash or GPU-Z

 

But I already got it from GPU-Z and ran bcc9 radeondump with my VBIOS that's how I got the error of "ATOMBIOS signature not found". The thing is that there maybe some reallocation changes in connector tables from RV63X VBIOS to RV7XX and that maybe the reason why radeondump doesn't work with my VBIOS so I end up with the same problem I can't get my connector I2C ID's from radeondump and I need alternative methods.

Link to comment
Share on other sites

But I already got it from GPU-Z and ran bcc9 radeondump with my VBIOS that's how I got the error of "ATOMBIOS signature not found". The thing is that there maybe some reallocation changes in connector tables from RV63X VBIOS to RV7XX and that maybe the reason why radeondump doesn't work with my VBIOS so I end up with the same problem I can't get my connector I2C ID's from radeondump and I need alternative methods.

I checked my Xorg.0.log and it is not an alternate source.

 

Well, bcc9 is very helpful, and has already updated his tool (now renamed radeon_bios_decode) several times.

 

I would send him a PM, or post in his thread, or both. Explain the problem. Send him your vbios. He will probably help you.

 

Given that they all seem to be single digit numbers, there is always the brute force technique.

Link to comment
Share on other sites

Please try again with this DSDT. I has extracted it directly from your Studio 1747's BIOS you gave me earlier. Actually this DSDT is similar with the one you gave me earlier. It shouldn't cause any problem since this is correct DSDT.

Dell_Studio_1747_DSDT_Fixed_02.zip

  1. Also please make sure com.apple.Boot.plist only contain this:-
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>Kernel</key>
    <string>mach_kernel</string>
    <key>Kernel Flags</key>
    <string>arch=i386</string>
    <key>GraphicsEnabler</key>
    <string>Yes</string>
    <key>Timeout</key>
    <string>1</string>
    </dict>
    </plist>


  2. Please use iMac11,1 as machine identifier.
  3. Please test this connection table again with Shrike framebuffer.
    --> 00000000	 02  00  00  00  40  00  00  00  09  01  00  00  02  00  00  07  (LVDS)
    --> 00000010	 10  00  00  00  10  00  00  00  00  01  00  00  00  10  01  01  (VGA)
    --> 00000020	 00  08  00  00  00  02  00  00  00  01  00  00  10  01  02  02  (HDMI)


    Offset of Shrike connections table (3 connections):-

    • 32bit: 0x00037298
    • 64bit: 0x00010F80

[*]Please test this with Peregrine framebuffer with only LVDS & VGA:-

--> 00000000	 02  00  00  00  40  00  00  00  09  01  00  00  02  00  00  07  (LVDS)
--> 00000010	 10  00  00  00  10  00  00  00  00  01  00  00  00  10  01  01  (VGA)

Offset of Peregrine connections table (2 connections):-

  • 32bit: 0x37278
  • 64bit: 0x10F60

 

No changes in transmitter & encoder. I inject dual-link in DSDT. So let see the result.

 

Please post the IORegistry dump for both test. Thank you.

Kizwan, I installed DSDT.aml and changed the boot.plist but now I have kernel panic please see the image.

http://dl.dropbox.com/u/24426032/photo.JPG

post-266941-1301355092_thumb.jpg

Link to comment
Share on other sites

Kizwan, I installed DSDT.aml and changed the boot.plist but now I have kernel panic please see the image.

http://dl.dropbox.com/u/24426032/photo.JPG

Hi almuras,

 

I triple check your DSDT. Everything already checked out. It shouldn't cause kernel panic because I only add basic patch which supposedly for OSX's compatibility. In addition to basic patch, I only inject ATI's dual-link property for dual-link LVDS transmitter support. I already tested it myself & it didn't cause kernel panic on mine.

 

When the kernel panic happen, did you tried to boot for second time? Probably just a glitch. I did got kernel panic for no reason but it is very rare & hasn't happen since. Please list any foreign/3rd party kext you still using, including in Extra folder. Thank you.

Link to comment
Share on other sites

Please try again with this DSDT. I has extracted it directly from your Studio 1747's BIOS you gave me earlier. Actually this DSDT is similar with the one you gave me earlier. It shouldn't cause any problem since this is correct DSDT.

Dell_Studio_1747_DSDT_Fixed_02.zip

  1. Also please make sure com.apple.Boot.plist only contain this:-
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
     <key>Kernel</key>
     <string>mach_kernel</string>
     <key>Kernel Flags</key>
     <string>arch=i386</string>
     <key>GraphicsEnabler</key>
     <string>Yes</string>
     <key>Timeout</key>
     <string>1</string>
    </dict>
    </plist>


  2. Please use iMac11,1 as machine identifier.
  3. Please test this connection table again with Shrike framebuffer.
    --> 00000000	 02  00  00  00  40  00  00  00  09  01  00  00  02  00  00  07  (LVDS)
    --> 00000010	 10  00  00  00  10  00  00  00  00  01  00  00  00  10  01  01  (VGA)
    --> 00000020	 00  08  00  00  00  02  00  00  00  01  00  00  10  01  02  02  (HDMI)


    Offset of Shrike connections table (3 connections):-

    • 32bit: 0x00037298
    • 64bit: 0x00010F80

[*]Please test this with Peregrine framebuffer with only LVDS & VGA:-

--> 00000000	 02  00  00  00  40  00  00  00  09  01  00  00  02  00  00  07  (LVDS)
--> 00000010	 10  00  00  00  10  00  00  00  00  01  00  00  00  10  01  01  (VGA)

Offset of Peregrine connections table (2 connections):-

  • 32bit: 0x37278
  • 64bit: 0x10F60

 

No changes in transmitter & encoder. I inject dual-link in DSDT. So let see the result.

 

Please post the IORegistry dump for both test. Thank you.

 

For some reason the new DSDT.aml always gives kernel panic. I switched to your first version of DSDT.aml and was able to boot but all screens are black with both framebuffers. To see external screen with HDMI I need to remove DSDT and to add ati_rom. to extra. For some reason VNC does not work too when DSDT is loaded. I got so many errors trying to compile DSDT, did you fixed all those errors?

Link to comment
Share on other sites

For some reason the new DSDT.aml always gives kernel panic. I switched to your first version of DSDT.aml and was able to boot but all screens are black with both framebuffers. To see external screen with HDMI I need to remove DSDT and to add ati_rom. to extra. For some reason VNC does not work too when DSDT is loaded. I got so many errors trying to compile DSDT, did you fixed all those errors?

That's strange. Yes, I did fixed those errors. It's just caused by one "if" statement which don't belong to any control method. I have the same "if" statement & removed it but I don't get kernel panic. Please removed VoodooBattery.kext & try again. I believe the FakeSMC.kext is for sensors reading, please removed it but you'll need to replaced it with standard fakesmc.kext. You can find the standard fakesmc.kext at my Studio 1557's thread.

Link to comment
Share on other sites

Do I need AppleACPIPS2Nub.kext

ApplePS2Controller.kext?

 

Do I need VoodooHDA?

You'll need to keep AppleACPIPS2Nub.kext & ApplePS2Controller.kext because keyboard & trackpad needed it.

 

You can keep VoodooHDA.

 

Only the two kexts I mentioned in my previous post need to be removed for now. Remember to put standard fakesmc.kext after removing the FakeSMC.kext.

Link to comment
Share on other sites

I am getting error failed load AppleIntelCpuPowerManagement.kext and then boot freezes.

Honestly, it doesn't make sense at all. Please remove the DSDT.AML file for now. Don't worry. I'll build a modified boot file for you. mucha has prepared a modified ati.c file for mobility card. So, we'll inject the new property via boot file. I'll post the modified boot file in a couple of hours.

 

Please remove the DSDT.AML file for now & please confirm your notebook can boot properly without kernel panic.

Link to comment
Share on other sites

I am getting error failed load AppleIntelCpuPowerManagement.kext and then boot freezes.

Make sure removed the DSDT.AML. These are the modified boot file (Peregrine, Shrike & Vervet) for ATI Mobility Radeon HD4650 (device ID 0x9480):-

The modified ati.c file (based on mucha's modified ati.c) for trunk:-

Please test these:-

  1. Peregrine:-
    --> 00000000	 02  00  00  00  40  00  00  00  09  01  00  00  02  00  00  07  (LVDS)
    --> 00000010	 10  00  00  00  10  00  00  00  00  01  00  00  00  10  01  01  (VGA)


    Offset of Peregrine connections table (2 connections):-

    • 32bit: 0x37278
    • 64bit: 0x10F60

[*]Shrike:-

--> 00000000	 02  00  00  00  40  00  00  00  09  01  00  00  02  00  00  07  (LVDS)
--> 00000010	 10  00  00  00  10  00  00  00  00  01  00  00  00  10  01  01  (VGA)
--> 00000020	 00  08  00  00  00  02  00  00  00  01  00  00  10  01  02  02  (HDMI)

Offset of Shrike connections table (3 connections):-

  • 32bit: 0x00037298
  • 64bit: 0x00010F80

[*]Vervet:-

--> 00000000	 02  00  00  00  40  00  00  00  09  01  00  00  02  00  00  07  (LVDS)
--> 00000010	 10  00  00  00  10  00  00  00  00  01  00  00  00  10  01  01  (VGA)
--> 00000020	 00  08  00  00  00  02  00  00  00  01  00  00  10  01  02  02  (HDMI)
--> 00000030	 00  04  00  00  00  04  00  00  00  01  00  00  20  01  04  05 	(DP)

Offset of Vervet connections table (4 connections):-

  • 32bit: 0x00037538
  • 64bit: 0x00013880

 

The encoders & transmitter already correct. Now we're focusing on injecting missing property for mobility card. Please test & post the IORegistry dumps. Thank you.

Link to comment
Share on other sites

Hello there. you guys are the best!!!!

im new to this community and i found it too hard to follow :) i just dump my bios after 2 hours of trying. and i cant find the FB , connector info etc to edit. My videocard is Ati Mobility Radeon HD 530v (i think is a renamed 4350) with DevID 9555.

 

I have a question. this methos only work on 10.6.3 -10.6.6? because i have installed 10.6 and i get kp anytime i do a combo update.

 

Thanks

Mike

 

PS: My english sucks :)

Link to comment
Share on other sites

 Share

×
×
  • Create New...