Jump to content

Mobility Radeon 9000 thread


hardboiledwonderland
 Share

445 posts in this topic

Recommended Posts

From what I know the 8500 driver never works.

 

I'm fiddling around with this stuff on a Thinkpad R50 with an i855-chipset. Actually it shows AGP in the sys profiler - could you perhaps explain the problem a little bit more? Just out of interest...

As I saw at AGPGart code it doesn't support your chipset DevID=0x3341

Look:

switch (dev) {

/* Intel -- vendor 0x8086 */

case 0x71808086:

return ("Intel 82443LX (440 LX) host to PCI bridge");

case 0x71908086:

return ("Intel 82443BX (440 BX) host to PCI bridge");

case 0x71a08086:

return ("Intel 82443GX host to PCI bridge");

case 0x71a18086:

return ("Intel 82443GX host to AGP bridge");

case 0x11308086:

return ("Intel 82815 (i815 GMCH) host to PCI bridge");

case 0x25008086:

case 0x25018086:

return ("Intel 82820 host to AGP bridge");

case 0x35758086:

return ("Intel 82830 host to AGP bridge");

case 0x1a218086:

return ("Intel 82840 host to AGP bridge");

case 0x1a308086:

return ("Intel 82845 host to AGP bridge");

case 0x25308086:

return ("Intel 82850 host to AGP bridge");

case 0x33408086:

return ("Intel 82855 host to AGP bridge");

case 0x25318086:

return ("Intel 82860 host to AGP bridge");

case 0x25708086:

return ("Intel 82865 host to AGP bridge");

case 0x255d8086:

return ("Intel E7205 host to AGP bridge");

case 0x25788086:

return ("Intel 82875P host to AGP bridge");

case 0x25608086:

return ("Intel 82845G host to AGP bridge");

case 0x35808086:

return ("Intel 82855GM host to AGP bridge");

};

 

return NULL;

}

Maybe you have more recent AGPGart? Have you such message during boot?

And next: this code assumes AGP@0 but you have AGP@1.

 

To be honest: I don't know :wacko: It's a remainder of my efforts getting the 7500-method to work. It comes from this thread: http://forum.insanelymac.com/index.php?sho...p;hl=radeontool

 

Strange tool! It is not registered so it is unusefull.

 

2 krazubu

 

The drivers and documentation will be released for ATI's Radeon HT2000 chipset and Radeon X1000 graphics processors and newer lines.

Sorry! But interesting...

Link to comment
Share on other sites

OpenATI project is a working sceleton for OSX. Why you can't download it from sourceforge?

For now I write only testing code to trace possible errors and understand why. To write a driver we need to know why previous one is not working.

 

I downloaded it but I can't see any references to opengl or qe.

 

As you know at the moment my card for 2d is supported by callisto the problem is 3d

 

Eddi

Link to comment
Share on other sites

I downloaded it but I can't see any references to opengl or qe.

 

As you know at the moment my card for 2d is supported by callisto the problem is 3d

 

Eddi

 

Yes, this driver contains only empty class ATIAccelerator, so one must to fill it with hardware OpenGL procedures derived from linux sources. It is not easy. I have no details.

 

2 jodo

I will check decently. I though having an AGP instead of PCI in the system profiler for the graphic device just says that AGP is active...?!

 

AGP is active but when AGPClient (such as 8500) talk with him it receives bad settings. I don't know about AGPGart for Intel bus. Look

// On system with high aperture, the IOGraphics makes strange problems.

// Aperture requested by OSX is always 128MB, so we use that default setting here,

// to make everyone happy. There were reports that this hack make ATIRadeon8500 to

// load.

Is there anybody happy with this AGPGart 2.2?

 

This version don't work with my ATI AGP bus. I tried to rewrite it but I don't know what to do with the statement

pciwrite32(target, ATI_ATTBASE, gartPhys);

I can't find any reliable address for ATI_ATTBASE.

Any other: INTEL, VIA, NFORCE, SIS, AMD are known but not for ATI.

 

Edited: Now I know! I rewrite AGPGart for ATI according to agp30.pdf but nothing change.

Link to comment
Share on other sites

I look at the forum http://x86dev.org and found that AGPGart never work with Intel chipset too!

Ok, I think I've got it. Thx for the explanation, I now can imagine what the dependcies between the drivers are! That really helps to understand the problem...

 

So there are two things to be done: a) get AGP to work properly and B) get the driver to work properly. Too sad that I just thought B) would be the problem ;-)

 

Concerning the radeontool I've checked the forum a little bit. It seems it just helps with powersaving features of the chip - I thin it is referring to this tool: http://fdd.com/software/radeon/

 

Concerning AGPart: It seems someone got it to work on intel chipsets: http://forum.insanelymac.com/index.php?showtopic=58678 - perhaps the approach gives some clues?!

Link to comment
Share on other sites

Ok, I think I've got it. Thx for the explanation, I now can imagine what the dependcies between the drivers are! That really helps to understand the problem...

 

So there are two things to be done: a) get AGP to work properly and :D get the driver to work properly. Too sad that I just thought B) would be the problem ;-)

 

Concerning the radeontool I've checked the forum a little bit. It seems it just helps with powersaving features of the chip - I thin it is referring to this tool: http://fdd.com/software/radeon/

 

Concerning AGPart: It seems someone got it to work on intel chipsets: http://forum.insanelymac.com/index.php?showtopic=58678 - perhaps the approach gives some clues?!

 

Thanks for new information. I shall study it.

 

With this gart try to use cracked 9700. But I think koverg patch is not correct.

Take ATIRadeon9700.kext v1.4.20. Make it writeable. Open with HexEdit 2.0 (freeware).

Search hex 3d504e00000f845e

replace by 3d664c00000f848d

Save

Write 0x4c661002 into Info.plist

Install (repairpermissions), try and report.

If you can't enter system do the follow:

boot with -v -s

/sbin/fsck -fy

/sbin/mount -uw /

sh /etc/rc

wait and press ctrl-c

ioreg -l -x >ioreg.txt

dmesg >dmesg.txt

mkdir /Off

mv -v /S*/L*/E*/ATIRadeon9700.kext /Off

reboot

show me these 2 .txt files

Link to comment
Share on other sites

what does it means the last byte (5e/8d) ?

 

Eddi

 

This is command to other fork. Probably it means CHIP=R300 but Mobility.

I am not sure that it helps us but may be.

 

2 Arthurson

i use ubuntu as well, and my 9000 have hardware opengl ability, it seems we can try to convert it for trying.

 

9000 have hardware OpenGL in Windows. So it is possible. But Linux uses own protocol for 3D. It is OpenGL-like. But I have no find any OpenGL commands in Linux sources.

 

p.s. I still have a problem with AGPGart. It sends zero address to AGPDevice and Radeon9700 show me RAM (adr=0) on the screen instead of VRAM (adr=e4000000). May be 9700 is not correct too.

Link to comment
Share on other sites

9000 have hardware OpenGL in Windows. So it is possible. But Linux uses own protocol for 3D. It is OpenGL-like. But I have no find any OpenGL commands in Linux sources.

 

p.s. I still have a problem with AGPGart. It sends zero address to AGPDevice and Radeon9700 show me RAM (adr=0) on the screen instead of VRAM (adr=e4000000). May be 9700 is not correct too.

 

try starting investigating glxinfo/glxgears http://www.xfree86.org/current/glxinfo.1.html

 

Glx module should be the interface between the hardware driver provided by DRI.

 

my ati Radeon 0x4c66 0x1002 should be a rv250 perhaps is the V the problem, so maybe we had to batch in a similar way the 8500 driver

 

http://www.suseitalia.org/modules/newbb/vi...931&forum=2

Radeon 8500 = R200

Radeon 9000 = RV250

Radeon 9x00 Mobile = M9(+)

http://pci-ids.ucw.cz/iii//?i=1002 (more info)

 

 

http://www.alientech.it/hardware/comparati...250Tecniche.htm (sorry is in italian)

 

V means value

 

Both should have 4 rendering pipeline

 

R200 Have 2 Texture unit

RV250 have 1 Texture unit

RV250 have lite version of pixel shader compared to R300

 

radeon_cp.c Load a microcode in ram that seems to be different between R200 and R300

 

By reading linux driver r300 need some registry initializations. perhaps osx with 9700 driver may hangs due to this initialization.

 

Why not use natit approch on ATIRadeon8500.kext?

perhaps we have only to activate right bytes

 

Ciao

Link to comment
Share on other sites

try starting investigating glxinfo/glxgears http://www.xfree86.org/current/glxinfo.1.html

In MacOSX we already have applications such as OpenGL Profiler, OpenGL Driver Monitor, VideoHardwareInfo and so on. I think we don't need something else.

my ati Radeon 0x4c66 0x1002 should be a rv250 perhaps is the V the problem, so maybe we had to batch in a similar way the 8500 driver

Till now I have no find a similar way for 8500. Searching...

There is no problem with V. I know that Radeon 0x4152 = RV350 works perfect with 9700 driver.

Links for download does not working.

Radeon 8500 = R200

Radeon 9000 = RV250

Radeon 9x00 Mobile = M9(+)

http://pci-ids.ucw.cz/iii//?i=1002 (more info)

I have a file with this information.

No new informations.

V means value

 

Both should have 4 rendering pipeline

 

R200 Have 2 Texture unit

RV250 have 1 Texture unit

RV250 have lite version of pixel shader compared to R300

 

radeon_cp.c Load a microcode in ram that seems to be different between R200 and R300

I hope the driver knows how to be.

By reading linux driver r300 need some registry initializations. perhaps osx with 9700 driver may hangs due to this initialization.

Some registry initialization may be performed by AGPGart. This is a first step that I must finish.

There is no common problem for all Radeon 9000/9100/9200. There are set of specific problems such as non-standart IGP BUS. Now I have a good linux driver for it and work on it.

 

Why not use natit approch on ATIRadeon8500.kext?

perhaps we have only to activate right bytes

 

It is very good idea. The existing natit works only on system 10.4.8 and later. But I can't install it for hardware incompatibilities. I have only 10.4.6. And I have no natit sources to recompile it.

And I want to have sources of Callisto.

 

Great work, dpeddi! Continue!

Link to comment
Share on other sites

It is very good idea. The existing natit works only on system 10.4.8 and later. But I can't install it for hardware incompatibilities. I have only 10.4.6. And I have no natit sources to recompile it.

And I want to have sources of Callisto.

 

You can find natit 0.2 source somewhere in this forum (http://forum.insanelymac.com/index.php?act=Attach&type=post&id=5739), but it works only for nvidia cards.

 

I haven't find source about natit_uni.

 

Eddi

Link to comment
Share on other sites

You can find natit 0.2 source somewhere in this forum (http://forum.insanelymac.com/index.php?act=Attach&type=post&id=5739), but it works only for nvidia cards.

 

I haven't find source about natit_uni.

 

Eddi

 

It is better than nothing but

bool

com_dmweb_Natit::init( OSDictionary *properties )

{

IOService::init(properties);

return true;

}

 

bool

com_dmweb_Natit::start( IOService * provider )

{

return true;

}

 

bool

com_dmweb_Natit::attach(IOService *provider)

{

return super::attach(provider);

}

 

:)

Link to comment
Share on other sites

Hi I also have a radeon mobility 9100 IGP. It sucks not having QE and hardware openGL, as without it Mac OS X isn't the same (safari even crashes sometimes when I visit websites with lots of moving graphics).

 

BTW excellent forum find Slice (spasibo!)

i've been browsing through some sections and this post may be of interest to you http://applelife.ru/index.php?showtopic=53...amp;#entry10427

 

apparently the guy posting it knows someone who got QE to work with a 7500 card (!!!). If that's the case then we certainly have hope, anyways check it out.

Link to comment
Share on other sites

This driver do nothing as you see from the sources. How can it help me?

 

Natit is not a driver, is an injector.

 

So:

init should read the Info.plist

probe:should recognize the card and start injecting

data to inject should be read from Info.plist

 

I suppose that if I would have a MacIntel developer platform equipped with a Ati Radeon 8500 it should be recognized with QE and OpenGL.

 

My card should be R200 based so I should use the ATIRadeon8500 driver since it recognize my card and should load into the card the right microcode but for a issue that I don't know yet, it don't bind correctly the display and the ATINDRV.kext.

 

My next step will be to try using natit_uni following some howto for ati radeon newest series.

 

I have seen that ATI released some specs, but we don't have specs about QE/CI/Opengl api used by OSX. All the driver I found are closed.

 

About RV350 is a different card and is based on newer design, different microcode and different initialization. Look at linux kernel driver!! There should be an explanation on why they choose to split driver in Radeon(R100) Radeon8500(R200) Radeon9700(R300)

 

For using Natit it may be useful to know internal Apple ATI codenames:

Perhaps this could be useful:

 

Inside ATIDriver.bundle I've found these codenames:

7500: Bluestone

8500: Xia

9000: RockHopper2

M9+/9200: Via

M10/9700: Jasper

M11: Snowy

 

Inside ATIDriverRundimeDriver.bundle I've found these codenames:

R200id RADEONp RADEONr RV100ad Radeon9000i

Rage128n Rage128ns Rage 128o Rage128v

 

After some readings, it seems that AppleNDRV is absolutly not usable under x86 architecture

 

Eddi

Link to comment
Share on other sites

Natit is not a driver, is an injector.

As I propose CallistoHAL is injector too.

My next step will be to try using natit_uni following some howto for ati radeon newest series.

OK! If you want I remade natit-0.2 to work with ATI under MacOSX 10.4.x. Take it!

Try to change its Info.plist and use it with different combination of the rest of drivers

ATINDRV, AppleNDRV or IONDRV... -- framebuffer

ATIRadeon8500 or else. -- Accelerator

AGPGart, HackintoshAGP or else -- driver for AGP bus, but I don't know any working driver

Don't use Callisto, it is replaced by natit.

 

 

 

I have seen that ATI released some specs, but we don't have specs about QE/CI/Opengl api used by OSX. All the driver I found are closed.

 

About RV350 is a different card and is based on newer design, different microcode and different initialization. Look at linux kernel driver!! There should be an explanation on why they choose to split driver in Radeon(R100) Radeon8500(R200) Radeon9700(R300)

You are right but I saw a good picture of RAM (instead of VRAM) with my RS300 by 9700 driver. So I hope R300 driver may play with my card. When I shall have a good AGP driver I try both 8500 and 9700.

As I know ATI Radeon successfully work only with PCI or PCIe buses.

 

For using Natit it may be useful to know internal Apple ATI codenames:

Perhaps this could be useful:

 

Inside ATIDriver.bundle I've found these codenames:

7500: Bluestone

8500: Xia

9000: RockHopper2

M9+/9200: Via

M10/9700: Jasper

M11: Snowy

 

Inside ATIDriverRundimeDriver.bundle I've found these codenames:

R200id RADEONp RADEONr RV100ad Radeon9000i

Rage128n Rage128ns Rage 128o Rage128v

 

After some readings, it seems that AppleNDRV is absolutly not usable under x86 architecture

 

Eddi

Good observation!

Link to comment
Share on other sites

Oh oh progress progress...and I'm fighting with missing drivers...could someone perhaps provide me with the Ati9700.kext? It's not part of my install disk...thx

 

BTW - my laptop refused to boot when I use the generic battery. Weird, isn't it? I discovered it when installing it again and again...

Link to comment
Share on other sites

Oh oh progress progress...and I'm fighting with missing drivers...could someone perhaps provide me with the Ati9700.kext? It's not part of my install disk...thx

Take it! It is non-patched version 1.4.20

BTW - my laptop refused to boot when I use the generic battery. Weird, isn't it? I discovered it when installing it again and again...

Sorry, I don't know... :(

 

Other news from BeOS Open ATI driver

the driver offers full 2D acceleration but no 3D acceleration; neither standard BeOS nor Dano supports HW OpenGL, only the OpenGL beta does, so only a few could use that feature; additionally, there is no driver interface published by Be, so even if I had enough time to write an OpenGL driver, I wouldn't know how to do that under BeOS)

 

Is there anyone who collect here all working combinations of Chipset+Radeon(QE/CI supported)?

Preferably with DevIDs

Link to comment
Share on other sites

Take it! It is non-patched version 1.4.20

 

Thx for the files! I've tried the patch with a fresh install of OSX, callisto B003 and the intel AGPgart version. Result: when using a resolution different from 1024x768 (my native is 1400x1050) the screen got blue when loading loginwindow and switching resolution. when using XGA resolution, the system boots up fine, but it seems opengl is absent - flurry shows just a white screen. the gui is somewhat slower than wi/o the ati9700.kext. when trying to change the resolution, the system freezes. profiler shows no qe and no ci...

 

attached find the ioreg and the dmesg.... if you need some more info or if you want me to test a different setup, I will...

 

PS: I've just seen that the dmesg.txt does not contain any meaningful information for the task...sorry

dmesg.txt

ioreg.txt

Link to comment
Share on other sites

ATI Mobility Radeon 9250 And lower Do not Support Core Image because of the Pixel shader (CI requires 3.0 or 2.0 to use it)

 

From What i've learned about the Old Apple iBooks, They Had that Same Chip for it, (Quartz Extreme Supported) But that was a LONG time ago (beginning of 2000+) and a Diffrent Archtechture. From what i've tried

 

The ATI9700.kext and the others associated with it (9700) are not Compatible with our cards (AGP, IGP, PCI) Because The 9700 Card requires hardware not present on the 9000 card. (like Pixel shade 2.0) And new Hardware. I'd stick to the 8500 kext because from what i've looked up. (wikipedia) the 9000 is part of the 8500 series, The 9000 has some Tiny new features to it that the 8500 didn't. So Stick with the 8500 kexts.

 

~FreakyMac

Link to comment
Share on other sites

 Share

×
×
  • Create New...