Editing PS3 GPU Driver
Jump to navigation
Jump to search
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: | ||
=Introduction= | =Introduction= | ||
Line 23: | Line 22: | ||
* You have to patch your LV1 and enable 4KB GPU IO page size support else ps3gpu won't work. | * You have to patch your LV1 and enable 4KB GPU IO page size support else ps3gpu won't work. | ||
* You can either patch your LV1 permanently (e.g. with my ps3mfw task for LV1) or do it at run-time with my '''gpu_4kb_iopage.sh''' script. | * You can either patch your LV1 permanently (e.g. with my ps3mfw task for LV1) or do it at run-time with my '''gpu_4kb_iopage.sh''' script. | ||
* By default, LV1 supports 1MB and 64KB GPU IO page sizes but we need 4KB page size. The | * By default, LV1 supports 1MB and 64KB GPU IO page sizes but we need 4KB page size. The reson for this is that it's very hard to allocate 1MB or 64KB continuous memory chunk in FreeBSD kernel (same applies for Linux). | ||
* gpu_4kb_iopage.sh should work with my petitboot and my Linux kernels and even on FreeBSD if you load ps3physmem driver before using the script. | * gpu_4kb_iopage.sh should work with my petitboot and my Linux kernels and even on FreeBSD if you load ps3physmem driver before using the script. | ||
* http://gitorious.ps3dev.net/ps3otheros/scripts | * http://gitorious.ps3dev.net/ps3otheros/scripts | ||
Line 44: | Line 43: | ||
* ps3gpu_test is a user-space application for testing ps3gpu kernel driver. | * 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. | * The application demonstrates how to allocate GART and VRAM memory, how to load, set and move cursor and how to flip. | ||
* It shows you how to use RSX DMA engine for memory copying (used e.g. in X11 driver all the time). | * It shows you how to use RSX DMA engine for memory copying (used e.g. in X11 driver all the time). | ||
* http://gitorious.ps3dev.net/ps3freebsd/ps3gpu_test | * http://gitorious.ps3dev.net/ps3freebsd/ps3gpu_test | ||
Line 56: | Line 52: | ||
make | make | ||
sudo ./ | sudo ./ps3gpu_test | ||
context id 0 | context id 0 | ||
control handle 0x10000000000 size 4096 | control handle 0x10000000000 size 4096 | ||
Line 71: | Line 67: | ||
vidcontrol < /dev/ttyv0 80x25 | vidcontrol < /dev/ttyv0 80x25 | ||
</pre> | </pre> | ||
==Screenshots== | ==Screenshots== | ||
Line 82: | Line 73: | ||
* The square on the left was copied from the source by RSX DMA using positive pitches, from top to bottom. | * The square on the left was copied from the source by RSX DMA using positive pitches, from top to bottom. | ||
* The square on the right was copied from the source by RSX DMA using negative pitches, from bottom to top. | * The square on the right was copied from the source by RSX DMA using negative pitches, from bottom to top. | ||
[[Image:Freebsd_ps3gpu_test.jpg|300px|Image: 300 pixels]] | [[Image:Freebsd_ps3gpu_test.jpg|300px|Image: 300 pixels]] | ||
=X11 Driver= | =X11 Driver= | ||
Line 250: | Line 226: | ||
* http://www.freebsd.org/cgi/cvsweb.cgi | * http://www.freebsd.org/cgi/cvsweb.cgi | ||
* http://www.virtuousgeek.org/exa-driver.txt | * http://www.virtuousgeek.org/exa-driver.txt | ||