The state of 3D using the RSX

Investigation into how Linux on the PS3 might lead to homebrew development.

Moderators: cheriff, emoon

Post Reply
aegiswings
Posts: 10
Joined: Wed Jan 09, 2008 1:44 am

The state of 3D using the RSX

Post by aegiswings »

I'm relatively new to PS3 development having just bought a PS3 and installed ubuntu on it about a week ago. My PS3 is at 2.00 and I'm not going to upgrade it to 2.10 for the obvious reasons.

I have a lot of experience with NVIDIA's GPUs (my day job is writing OpenGL drivers for a GPU very similar to the RSX) and I'd like to help out with libraries for using the RSX if I can. I've heard that there is a fair amount of progress made on 3D support which I'm guessing came from the Nouveau project. What is left to have real 3D functionality on the PS3 now? What prevents us from running aiglx and a compositing window manager (like Compiz)? Why are we still stuck in the world of a coupld of demos and no real applications yet?
IronPeter
Posts: 207
Joined: Mon Aug 06, 2007 12:46 am
Contact:

Post by IronPeter »

There is simple 3D API with vertex/index buffer support, texture support, shader compiler:

svn co svn://svn.ps2dev.org/ps3ware/trunk/libps3rsx libps3rsx

I do not know any difference between NV40 and RSX. I think that it is easy to port Nouveau high-level stuff. Just recompile it.

The main problem is DRI level stuff. I do not know any attempts to write DRI interface for PS3. You may try to implement DRI interfaces with pre-2.1 hw.

Some advanced features will be missed ( we do not have *outer* register access - TILE and ZCOMP setup can not be done ).
phaielip
Posts: 6
Joined: Fri Apr 11, 2008 11:36 pm

Post by phaielip »

ok, I don't want to open a new topic so I will use this one :
I'm trying to run the examples of the libps3rsx and I have some problems with that...
So first, if there is another topic speaking about my problems, just tell me, I'll check, but I haven't see them (the problem is that I don't speak nor read english very fluently, so I miss a lot of information when reading theses posts).

Ok here are my questions :
I'm using Kubuntu (7.10), with a playstation 3 60 Gb.
I've downloaded the libps3rsx folder, and all I think I needed to run the examples (libspe, ...)
But it don't run ! when I run all the exemples, my screen move to the left, and nothing happen...
when I force to quit, a segmentation fault appear.

I thought that's why I haven't applied the " Glaurung's kernel patch", but here is another problem : I can't find the "ps3fb.c" file on my system to apply the patch, and I don't even hnow were it is supposed to be ?
I think I miss a big thing, but I don't know why, is someone have an idea ?

another question is about the use of libps3rsx and the driver ps3rsx. When I try to run an example of libps3rsx, if the driver ps3 is activated, then an error message appeard "RSX is busy...".
So, it isn't possible to use libps3rsx when the ps3 driver is executed ?

i'm sorry for the bad english...
ldesnogu
Posts: 94
Joined: Sat Apr 17, 2004 10:37 pm

Post by ldesnogu »

phaielip wrote:I thought that's why I haven't applied the " Glaurung's kernel patch", but here is another problem : I can't find the "ps3fb.c" file on my system to apply the patch, and I don't even hnow were it is supposed to be ?
It's in the kernel sources (first hit with google :-) )
Laurent
phaielip
Posts: 6
Joined: Fri Apr 11, 2008 11:36 pm

Post by phaielip »

Hum, ok, I already know that. but my problem is that, in the kernel sources, I can find the ps3fb.h file, I can find the ps3fb driver, but I don't have any ps3fb.c file to patch...
when I try to find this file :

Code: Select all

playstation@localhost:/$ sudo find / -name *ps3fb* -print

/usr/include/asm/ps3fb.h
/usr/src/linux-headers-2.6.22-14/include/asm-powerpc/ps3fb.h
/usr/src/linux-headers-2.6.22-14-powerpc/include/asm-powerpc/ps3fb.h
/usr/src/linux-headers-2.6.22-14-powerpc64-smp/include/asm-powerpc/ps3fb.h
/sys/module/ps3fb
/sys/bus/ps3_system_bus/drivers/ps3fb
/proc/irq/22/ps3fb
/home/playstation/.kde/share/apps/RecentDocuments/ps3fb.diff.desktop
/home/playstation/Desktop/ps3fb.diff
That's what I have when I am looking on my ubuntu.
I had the same thing (nearly) whith my old Yellow dog
ldesnogu
Posts: 94
Joined: Sat Apr 17, 2004 10:37 pm

Post by ldesnogu »

It seems you only have the kernel headers installed, not the source.
Laurent
phaielip
Posts: 6
Joined: Fri Apr 11, 2008 11:36 pm

Post by phaielip »

that's it, and I've been looking the source for one day, I have found ps3fb.c on the net, but... How should I install it ?
ldesnogu
Posts: 94
Joined: Sat Apr 17, 2004 10:37 pm

Post by ldesnogu »

phaielip wrote:that's it, and I've been looking the source for one day, I have found ps3fb.c on the net, but... How should I install it ?
No... You have to install the kernel source package (sorry don't know how to do that for Ubuntu, I only use rpm based distros).

I am afraid that if you don't know what I mean, then you should refrain from playing that game, because the next step will be kernel configuration, then kernel compilation, then installation for booting that kernel.
Laurent
phaielip
Posts: 6
Joined: Fri Apr 11, 2008 11:36 pm

Post by phaielip »

don't worry, I know what you mean. But, the thing is that I don't find any package whith that ps3fb...
well, I haven't use Linux for a while, so I'm just missing something I don't remember... that's makes me crazy !
I think I will try a debian or a gentoo... It will be more efficient than a ubuntu... even if I have to compile the kernel or whatever else.
ldesnogu
Posts: 94
Joined: Sat Apr 17, 2004 10:37 pm

Post by ldesnogu »

That's a bit extreme :)

Try something like this: apt-get install linux-source-2.6.12 (replacing the version number with the kernel you have).
But if you really don't feel at home using Ubuntu, I am not sure other distros will make it easier for you.

I am not trying to look negative, I just warn you ;)
Laurent
androvsky
Posts: 33
Joined: Sun Nov 11, 2007 5:59 am

Post by androvsky »

Agreed, stick with Ubuntu. You'll have much more trouble with other distros, I promise :)

try: apt-get install linux-source-`uname -r`
IronPeter
Posts: 207
Joined: Mon Aug 06, 2007 12:46 am
Contact:

Post by IronPeter »

Now you do not need to modify kernel sources.

Init kernel module is integrated into libps3rsx package. Just run cd src/init && ./startup.sh
from libps3rsx root.
phaielip
Posts: 6
Joined: Fri Apr 11, 2008 11:36 pm

Post by phaielip »

Ok, it works, I just missed the startup.sh... didn't see him !
thanks ironPeter. Now I'll check what I fun I could find with that !
Post Reply