Page 1 of 2

Why doesn't Microsoft sell Windows for XBox?

Posted: 2006-05-21 01:11am
by Darth Wong
There is no technical reason why it couldn't be done, is there? It should be easier in many ways, because it's a closed-vendor environment. You can eliminate the whole "plug and pray" architecture along with most of the device drivers and a lot of other complicated bits.

Correct me if I'm wrong, but it seems to me that you've all the necessary components: mainboard, CPU, RAM, HD, graphics, sound, network. All you need to do is make a keyboard+mouse that hook into the funky XBox gameports, and a Windows DVD with the "plug and pray" code and drivers stripped out of it.

So why not? It's not as if it should be difficult for them to do, and it seems to me that it would create another potential selling point for the XBox; in addition to being a game console you can also run Windows on it.

Posted: 2006-05-21 01:17am
by Beowulf
What's the point of Windows on the Xbox? People don't like checking email or surfing the web on the TV. Playing Windows games? I won't bother discrediting this idea. Running a distributed computing client? Only rich guys would care. Music and video? It doesn't need Windows for that.

Also, WinXP isn't already written to run on a PPC platform, which the Xbox 360 is. So they'd have to port a bunch of code, which is nearly garunteed to cause bugs.

Posted: 2006-05-21 01:20am
by Joe
Could there possibly be antitrust issues?

Posted: 2006-05-21 01:26am
by Naquitis
Wasn't there something floating around about installing Linux on your X-Box? I don't own an X-Box so I don't remember too much of it, but I think that you could. And if you can install Linux, Windows is very possible as well.

Posted: 2006-05-21 01:30am
by Darth Wong
Beowulf wrote:What's the point of Windows on the Xbox?
Because you can?
People don't like checking email or surfing the web on the TV.
What if it's an HDTV flat panel? There have been considerable improvements in the quality of the TV websurfing experience since the last time this was tried, and given the low cost and the fact that the XBox owner already has the hardware anyway, what's there to lose?
Playing Windows games? I won't bother discrediting this idea.
Why not?
Running a distributed computing client? Only rich guys would care. Music and video? It doesn't need Windows for that.
Isn't it worth seeing if the market would support it, rather than relying on your all-seeing wisdom to declare that it won't?
Also, WinXP isn't already written to run on a PPC platform, which the Xbox 360 is. So they'd have to port a bunch of code, which is nearly garunteed to cause bugs.
Perhaps someone with more technical sophistication can explain why it would be so difficult to pull this off. I know Windows NT used to be available on different CPUs and that the codebase was designed to be portable to different CPU platforms thanks to the HAL, but it was supposedly discontinued for lack of consumer interest.

Posted: 2006-05-21 01:43am
by Instant Sunrise
Um.... The NT kernel used to run on PPC. IIRC, support for that was dropped after NT 4.0.

The problem with running windows on different architectures is the fact that each individual application would have to be recompiled for the other architectures.

However, only the Xbox 360 is PPC. The original Xbox, which is nearing the end of its lifespan, is x86. Which means that Windows could easily be ported the the original Xbox. As a matter of fact, there are people trying to port it. A difficult task without access to the entire source code.

The Xbox game ports are USB, just shaped slightly different.

Posted: 2006-05-21 01:49am
by Shogoki
Well, it all comes down to the Xbox being created specifically to be a closed platform, just like every other console. MS and Sony earn their money from the title royalties on their consoles, they actually lose money for the hardware.

Putting in an OS that doesnt make you walk on rails like the basic Os consoles have, and allowing users to run free applications defeats the whole purpouse of its existance, which is total control on the hardware usage and profit from that control.

If they were to do that, they might as well start giving away PC's and save the R&D costs.

Posted: 2006-05-21 01:52am
by Spyder
Joe wrote:Could there possibly be antitrust issues?
Apple's been pushing it's own hardware and OS for years and no one's had a problem with it.

Posted: 2006-05-21 01:53am
by Beowulf
Darth Wong wrote:
Beowulf wrote:What's the point of Windows on the Xbox?
Because you can?
Good enough for a hobbyist, not good enough for a business.
People don't like checking email or surfing the web on the TV.
What if it's an HDTV flat panel? There have been considerable improvements in the quality of the TV websurfing experience since the last time this was tried, and given the low cost and the fact that the XBox owner already has the hardware anyway, what's there to lose?
Most people still do not have an HDTV, so they'll still be using SDTV sets. And of course, if no one uses the feature, then you just wasted hundreds of programmers' time, and millions of dollars.
Playing Windows games? I won't bother discrediting this idea.
Why not?[/quote]
Fine.

MS doesn't get the licensing fees for the Xbox game if they run it in Windows. So less money for MS. It fails to promote the idea of buying Xbox games. So less marketshare. Also bad. And you'd need a JIT to even get the game to run in the first place, which means you'd have a crappy run speed, all jerky and stuff.
[/quote]
Running a distributed computing client? Only rich guys would care. Music and video? It doesn't need Windows for that.
Isn't it worth seeing if the market would support it, rather than relying on your all-seeing wisdom to declare that it won't?[/quote]
The first one, only hobbyists install anyway. And they're more likely to install linux in the first place. The second is already done by the Xbox. So you don't need Windows for that.
Also, WinXP isn't already written to run on a PPC platform, which the Xbox 360 is. So they'd have to port a bunch of code, which is nearly garunteed to cause bugs.
Perhaps someone with more technical sophistication can explain why it would be so difficult to pull this off. I know Windows NT used to be available on different CPUs and that the codebase was designed to be portable to different CPU platforms thanks to the HAL, but it was supposedly discontinued for lack of consumer interest.
I was going for the simplified explaination.

Some low level code is still written in assembly language, which is different for every architecture. Also, most non trivial code at some point makes assumptions about the architecture. For example, x86 is little endian, and PPC is big endian. So the programmer has to worry about byte order in anything longer than one byte. Also, since the machine code is different, anything that is to be run on the Xbox 360 would at the very least need to be recompiled, and distributed. More work. And then you need testers to verify that everything still works after porting. And the PPC in the Xbox 360 is different most CPUs in that it's a three core in order processor, which means the compilers have to very smart, or you get serious slowdowns in the run time. I could go on, but it rapidly gets into technical stuff that non programmers don't understand.

Re: Why doesn't Microsoft sell Windows for XBox?

Posted: 2006-05-21 01:54am
by SirNitram
Darth Wong wrote:There is no technical reason why it couldn't be done, is there?
Not at all. People have ran Linux on X-Boxs, DS's, and PSP's. I have zero doubts some enterprising young hacker(Positive jargon, not negative slang, usage) will wedge an open-source OS onto a 360. Then there will be a slew of ports which can take advantage of the hardware.

Windows could easily do the same. It's just foolishness for them not to. An X-Box 360 with Windows on it would fufil alot of people's basic computing needs: Games, net surfing, e-mail.

Posted: 2006-05-21 01:59am
by Hamel
I would think this would work ok if the OS operated totally seperate from games. As in, when you boot the machine, choose OS or game mode. Game mode allots a small amount of RAM for Live and other basic stuff, and OS mode can chew up all the 512 megs. Porting XP to the 360 would be nontrivial, though.

Re: Why doesn't Microsoft sell Windows for XBox?

Posted: 2006-05-21 02:00am
by Shogoki
SirNitram wrote: Not at all. People have ran Linux on X-Boxs, DS's, and PSP's. I have zero doubts some enterprising young hacker(Positive jargon, not negative slang, usage) will wedge an open-source OS onto a 360. Then there will be a slew of ports which can take advantage of the hardware.

Windows could easily do the same. It's just foolishness for them not to. An X-Box 360 with Windows on it would fufil alot of people's basic computing needs: Games, net surfing, e-mail.
Theres no technical reason at all, but it would be a stupid bussines decision, why sell an ultra cheap PC that will make you lose hundreads of dollars and give the people the liberty to run software you didnt make without the possibility of charging royalties for every single piece of legit software you run?

The only reason they subside console hardware so it becomes so cheap if because they hope to make all that money back, and profit, off the MS approved software that comes with hefty royalties, the reason why console games are more expensive than PC games are the royalties attached to the price tag.

Posted: 2006-05-21 02:01am
by Nephtys
I've got a friend who has a sort of OS installed on a modified X-Box. He uses it to play DIVX or MPEG4 movies or anime which can be conveniently transported. It also plays SNES, NES and Genesis emulators, and other PC software.

It seems there is no reason for them not to be able to do a lot of that.

Posted: 2006-05-21 02:05am
by Shogoki
Nephtys wrote:I've got a friend who has a sort of OS installed on a modified X-Box. He uses it to play DIVX or MPEG4 movies or anime which can be conveniently transported. It also plays SNES, NES and Genesis emulators, and other PC software.

It seems there is no reason for them not to be able to do a lot of that.
MS doesnt get any money from your friend's ability to play DIVX movies, anime, emulators or PC software, that's reason enough for them to not do it, its bad bussiness, the only reason costumers even buy this powerful consoles is because the companies absorb a percentage of the production costs to make them attractive for people with lower income.

Posted: 2006-05-21 02:11am
by Darth Wong
Beowulf wrote:Good enough for a hobbyist, not good enough for a business.
Umm, the XBox is a toy, is it not? What's this about "business" users?
Most people still do not have an HDTV, so they'll still be using SDTV sets. And of course, if no one uses the feature, then you just wasted hundreds of programmers' time, and millions of dollars.
Considering the fact that they've already pisssed away billions of dollars on XBox losses while trying to establish a foothold in this market, I don't see the huge risk inherent in adding another way to play around with the thing for a few million.
Fine.

MS doesn't get the licensing fees for the Xbox game if they run it in Windows. So less money for MS. It fails to promote the idea of buying Xbox games. So less marketshare. Also bad. And you'd need a JIT to even get the game to run in the first place, which means you'd have a crappy run speed, all jerky and stuff.
As you're quick to point out yourself, most off-the-shelf games won't work anyway because the CPU is different. So this option would be limited to Flash games and Java games on the Internet, as well as those enterprising game developers who choose to bundle an XBox-compiled version with their games. I can't see this being a big threat to the business model, especially if Microsoft retains the option to force licensing fees from people compiling games for XBoxWindows in case it ever becomes more than a niche.
The first one, only hobbyists install anyway. And they're more likely to install linux in the first place. The second is already done by the Xbox. So you don't need Windows for that.
You can already play Divx and WMV and Internet streaming video on your big screen with an XBox?
Some low level code is still written in assembly language, which is different for every architecture. Also, most non trivial code at some point makes assumptions about the architecture.
In a closed-system hardware environment, no assumptions are necessary. You know exactly what the hardware looks like.
For example, x86 is little endian, and PPC is big endian. So the programmer has to worry about byte order in anything longer than one byte. Also, since the machine code is different, anything that is to be run on the Xbox 360 would at the very least need to be recompiled, and distributed. More work. And then you need testers to verify that everything still works after porting.
Would this be particularly difficult?
And the PPC in the Xbox 360 is different most CPUs in that it's a three core in order processor, which means the compilers have to very smart, or you get serious slowdowns in the run time. I could go on, but it rapidly gets into technical stuff that non programmers don't understand.
Wouldn't they already have compilers optimized for this architecture?

Posted: 2006-05-21 02:11am
by Nephtys
Shogoki wrote:
Nephtys wrote:I've got a friend who has a sort of OS installed on a modified X-Box. He uses it to play DIVX or MPEG4 movies or anime which can be conveniently transported. It also plays SNES, NES and Genesis emulators, and other PC software.

It seems there is no reason for them not to be able to do a lot of that.
MS doesnt get any money from your friend's ability to play DIVX movies, anime, emulators or PC software, that's reason enough for them to not do it, its bad bussiness, the only reason costumers even buy this powerful consoles is because the companies absorb a percentage of the production costs to make them attractive for people with lower income.
I meant to say no technical reason. Microsoft seems to now see the value of their machines as such, with the Xbox360 live downloadable material, minigames, SNES titles and how you can watch some forms of burned movies and stuff on it.

Posted: 2006-05-21 02:19am
by Naquitis
Darth Wong wrote:
Beowulf wrote:Running a distributed computing client? Only rich guys would care. Music and video? It doesn't need Windows for that.
Isn't it worth seeing if the market would support it, rather than relying on your all-seeing wisdom to declare that it won't?
EDIT: I was obviously too busy to notice I had pulled this quote in here so here was my planned explaination.

The problem would be that M$ most likely won't want to risk it in that department.
Darth Wong wrote:
Also, WinXP isn't already written to run on a PPC platform, which the Xbox 360 is. So they'd have to port a bunch of code, which is nearly garunteed to cause bugs.
Perhaps someone with more technical sophistication can explain why it would be so difficult to pull this off. I know Windows NT used to be available on different CPUs and that the codebase was designed to be portable to different CPU platforms thanks to the HAL, but it was supposedly discontinued for lack of consumer interest.
Coding it would be hell as the X-Box uses a very different computing process. Or at least so I would think.

Posted: 2006-05-21 02:20am
by Shogoki
Like i said, as long as it runs on rails it can be controlled and charged uppon, give them a little wiggle room and it opens a very big can of worms, and its naive to think there wouldn't be alternative free compilers for xbox hardware.

Posted: 2006-05-21 02:30am
by Xon
Xbox actually runs on a modified version of the Windows 2000 kernel & a highly slimed down version of the win32 API in userspace. The Xbox360 is also a modified Win2k3 kernel. While Microsoft doesnt sell Windows for PPC, you can bet they have everything ported to it running on some hardware somewhere. (Xbox360 dev machines where what amounts to an Apple computer with a Microsoft OS on it).

Heck, the applications written for thecompact .NET framework can(if it is writtent properly) run unmodified on the PC, Xbox360, and a few other devices. This is still underdevelopment, but it looks nice.

A reason Microsoft doesnt sell the Xbox as a "computer" is they want the Xbox line to be a the core of people's home entertainment ecosystem. And a "computer" has too many negitive connections when you put in in an entertainment enviroment.

Basicly; marketting.

Posted: 2006-05-21 02:35am
by Instant Sunrise
The Xbox 360 functions as a Windows Media Extender. However, you have to have a PC with XP Media Center Edition(OEM only) or Windows Vista. This means that you can use it to run MCE applications, or stream anything that is WMV encoded across.

Such examples of said media center applications include: Transcoding and streaming applications, web browsers, and NES emulators.


MS would like to sweep the original Xbox under the rug. They don't own the IP to everything in the original box. That means that if MS has to pay whatever price Intel and nVidia want in order to continue to make Xboxes. The 360 in the other hand, MS does own the IP on the hardware, so that means that more manufacturing costs will go down, and the hardware alone may make a profit at some point.

Posted: 2006-05-21 03:10am
by Beowulf
Darth Wong wrote: Umm, the XBox is a toy, is it not? What's this about "business" users?
Didn't say anything about business users, I said business. In business, you don't do things just because you can do something. You have to have a valid plan for doing so.
Considering the fact that they've already pisssed away billions of dollars on XBox losses while trying to establish a foothold in this market, I don't see the huge risk inherent in adding another way to play around with the thing for a few million.
Tens to hundreds of millions, more likely. MS pissed away the cash to gain marketshare. Will selling what amounts to a headless $500 computer for websurfing and the like actually gain them marketshare? And is the cash spent doing so worth it?
As you're quick to point out yourself, most off-the-shelf games won't work anyway because the CPU is different. So this option would be limited to Flash games and Java games on the Internet, as well as those enterprising game developers who choose to bundle an XBox-compiled version with their games. I can't see this being a big threat to the business model, especially if Microsoft retains the option to force licensing fees from people compiling games for XBoxWindows in case it ever becomes more than a niche.
Change most to all, if MS doesn't release a Just in Time Compiler for the Xbox. It's Windows. If you're going to release Windows for the Xbox, it has to implement the full Win32 API. In which case you can't close off knowledge of how to program for it. And you can't keep the compiler proprietary, because other companies, like borland, or hell, hobbyists, will release a compiler targetting it. In any case, to run Flash games, you need Macromedia to release a version of Flash which runs on the Xbox, which requires them to make a business case as to whether it will be profitable to do so. Java is the same thing, but it'd have to be written by either MS or Sun.
You can already play Divx and WMV and Internet streaming video on your big screen with an XBox?
WMV, yes, and someone who isn't savvy with computers would be hard pressed to be able to run Divx videos on their PC. In any case, why would MS want people to run DivX on their computer?
In a closed-system hardware environment, no assumptions are necessary. You know exactly what the hardware looks like.
Which is an assumption. Windows programmers have assumed that they will always be running on a x86 box. MacOS programmers assumed that they were always going to be running on a big-endian machine, etc.
Would this be particularly difficult?
In short, yes. In long, yeeeeesssss. Moving from one version of Unix to another frequently breaks things, and thats when they run on the exact same hardware. Also, expensive, so most companies won't release software for the Xbox anyways.
Wouldn't they already have compilers optimized for this architecture?
They don't have compilers that are very good yet. So to get best performance, you need multi-threaded code, which is hard to write, which means you need to pay for a better class of programmer, which increases cost to write the damn program.

Posted: 2006-05-21 03:26am
by Resinence
If you're going to release Windows for the Xbox, it has to implement the full Win32 API.
Alot of the Win32 API is already there, the xbox runs a NT kernel with a slimmed down Win32 API, they would just need to add in the missing functions. It would not be a complete rewrite.
In short, yes. In long, yeeeeesssss. Moving from one version of Unix to another frequently breaks things, and thats when they run on the exact same hardware. Also, expensive, so most companies won't release software for the Xbox anyways.
This is not UNIX. Moving from one version of NT to another rarely breaks things.
They don't have compilers that are very good yet. So to get best performance, you need multi-threaded code, which is hard to write, which means you need to pay for a better class of programmer, which increases cost to write the damn program.
They will need to optimise the compilers anyway to increase the performance of games on the xbox. No money lost there.

Also, how would people being able to program for the xbox be a bad thing? Alot of x-box games dont have PC versions (no fees lost there), m$ does not get licensing fees from PC games (none lost there either). So people would still buy xbox games, but now they would be able to run windowsX (which they bought from m$) on their xbox, complete with mediaplayer and their favourite programs.

Posted: 2006-05-21 03:35am
by Praxis
Beowulf wrote:What's the point of Windows on the Xbox? People don't like checking email or surfing the web on the TV. Playing Windows games? I won't bother discrediting this idea. Running a distributed computing client? Only rich guys would care. Music and video? It doesn't need Windows for that.

Also, WinXP isn't already written to run on a PPC platform, which the Xbox 360 is. So they'd have to port a bunch of code, which is nearly garunteed to cause bugs.
He's talking about the XBox, not the 360.

The 360 is an impossibility for a working setup; if you did rewrite WinXP for PPC, it would still have binary incompatability with every Windows app on the market, so you'd get a copy of Windows XP that can't run any programs currently on the market. No games and no apps other than what Microsoft bundles with it.

The standard XBox would be a 733 MHz Pentium 3 (with less cache than normal, so slower than a regular P3 but faster than a Celeron) and a Geforce 3. Windows would install almost out of the box if Microsoft allowed it to.

I've wondered why Microsoft didn't do that myself.
Windows could easily do the same. It's just foolishness for them not to. An X-Box 360 with Windows on it would fufil alot of people's basic computing needs: Games, net surfing, e-mail.
Remember, Windows running on an XBox 360 could not run any x86-compiled Windows binary (basicly all of them). So no Windows games or apps other than what comes with it.

Posted: 2006-05-21 03:43am
by Beowulf
Praxis wrote:He's talking about the XBox, not the 360.

The 360 is an impossibility; if you did rewrite WinXP for PPC, it would still have binary incompatability with every Windows app on the market, so you'd get a copy of Windows XP that can't run any programs.

The standard XBox would be a 733 MHz Pentium 3 (with less cache than normal, so slower than a regular P3 but faster than a Celeron) and a Geforce 3.

I've wondered why Microsoft didn't do that myself.
There's zilch reason to release it for the Xbox 1, because they've already released a successor to it. It doesn't promote the Xbox brand at all to do it for the Xbox 1.

Posted: 2006-05-21 12:38pm
by Praxis
Beowulf wrote:
Praxis wrote:He's talking about the XBox, not the 360.

The 360 is an impossibility; if you did rewrite WinXP for PPC, it would still have binary incompatability with every Windows app on the market, so you'd get a copy of Windows XP that can't run any programs.

The standard XBox would be a 733 MHz Pentium 3 (with less cache than normal, so slower than a regular P3 but faster than a Celeron) and a Geforce 3.

I've wondered why Microsoft didn't do that myself.
There's zilch reason to release it for the Xbox 1, because they've already released a successor to it. It doesn't promote the Xbox brand at all to do it for the Xbox 1.
And it's useless to release it for the 360 because of the PowerPC processor.