PS3 GPU DRM Driver: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
mNo edit summary
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:OtherOS]]
=Introduction=
=Introduction=


Line 13: Line 14:
* Use PS3 AV Manager to set resolution
* Use PS3 AV Manager to set resolution
* '''ps3av_cmd_video_get_monitor_info''' can be used to get current supported resolutions
* '''ps3av_cmd_video_get_monitor_info''' can be used to get current supported resolutions
* It seems that head A is connected to HDM connector.
* It seems that head A is connected to HDMI connector.


==TTM==
==TTM==
Line 54: Line 55:
* http://lxr.free-electrons.com/source/drivers/ps3/ps3av.c
* http://lxr.free-electrons.com/source/drivers/ps3/ps3av.c
* http://lxr.free-electrons.com/source/drivers/video/ps3fb.c
* http://lxr.free-electrons.com/source/drivers/video/ps3fb.c
{{Linux}}<noinclude>[[Category:Main]]</noinclude>

Latest revision as of 02:05, 3 February 2014

Introduction[edit | edit source]

  • 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[edit | edit source]

KMS[edit | edit source]

  • 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[edit | edit source]

  • 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[edit | edit source]

  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[edit | edit source]

DRM User-Space[edit | edit source]

DRM Kernel-Space[edit | edit source]

PS3 Kernel Drivers[edit | edit source]