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

I think I finally found the section of code that prevents dual link from working on hacks. Its in ATISupport

ATIDigitalConnection::shouldUseDualLink(AtiDetailedTimingInformation*)
+0	00006be4  55					  pushl		  %ebp
+1	00006be5  89e5					  movl		  %esp,%ebp
+3	00006be7  83ec18				  subl		  $0x18,%esp
+6	00006bea  895df8				  movl		  %ebx,0xf8(%ebp)
+9	00006bed  8975fc				  movl		  %esi,0xfc(%ebp)
  +12	00006bf0  8b5d08				  movl		  0x08(%ebp),%ebx
  +15	00006bf3  8b750c				  movl		  0x0c(%ebp),%esi
  +18	00006bf6  8b4310				  movl		  0x10(%ebx),%eax
  +21	00006bf9  85c0					  testl		  %eax,%eax
  +23	00006bfb  7430					  je		  0x00006c2d
  +25	00006bfd  c744240438820200		  movl		  $0x00028238,0x04(%esp)		is-dual-link
  +33	00006c05  890424				  movl		  %eax,(%esp)

Now we can see if modifying it by hexediting the 7430 to 9090 will get rid of blurry screen on resolutions exceeding WXGA

Link to comment
Share on other sites

WOORRKS!!!!!!!!!!!!!!!!!

 

Finally QE/CI was enabled on my 4570m!!!!!!!!!!! I can't believe it yet :censored2: :D

 

- Translucent Toolbar

- Wavy effect on Dashboard

- DVD player loads

- Front Row works

 

But it's not perfect for the moment.

 

- As you can see my apple at the up-left corner it's green. The same happens with HD 4350 (desktop version of this chipset).

- Internal Display it's black, but HDMI port works, this might be improved editing the framebuffer.

- The resolutions of my HDMI display and my LVDS display are switched, but I can fix it with the SwitchRes Tool :unsure:, maybe when the LVDS is correctly working it'll be fixed.

 

About how it worked:

 

- You must be in Snow Leopard 10.6.6

- You must add your deviceID to ATI4600Controller.kext, mine is 0x95531002, it can variate in each case.

- Edit ATIFramebuffer.kext with modified Vervet framebuffer, maybe others will work, but now is which I'm using now.

- Bootloader with ATI injector configured with Vervet Fb. You can use Kabyl's boot if it works with your graphic card or modify other bootloader.

 

I'll do a how-to after do more test to fix the issues.

 

One screenshoot of my desktop, you can see my system profile with my card injected, DVD player working and translucent bar :(

el9yeo.png

Sorry, the system is in Spanish but I think that you'll understand the important things hehe

 

 

Can you send me the files you are using to do this?

 

I have the exact same graphics card as you but cannot get this to work :/

Link to comment
Share on other sites

I think I finally found the section of code that prevents dual link from working on hacks. Its in ATISupport

ATIDigitalConnection::shouldUseDualLink(AtiDetailedTimingInformation*)
 +0	00006be4  55					  pushl		  %ebp
 +1	00006be5  89e5					  movl		  %esp,%ebp
 +3	00006be7  83ec18				  subl		  $0x18,%esp
 +6	00006bea  895df8				  movl		  %ebx,0xf8(%ebp)
 +9	00006bed  8975fc				  movl		  %esi,0xfc(%ebp)
+12	00006bf0  8b5d08				  movl		  0x08(%ebp),%ebx
+15	00006bf3  8b750c				  movl		  0x0c(%ebp),%esi
+18	00006bf6  8b4310				  movl		  0x10(%ebx),%eax
+21	00006bf9  85c0					  testl		  %eax,%eax
+23	00006bfb  7430					  je		  0x00006c2d
+25	00006bfd  c744240438820200		  movl		  $0x00028238,0x04(%esp)		is-dual-link
+33	00006c05  890424				  movl		  %eax,(%esp)

Now we can see if modifying it by hexediting the 7430 to 9090 will get rid of blurry screen on resolutions exceeding WXGA

Let me know if it does anything

 

Thanks

Link to comment
Share on other sites

Let me know if it does anything

 

Thanks

I can now successfully inject dual-link property, link format, link type, engage video system including QE. See attached ioreg.

Screen remains blurry, with the white lines, and PixelFormat remains a null value despite injection.

Link to comment
Share on other sites

I managed to patch my ATIFramebuffer and I inserted my Dev. ID into ATI4600Controller.kext (0x95531002), and also used a modified boot file that contained Peregrine, and my system boots HOWEVER there is noting on my internal display, but the backlight is on. There is no output on my VGA display, and I can't test the HDMI port as I don't have a HDMI screen.

 

Can anyone help me? ;)

Link to comment
Share on other sites

  • 3 weeks later...

Hola

 

after trying nearly all the solutions I found google*ing around, to get my ATI Mobility Radeon HD 4530 to run dual screen with full Resolution, I was able to get both screens running. The external screen is working OK, however the "Laptop Screen" shows up in System Preferences with full Resolution 1600x900 but all you see gets a touch of purple and everything has distortions so that you can see the finder items, but you have to guess what's written, as you can not read anything.

 

post-494466-1303667497_thumb.jpg

 

I am using ATIFramebuffer: Shrike

 


02 00 00 00  40 00 00 00   09 01 00 00   02  01  00   07 (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 NONE)

 

I tried to inject into dsdt.aml dual link fix but maybe not correctly.

 

dsdt.aml.zip

 

A resume of the Info I gather including ioreg up to what I achieved

 

so far : LINUS_Ati_Mobility_Radeon_4530_Info.pdf

LINUS_ioregDualLinkFix.ioreg.zip

 

Well it seems that I am near but after trying to apply all I learned so far without getting it done, maybe someone here could have a look if I am trying to do something impossible.

 

Thx for any tip and help.

 

linus whistle.gif

Link to comment
Share on other sites

however the "Laptop Screen" shows up in System Preferences with full Resolution 1600x900 but all you see gets a touch of purple and everything has distortions so that you can see the finder items, but you have to guess what's written, as you can not read anything.

 

How about add EDID for LVDS ? Try it.

Link to comment
Share on other sites

Where is the error I struggling for two days. ( google translate )

 

and I came to:

 

32bit

--> 00037298     02  00  00  00  40  00  00  00  09  01  00  00  12  00  00  01     (LVDS)

 

64bit

--> 00010F80     02  00  00  00  40  00  00  00  09  01  00  00  12  00  00  01     (LVDS)

 

need only LVDS

ATIFramebuffer: Shrike

 

System Version: Mac OS X 10.6.7 (10J869)

 

ATOM BIOS Rom:

SubsystemVendorID: 0x1025 SubsystemID: 0x0224

IOBaseAddress: 0x9000

Filename: BR32037.001

BIOS Bootup Message:

Acer_JV50_PU_M92M2_XT_DDR2 M92 DDR2 64bit 680e/500m

 

PCI ID: 1002:9553

Connector at index 0

Type [@offset 45774]: LVDS (7)

Encoder [@offset 45778]: INTERNAL_UNIPHY2 (0x21)

i2cid [@offset 45836]: 0x96, OSX senseid: 0x7

Connector at index 1

Type [@offset 45784]: VGA (1)

Encoder [@offset 45788]: INTERNAL_KLDSCP_DAC1 (0x15)

i2cid [@offset 45859]: 0x90, OSX senseid: 0x1

Connector at index 2

Type [@offset 45794]: HDMI-A (11)

Encoder [@offset 45798]: INTERNAL_UNIPHY (0x1e)

i2cid [@offset 45882]: 0x91, OSX senseid: 0x2

 

-------------------------------------------------------------------------------------------------------------------------------

 

Mapping DIG1 encoder to KLDSKP_UNIPHYE

Crtc[0]: found native mode from Monitor[LVDS Panel]:

Modeline "1366x768" 72 1366 1414 1446 1526 768 770 775 790

Connector "PANEL" uses Monitor "LVDS Panel":

DxModeValid: ATOM CRTC 1

Listing modesetting layout:

ATOM CRTC 1: tied to Atom PLL 1 and LUT A:

Outputs: AtomOutputUniphyE (PANEL)

ATOM CRTC 2: unused

Unused Outputs: AtomOutputDACA, AtomOutputUniphyA

Validating Modes from Monitor "LVDS Panel" on "PANEL"

FUNCTION: DxFBValid: ATOM CRTC 1

FUNCTION: DxFBValid: ATOM CRTC 1

FUNCTION: DxFBValid: ATOM CRTC 1

FUNCTION: DxFBValid: ATOM CRTC 1

FUNCTION: DxFBValid: ATOM CRTC 1

FUNCTION: DxFBValid: ATOM CRTC 1

FUNCTION: DxFBValid: ATOM CRTC 2

FUNCTION: DxFBValid: ATOM CRTC 1

FUNCTION: DxFBValid: ATOM CRTC 2

Using 116x85 DPI.

Using 1366x1024 Framebuffer with 1408 pitch

Free FB offset 0x00000000 (size = 0x10000000)

Display resolutions detected:

1366 X 768 @ 59Hz

1280 X 1024 @ 75Hz

1024 X 768 @ 60Hz

800 X 600 @ 60Hz

640 X 480 @ 60Hz

iMac.spx.zip

boot.zip

com.apple.Boot.plist.zip

dsdt.aml.zip

smbios.plist.zip

Link to comment
Share on other sites

Is there any sulotion for the 4570 mobility (dev-id: 0x95531002)?

I dont understand the guide :D

I have one Internat Display and a VGA output

 

Can Someone upload working ATI 4570 kext packed for 10.6.6?

Link to comment
Share on other sites

Is there any sulotion for the 4570 mobility (dev-id: 0x95531002)?

I dont understand the guide :(

I have one Internat Display and a VGA output

 

Can Someone upload working ATI 4570 kext packed for 10.6.6?

 

There are many types of 4570 and how they work with LVDS panels

I tried over 4570 kizwan & hjs89 & jofox78 setings but no one did not work for me

third day struggling with this

 

 

( google translate )

Link to comment
Share on other sites

10.6.6 ATIFramebuffer Patched

Shrike

 

32bit

--> 00037298     02  00  00  00  40  00  00  00  09  01  00  00  12  00  00  07     (LVDS) ok

 

64bit

--> 00010F80     02  00  00  00  40  00  00  00  09  01  00  00  12  00  00  07     (LVDS) ok

 

 

yessssssjpg.png

 

 

After five days success "yesss" working 4570 mobility (dev-id: 0x95531002)

Thanks guys

 

 

@Martuzki you can try

kext_....zip

Link to comment
Share on other sites

I have installed the Kexts, Bootloader, etc but i only get a Blank Screen with the Backlight. Wich Option must i edit?

 

 

this:

 

32bit

--> 00037298 02 00 00 00 40 00 00 00 09 01 00 00 12 00 00 07 (LVDS)

 

64bit

--> 00010F80 02 00 00 00 40 00 00 00 09 01 00 00 12 00 00 07 (LVDS)

Link to comment
Share on other sites

Thanks, i have seen that your kext work a bit ;)

First i've install Teamviewer on the Notebook and now I can see on an other PC that there are other Resulotions (like 1280x1024, I need 1366x768) aviable but no QE/CI :wacko:

And my no of my Screens work, on the VGA Port thers nothing and the Internal Screen stays in the Verbose Boot log.

I only can see my Desktop with Teamviewer.

 

SystemProfiler (Kext load):

ATI4600Controller.kext

ATIRadeonx2000.kext

ATISupport.kext

 

And how can i get Radeondump (bcc9) to work? I need it for the Graphic Info

 

greetings...

 

EDIT: With "PciRoot=1" the Internal Screen will stay in the VErbose Boot log and the SysProfiler show only rubbish, with "PciRoot=0" the screen goes after the VErboseboot of (without backlight) and SysProfiler detects the Graka:

ATI Radeon 4500 Mobility Series:

 Chipsatz-Modell:	ATI Radeon 4500 Mobility Series
 Typ:	GPU
 Bus:	PCIe
 Steckplatz:	Slot-1
 PCIe-Lane-Breite:	x8
 VRAM (gesamt):	512 MB
 Hersteller:	ATI (0x1002)
 Geräte-ID:	0x9553
 Versions-ID:	0x0000
 ROM-Version:	113-B7710C-176
 EFI-Treiberversion:	01.00.318
 Monitore:
Monitoranschluss:
Monitoranschluss:

Link to comment
Share on other sites

I am testing the following modified shrike

02 00 00 00 40 00 00 00 09 01 00 00 02 04 00 07 LVDS

10 00 00 00 10 00 00 00 00 01 00 00 10 01 01 01 VGA

00 08 00 00 00 02 00 00 00 01 00 00 00 00 02 02 HDMI

 

HDMI works, LVDS does not.

 

However, my VGA channel only works if I also insert hdmi cable. Why is it so?

 

Thanks in advance!

Link to comment
Share on other sites

How can i use RadeonDump?

I Need the ATY, Controllflags, HotPlugID, SenseLine and the Features.

I have here my BIOS Dump (1002_9553.rom) but where are my Infos?

./RadeonDump -i 1002_9553.rom

Found a device of class RadeonPCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/AGP@1/IOPCI2PCIBridge/VGA@0/RadeonPCI
it matched on name "display"
Detected unknown Card (device id: 0x9553)
It's not in known card list, treat as card with device id: 0x9511
Detect EDID may fail for this card.
0x1002:  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Start I2C dump
ATOM BIOS detected
ATOM BIOS Rom: 
SubsystemVendorID: 0x1019 SubsystemID: 0x2379
IOBaseAddress: 0x9000
Filename: BR033553.004
BIOS Bootup Message: 
BR033553.004 M92 DDR2 64bit 500e/500m									   

object id 0005 01
src object id 2115 21
record type 1
rhdAtomParseI2CRecord:  I2C Record: GPIO_ID 9 EngineID: 0 I2CAddr: 0
ddc_line from ATOMBIOS: 0x0
record type 4
object id 000e 01
src object id 2121 33
record type 1
rhdAtomParseI2CRecord:  I2C Record: HW_Line 9 EngineID: 0 I2CAddr: 0
ddc_line from ATOMBIOS: 0x0
record type 4

./RadeonDump < 1002_9553.rom

martuzkis-mac:VBIOS Martuzki$ ./radeondump < 1002_9553.rom

Usage: ./radeondump [-d] [regnum] [-r start,end] 
-d		dump Radeon card BIOS ROM
regnum		dump Radeon card IO register values at regnum
-r start,end	dump Radeon card IO register values in the range of [start,end]
-i		dump EDID

Link to comment
Share on other sites

 Share

×
×
  • Create New...