Jump to content


Photo

Xenkit


  • Please log in to reply
48 replies to this topic

#1 openxdkman

openxdkman

    X-S Genius

  • Moderator
  • PipPipPipPip
  • 823 posts
  • Xbox Version:unk
  • 360 version:unknown

Posted 06 September 2007 - 06:58 AM

xenKit (based on tmbinc's gpu demo) brings graphic hardware acceleration to 360 homebrewers!

IPB Image

Here is the link to the project changelog (bookmark it and check it often) :
http://minilgos.pers...t/changelog.txt


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!
http://minilgos.pers...xenkit_core.zip
EDIT : Thanks to happy_bunny the version below works on falcon motherboards now (or xelllaunched linux, more likely) -edram init added-
http://minilgos.pers..._core_fixed.zip

And now X11 support (just overwrite these files into gpu-0.0.3_merge):
http://minilgos.pers.../xenkit_x11.zip
You can now control your 3D meshes with mouse or keyboard!
And now gouraud lighting shaders:
http://minilgos.pers...11_lighting.zip
(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!)
http://minilgos.pers...dercompiler.zip

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, 22 March 2011 - 08:29 PM.


#2 zouzzz

zouzzz

    X-S Member

  • Members
  • Pip
  • 97 posts

Posted 06 September 2007 - 08:17 AM

hello,
for the gentoo question, go here ----> http://forums.gentoo.org/index.php

wink.gif

Have a nice day.

#3 Sonic-NKT

Sonic-NKT

    X-S Senior Member

  • Members
  • PipPip
  • 241 posts

Posted 06 September 2007 - 09:40 AM

sounds very intresting, but do i get it right?
this is no new xdriver but a homebrew solution to get more hardware access/acceleration in linux for special applications?

Edited by Sonic-NKT, 06 September 2007 - 09:42 AM.


#4 openxdkman

openxdkman

    X-S Genius

  • Moderator
  • PipPipPipPip
  • 823 posts
  • Xbox Version:unk
  • 360 version:unknown

Posted 06 September 2007 - 10:56 AM

Source is small. Just like pbKit, once you understand fully how GPU works, you can do whatever you want :
- Create clean drivers for Linux
- Create modules for non-linux homebrew solutions
(solutions like openxdk, ps2link, etc... -minidash!-)

And yes, the XBMC port can happen now on 360...
(at least interface and codecs with open sources)


#5 Sonic-NKT

Sonic-NKT

    X-S Senior Member

  • Members
  • PipPip
  • 241 posts

Posted 06 September 2007 - 12:30 PM

this is awesome!!!
cant wait for a first homebrew dash or even XBMC wink.gif
Great Work!!

PS: who is behind this project?


#6 openxdkman

openxdkman

    X-S Genius

  • Moderator
  • PipPipPipPip
  • 823 posts
  • Xbox Version:unk
  • 360 version:unknown

Posted 06 September 2007 - 04:01 PM

You will know when it's released (if he doesn't want to stay anonymous)

I'm progressing fast, I hope I can submit a cleaned up version to him saturday or sunday.

Unfortunately, Print Screen key doesn't capture the Xenos overlay. No snapshot.

It's a colored triangle (3 different colors at each corner, with color interpolation applied to intermediate pixels), surrounded by a big green rotating distorted tube that does several loops...

Background is plain flashy orange...

I'm cleaning up, I'm cleaning up...


#7 zouzzz

zouzzz

    X-S Member

  • Members
  • Pip
  • 97 posts

Posted 07 September 2007 - 12:33 PM

Good. Very good.
rolleyes.gif


#8 openxdkman

openxdkman

    X-S Genius

  • Moderator
  • PipPipPipPip
  • 823 posts
  • Xbox Version:unk
  • 360 version:unknown

Posted 07 September 2007 - 02:36 PM

Cleaning up is almost done (just 1 file to treat).
I've asked its author to start reviewing the package (100Kb of C sources).
Shouldn't be long now before you can grab it...

Edited by openxdkman, 07 September 2007 - 02:38 PM.


#9 thegardner

thegardner

    X-S Enthusiast

  • Members
  • 23 posts

Posted 07 September 2007 - 05:46 PM

This is great news,

Thank you openxdkman smile.gif

#10 openxdkman

openxdkman

    X-S Genius

  • Moderator
  • PipPipPipPip
  • 823 posts
  • Xbox Version:unk
  • 360 version:unknown

Posted 08 September 2007 - 06:43 AM

Last file is troublesome, but there might be a way to read that data directly from firmware and upload it into GPU...

About shader compiler (just a "xn/a for windows" project), I think it's legal stuff and it may be published by its author (another different person) soon...

Edited by openxdkman, 11 September 2007 - 07:56 AM.


#11 zouzzz

zouzzz

    X-S Member

  • Members
  • Pip
  • 97 posts

Posted 08 September 2007 - 08:44 AM

ok, we wait sunday evening biggrin.gif

#12 openxdkman

openxdkman

    X-S Genius

  • Moderator
  • PipPipPipPip
  • 823 posts
  • Xbox Version:unk
  • 360 version:unknown

Posted 08 September 2007 - 10:12 AM

Got a word from demo author. He wants to clean up things a bit more in src.
Unfortunately he needs more time to do it.

On the other hand, Tser allowed me to publish his little XNA wrapper.
You have the link to it in the first post of this thread. Thanks Tser!
(btw, Tser is not the author of the 3D demo, so don't bother him about that)

Edited by openxdkman, 11 September 2007 - 07:56 AM.


#13 openxdkman

openxdkman

    X-S Genius

  • Moderator
  • PipPipPipPip
  • 823 posts
  • Xbox Version:unk
  • 360 version:unknown

Posted 10 September 2007 - 06:52 AM

The last troublesome file is some data that need to be uploaded into GPU in order to have it work properly.

But, in order to have a 100% legal set of C source files, it's better to read that small amount of data from firmware and upload it into GPU. You certainly realize the amount of work needed to read something from firmware... automatically...

Will take time. Until then, you can start learning hlsl... (xn/a tutorials can help)

It's a shame that we won't be able to do enough buzz to prevent people from upgrading to fall update and miss nice incoming 360 homebrew, but it's worthy to wait more...

But I realize, anyway, that not a lots of people will take the risk to push the GPU horsepower to its extreme limit through homebrew... Since the risk of overheating their console is very high, unless... it's water cooled...

So... final number of 360 homebrewers may be low, whatever are our efforts.

The cherry on the cake would be to find a way to display GPU and CPU temperatures with simple software calls... I wonder if it's possible...

On the other hand we can set a constant in source, that will limit the horsepower, and warn people they should lift this limit only on water cooled consoles...

I think future 360 homebrew code should come as source and not as binary, so people can verify this limit. Also, since flashing can be done in code, it's better to check what a homebrew is doing...

Edited by openxdkman, 10 September 2007 - 07:07 AM.


#14 Sonic-NKT

Sonic-NKT

    X-S Senior Member

  • Members
  • PipPip
  • 241 posts

Posted 10 September 2007 - 12:16 PM

its a bit strange that this news wont get spread... not even on xboxhacker or the front page...

hmm now i have to save some money to mod my 360, remove those damn x-clamps and exchange those with a watercooling system smile.gif
how much did you spend openxdkman on your setup?

#15 openxdkman

openxdkman

    X-S Genius

  • Moderator
  • PipPipPipPip
  • 823 posts
  • Xbox Version:unk
  • 360 version:unknown

Posted 11 September 2007 - 07:38 AM

If there wasn't the risk of losing many potential 360 homebrew users,
I wouldn't care if xenKit wasn't noticed by public (like pbKit).
It's not the large public who will invest time tuning a shader...
So, as long as GPU specialists know about it, that would be enough.

If some homebrew coder use these low level API to create something great,
it's their program that will be shown on front pages. That's ok.
For people looking for hidden knowledge, fame is, sometimes, the enemy.

So, need to make something out of this before fall update. That will be tricky.
(I guess we have only 2 weeks before fall update and halo 3 release)

With the intermediate version I have, I can start porting pbKit Demo 04.
(3D renderer accepting textured meshes from 3DSMax files)

About the cost of my water cooling mod, here is the link to the details :
http://forums.xbox-s...howtopic=610938
To be short : 350 euros (without VAT, in US, that's $300 maybe)
- I wanted a silent cooled tank (reserator 1 v2, 210 euros)
- I wanted something simple for water blocks (X-Matic, 90 euros)
Of course, that's the easiest deluxe solution, you can probably lower cost,
if you tinker a bit more cheap spare parts.

X-Matic was great since it reuses original heat sinks legs.
(So all dimensions are perfect. Distance between surfaces are perfect, etc...)
It covers the 4 ram chipsets, GPU and CPU at once. Tubes location is great.
Mod is reversible (no heat sink or Xclamp were damaged during the show).
Result is amazingly silent, so, I don't regret spending so much money.

Edited by openxdkman, 23 September 2007 - 08:13 AM.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users