PS3 GPU DRM Driver

From PS3 Developer wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Introduction

  • You can stop reading here if you think DRM has something common with games or piracy :)
  • We really need a proper GPU DRM driver for PS3.
  • The problem is that Linux kernel DRM framework is very complex and not well documented.

Linux Kernel DRM Framework

KMS

  • CRTC -> Encoder -> Connector
  • PS3 has 2 connectors: HDMI and AV multi
  • Use PS3 AV Manager to set resolution
  • ps3av_cmd_video_get_monitor_info can be used to get current supported resolutions
  • It seems that head A is connected to HDMI connector.

TTM

  • Manages memory: video memory, GART memory and system memory.
  • Nouveau DRM driver e.g. manages video memory globally per device. We cannot do it because each context has its own video memory.

Milestones

  1. Create initial driver infrastructure (work in progress)
  2. Implement unaccelerated framebuffer console
  3. Add hardware acceleration to framebuffer console
  4. Implement IOCTLs for user-space applications
  5. Add PS3 GPU DRM support to libdrm and implement tests for it
  6. Implement X11 driver for PS3 GPU DRM
  7. Port some 3D open-source game to PS3 GPU DRM, e.g. quake or doom

Links

DRM User-Space

DRM Kernel-Space

PS3 Kernel Drivers