Skip to main content

What is PSL1GHT?

PSL1GHT is a lightweight PlayStation 3 homebrew SDK that uses open-source PlayStation 3 toolchains to compile user applications that run from the XMB menu (GameOS homebrew). It provides a comprehensive set of libraries and tools for PS3 development, including graphics, audio, input, networking, and system utilities.

Get Started

Install PSL1GHT and set up your development environment

Quick Start

Build your first PS3 homebrew application

API Reference

Explore the complete API documentation

Examples

Browse sample projects and code examples

Key Features

Hardware-Accelerated Graphics

Use the RSX Graphics Synthesizer for 3D rendering with vertex and fragment shaders

Full Controller Support

Access PS3 controllers, keyboard, mouse, camera, and PlayStation Move

SPU Programming

Harness the Cell processor’s Synergistic Processing Units for parallel computation

Network Capabilities

Berkeley sockets for TCP/UDP networking with HTTP and SSL support

System Integration

File I/O, dialogs, save data, and on-screen keyboard utilities

Build Tools

Complete toolchain with fself, pkg creation, and library linking

Architecture Overview

PSL1GHT is built around the PlayStation 3’s unique hardware architecture:
  • PPU (PowerPC Processing Unit): The main 64-bit PowerPC processor that runs your application code
  • SPU (Synergistic Processing Unit): Six available SPUs for parallel processing tasks
  • RSX: NVIDIA-based graphics processor for hardware-accelerated rendering
  • XMB Integration: Applications run from the PlayStation 3’s XMB menu interface
PSL1GHT requires the ps3toolchain - a GCC toolchain that supports the PowerPC 64-bit architecture with patched newlib environment.

Current Status

Graphics

Hardware-accelerated 3D graphics are fully supported through the RSX library. Vertex shaders are operational, with fragment shader support in development.

Input

PS3 controllers are fully supported with XMB integration. Pressing the PS button brings up the in-game XMB menu when the framebuffer is active.

Filesystem

Full filesystem support including access to the internal PS3 hard drive, game disc contents, and external USB devices.

Networking

Berkeley sockets are available for network programming, though some features (like hostname lookups) remain incomplete.

Debugging

By default, PSL1GHT redirects stdout and stderr to the lv2 TTY interface. Use Kammy’s ethdebug module to retrieve debugging information over UDP.

SPUs

Full access to raw SPU programming with communication between PPU and SPU. See the SPU samples for implementation examples.

Supported Libraries

PSL1GHT provides wrappers for the following PS3 system libraries (SPRX):
  • libio: Pad, mouse, and keyboard input
  • liblv2: Low-level system calls
  • libsysutil: System utilities and dialogs
  • libgcm_sys: Graphics Command Manager
  • libsysmodule: System module loading
  • libpngdec/libjpgdec: Image decoding
  • libgem: PlayStation Move support
  • libaudio: Audio playback
  • libcamera: Camera support
  • libfont: Font rendering
  • libnet/libhttp/libssl: Networking

Community and Support

PSL1GHT is maintained by the PS3 homebrew community and built on contributions from developers worldwide.

GitHub Repository

View source code and contribute

ps3libraries

Additional libraries for PSL1GHT

Next Steps

1

Install the SDK

Set up the ps3toolchain and install PSL1GHT to your system
2

Build Your First App

Follow the quickstart guide to create a simple PS3 application
3

Explore the APIs

Learn about graphics, input, audio, and system APIs
4

Study the Samples

Review example projects to understand common patterns

Build docs developers (and LLMs) love