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

sorry for not posting back yesterday, but after numerous OSX installations/reconfigurations I am back in ubuntu - here is what happened :

 

ATI Mobility RADEON HD4650 PCIexpress 1024MB dedicated Vram ID 0x9480 ( Satellite L500 )

 

PC EFI 10.6, Graphics Enabler = NO , SMBIOS.plist = MacBookPro4,1 ( second attempt : iMac11,1)

 

installed 10.6.0, upgraded to 10.6.6 via offline combo update. VANILLA Apple kernel :

 

 

1. on first boot using only stock kexts 1024x768 vesa ( before always no screen at all , )

2. installed RadeonHD.kext for 10.6x, set in plist HWcursor to false and lowpowermode to true .

repair permissions, mkext, rebooted : correct resolution and Display can be calibrated.

 

3. System Profiler shows HD4650 Mobility, BUT says 256MB Vram instead of 1GB

 

Kexts loaded successfully per Systemprofiler :

ATIRadeonX2000.kext and its bundles

ATISupport.kext

RadeonHD.kext

 

 

Here is what does not work :

 

QTX: Movies not play ( mp4s ), can flip through them, trimm them but they do not play.

 

Preview.app : PDFs load with annotations and all the features, BUT JPGs don't.

 

DVDPlayer : No. ( "Videoerror")

 

FrontRow : No. ( black screen must be Control+Q /Esc to get back )

 

ScreenSavers : No. ("flurry" only - and obviously this is software rendered )

 

PhotoBooth : Loads, but the "Effects" Window is only black, so is the rest of the app, although I can operate it..

 

So .. all that above is due to RadeonHD.kext being used instead of the real ATIFramebuffer,

 

 

Maybe useful Sidenote :

Note1) ATI4600**controller.kext : after putting in my ID i could forcefully kextload it while still running via RadeonHD.kext , but on the next boot no screen cometh up with both in S/L/E. - had to remove ATI46xxx.kext . When removing RadeonHD.kext instead, boot screen hangs at the LAN IP AutoDHCP screen forever, no GUI cometh up.

 

Note2) "GraphicsEnabler= Yes" leads to corrupted screen.

 

Note3) Powermanagement of the GraphicsCard ( constant fan running ) seems to be controlled by 2 kexts, one of them beginning with (Apple)GraphicsController**.kext, inside the plist I found entries for different speed-steppings and thermal zone, and they depend on what Mac Model your SMBIOS.plist is showing ( i.e. what OSX thinks that it runs on ) -- these kexts seem to be realted to all NVDA/GeForce/ATI/AppleIntelGM kexts ( i.e. they work together ? )

 

 

 

So this is a bit of progress, but only that some of Apples own kexts now load. BUT THERE IS NO 3D. still :D

 

I have even replaced my Intel Wifi5100 with a BCM4300 card.. its only the damn GPU which makes this Laptop non-OSX-ready..

 

So, as much as I would liked to tinker more - I need my puter today for work, so ubuntu for today.. maybe some clever one finds a way .. I am more then willing to always try ..

Link to comment
Share on other sites

Someone could please tell how to solve my problem?

 

Whenever I add the RadeonHD.kext from (http://code.google.com/p/osx86-driver-radeonhd/downloads/list) into S/L/E and reboot. the system hangs at

" AppleIntelCPUPowerManagement timed out".

NullCPUPoermanagement.kext is in /Extra/Extensitions

Tried to delete AppleIntelCPUPower*.kext, but not working.

 

I have to replace the kext with an old version downloaded from insanelymac in the post of Dong.

The system then booted but without QE/ci.

 

Let me clarify:

 

You delete no kexts from /S/L/E

Especially not the ATI ones.

 

You use RadeonHD.kext too, also in /S/L/E

 

You make sure your device id is in ATIRadeonX2000.kext (mine was)

 

You repair permissions, and mkext, reboot -f -v and pray.

 

 

Resolution changes for me and ATIRadeonX2000.kext loads

 

I think you need to check for your device ID in ATIRadeonX2000.kext

 

Or give us the output of sudo kextutil -v ATIRadeonX2000.kext

 

 

 

 

I have added my device id (0x95521002) into ATIRadeonX2000.kext

I'm using an old versiton of RadeonHD.kext from insanelymac in dong's post.

The newest one in code.google.com gives me hang up at startup with

AppleIntelCPUPowermanagement timed out.

 

[update]

I redownloaded the OSX10.6.6update package and used pacifist to extract the ATI*.kext files to S/L/E

after that i put the newest RadeonHD.kext into S/L/E, then kextutil

all three kexts seems loaded:

ATISupport, ATIRadeonX2000 and RadeonHD

After reboto I still get AppleIntelCPUPowerManagement timed out.

Link to comment
Share on other sites

Maybe useful Sidenote :

Note1) ATI4600**controller.kext : after putting in my ID i could forcefully kextload it while still running via RadeonHD.kext , but on the next boot no screen cometh up with both in S/L/E. - had to remove ATI46xxx.kext . When removing RadeonHD.kext instead, boot screen hangs at the LAN IP AutoDHCP screen forever, no GUI cometh up.

 

Note2) "GraphicsEnabler= Yes" leads to corrupted screen.

Well if people wish to keep working on this, let me add some more observations:

 

If you add Dev ID to ATI4500Controller.kext it does not load. Gives a list of unlinked symbols.

 

I confirm what smartie77 says; insert device ID into ATI4600Controller.kext and it does load successfully, with or without RadeonHD.kext present.

 

I agree with his note in another thread that if we could get dong involved we would make more progress.

 

What I have just done is install Kabyl's bootloader, which he posted here for testing:

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

 

This enables us to enter "Graphics Enabler"="yes" at boottime and specify a framebuffer with "ATIConfig"="framebuffer"

 

I have tried the 4 I thought might give LVDS -- Wormy, Hypoprion, Shrike, Iago -- still no joy

[EDIT -- Kabyl's loader did nothing. Loading these framebuffers with DSDT resulted in an incomplete boot, or at least a halt to messages when the graphics system was enabled]

 

Possibly if Kabyl gave us some way of specifying dong's framebuffer -- with RadeonHD loaded of course -- we would complete the connection and really have QE/CI

 

Someone could please tell how to solve my problem?

Do you have Disabler.kext?

 

Hey everyone look here http://www.engadget.com/2010/12/09/apple-t.../#disqus_thread

does this mean that apple will start putting cards like the Mobility 5870 in their macbooks? That would just be the bees knees!

 

Interesting article. I think there is hope we will get a framebuffer that works.

Link to comment
Share on other sites

Well if people wish to keep working on this, let me add some more observations:

 

If you add Dev ID to ATI4500Controller.kext it does not load. Gives a list of unlinked symbols.

 

I confirm what smartie77 says; insert device ID into ATI4600Controller.kext and it does load successfully, with or without RadeonHD.kext present.

 

I agree with his note in another thread that if we could get dong involved we would make more progress.

 

What I have just done is install Kabyl's bootloader, which he posted here for testing:

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

 

This enables us to enter "Graphics Enabler"="yes" at boottime and specify a framebuffer with "ATIConfig"="framebuffer"

 

I have tried the 4 I thought might give LVDS -- Wormy, Hypoprion, Shrike, Iago -- still no joy

 

Possibly if Kabyl gave us some way of specifying dong's framebuffer -- with RadeonHD loaded of course -- we would complete the connection and really have QE/CI

 

 

Do you have Disabler.kext?

 

Hi! sorry for delay. During the last days I've been upgrading my SL version to 10.6.6.

I had no particular issues, but I had to remove sleepenabler from E/E kext causing KP on boot, reconfigure my card in the IO80211 kext and downgrade the flash plugin for safari.

 

Nothing new about the graphic card apart I'm successfully loading ATIRadeonX2000 together with RadeonHD and ATISupport kexts

 

NO transparent toolbar, NO ripples in dashboard, NO jpg in preview and so on

no traces of QE or CI...

 

but at least I'm now on 10.6.6 :)

Link to comment
Share on other sites

  • 4 weeks later...

Hi guys!!

 

I've little news! After see the topic about how to do work Mobility 5650 I've tried it with my mobility 4570. I don't have QE/CI however I don't have the famous Black/Corrupted Screen.

 

I've installed a Retail 10.6 Vainilla and after i've upgraded to 10.6.6 in safe mode.

 

Before I've used Kabyl's boot and used ATIconfig=Nomascus and GraphicsEnabler=no*.

 

Now seem that boots in VESA mode (1024x768 resolution) but ATIRadeonX2000 and ATISupport are loaded without using RadeonHD.

 

Maybe we can try others framebuffers and found one that works.

 

EDIT:

 

*sorry, when use GraphicsEnabler=yes chameleon says that a ATI card was detected an froze. Maybe it's a problem reading the bios.

Link to comment
Share on other sites

As I have predicted new MacBooks have amd graphics so all of you with radeon laptops be ready for something good from 10.6.7

 

Maybe in 10.7 Lion. I've tried 10.6.7 beta kext and is the same as ever. Whit 10.7 developer preview kexts is a little bit different. I've a corrupted screen but no the grey one. That time is whit colors and you can "see" the windows and the cursor. If I connect a external monitor it didn't recognize any monitor (VGA & HDMI tested)

 

Maybe with kabyl's boot we can try another framebuffers and we discover anything but I've an error when I use it :(.

 

Here you can se our new corruption screen :wacko:

post-499738-1298810509_thumb.jpg

 

ATI Mobility Radeon HD 4570 @ Acer Aspire 5738ZG

Link to comment
Share on other sites

Whit 10.7 developer preview kexts is a little bit different. I've a corrupted screen but no the grey one.

hjs89, can you post or send me the kext you are using.

 

I have tried the 10.7 framebuffer paired with 10.6.6 ATI4600Controller and ATISupport and still have nothing. But I only have the 10.7 kext posted in the 5xxx thread.

 

I have a dsdt to attach nomascus to the mobility radeon 4330 -- a mod of the pci-e hack -- and therefore different from kabyl's loader -- and I would be glad to see if I can do better with it.

Link to comment
Share on other sites

Here you have all the kext, ATI 10.7 Lion Developer Preview. In Lion's kext there aren't plugin files and there isn't ATI4500Controller.kext (I only found it on 10.6.2 Combo Update) but there are one for 4600.

 

How did you mod your DSDT to load another framebuffer?

 

About framebuffers. I read some information in the chinese forum. The framebuffers have animal's name and the Sharks are more friendly for 3000 series, Birds for 4000 series and Monkeys for 5000 series. So I think that we've to start testing Birds.

 

{NULL, 0},

SHARK {"Alopias", 2},

MONKEY {"Alouatta", 4},

MONKEY {"Baboon", 3},

BIRD {"Cardinal", 2},

TURTOISE {"Caretta", 1},

MONKEY {"Colobus", 2},

MONKEY {"Douc", 2},

MOONKEY {"Eulemur", 3},

BIRD {"Flicker", 3},

MONKEY {"Galago", 2},

M?? B?? {"Gliff", 3},

BIRD {"Iago", 2},

BIRD {"Kakapo", 3},

MONKEY {"Kipunji", 4},

SHARK {"Lamna", 2},

MONKEY {"Langur", 3},

SHARK {"Megalodon", 3},

BIRD {"Motmot", 2},

MONKEY {"Nomascus", 5}, óóóó 5650m ?????

MONKEY {"Orangutan", 2},

BIRD {"Peregrine", 2},

BIRD {"Quail", 3},

BIRD {"Raven", 3},

BIRD {"Shrike", 3},

SHARK {"Sphyrna", 1},

SHARK {"Triakis", 2},

MONKEY {"Uakari", 4}, óóóó 5770Vapor-X,5870,5970?????

MONKEY {"Vervet", 4}, óóóó 5770??????

M?? {"Zonalis", 6}

 

The number after the name means the number of outputs of your graphic card. In my laptop is 3: Diplay + VGA + HDMI.

 

EDIT at 16:30

 

Some cool news guys!!!

 

I've add to ATI4600Controller.kext my ID and now my laptop screen has color corrupted but Native Resolution!!! My HDMI is working pretty well!!! The colors are correct in HDMI screen. But I don't QE/CI for the moment :)

 

Now the ATI4600Controller and ATIFramebuffer are loaded, I think that changing the Fb we can improve it.

 

We're closer than ever to do work or Mobility Cards :P!!

Link to comment
Share on other sites

How did you mod your DSDT to load another framebuffer?

Its easy actually

 

Download DSDTSE, you can use it to read your bios and mod as necessary.

 

There is an example for DSDT hack for desktop ATI cards to add framebuffer -- I use it on my new desktop.

 

Now if you compare the example hacks for NVIDIA, you will see you mod DSDT to inject at a different place for laptops as desktops. I changed the ATI desktop hack in identical way for my mobility HD4330, using nomascus as thats what the Chinese used. If it works with your kexts I will post the code.

Link to comment
Share on other sites

Its easy actually

 

Download DSDTSE, you can use it to read your bios and mod as necessary.

 

There is an example for DSDT hack for desktop ATI cards to add framebuffer -- I use it on my new desktop.

 

Now if you compare the example hacks for NVIDIA, you will see you mod DSDT to inject at a different place for laptops as desktops. I changed the ATI desktop hack in identical way for my mobility HD4330, using nomascus as thats what the Chinese used. If it works with your kexts I will post the code.

 

I tried to do it like you say but when I try to compile I've a lot of errors. The code before the hack it's not se same in my DSDT than in the example.

 

Can you share any exaple of the difference between desktop and laptop?

 

The FB that I was loading by default was Peregrine (Bird, 2 outputs)

 

Well, I added my dev id to the 10.7 ATI4600Controller.kext and it does not load for me.

 

bash-3.2# kextutil -v ./ATI4600Controller.kext/
Can't read info dictionary for ./ATI4600Controller.kext: IOCFUnserialize: syntax error near line 1.

 

Are you using GraphicsEnabler=Yes? It worked to me with Chameleon RC4, RC5, Pc Efi 10.6. Not Kabyl's or Mohamed's.

Link to comment
Share on other sites

Well, I added my dev id to the 10.7 ATI4600Controller.kext and it does not load for me.

[EDIT repatched it and it loads]

however, I now have 7.0.52 versions of ATI4600Controller, ATISupport, and ATIRadeonX2000 all loaded, but am still in VESA graphics. This is with my nomascus DSDT mod.

 

Reading the info.plist in ATIFramebuffer, I no longer read the list of framebuffer personalities, so I am uncertain that we can fix this by specifying a different framebuffer, but I agree thats what to try next.

 

[EDIT same result with Kabyl's loader and "GraphicsEnabler"=y]

Link to comment
Share on other sites

Hi All!

 

Read this thread carefully:

http://www.insanelymac.com/forum/index.php...t&p=1646480

 

I think bcc9 has discovered a way to change which ports the framebuffers output to.

 

The info I have found tells me some of the older FB did output on LVDS, like Wormy

http://www.projectosx.com/forum/index.php?showtopic=9

 

But the newer FB (the birds) are the ones which should be right for our video.

 

It might be possible to modify ATIFramebuffer.kext to give us LVDS output using bcc9's method.

 

Everything else loads; this is all that stands between us and QE.

 

[EDIT -- bcc9 posted the following]

And that's an interesting connector table. Assuming it's right about the LVDS ports, that would make:

 

#define CONNECTORTYPE_LVDS 0x0002

as an addition to post #1, which is actually what I thought but was uncertain.

Since there are apple products shipping with mobile radeons, yes I see no reason why you shouldn't be able to make 3rd party mobile radeons work, at least for gpus sufficiently similar to the genuine apple models.

 

I have collected all the tools, and will attempt to make a modified MotMot with primary port output to LVDS as that is what I think will work for my laptop.

 

[EDIT Wormy, Iago and several others are 0x2000

I have made 2 edited 10.6.6 ATIFramebuffer.kext with these changes, they are attached.

 

I have not tested yet, as I did this on my good desktop and my laptop is at home.

You may try, I will test tonight and report. I modified MotMot, so if they work, they should do so with GraphicsEnabler=y]

 

[EDIT -- math error in offset for Wormy. Attachment deleted. See bcc9's thread. Will redo and repost.]

Link to comment
Share on other sites

Hi. Now I'm testing the stock framebuffers whit Lion's kext (10.7), it's a heavy work because Kabyl's boot doesn't work for me and I'm editing the chameleon's Ati injector one by one :/.

 

The results of my test are these:

Flicker - Doesn't work - White draped screen

Gliff - Doesn't work - Black screen

Kakapo - 50% working - Native resolution but corrupted colors, HDMI works fine

Motmot - 50% working - Native resolution but corrupted colors, HDMI works fine

Peregrine 50% working - Native resolution but corrupted colors, HDMI works fine

Quail - 50% working - Native resolution but corrupted colors, HDMI works fine

Raven - 50% working - Native resolution but corrupted colors, HDMI works fine

Wormy - 50% working - Native resolution but corrupted colors, HDMI works fine

Nomascus - 50% working - Native resolution but corrupted colors, HDMI works fine

I'll update the list when I test more framebuffers.

 

I think that finally our problems have been ever about Framebuffer. In Chameleon and PC EFI the default Framebuffer for our Graphics Card is Peregrine.

 

I've detected that the Lion's framebuffer it's different from Snow's framebuffer. Maybe that is the reason why now It's peregrine framebuffer working for me and not whit SL kext. And maybe it's not working to wmarsh and the order of the ports is different for his graphic card.

 

About edit a framebuffer I think that a good idea. I've looked bcc9's post but I don't underestand well what is he doing, What is "ATIframebuffer"? the kext? the file inside the kext? If you can helpme I'll try to work it.

Link to comment
Share on other sites

About edit a framebuffer I think that a good idea. I've looked bcc9's post but I don't underestand well what is he doing, What is "ATIframebuffer"? the kext? the file inside the kext? If you can helpme I'll try to work it.

Open ATIFramebuffer.kext as a directory.

/Contents/MacOS/ATIFramebuffer is a binary executable

 

We are decompiling it, examining the code, and manually changing the table that says which ports to connect with hexeditor.

 

I think that finally our problems have been ever about Framebuffer. In Chameleon and PC EFI the default Framebuffer for our Graphics Card is Peregrine.

Thanks, I forgot. Thought it was MotMot. Probably thats why my 1st try failed. Hopefully can do Peregrine tommorrow. Now I know how it should be straightforward, and I already have a couple different DSDT injecting Peregrine in different ways if GraphicsEnabler fails.

Link to comment
Share on other sites

Open ATIFramebuffer.kext as a directory.

/Contents/MacOS/ATIFramebuffer is a binary executable

 

We are decompiling it, examining the code, and manually changing the table that says which ports to connect with hexeditor.

 

Yes, after I post I started to work on it. My fail was that I was working with Lion's framebuffer, it seems to be different and there isn't any answer at otool comand. After I try with Snow's kext and it worked.

 

The thing that I don't understand now is where did you find "virtual_address" and "start_address_for_segment". Sorry, my knowledge about hex it's really poor.

 

Thanks, I forgot. Thought it was MotMot. Probably thats why my 1st try failed. Hopefully can do Peregrine tommorrow. Now I know how it should be straightforward, and I already have a couple different DSDT injecting Peregrine in different ways if GraphicsEnabler fails.

 

If you want I can upload the boot modded to load Motmot, I did for 9553 and 9552. When I'm using Lion's kext IOregestry reports me that my port 0 is "0x2" (LVDS I think) and port 1 is "0x8" (HDMI), (there isn't nothing about my VGAport :D). With the Lion's framebuffer looking at (ActiveFlag) the port 1 is 0x4 or 0x8 so maybe that is why it works my hdmi port.

 

After that I installed 10.6.6 kexts and tried with stock Wormy (black/grey corruption) and stock Nomascus (Black screen).

Link to comment
Share on other sites

Yes, after I post I started to work on it. My fail was that I was working with Lion's framebuffer, it seems to be different and there isn't any answer at otool comand. After I try with Snow's kext and it worked.

 

The thing that I don't understand now is where did you find "virtual_address" and "start_address_for_segment". Sorry, my knowledge about hex it's really poor.

 

 

 

If you want I can upload the boot modded to load Motmot, I did for 9553 and 9552. When I'm using Lion's kext IOregestry reports me that my port 0 is "0x2" (LVDS I think) and port 1 is "0x8" (HDMI), (there isn't nothing about my VGAport :)). With the Lion's framebuffer looking at (ActiveFlag) the port 1 is 0x4 or 0x8 so maybe that is why it works my hdmi port.

 

After that I installed 10.6.6 kexts and tried with stock Wormy (black/grey corruption) and stock Nomascus (Black screen).

There probably are new Developers Tools for Lion that would work.

 

You find "virtual_address" and "start_address_for_segment" using otool. bcc9's directions are quite explicit.

 

You get familiar with hex with practice. Last time I did this it was octal, a Z-80 cpu, and CP/M OS. I'm not good with hex, but its not dissimiliar.

 

I don't need the booter tx.

 

bcc9 just posted a new RadeonDump which I think will be very helpful in interrogating ports. I don't have HDMI so we will be different.

 

Project got put on hold as my daughter had emergency surgery last night. Will get back on it.

Link to comment
Share on other sites

More very helpful information from bcc9's thread. He has a new tool for examining the Video Bios.

 

Unlike desktop cards, we cannot dump video bios with gpu-z. However, there is a tool (also called radeondump) in dongs aborted ATIFramebuffer thread which will dump laptop video bios.

 

Use that to store VBIOS to a file, then use bcc9's tool to examine it.

 

bash-3.2# ./radeondump < ./VBIOS/9552.0301.00E0.vga.rom
ATOM BIOS Rom:
SubsystemVendorID: 0x1028 SubsystemID: 0x02aa
IOBaseAddress: 0xde00
Filename: BR31245C.001
BIOS Bootup Message:
Dell_Roberts_M92S_GDDR3 M92 GDDR3 64bit 450e/600m						  

Connector at index 0 type: VGA (1)
Connector's i2cid: 91
Connector at index 1 type: LVDS (7)
Connector's i2cid: 90

 

We have been trying to enable LVDS on port 0.

All the native FB with LVDS use port 0.

My laptop at least is on port 1 so of course it did not match.

 

It might be helpful to know what others have.

 

[EDIT -- 1st test of modified Peregrine with output on port 0 to VGA/DVI and port 1 to LVDS still hangs.

 

As external port is port 0, I'm thinking we need to get that working 1st, then work on internal display. Seems silly since who really cares about external display on laptop.

 

Another thought is to disable port 0 as in Sphyrna]

 

[EDIT -- attached is 10.6.6 ATIFramebuffer with Peregrine mod to be VGA on port 0 and LVDS port 1, with my senseid

Some people wanted to test.

 

I still have no joy.

 

I have injected my EDID and my video ROM via com.apple.boot.plist

I have used GraphicsEnabler=y, also DSDT to inject Peregrine both at PCI0 and at AGP

I have tried switching to external monitor prior to Chameleon, and booting with that as primary display

 

In all cases the system fully boots without KP -- I have it set to make an audio tone when done -- but the graphics subsystem fails to start.

 

Currently, I am out of ideas and have switched again back to dongs FB.]

Link to comment
Share on other sites

 Share

×
×
  • Create New...