Sponsored Links

PS4 News on Facebook! PS4 News on Twitter! PS4 News on YouTube! PS4 News RSS Feed!
Sponsored Links
Sponsored Links
Home PS4 News - Latest PlayStation 4 and PS3 News

OedipusRSX PS3 RSX Reality Synthesizer Documentation Surfaces


Sponsored Links
190w ago - Today Sony PlayStation 3 hacker durandal has released OedipusRSX PS3 RSX Reality Synthesizer documentation for other developers to improve graphics utilized in PS3 homebrew applications and games.

Download: OedipusRSX PS3 RSX Documentation / OedipusRSX PS3 RSX Documentation (Mirror)

Below is some background on the PS3 RSX 'Reality Synthesizer' via Wikipedia, as follows:

The RSX 'Reality Synthesizer' is a proprietary graphics processing unit (GPU) codeveloped by Nvidia and Sony for the PlayStation 3 game console.

Unless otherwise noted, the following specifications are based on a press release by Sony at the E3 2005 conference, slides from the same conference, and slides from a Sony presentation at the 2006 Game Developer's Conference.

Specifications:

  • 500 MHz on 90 nm process (shrunk to 65 nm in 2008 and to 40 nm in 2010)
  • Based on NV47 Chip (Nvidia GeForce 7800 Architecture)
  • 300+ million transistors
  • Multi-way programmable parallel floating-point shader pipelines
  • Independent pixel/vertex shader architecture
  • 24 parallel pixel-shader ALU pipes clocked @ 550 MHz
  • 5 ALU operations per pipeline, per cycle (2 vector4 , 2 scalar/dual/co-issue and fog ALU, 1 Texture ALU)
  • 16 floating-point operations per pipeline, per cycle
  • 8 parallel vertex pipelines @ 500 MHz
  • 2 ALU operations per pipeline, per cycle (1 vector4 and 1 scalar, dual issue)[citation needed]
  • 10 FLOPS per pipeline, per cycle
  • Floating Point Operations: 251.2 Gigaflops [(24*16* 550)+(8*10*500)]
  • 74 billion shader operations per second [(24 Pixel Shader Pipelines*5 ALUs*550 MHz) + (8 Vertex Shader Pipelines*2 ALUs*500 MHz)]
  • 24 texture filtering units (TF) and 8 vertex texture addressing units (TA)
  • 24 filtered samples per clock
  • Maximum texel fillrate: 12.0 GigaTexels per second (24 textures * 500 MHz)
  • 32 unfiltered texture samples per clock, (8 TA x 4 texture samples)
  • 8 Render Output units / pixel rendering pipelines
  • Peak pixel fillrate (theoretical): 4.0 Gigapixel per second
  • Maximum Z sample rate: 8.0 GigaSamples per second (2 Z-samples * 8 ROPs * 500 MHz)
  • Maximum Dot product operations: 28.6 billion per second
  • 128-bit pixel precision offers rendering of scenes with High dynamic range rendering (HDR)
  • 256 MB GDDR3 RAM at 650 MHz
  • Access to additional 256 MB XDR RAM
  • 128-bit memory bus width
  • 22.4 GB/s read and write bandwidth
  • Cell FlexIO bus interface
  • 20 GB/s read to the Cell and XDR memory
  • 15 GB/s write to the Cell and XDR memory
  • Support for PSGL (OpenGL ES 1.1 + Nvidia Cg)
  • Support for S3TC texture compression

Finally, according to a rumor via Squarepusher2, Mathieulh of Gitbrew's (irssi, /connect -ssl irc.gitbrew.org) Sony PlayStation 3 Hacking Team also gave Durandal the coveted PS3 CEX-DEX.zip file without permission from PS3 hacker RichDevX.

To quote: BTW Mathieulh I know you gave durandal (Durandal Dokuchayev) that CEX-DEX ZIP, that it wasn't you that bundled that up, and you were not supposed to do so either

[Mathieulh] (mathieulh@oper.gitbrew.org): mathieu
[Mathieulh] &#otheros #opers &#pspdev
[Mathieulh] *.gitbrew.org :Gitbrew
[Mathieulh] is a Deus on Gitbrew
[Mathieulh] is logged in as Mathieulh
[Mathieulh] is using a secure connection
[Mathieulh] idle 00:02:07, signon: Tue Aug 30 13:52:59
[Mathieulh] End of WHOIS list.


OedipusRSX PS3 RSX Reality Synthesizer Documentation Surfaces

Stay tuned for more PS3 Hacks and PS3 CFW news, follow us on Twitter, Facebook and drop by the PS3 Hacks and PS3 Custom Firmware Forums for the latest PlayStation 3 scene and PlayStation 4 scene updates and fresh homebrew PS3 Downloads. Enjoy!

Comments 23

• Please Register at PS4News.com or Login to make comments on Site News articles.
 
#13 - shummyr - 186w ago
shummyr's Avatar
this is great and an awesome step forward in making linux better for the ps3.

#12 - Neo Cyrus - 186w ago
Neo Cyrus's Avatar
It was only a matter of time before an RSX driver rolled around. Too bad it's all a little more complicated than most would like. Though now I suppose the waiting game repeats, someone will make a simple installer sooner or later.

#11 - PS4 News - 186w ago
PS4 News's Avatar
Following their OedipusRSX PS3 RSX Reality Synthesizer Documentation, today daxgr via Gitbrew has released a PS3 RSX driver for FreeBSD via OtherOS++ CFW which is essentially a Linux kernel module.

Download: PS3 RSX Driver for FreeBSD via OtherOS++ CFW / PS3 FreeBSD LiveCD iSO (1920x1080 Resolution) / PS3 FreeBSD LiveCD iSO (Mirror)

To quote: Well I am pleased to announce that RSX Driver for FreeBSD is released. The RSX driver is the product of hard work by durandal and glevand, who gave up many hours to accomplish this. So here you go, the link for the RSX driver: http://git.gitbrew.org/~glevand/ps3/linux/ps3rsx.tar.gz

On a side note, may I add that contrary to public belief for 5 YEARS, the RSX doesnt not rely on DMA to process graphics, but rather uses PPU instructions to push objects to RSX VRAM. So yeah another breakthrough by the team who scammed everyone. Gitbrew.

PS: To all those who started complaining about this noble effort to enable RSX on OtherOS(/++) , such as "gitbrew is a scam" or "they are just SDK samples", check out the date of the file.

Gitbrew was always about developing things for developers AND users alike. Sadly, users don't always appreciate the effort, a simple omission to include the release URL, that was due to durandals medical condition and glevans personal issues, seems to be enough

Well keep that in mind, Gitbrew gave their word to release a RSX driver and succeeded; anyone who had cared to browse glevands directory WITHIN 24 HOURS of the donations would have seen it.

Source Code:

[Register or Login to view code]


Below is a guide from: portal.gitbrew.org/wikibrew/PS3:FreeBSD

PS3 FreeBSD

FreeBSD OtherOS++

FreeBSD can be run on PS3 Slim models from HDD with OtherOS++.

All the freebsd related files should be available here: http://gitbrew.org/~glevand/ps3/freebsd/

Cross-Compiling

You can skip this step and use my precompiled FreeBSD world and kernel:

http://gitbrew.org/~glevand/ps3/freebsd/ps3_freebsd_world.tar.gz
http://gitbrew.org/~glevand/ps3/freebsd/kernel/
http://gitbrew.org/~glevand/ps3/freebsd/loader-1080x1920.ps3

You need a running FreeBSD system to cross-compile your PS3 FreeBSD world and kernel, you don't need a PS3 for that, it may be a different architecture. Once this step is done and you have a running FreeBSD system on your PS3 , you can build FreeBSD world and kernel on PS3 itself.

[Register or Login to view code]


When it's finished then you will have a complete FreeBSD world with kernel in directory $HOME/ps3_world.

Rebuilding Loader

If you want to recompile ONLY FreeBSD loader then after you finished compiling FreeBSD world and kernel, do this:

[Register or Login to view code]


Rebuilding Kernel

If you want to recompile ONLY FreeBSD kernel then after you finished compiling FreeBSD world and kernel, do this:

[Register or Login to view code]


Installation

To install a FreeBSD world on your PS3, you will need a running Linux system first currently. Once i build a LiveCD for PS3 FreeBSD you won't need that anymore. I used Debian to install my FreeBSD on PS3.

First create UFS2 filesystem for your FreeBSD. I assume that there is already a free partition on the HDD of your PS3.

[Register or Login to view code]


Then mount it on Debian and copy your PS3 FreeBSD world to this partition, like this:

[Register or Login to view code]


Booting

FreeBSD on PS3 is booted by the FreeBSD loader which can be executed by petitboot with kexec. The FreeBSD loader is built during cross-compiling of the FreeBSD world and kernel or you can use my precompiled version. It supports booting of FreeBSD from HDD. My precompiled version boots a FreeBSD kernel from ps3dd3. The HDD partition from which it boots a FreeBSD kernel is hardcoded, if you want to use another HDD partition then you have to change it in the loader and recompile it.

Store your FreeBSD loader on a Linux partition, i stored mine in Debian in /boot directory, and added a new kboot.conf entry on Linux, like this:

[Register or Login to view code]


Now you can boot your PS3 FreeBSD. Boot petitboot first and choose FreeBSD loader in CUI. Once, you have a running PS3 FreeBSD system, you can build FreeBSD world and kernel or compile ports on your PS3 itself.

One of the advantages of FreeBSD on PS3 is write access to the GameOS HDD region and the possibility to create valid GameOS HDD partitions.

Ports

Ports allow us to install many useful programs on your FreeBSD.

Extracting ports:

[Register or Login to view code]


Useful programs you will need first:

  • wget
  • git
  • screen
  • sudo
  • elinks

Live CD

Compiling World

  • Change screen resolution in loader and kernel before compiling
  • Change frame buffer size in kernel if needed

[Register or Login to view code]


Compiling Ports

[Register or Login to view code]


[Register or Login to view code]


Configuring System

/boot/loader.conf

[Register or Login to view code]


/etc/rc.conf

[Register or Login to view code]


/etc/fstab

[Register or Login to view code]


Changing Login Shell

[Register or Login to view code]


Creating ISO Image

  • Exit chroot

[Register or Login to view code]


Booting Live CD with OtherOS++

Installing FreeBSD on HDD from Live CD

Links

FreeBSD Handbook: http://www.freebsd.org/doc/handbook/
FreeBSD AvgLiveCD: http://wiki.freebsd.org/AvgLiveCD
FreeBSD LiveCD: http://www.secure-computing.net/wiki/index.php/FreeBSD/LiveCD
Gitorious - FreeBSD Wiki: http://wiki.freebsd.org/Gitorious
Setting Up A new FreeBSD System: http://users.rcn.com/rneswold/fbsd-init.html

More PlayStation 3 News...

#10 - oVERSoLDiER - 190w ago
oVERSoLDiER's Avatar
Sure, it's from edepot.

#9 - xaxaxe - 190w ago
xaxaxe's Avatar
oVERSoLDiER: Would you mind sharing the place were you copy/paste this information from

Thanks

#8 - DemonoidMaster - 190w ago
DemonoidMaster's Avatar
Idk, you should ask the devs about it... someone who's made Homebrew Emulators (or ports) in the past probably knows the answer to that.

#7 - miseryguts - 190w ago
miseryguts's Avatar
Please pardon my ignorance here, but would this allow allow for improvements to the existing emulators & possibly new ones incl N64, PS1/PS2, Dreamcast, Sega Saturn etc and perhaps more sophisticated & graphically complex homebrew..?

Would it also enable HW acceleration of HD video playback..?

Thanks.

#6 - openupyourmind - 190w ago
openupyourmind's Avatar
Quote Originally Posted by elser1 View Post
i'm no expert but my friends say the ps3 is obsolete and outdated. i see there pc game graphics and i see why they say that. the 7800 nvidia was good in its day but even my old pc has better graphics card than that... but i still like my ps3 and thanks for this info..

$ony's 10 year system is a big flop.

#5 - oVERSoLDiER - 190w ago
oVERSoLDiER's Avatar
There are also some more info's about the GPU, which I like to post to this article.

The RSX is a graphical processor unit (GPU) based off of the nVidia 7800GTX graphics processor, and is a G70/G71 hybrid with some modifications. The RSX has separate vertex and pixel shader pipelines.

The following is a small sample of serial numbers of the RSX by model number.

s3nint3!The following are relevant facts about the RSX


  • Little Endian
  • 8 vertex shaders at 500Mhz
  • 28 pixel shaders (4 redundant, 24 active) at 550Mhz
  • 28 texture units (4 redundant, 24 active)
  • 8 Raster Operations Pipeline units (ROPs)
  • Includes 256MB GDDR3 650Mhz clocked graphics memory
  • Earlier PS3 Models: Samsung K4J52324QC-SC14 rated at 700Mhz
  • Later PS3 Models: Qimonda HYB18H512322AF-14
  • GDDR3 Memory interface bus width: 128bit
  • Rambus XDR Memory interface bus width: 56bit out of 64bit (serial)

More features are revealed in the following chart delineating the differences between the RSX and the nVidia 7800 GTX.

s3nint3!Other RSX features/differences include:


  • More shader instructions
  • Extra texture lookup logic (helps RSX transport data from XDR)
  • Fast vector normalize



Note that the cache (Post Transform and Lighting Vertext Cache) is located between the vector shader and the triangle setup.

A sample flow of data inside the RSX would see them first processed by 8 vertex shaders. The output are then sent to the 24 active pixel shaders, which can involve the 24 active texture units. Finally, the data is passed to the 8 Raster Operation Pipeline units (ROPs), and on out to the GDDR3. Note that the pixel shaders are grouped into groups of four (called Quads). There are 7 Quads, with 1 redundant, leaving 6 Quads active, which provides us with the 24 active pixel shaders listed above (6 times 4 equals 24). Since each Quad has 96kB of L1 and L2 cache, the total RSX texture cache is 576kB. General RSX features include 2x and 4x hardware anti-aliasing, and support for Shader Model 3.0.

Although the RSX has 256MB of GDDR3 RAM, not all of it is useable. The last 4MB is reserved for keeping track of the RSX internal state and issued commands. The 4MB of GPU Data contains RAMIN, RAMHT, RAMFC, DMA Objects, Graphic Objects, and the Graphic Context. The following is a breakdown of the address within 256MB of the RSX.

s3nint3!RSX Libraries

The RSX is dedicated to 3D graphics, and developers are able to use different API libraries to access its features. The easiest way is to use high level PSGL, which is basicially OpenGL|ES with programmable pipeline added in. At a lower level developers can use LibGCM, which is an API that talks to the RSX at a lower level. PSGL is actually implemented on top of LibGCM. For the advanced programmer, you can program the RSX by sending commands to it directly using C or assembly. This can be done by setting up commands (via FIFO Context) and DMA Objects and issuing them to the RSX via DMA calls.

#4 - Neo Cyrus - 190w ago
Neo Cyrus's Avatar
Upgrading the PS3 is theoretically possible of course but it really wouldn't be viable at all. Not only would be it overcomplicated and cost too much to make sense but it just wouldn't be worth doing considering realistically the old hardware would only be a tiny fraction of the processing power necessary.

That's also ignoring the fact that the old hardware isn't going to last that long. It'd be dandy if all of the PS3s lasted 20 years but the fact is a lot of them broke down after 2, which is partially because the average Joe doesn't know that it is essentially a computer that needs maintenance... the dust needs to be cleaned out, the original thermal compound needs to be replaced, you can't throw it in a volcano and still expect it to work, etc. That aside it's upsetting and actually disturbing to see how much Sony stinged out on quality.

They practically used mud for thermal paste, the heatsink's finish actually greatly interferes with contact (oddly enough) and the heatsink itself might as well have been replaced with a rock... it's made of extremely low quality material. I'm not sure about modern PS3s but the fat ones I've seen the inside of didn't even use solid state capacitors, they used the "1 cent for 20 billion" electrolytic capacitors made in Taiwan which are notorious for having massive amounts of batches in the 2000s which literally blew up after a few months of use. I personally experienced that with several motherboards.

What I've always hoped for is that the next generation of consoles would stop using alien mumbo jumbo and switch to a standard x86-64 architecture for the purpose of interfacing with a standard PC to use that as an "upgrade". That way those who don't care about graphics can have their 720p at 30 frames and be happy about it and those of us who do care can use the PCs we likely already have.

 

Sponsored Links

Sponsored Links

Advertising - Affiliates - Contact Us - PS4 Downloads - PS4 Forums - Privacy Statement - Site Rules - Top - © 2015 PlayStation 4 News