Jump to content

Radeon Xpress 200M


thedopefishlives
 Share

483 posts in this topic

Recommended Posts

I'd like to help with your development as well, Slice. I tried installing the port of PCUtils, but I can't find it on my system. How do I go about building the Tiger version? Or is there a Tiger installer available?

It's a pity there is no PCIUtils for Tiger. I have no time to correct it. May be joblo will make it?

Can you try the combination:

AGPGart249+ATIRadeon9700(info.plist patched)+RadeonTools-Callisto? Yes, without Callisto!

Link to comment
Share on other sites

Guest Neutron16
Can you try the combination:

AGPGart249+ATIRadeon9700(info.plist patched)+RadeonTools-Callisto? Yes, without Callisto!

By ATIRadeon9700(info.plist patched) you mean this method, don't you?

http://forum.insanelymac.com/index.php?sho...adeon9700+patch

 

ANd I was unable to find method of AGPGart249 installation. Which folder I should install it?

Is it ok to use kextInstaller? Do I need to change smth in Redeon tools pakage?

 

I have ati radeon xpress 1150 (psi). devid 5975

Link to comment
Share on other sites

slice:

 

"2 enzobelmont

I create AGPGart 2.4.9 that might works with your configuration. Look here<A href="http://forum.insanelymac.com/index.php?showtopic=71308""'>http://forum.insanelymac.com/index.php?showtopic=71308"" target="_blank">http://forum.insanelymac.com/index.php?showtopic=71308"

 

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

 

it didnt work... sorry

 

ioreg -l -x -w 1024 >ioreg.txt was dumped here! :(

 

ioreg link

 

can you tell me please if callisto is a problem to get this GART working??

 

if this is true, can you give me directions to disable it?

 

by the way, here are my opengl viewer results using your agpGart

 

thanks in advance.

 

ps:

in my dmesg:

 

AGP: Found ATI RS400 AGP bridge for AMD

AGPGart: startAGP: ERROR! Capability offset not found

 

any idea??

Link to comment
Share on other sites

it didnt work... sorry

There is a problem...

ioreg -l -x -w 1024 >ioreg.txt was dumped here! :)

Thnx for new information. I write AGP driver thinking that chipset 0x5a3f is for AMD CPU but you have Intel :P

can you tell me please if callisto is a problem to get this GART working??

I am not sure but for me AGPGart and Callisto is incompatible

if this is true, can you give me directions to disable it?

In MacOSX kexts can be disabled and enabled simple by move it out of /System/Library/Extensions/ and back.

Don't forget repair permissions and delete kextcache.

by the way, here are my opengl viewer results using your agpGart

Not interesting because of software OpenGL

<CPU>1.79 GHz Intel 80486</CPU>
<Vendor>Apple Computer, Inc.</Vendor>
<Version>2.1 APPLE</Version>
<GLSLVersion>1.20</GLSLVersion>
<Renderer>Apple Software Renderer</Renderer>

But I see explicitly Intel processor.

in my dmesg:

 

AGP: Found ATI RS400 AGP bridge for AMD

AGPGart: startAGP: ERROR! Capability offset not found

 

any idea??

Yes, I need to rewrite AGP for Intel CPU.

Link to comment
Share on other sites

no, i've not an intel CPU, its an AMD sempron 3000+

 

but leopard report it as unknow in about this mac dialog.

 

i tried again removing callisto kext and callisto* (all of the files with callisto in its name), and it didn't worked.

 

 

 

sorry my english and thanks in advance.

Link to comment
Share on other sites

no, i've not an intel CPU, its an AMD sempron 3000+but leopard report it as unknow in about this mac dialog.i tried again removing callisto kext and callisto* (all of the files with callisto in its name), and it didn't worked.sorry my english and thanks in advance.
Thank you for clarification about CPU. Now I understand that with this chipset some users have AMD64 that works one way and another have sempron that works else way. It is essential for my AGP driver.But another question was arised.
AGP: ERROR! Capability offset not found

So this bus is not AGP bus ?! While in ioreg I found

	| |   +-o AGP@1  <class IOPCIDevice, registered, matched, active, busy 0, retain count 10>	| |   | | {

How can I interpret it?

 

2 all. I am not going to make the patch for 9700 cause it needs to quickly check variants that I can't do.I am waiting for other hacker to work.

By ATIRadeon9700(info.plist patched) you mean this method, don't you?http://forum.insanelymac.com/index.php?sho...adeon9700+patch
No, Koverg patch is wrong for Radeon200M
ANd I was unable to find method of AGPGart249 installation. Which folder I should install it?Is it ok to use kextInstaller? Do I need to change smth in Redeon tools pakage?
Simply drag a kext to /System/Library/Extensions and repair permissions as usual
I have ati radeon xpress 1150 (psi). devid 5975
Sorry, this devid is still unsupported.Send me your ioreg from the command

ioreg -l -x -w 2048 >ioregNeutron.txt

Link to comment
Share on other sites

Thank you for clarification about CPU. Now I understand that with this chipset some users have AMD64 that works one way and another have sempron that works else way. It is essential for my AGP driver.But another question was arised.
AGP: ERROR! Capability offset not found

So this bus is not AGP bus ?! While in ioreg I found

    | |   +-o AGP@1  <class IOPCIDevice, registered, matched, active, busy 0, retain count 10>    | |   | | {

How can I interpret it?

 

remember, when i run lspci, it shows PCIE (pciexpress?)

 

 

here is the line:

 

01:05.0 VGA compatible controller: ATI Technologies Inc Radeon XPRESS 200M 5955 (PCIE)

 

 

thanks for your effort.

Link to comment
Share on other sites

x200 linux radeon driver info

 

this may be useful.

 

:D

I can't say you how it is useful :D

It may be twice useful if I shall enter a contact with the author of the article.

Thank you very much!

 

OK! It is really PCIe so you not need AGP driver. MacOSX good works with PCIe bus. You need patched 9700driver and probably injector like natit.

For example this one

http://forum.insanelymac.com/index.php?act...st&id=19212

Try to play with it's info.plist.

Link to comment
Share on other sites

Thnx enzobelmont for the link!

I found the great difference between 9700 driver and 200M

9700 uses indirect registers 30, 34 to install gart table

loc_176C2:			; CODE XREF: __ZN13ATIRadeon970025setup_R300_internal_spaceEv+CAj
	mov	[ecx+8C4h], esi
	mov	ebx, [ecx+8E8h]
	add	ebx, esi
	mov	eax, [ebp+var_18]
	mov	dword ptr [eax+30h], 13h
	mov	edx, [ecx+9DCh]
	mov	eax, [ecx+87Ch]
	mov	[eax+34h], edx
	mov	eax, [ecx+87Ch]
	mov	dword ptr [eax+30h], 17h
	mov	eax, [ecx+87Ch]
	mov	dword ptr [eax+34h], 0
	mov	eax, [ecx+87Ch]
	mov	dword ptr [eax+30h], 16h
	mov	eax, [ecx+834h]
	shl	eax, 0Ah
	add	eax, [ecx+8C0h]
	mov	edx, [ecx+87Ch]
	mov	[edx+34h], eax
	mov	eax, [ecx+87Ch]
	mov	dword ptr [eax+30h], 15h
	mov	eax, [ecx+87Ch]
	mov	dword ptr [eax+34h], 0
	mov	eax, [ecx+87Ch]
	mov	dword ptr [eax+30h], 14h
	mov	edx, [ecx+8C0h]
	mov	eax, [ecx+87Ch]
	mov	[eax+34h], edx
	mov	eax, [ecx+87Ch]
	mov	dword ptr [eax+30h], 12h
	mov	eax, [ecx+87Ch]
	mov	dword ptr [eax+34h], 0
	mov	eax, [ecx+87Ch]
	mov	dword ptr [eax+30h], 11h

But in Linux traces

write32	18 at 168	<--- indirect register
read32	0 at 16c	 <--- read of 0x18 register
write32	7f at 168	<---- in direct (0x7f)
write32	118 at 168   
write32	1000 at 16c <--- write 0x1000 to 0x18
write32	7f at 168
write32	138 at 168
write32	5 at 16c	 <--- write 0x5 to 0x38
write32	7f at 168
write32	2b at 168
read32	0 at 16c
write32	7f at 168
write32	12b at 168
write32	42040800 at 16c  <--- write 0x42040800 to 0x2b
write32	7f at 168
write32	12c at 168
write32	1baa0000 at 16c  <--- write 0x1baa000 to 0x2c - gart table
write32	7f at 168
write32	39 at 168
read32	1400000 at 16c
write32	7f at 168
write32	139 at 168
write32	1400000 at 16c  <-- write 0x1400000 to 0x39

That is CHIP RS480 uses 168, 16c as indirect registers for PCIe Gart table.

It is not a complete solution and needs a hard work with testings but it is a way!

Link to comment
Share on other sites

DEVID : 5A62 Processor : Core Duo

 

Radeon Xpress 200M on a Core Duo system, am I in the right place to try and help with the development of a possible working method for QE/CI in Leopard for the Xpress 200M Graphics Chipset?

 

If so, give me some instructions and I can do as much as possible, short of writing the workarounds themselves.

Link to comment
Share on other sites

DEVID : 5A62 Processor : Core Duo

 

Radeon Xpress 200M on a Core Duo system, am I in the right place to try and help with the development of a possible working method for QE/CI in Leopard for the Xpress 200M Graphics Chipset?

 

If so, give me some instructions and I can do as much as possible, short of writing the workarounds themselves.

Read post #66 and nexts.

Link to comment
Share on other sites

mmmh, in this driver we just have the source-code for the linux-trace above..

isn't this easier than to debug? (these are the normal git-sources, i think that

sidux-guy has better sources?)

 

drm/linux-core/radeon_cp.c:

 

if (on) {

DRM_DEBUG("programming igpgart %08X %08lX %08X\n",

dev_priv->gart_vm_start,

(long)dev_priv->gart_info.bus_addr,

dev_priv->gart_size);

 

RADEON_WRITE_IGPGART(RADEON_IGPGART_UNK_18, 0x1000);

RADEON_WRITE_IGPGART(RADEON_IGPGART_ENABLE, 0x1);

RADEON_WRITE_IGPGART(RADEON_IGPGART_CTRL, 0x42040800);

RADEON_WRITE_IGPGART(RADEON_IGPGART_BASE_ADDR,

dev_priv->gart_info.bus_addr);

 

temp = RADEON_READ_IGPGART(dev_priv, RADEON_IGPGART_UNK_39);

RADEON_WRITE_IGPGART(RADEON_IGPGART_UNK_39, temp);

 

RADEON_WRITE(RADEON_AGP_BASE, (unsigned int)dev_priv->gart_vm_start);

dev_priv->gart_size = 32*1024*1024;

radeon_write_agp_location(dev_priv,

(((dev_priv->gart_vm_start - 1 +

dev_priv->gart_size) & 0xffff0000) |

(dev_priv->gart_vm_start >> 16)));

 

temp = RADEON_READ_IGPGART(dev_priv, RADEON_IGPGART_ENABLE);

RADEON_WRITE_IGPGART(RADEON_IGPGART_ENABLE, temp);

 

RADEON_READ_IGPGART(dev_priv, RADEON_IGPGART_FLUSH);

RADEON_WRITE_IGPGART(RADEON_IGPGART_FLUSH, 0x1);

RADEON_READ_IGPGART(dev_priv, RADEON_IGPGART_FLUSH);

RADEON_WRITE_IGPGART(RADEON_IGPGART_FLUSH, 0x0);

}

}

 

including the gart-adresses

drm/shared-core/radeon_drv.h

 

#define RADEON_IGPGART_INDEX 0x168

#define RADEON_IGPGART_DATA 0x16c

#define RADEON_IGPGART_UNK_18 0x18

#define RADEON_IGPGART_CTRL 0x2b

#define RADEON_IGPGART_BASE_ADDR 0x2c

#define RADEON_IGPGART_FLUSH 0x2e

#define RADEON_IGPGART_ENABLE 0x38

#define RADEON_IGPGART_UNK_39 0x39

Link to comment
Share on other sites

mmh, does this guy have some kind of DRI working with x200m???

http://www.sidux.com/PNphpBB2-viewtopic-t-3934.html

 

yes, in "linux world" the open driver developers have achieved DRI on x200, but it is still experimental and very unstable, AMD has released a pack of specifications (google it), bou nothing about 3D on x200, unfortunately i'm not able to contact developers, maybe we need some kind of miracle, or a little of luck.

Link to comment
Share on other sites

mmh, i thought the whole DRI wiki article is about getting the igpgart right, and i think

the sources do have it right now. i think re-programming opengl-stuff inside the driver

itself, is a little bit of an impossiblity-- if the 3d of ati9700drivers don't work for us,

we have a big problem, houston.

Link to comment
Share on other sites

mmh, i thought the whole DRI wiki article is about getting the igpgart right, and i think

the sources do have it right now. i think re-programming opengl-stuff inside the driver

itself, is a little bit of an impossiblity-- if the 3d of ati9700drivers don't work for us,

we have a big problem, houston.

Linux sources is proved but as usual buggy.

At least it works for me (mergedfb + 3d) so i don`t need fglrx

With glxgears i get about 540 FPS which is only 100 FPS less than fglrx FPS.

And 3d a a bit buggy. PPrace and ET work nicly but Compiz has some problems atm.

 

 

Code:

 

~$ infobash -v

Host/Kernel/OS "semo" running Linux 2.6.21.1-slh-up-5 i686 [ sidux-20070105-d:3 ]

CPU Info Mobile AMD Sempron 3100+ clocked at [ 1800.000 MHz ]

Videocard ATI ATI Radeon XPRESS 200M 5955 (PCIE) X.Org 1.3.0 [ 2048x768 @304hz ]

Processes 136 | Uptime 1:35 | Memory 277.7/630.3MB | HDD Size 40GB (77%used) |

GLX Renderer Mesa DRI R300 20060815 x86/MMX+/3DNow!+/SSE2 NO-TCL | GLX Version 1.3 Mesa 7.1 |

Look - he use driver R300!

We have ready to use OpenGL driver - ATIRadeon9700*, OpenGL.framework, IONDRVSupport, IOGraphicsFamily. We don't need to rewrite all of them.

As I think only ATIRadeon9700.kext, and only setup_internal_space routine in it. It is not a large place, no more then 100 commands. And we have information from Linux what are the right commands.

OpenGL uses gart table - now we know where it is, and texture memory - not a problem to choose configuration in shared memory.

Link to comment
Share on other sites

Linux sources is proved but as usual buggy.

 

Look - he use driver R300!

We have ready to use OpenGL driver - ATIRadeon9700*, OpenGL.framework, IONDRVSupport, IOGraphicsFamily. We don't need to rewrite all of them.

As I think only ATIRadeon9700.kext, and only setup_internal_space routine in it. It is not a large place, no more then 100 commands. And we have information from Linux what are the right commands.

OpenGL uses gart table - now we know where it is, and texture memory - not a problem to choose configuration in shared memory.

 

well, then i hope you'll find the time and fun to finish the x200m-beast ;)

i peaked with ida pro into radeon9700, but to understand what all

these different subroutines do, is a no-go for me at the moment.

however, as mentioned, we'll try to assist you in any way possible,

though personally i wont have much time in the coming weeks :rolleyes:

Link to comment
Share on other sites

well, then i hope you'll find the time and fun to finish the x200m-beast :)

i peaked with ida pro into radeon9700, but to understand what all

these different subroutines do, is a no-go for me at the moment.

however, as mentioned, we'll try to assist you in any way possible,

though personally i wont have much time in the coming weeks :(

I see you are trying to look at assembler codes. Next step - try to change anything with hte.sf.net.

You have no time? Ok, we wait.

You dunno what to do? I can tell.

Link to comment
Share on other sites

naah ok, this *will* take definietly month until i get it finished.

and before i should learn something what (the f***) gart is and

how it is adressed. what you can tell me, or if you have some

link that would be quite good, what these different routines are

for in the kext.

by tracing the drm-sources and hoping that the true driver

will act similarly, i obviously have the problem that i have to

"inject" the igp-gart-setup. the linux-driver does init this first,

then it inits pciegart. i assume by the linux-driver specs

that by using devid 5460=RV380 the difference to x200

is "IS_IGP" and "IS_IGPGART"-- and that the RV380

driver therefore has to init pciegart but not igpgart. i'm quite

skeptical how this works, i'd have to insert new code inside

a asm-object, so mainly have to relocate a lot code/data?

can you tell me how this works?

 

i'm on holidays now, and won't be able to answer till

about mid january, i guess.

Link to comment
Share on other sites

 Share

×
×
  • Create New...