Xbox Development Bounty

Forum thread started by vote_gough on Mon, 2009-05-18 12:59

Hi everyone.
I know there is a thread discussing this just below, but I think that a seperate topic needs to be set up for this.
The Xbox (original) has been neglected in recent years with releases of os' for it being far and few.
It basically is a legacy pc and I feel that a low resource os like Haiku would be perfect for it.
I am willing to start a bounty for this at Haikuware, but I need to know if there is enough interest in it before I go ahead.
The roadmap could look like this (I know its not very technical, but it outlines the basics)

Alpha:
-Tracker must work
-Support for USB mouse and keyboard at least
-Initial support for nvidia chipset
-Use custom bootloader or cromwell
-Fix problems which may prevent bootup (ghost pci ports, no super I/O chip etc.)
-Synch with xbox CPU clock speed

Beta:
-Xpad support
-Network support
-CD eject must work
-Better graphics support (maybe 480p and 720p)
-Allow install to the F: partition
-Xbox shutdown/restart sequences included

Possible inclusions:
-10 foot user interface
-IR remote support
-FATX read support
-Loopback file install
-New name for distro (Xaiku?) and new theme

Any refinements or additions to this are appreciated.
More porting information can be found at:
Porting Operating Systems to Xbox

Comments

Re: Xbox Development Bounty

I'll be modchipping my xbox shortly (should be arriving today!) - and this might be a project I play with a bit, but I'm not personally interested in a bounty, nor am I going to guarantee any results (as it's already a bigger project than I'm qualified for).

But it might be fun :)

On a side note, I purchased this xbox recently for the sole purpose of modchipping and mess with. It was $7 at a yard sale, with a couple of crappy games, no controllers and in an unknown state (IOW, not working). I picked up a couple controllers for $1 at another yard sale, but without the break-away cables. In retrospect, it would have been better to buy a known-working xbox for $50 on ebay, as it cost me an additional $50 for a good samsung 605b dvd drive and some break-away cables anyway.

On the other hand, this machine is in top condition now :D

It seems to be a reasonable platform for a basic-use computer... I've got plenty of machines running Haiku with worse specifications.

Re: Xbox Development Bounty

Yeah, the xbox really is a versatile piece of hardware. Lasts for ages too.
Are you reflashing the bios as well?

Re: Xbox Development Bounty

Yes, chipped, flashed, working :)

I will probably be messing around with it for a while, installing linux (probably Xebian), and messing around with some things (probably XBMC) to see how it all works.

FWIW, the chip I purchased is an Xecuter X3 CE (in case that matters) and my XBox is a v1.6b

Re: Xbox Development Bounty

Yeah I can provide the XDK to devs, this is very possible considering iut's about tiwce as powerful as the infamous BeBox which is supposed to eventually run Haiku so this is very simple. We could do a 360 port later on, maybe a PS3 port too, although I disgust the PS3.

Re: Xbox Development Bounty

Dreamcast270mhz wrote:

Yeah I can provide the XDK to devs, this is very possible considering iut's about tiwce as powerful as the infamous BeBox which is supposed to eventually run Haiku so this is very simple. We could do a 360 port later on, maybe a PS3 port too, although I disgust the PS3.

I'm not sure I ever read somewhere that the BeBox was ever going to run Haiku...

But anyhow, since XBox Linux doesn't rely on the XDK, AFAICT, I don't see any value in using it.

Update: In fact, I would even suggest that anyone with access to the XDK should not even be providing code to Haiku in the first place, as there is potential NDA/legal issues with that. XBox linux devs take this stance, refusing contributions from people who have access to the official XDK.

http://www.xbox-linux.org/wiki/FAQ#I_have_access_to_Microsoft_confidential_data_.2F_the_Xbox_SDK._Can_I_help.3F

Re: Xbox Development Bounty

The 360 and PS3 both use PPC processors. However the new 360s are almost impossible to hack.
Besides, I really don't know what the current status of the Haiku PPC branch is atm.
And yeah, XDK is slightly less than legal. Thats who xbmc doesnt actually host the compiled xbox version.

Re: Xbox Development Bounty

I gather that the XDK is only required if you want to run "native" XBox software without using the Cromwell BIOS (however, you still need a hacked BIOS to run unsigned code in the first place).

Since the only people likely to ever run Haiku on an XBox are people with modchips, I don't think this will be much of an issue. They will have to have some clue how to setup their modchip BIOS accordingly to begin with.

It seems there's even support to run an XBox version of FreeBSD/OpenBSD/NetBSD now - which is *very* interesting... as the license is more in line with ours.

I think I'll definitely be looking into this - my next step is replace the crappy 10gb disk with a larger one - hopefully that will happen this weekend.

Re: Xbox Development Bounty

For the legal side of things, Cromwell is completly legal because it's reverse engineered and therefore safe to distribute with any release.

We now know that 3 people are interested. Any more out there?

Re: Xbox Development Bounty

I'm really not fond of that kind of proprietary hardware

I think our community should focus on open hardware (ARM-beagleBoard for instance)

IMHO, boycotting proprietary hardware is the best way to promote free software, because no driver is often an obstacle to the adoption of an alternative operating system

Re: Xbox Development Bounty

starsseed wrote:

I'm really not fond of that kind of proprietary hardware

I think our community should focus on open hardware (ARM-beagleBoard for instance)

IMHO, boycotting proprietary hardware is the best way to promote free software, because no driver is often an obstacle to the adoption of an alternative operating system

While we're at it then, we should probably go ahead and delete all the Nvidia/Radeon drivers from the Haiku repo... because those were written primarily by reverse-engineering the hardware.

Seriously, what are you trying to accomplish by telling people they should boycott older, unsupported, no-longer-sold hardware that is still useful? Are you suggesting the right thing to do with an old XBox is to throw it in the garbage?

Open hardware is great and all, but if you look around, you'll notice that all the hardware that has already been purchased, and is perfect working condition, still has a future. Throwing it away and buying new doesn't solve any problems.

Re: Xbox Development Bounty

With all due respect, I am glad to see that there is interest in Haiku, but I consider it more important to focus all efforts on Haiku on x86, have the system fully (or almost) up and running.
When our energies are scattered in small projects, remain only in small projects, while all the time spent in Haiku is after all a benefit for the entire community of users.
Do we really need ports of haiku in alpha stage on other platforms? Is not it better to have the completed version 1.0?

Re: Xbox Development Bounty

naucrates wrote:

With all due respect, I am glad to see that there is interest in Haiku, but I consider it more important to focus all efforts on Haiku on x86, have the system fully (or almost) up and running.
When our energies are scattered in small projects, remain only in small projects, while all the time spent in Haiku is after all a benefit for the entire community of users.

I guess that means I should take my potential efforts to "port" Haiku to my x86-based Xbox and... well, do nothing. I'm not a Haiku developer and I don't have commit access - I also know very little about how various low-level aspects of the OS work, so by finding out how the XBox differs from a regular PC, I would actually be *learning* something! God forbid that happen...

Quote:

Do we really need ports of haiku in alpha stage on other platforms? Is not it better to have the completed version 1.0?

Yes. There are many areas in the Haiku codebase that are hardcoded to supprot x86-only architecture. Many of these areas *need* to be abstracted so that Haiku *can* support future platforms (such as x86_64 or ARM). It doesn't hurt to modularize these areas and clean them up to be more portable *now* while the codebase is still manageable.

Sorry I have gotten so defensive about this, but all the sudden negative attention against something I was planning on doing in my spare time in the coming weeks is sort of pissing me off for some reason.

Re: Xbox Development Bounty

naucrates wrote:

With all due respect, I am glad to see that there is interest in Haiku, but I consider it more important to focus all efforts on Haiku on x86, have the system fully (or almost) up and running.
When our energies are scattered in small projects, remain only in small projects, while all the time spent in Haiku is after all a benefit for the entire community of users.
Do we really need ports of haiku in alpha stage on other platforms? Is not it better to have the completed version 1.0?

Ideally yes, I agree with this train of though. *But* it fails to recognize a few key ideas -- this is a volunteer-based effort, not everyone has the ability nor inclination to work on the parts of Haiku that need attention for R1.

On the plus side, "scattered efforts" like this can introduce Haiku to new ground and hopefully new developers.

Re: Xbox Development Bounty

umccullough wrote:

Seriously, what are you trying to accomplish by telling people they should boycott older, unsupported, no-longer-sold hardware that is still useful? Are you suggesting the right thing to do with an old XBox is to throw it in the garbage?

I just mean that we must think in terms of effectiveness by optimizing the resources available. Open hardware is one of the way.

some old hardware exists and -You're rigth- we must be compatible with it as much as possible, but targetting a new platform is huge work, so we shouldn't waste our time with a locked platform (at least before R1). There are so much things to do before...

don't forget that the XBox manufacturer has done everything he could so that you can not do anything other than what he expected - your freedom is not their profits.

PS : Excuse my english, I am not as subtle as I would be.
"boycott" is a word too strong. "avoid" would be more accurate

little reminder:
http://www.haiku-os.org/blog/mmu_man/2008-11-03/say_what_you_want_from_us_but_not_what_we_dont_want_to_hear_or_how_much_did_we_regress

Re: Xbox Development Bounty

Quote:

but targetting a new platform is huge work, so we shouldn't waste our time with a locked platform (at least before R1).

If you're responding to the Xbox360, then I totally agree... but frankly, the PS3 is a viable platform. Its actually considerably open, and would make a reasonable "general use" PC for many home users, doubling as a powerful gaming system and Blueray player as well. IMO, Sony provided a reasonable way to load alternative OSes on the PS3 and I think that was a pretty open-looking decision.

starsseed wrote:

don't forget that the XBox manufacturer has done everything he could so that you can not do anything other than what he expected - your freedom is not their profits.

Actually, what they've been trying to do is prevent people from pirating software developed for their platform. Its their obligation to the developers who produced this software to put as many roadblocks and safeguards into the system as possible to prevent this from happening. The fact that it prevents us from running free software on the same system is an unfortunate side-effect.

In the end, a large part of the work to reverse-engineer the XBox platform has already been done and incorporated into both Linux/BSD. Why not take advantage of this and give Haiku another hardware outlet. I know plenty of people with old XBoxes that aren't actually using them anymore... would be kinda nice to put those already-paid-for machines back into useful service...

Re: Xbox Development Bounty

A good point.
The original xbox has sold millions of units so the numbers are there.
It is x86 based so all BeOS and x86 Haiku programs will run, not like PPC or ARM ports.
The information is avalible for those who want to port it and for those who say that this move is supporting propietary hardware, it is bringing open source software to those systems.
And as I said before, many of the projects that supported xbox such as Xebian havn't been supported in recent years. This opens up a whole new market for Haiku, IMO Haiku is more suited to xbox than linux is.

Re: Xbox Development Bounty

it is. Th thing that you can change the HDD to almost any size, has a powerful P3 modified CPU, OpenXDK/XDK are availible, and the fact that it can function well enough for most, if not all primary users can be satisfied. I mean, look at the specs:

P3 class CPU
64Mb shared RAM
Nvidia derived GPU
8-10 GB HDD
4x modified USB ports
Built in ethernet
wireless capable
dvd-rom drive

Easily a nice side project for volunteers who are not kernel programmers or program developers. I myself took a nightly build and put it on an xbox iso site for use with linux Qemu. It runs pretty well like that, so what if it ran natively?

Re: Xbox Development Bounty

Well, the bounty's up on Haikuware if anybody wants to sign up. I'm going to chip in my part, but the website seems to have gone down for the moment.

Re: Xbox Development Bounty

vote_gough wrote:

Well, the bounty's up on Haikuware if anybody wants to sign up. I'm going to chip in my part, but the website seems to have gone down for the moment.

I did see that yesterday.

Unfortunately, I'm not interested in the pressure of a bounty, but I have been reading up on Cromwell a bit, and it seems it's not quite as elegant as I had hoped. It doesn't support chainloading an OS for example, it must be modified to load the kernel from the filesystem.

This means either someone will have to write their own bootloader, or possibly modify Cromwell to launch Haiku. Cromwell can chainload another instance of Cromwell (this is used for netbooting *BSD for example with etherboot), but I don't know how that is supposed to be setup.

The worst part seems to be that none of this stuff has been in active development since 2004-2006ish timeframe, and even just trying to compile Cromwell from CVS is painful :(

Re: Xbox Development Bounty

Yeah the Xbox linux scene hasn't really seen much activity since 2007, except x-dsl.
If you want I can try to get in contact with the author.
btw how is Cromwell 'painful' to compile?

Re: Xbox Development Bounty

By "painful", I mean: It didn't :)

It seems the latest versions of GCC 4.x throw more warnings now, and the Makefile explicitly treats warnings as errors, so I first removed this from the makefile, after that, it still failed to compile, so I sort of lost interest at that point, as I had other things to work on instead.

So, I did flash Cromwell 2.4.0 to my X3 and it boots Linux from the "F" partition.. next step I'll probably dedicate an entire disk to Linux, (probably X-DSL as you mentioned), and see if I can use it to build Haiku. Xebian is so old now (based on Sarge?) that trying to execute an apt-get dist-upgrade is a disaster that ends in tears (I tried two different times, with different listings in sources.list hoping to make it work incrementally).

Once I get Haiku compiling, I'll squeeze it onto a partition and set about seeing what it will take to bootstrap it.

Re: Xbox Development Bounty

Just to let you know, you don't need to flash cromwell BIOS to run modded code, you can softmod using the "hotswap" method or by using a specially crafted save to modify the HDD. You run it from an alternative xbox dash that allows for booting without special partitions. You can also flash the bios with the xdk dash http://www.xboxisozone.com/downloads/344/.html and here is a dev kit for those curious to mess with it http://www.xboxisozone.com/downloads/362/.html. You could probably compile the source for haiku using that or the OPENXDK if you don't mind the missing stuff http://sourceforge.net/projects/openxdk/. The added benefit of the debug dash is to "debug" your code, and you can play games using it as well, but you can also use Unleashx or XBMC xbox version here http://www.xboxisozone.com/downloads/321/.html I also uploaded a raw hd image to xboxisozone that tells how to use haiku under xdsl's Qemu.

Re: Xbox Development Bounty

Haiku is MIT for a reason. You should be able to do almost whatever you want and the community should follow the spirit by encouraging it...so if someone wants to port Haiku to their refrigerator (wasn't there BeIA for that?) either for a learning experience or because it may be useful: great!