Xbox Development Bounty

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

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 :slight_smile:

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 :smiley:

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

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

Yes, chipped, flashed, working :slight_smile:

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

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

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.

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.

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?

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

[quote=starsseed]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[/quote]

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.

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?

[quote=naucrates]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.[/quote]

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…

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.

[quote=naucrates]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?[/quote]

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.

[quote=umccullough]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?[/quote]

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

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.

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…

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.

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?

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 :frowning: