1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

RSXGL: OpenGL 3.1 Support For The PlayStation 3

Nouveau

Published on 23 September 2012 01:00 PM EDT
Written by Michael Larabel in Nouveau
17 Comments

According to a developer that began working on a PlayStation 3 graphics driver, which he's calling RSXGL, he reportedly got OpenGL 3.1 working from this Sony gaming console.

Pasted below is the email I received from Alexander Betts, a Phoronix reader and developer who has been investing time on this OpenGL 3.1 core profile support for the PlayStation 3. Though in talking with Nouveau developers and NVIDIA's Andy Ritger at XDC2012, they don't believe that GL3.1 is possible for the PS3 hardware unless it's just using a software rasterizer.

Betts' comments about not liking Mesa / Gallium3D and not using it much in his implementation is also interesting.

Since I've enjoyed your comprehensive coverage of OpenGL-related open source projects, I wanted to describe a hobby project I've been working on for about the last year and a half. It is an attempt to implement the OpenGL 3.1 "core profile" for the PlayStation 3's Nvidia GPU (the project is called "RSXGL"). It targets the community that develops homebrew applications for the PS3's main "GameOS" environment (and not the now-deprecated Linux environment for the PS3; using this software therefore requires that the PS3 console be rooted).

My project makes use of the reverse engineering performed by the nouveau project (as does earlier RSX support available in the homebrew PSL1GHT library), and on (large) components of Mesa to support runtime compilation of GLSL shaders. It otherwise does not use Mesa (although that is an understatement, since GLSL is a large and complex part of any modern OpenGL implementation). Some of the main reasons that I'd cite for this are the same as those for Intel's apparent lack of interest in Gallium3D (indeed, it was the coverage of this on Phoronix earlier this week that's compelled me to write in to you) - the potential CPU overhead incurred by the multiple layers of abstraction needed by Mesa/Gallium3D to support a wide range of GPU's and operating system platforms. It would seem that such issues have also motivated the "bindless graphics" extensions introduced by Nvidia in recent years; criticism by some game developers of popular graphics API's generally; and the apparent lack of use of the OpenGL ES implementation that Sony provided for the PS3 initially. I should say that I'm not interested in heaping criticism on Mesa; it's a great, conformant implementation of OpenGL (mine is pretty far from being conformant, or even complete) and perhaps addresses different priorities (providing system-wide access to a GPU on desktop-class hardware for a range of applications, including the windowing system itself) than those of my project (access to the GPU for a single application running at a time on a resource-constrained system like a game console).

While RSXGL does target OpenGL 3.1, that decision was mainly about which non-legacy API to target. I started out developing against the ES 2.0 spec, but since the RSX readily supports a number of features that were extensions, or not included in ES at all (such as framebuffer objects, 3D texture maps, synchronization primitives, etc), I decided to just implement OpenGL 3.1. Furthermore, I haven't implemented some important features that OpenGL 3.1 added, like transform feedback and uniform buffer objects (I would like to implement those things to the extent that they can be supported by the RSX). In other words, I'm not trying to make the claim that I've single-handedly implemented 3.1, which remains incomplete in Mesa (although ignoring legacy capability completely has of course made my task much easier).

So far the sole third-party use of this project has been by PS3 homebrew dev Youness "kakaroto" Alaoui, who has been hard at work porting the Enlightenment Foundation Libraries to the PS3 (I believe Phoronix mentioned this effort of his last year). He and I have been able to get RSXGL sufficiently in to shape that EFL runs with hardware acceleration on the PS3 (Youness made some modifications to the EFL itself so that its OpenGL backend no longer uses the immediate-mode GL calls that are deprecated in core 3.1).


The code to this OpenGL 3.1 for the PlayStation 3 can be found on GitHub.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Articles & Reviews
  1. NVIDIA's $1000+ GeForce GTX TITAN X Delivers Maximum Linux Performance
  2. OS X 10.10 vs. Ubuntu 15.04 vs. Fedora 21 Tests: Linux Sweeps The Board
  3. The New Place Where Linux Code Is Constantly Being Benchmarked
  4. 18-GPU NVIDIA/AMD Linux Comparison Of BioShock: Infinite
  5. Phoronix Test Suite 5.6 Adds New Phoromatic Enterprise Benchmarking Features
  6. OpenGL Threaded Optimizations Responsible For NVIDIA's Faster Performance?
Latest Linux News
  1. Intel Adds Mesa IR To NIR Translator & Makes Other NIR Improvements
  2. HAMMER2 Gets A Man Page
  3. Kodi 14.2 Released To End Out The "XBMC" 14.x Series
  4. Debian 8.0 Jessie RC2 Installer Released
  5. Shadow Warrior Is Being Released For Linux Next Week
  6. Intel Pushes A Bunch Of Broadwell Code Into Coreboot
  7. Open-Source Driver Fans Will Love NVIDIA's New OpenGL Demo
  8. GHC 7.10.1 Brings New Compiler Features
  9. Git 2.4.0-rc0 Does A Ton Of Polishing
  10. The Most Common, Annoying Issue When Benchmarking Ubuntu On Many Systems
Most Viewed News This Week
  1. Introducing The Library Operating System For Linux
  2. AMD Is Hiring Two More Open-Source Linux GPU Driver Developers
  3. New SecureBoot Concerns Arise With Windows 10
  4. Allwinner Continues Jerking Around The Open-Source Community
  5. Systemd Change Allows For Stateless Systems With Tmpfs
  6. GNOME Shell & Mutter 3.16.0 Released
  7. GNU Nano 2.4.0 Brings Complete Undo System, Linter Support & More
  8. Red Hat Is Rolling Out A VirtIO DRM/KMS GPU Driver
%%CLICK_URL_UNESC%%