xenKit (based on tmbinc's gpu demo) brings graphic hardware acceleration to 360 homebrewers!
Here is the link to the project changelog (bookmark it and check it often) :
Divided into 3 parts (3 contributors). First and third part are not my work...
(tmbinc did the hard work. Tser found a way to reuse xn/a shader compiler)
3 parts :
1) A complete fullscreen 3D demo source for Linux, by tmbinc : "gpu" demo
Look for gpu-0.0.3.tar.gz and romextract-0.0.1.tar.gz on tmbinc's blog :
http://debugmo.de (Warning: works under Debian & crashes under Gentoo)
2) Gentoo support & X11 addon files for windowed mode :
(brings instantly keyboard and mouse easy management under X11)
First, I've merged gpu-0.0.3, romextract-0.0.1 and Demo 04 together, so, now, it's really running and decrypting firmware automatically! Amazing!
By declaring MESH1 or MESH2 you can see a space fighter or a biplane.
I've adjusted it so it compiles immediately, without warning under Gentoo!
EDIT : Thanks to happy_bunny the version below works on falcon motherboards now (or xelllaunched linux, more likely) -edram init added-
And now X11 support (just overwrite these files into gpu-0.0.3_merge):
You can now control your 3D meshes with mouse or keyboard!
And now gouraud lighting shaders:
(I may have messed up with light rotations, but looks nice anyway...)
Have fun, Gentoo LiveCD Beta 2 users!
3) Tser's xn/a based 360 native shader compiler source (Thanks a lot Tser!)
Technical details :
- Standard C language
- Low level API's (it's quite the same programming style I've used in pbkit)
- Can run under Gentoo Live Beta 2, Debian and probably other distros
- No hard disk necessary (since Gentoo Live Beta 2 doesn't need one)
- Pure standard X11 calls in order to create a standard window (in Part 2)
- 3D rendering via Xenos chipset, in frame buffer (Part 2: over window)
- Full screen rendering in Part 1 (a desktop display will cause flickering)
- Possibly slowed down, for now, until we adjust kernel (Gentoo Beta 3?)
- Customizable pixel and vertex shaders (via a "xn/a for windows" program)
- For now, requires to set root password ("sudo passwd") and login as root
EDIT: I pushed tmbinc hard to get a release before fall update because I was sure MS would change 2bl and prevent reflashing of older firmware. I wanted to convice people that 3D homebrew on 360 was not just a dream. I was wrong, since fall update didn't change 2bl. Sorry tmbinc, for being so pushy!
If you don't like X11 and you don't have any desktop that would cause screen to flicker (Xenos drawing and desktop drawing at same time), part 1 alone is enough, but becareful about the needed or not needed constant in romextract.c (see readmetoo.txt).
Otherwise, especially if you are using Gentoo LiveCD Beta 2, use part 2.
You can perfectly enlarge the window size in code to cover all screen, all that matters is that you avoid screen flickering by having Xenos and Desktop or other windows draw at separate areas of screens.
EDIT : Couldn't stop screen flickering under Gentoo. More study needed.
Many thanks to tmbinc and Tser! Dream becomes reality!
Edited by openxdkman, 20 May 2015 - 07:17 PM.