Editing PS3 GPU DRM Driver

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
[[Category:OtherOS]]
=Introduction=
=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.
* 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.
* The problem is that Linux kernel DRM framework is very complex and not well documented.


=Linux Kernel DRM Framework=
=DRM Framework=


==KMS==
==KMS==


* CRTC -> Encoder -> Connector
* 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=
# Create initial driver infrastructure (work in progress)
# Implement unaccelerated framebuffer console
# Add hardware acceleration to framebuffer console
# Implement IOCTLs for user-space applications
# Add PS3 GPU DRM support to libdrm and implement tests for it
# Implement X11 driver for PS3 GPU DRM
# Port some 3D open-source game to PS3 GPU DRM, e.g. quake or doom


=Links=
=Links=
Line 43: Line 22:
* http://lxr.free-electrons.com/source/drivers/gpu/drm/cirrus/
* http://lxr.free-electrons.com/source/drivers/gpu/drm/cirrus/
* http://lxr.free-electrons.com/source/drivers/gpu/drm/mgag200/
* http://lxr.free-electrons.com/source/drivers/gpu/drm/mgag200/
* http://lxr.free-electrons.com/source/drivers/staging/omapdrm/
* http://git.kernel.org/?p=linux/kernel/git/mattst88/glint.git;a=tree;f=drivers/gpu/drm/glint
* http://www.x.org/wiki/ttm
* http://www.x.org/wiki/ttm
* http://lists.freedesktop.org/archives/dri-devel/2010-April/000183.html
* http://lists.freedesktop.org/archives/dri-devel/2010-April/000183.html
* http://www.mail-archive.com/[email protected]/msg50049.html
* http://permalink.gmane.org/gmane.comp.video.dri.devel/47889
==PS3 Kernel Drivers==
* http://lxr.free-electrons.com/source/arch/powerpc/include/asm/ps3av.h
* http://lxr.free-electrons.com/source/drivers/ps3/ps3av.c
* http://lxr.free-electrons.com/source/drivers/video/ps3fb.c
{{Linux}}<noinclude>[[Category:Main]]</noinclude>
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)