PS3 GPU Driver: Difference between revisions
Jump to navigation
Jump to search
(→Test) |
(→Test) |
||
Line 47: | Line 47: | ||
To restore your console: | To restore your console: | ||
<pre> | <pre> | ||
vidcontrol 80x25 | vidcontrol < /dev/ttyv0 80x25 | ||
</pre> | </pre> | ||
Revision as of 17:49, 22 September 2012
Introduction
- FreeBSD character device which gives you direct access to PS3 GPU from user-space.
Features
- Upto 3 GPU contexts simultaneously (LV1 limit is 3 contexts per LPAR).
- Direct control of GPU FIFO from user-space.
- Support of hardware cursors.
- Dynamic allocation of GART memory.
- Mapping of GART memory into GPU address space is done by the driver. That means user-space applications do not have to worry about it.
- Access to GART and VRAM memory through mmap syscall.
- Heap management for GART and VRAM memory.
- Support of display buffers.
Kernel Driver
Building
- You can cross-compile the kernel module or build it natively on PS3 FreeBSD.
- The kernel module and the kernel should match. That means the kernel module should be build against the same kernel source else the kernel module cannot be loaded (The same applies on Linux).
cd /usr/devel env MAKEOBJDIRPREFIX=/usr/obj/PS3 SYSDIR=/usr/devel/sys make TARGET=powerpc TARGET_ARCH=powerpc64 buildenv cd /home/glevand/ps3gpu make ls -l ps3gpu.ko
Test
- ps3gpu_test is a user-space application for testing ps3gpu kernel driver.
- The application demonstrates how to allocate GART and VRAM memory, how to load, set and move cursor and how to flip.
- http://gitorious.ps3dev.net/ps3freebsd/ps3gpu_test
kldload ./ps3gpu.ko cd ps3gpu_test make ./ps3gpu_test
To restore your console:
vidcontrol < /dev/ttyv0 80x25
Screenshots
X11 Driver
- You need this driver to run X11 server on PS3.
- http://gitorious.ps3dev.net/ps3freebsd/xf86-video-ps3gpu
Building
Test
Screenshots
Future Work
- Use ps3gpu driver for syscons.