Valve on Linux
Valve Corporation, a video game maker based in Bellevue Washington, has rejected Windows 8 and is now promoting Ubuntu Linux. It will come as no news to most of the League, but Valve Corporation created some of the most important first-person shooters games, including the venerable Half-Life. According to Valve co-founder and chief executive Gabe Newell:
“I think Windows 8 is a catastrophe for everyone in the PC space. I think we’ll lose some of the top-tier PC/OEMs, who will exit the market. I think margins will be destroyed for a bunch of people. If that’s true, then it will be good to have alternatives to hedge against that eventuality.”
Valve provides Steam, a software service for sales, distribution, rights management and an open applications programming interface for the gaming world, linking developers to gamers and gamers to each other. It provides a host of useful utilities. In December of last year, Steam revealed a beta port for Linux, targeting Ubuntu, but the Steam beta is able to run on other distros with a modicum of installation effort.
Valve is involved in several hardware projects including the much ballyhooed Piston Box, apparently running Linux.
Newell talked about supporting the development of “good/better/best” tiers of hardware, ranging from low-cost streaming solutions to “whatever those guys want to manufacture,” even when they don’t necessarily jibe with what Valve thinks is best. “It’s been surprisingly difficult when we say to people, ‘Don’t put an optical media drive in there,’ and they put an optical media drive in there and you’re like, ‘That makes it hotter, that makes it more expensive, and it makes the box bigger.’ Go ahead,” he said.
Valve, for its part, is focused on building a system “that’s quiet and focuses on high performance,” he continued. “We’ll come out with our own [system] and we’ll sell it to consumers by ourselves. That’ll be a Linux box, [and] if you want to install Windows you can. We’re not going to make it hard. This is not some locked box by any stretch of the imagination. We also think that a controller that has higher precision and lower latency is another interesting thing to have.”
I am no technology zealot. Linux has its problems, Lord knows. But it’s like a reliable old truck. It might not be as pretty as the Apple offerings or as widely-accepted as Microsoft’s offerings but it’s like a good woman (or man, whatever your predisposition in partners might be) – more than merely pretty. And like that reliable old truck or that good woman, sometimes Linux’s failures require some diagnosis and patience. But in its own humble way, Linux has come to dominate the world behind the curtains, where utility and reliability and security matter more than good looks, where a user can actually communicate with the operating system with text and not just button clicks. Once things are running in Linux, they stay running.
Linux arose from Unix, a profoundly democratic operating system capable of supporting many users through frugal use of system resources. Over time, through the efforts of many contributors both corporate and private, Linux has become what it is today. Linux has faded into the background, ubiquitous and amorphous. It never attempted to be the Corporate Standard. It just became a standard, mostly by staying out of sight. Its flexibility allow Linux to be tuned to many different tasks, from low-latency realtime applications to plain-jane LAMP stacks so often seen running websites, to embedded software — it’s everywhere.
Valve, like Linux itself, was never a Traditional Company. There are no bosses. It’s a software company run like – well – a software company. Linux has one boss, Linus Torvalds and a handful of committers. At Valve, well, again, Gabe Newell in his own words:
Why did you create a workplace with no managers?
I was at Microsoft (MSFT) for 13 years and one of the things I did was go out and talk to customers. I ended up being exposed to a bunch of different organizations that had very different process models. As a result, I ended up thinking about organizational choices more than I probably would otherwise. It became pretty obvious that different types of organizations were good at different kinds of things.
When we started Valve [in 1996], we thought about what the company needed to be good at. We realized that here, our job was to create things that hadn’t existed before. Managers are good at institutionalizing procedures, but in our line of work that’s not always good. Sometimes the skills in one generation of product are irrelevant to the skills in another generation. Our industry is in such technological, design, and artistic flux that we need somebody who can recognize that. It’s pretty rare for someone to be in a lead role on two consecutive projects.
Why is that?
The terminology we use internally is “individual” and “group” contribution skills. A group contributor’s job is to help other people be more productive, and in doing that you sacrifice some of your own productivity. It’s a higher-stress job and you get interrupted a lot more. People will do that for one project. They’ll say, “I really want to do this game,” and everyone will say, “Ha, ha, ha, you’re stuck with it now.” At the end of the project they’re like, “Gee, that was really interesting, but I want to go back and work individually on the next thing.” Some of the highest-compensated people at the company are relatively pure individual contributors.
Hurray for Valve. They’ve cut the Gordian Knot of effective digital rights management on Linux. By porting Steam to Linux, they’ve finally brought games to Linux, the last hurdle to consumer acceptance of the Linux platform. Sure, Steam is only in beta just now. Only a handful of games have been released. But it’s a giant step forward for Linux.
It may be premature to declare this move the last straw for Microsoft’s long hegemony but if Valve rejects Windows 8, the handwriting is on the wall: Mene Mene Tekel Upharsin, thou hast been weighed in the balances and found wanting.
I read your post to Tim about software companies, managers, and programmers earlier, and thought of this.
Awesome you did, too.
My elder sprout would very much like to work at Valve someday.Report
Porting Steam to linus does not, AFAIK, port the actual games to Linux.
Getting developers to go through the hassle of porting games to Linus is not gonna be particularly easy. If they do it right, it’ll involve testing against — you guessed it — multiple hardware configurations and if they do it cheap it’ll be buggy.
I see a lot of interest in console-esque boxes (often linux-based and generally using Steam, in fact) but I don’t see them going anywhere. Consoles work because of unified and unchanging hardware that makes developers and testers lives easier — and the result more stable. There is a singular Xbox configuration (only hard drive size changes), a singular PS3 configuration. Wii, like Xbox and PS3, runs the exact same OS (well, each Wii is the same as any other, not that Wii and PS3 are the same), on the exact same hardware to the exact same tolerances.
The steam-boxes I see starting to pop up are all different, they don’t run on a singular linux release, and Steam itself lacks many linux games. It’s a bit of a Catch-22, but unlike the console-makers who can power through and rely on sheer size, Linux can’t really muscle devlopers to make linux versions of anything.Report
Consoles work because video game manufacturers finally stopped aiming at anything better than mediocre.
“Oh, hai, I can make everything in the distance blurry!”Report
Actually, consoles work better because of unified architecture. PC games tend have a zillion sliders for graphics alone — better graphics, worse graphics, high-res textures, low-res textures, AA settings and a zillion other things.
Because the guys who made your PC game don’t know anything other than you should, theoretically, have the minimum specs the game box requires.
Every Xbox has the exact same processor, onboard memory, and video card. Which means a game (or really, more the engine, but that’s a quibble) is fine-tuned for that specific configuration. Which it will always run on.
Which results in console games generally looking a lot better than PC games running on the same hardware.
As I play both console and PC games, and have since the early 90s (well, late 80s. I got started with Bard’s Tale, Starflight, and Space Quest I), your complaints about consoles working because of ‘manufacturer mediocrity’ are simply not an opinion I can agree with, since it contradicts the 20+ years of experience I’ve had with electronic gaming.Report
The household here settled on console for 2 reasons.
#1, 99% of the games we wanted were either console-first with bad PC ports, or console-only anyways.
#2, it’s really hard to sit and play a game with someone watching when you’re locked in the office playing on the PC with a 19-inch widescreen monitor. Better to play anything anyone else wants to sit and watch or join in on with the living room TV.Report
That makes perfect sense. As a developer, I think about it this way:
A console is just another box to me as a developer. It has an operating system, some device drivers, some peripherals. I could care less. And neither should you as a consumer. The old clunk-o tower box, trying to be all things to all people, it should have disappeared five, ten years ago. That goes to your #2 point.
But the #1 point is more interesting. Why are the PC ports so bad? Here’s why, in a nutshell: the desktop-oriented operating system isn’t tuned up effectively. It’s got loads of things going on in there and has to service them all: your browser and all the other software you’ve got running. With a games box, or what I would call a low latency box, there’s little need for all that multitasking capability. The game has to run smoothly at all times.
Now Linux can be tuned within an inch of its life. We call this Low Latency. You’ve got a sound card, video buffering, controller inputs, the various aspects of your game as it runs. There is a difference between Realtime and Low Latency, but it’s not important to this discussion. What you really want, as a game player is consistent latency, sound and video and controller I/O in concert with each other.
It’s the same code executing on both the PC and the console: it was probably compiled out of the same source. It’s horrid on the PC because the OS isn’t tuned appropriately.Report
The UI on most consoles is horrid.
PC ports aren’t so bad anymore, because nobody’s building games that actually stress out what we can put in a PC anymore (well, except for Dear Esther — but you have to ask “is that a game??”).Report
I take it you don’t play many console games. The UI is simpler, since there’s no keyboard or mouse, but in general I find the average console game to have a superior UI.
For the simple reason that “less” is often “more”.
PC only games tend to have godawful cluttered UI’s, often truly designed to be played through WASD and hotkeys.
Now, PC ports of Console games often have THE worst UIs of all. 🙂Report
To be fair, in the past couple of years, this has gotten better and many more PC titles are available to use on PC w/ a controller instead of a keyboard ‘n’ mouse. In some cases, the PC version of a game is even better than the one on 360 or PS3.Report
Say that again after you’ve played Treasure Adventure Game. ;-PReport
One vote for the pc master race here.Report
Morat, I’ve played games designed to be playable without any player input at all. Or ones that have been designed to be used with one hand. (yes, use your imagination.).
forward/backward/right/left crouch/jump/run And this isnt’ even counting ANY combat abilities. Or being able to change the direction you’re looking without moving.
A game ought to be judged based on its pacing. If you’re spending oodles of time fumbling through menus, the realtime pacing of a game really, really suffers.
and I /like/ hotkeys. 😉
A mouse provides a beautiful interface for the look command (grab/interact if you’re playing adventure games). If you really need to select oh… fight/block/evade/cast spell — it’s just a lot more fun for that to be something that’s one action, rather than digging through menus.
Besides, most of these consoles seem to encourage lazy design. Remember System Shock? A decent part of the game was about inventory management — and it was fun.Report
I’m trying to come up with a game I’ve played on Xbox lately with “oodles of menus”.
I’m not coming up with much. At all. Especially not the flagship Console stuff — not Halos, Mass Effect(s)…..
I think oodles of menus seems to be driven by developer or possibly genre, not PC or console. Which makes sense — there’s nothing that says a Console or PC interface has to be clutered.
Hotkeys are a bad idea. If playing your game really NEEDS hotkeys, you’ve just made your pool “touch typists”.Report
Dude. you remember when games used to be hard. And I’m not talking just “try it again a million times until you make the jump”
And if people can learn the console keys, they can learn hotkeys (note: too many hotkeys can be evil, don’t get me wrong. but most people know or can learn a good few).Report
There are 4 buttons on an Xbox controller, two triggers, two shoulder buttons, one directional pad, two thumbsticks, a start and a back button.
It sounds like a lot. It’s not. The buttons are always in the same place, the reflex to use them is always the same. You can do it with hotkeys (I remap MMORPG keys for exactly that reason) but that takes work.
Most importantly, the buttons are right there exactly under your fingers. I don’t have to do bridges with one hand to mash ctrl+i left-handed (with the hand I’m moving with, so I have to stop moving)..
Gamepads are generally superior to keyboards, a mouse is superior for fine pointing to a gamepad.
Again, depends on the game. Game controllers are awful for typing, for instance. Good lord, I hate it when I have to enter keys or something….even if you get the tiny keyboard, it sucks.Report
The XBox controller is becoming a de-facto standard for all sorts of interesting things — like flying Predator drones. Everyone knows the interface.Report
Mind you, I was a dedicated PC gamer. For YEARS. And then my wife got an Xbox 360, she’d always been a console fan (she brought her PS2 with her) and, well…
I split my time now. PC’s are for MMORPGs, mostly (Star Trek Online at the moment) and browser games and work. Consoles are for lazy weekends.
Picked up Jade Empire — which I missed when it came out — of Xbox’s Arcade, and looking forward to playing that. And got Blood Bowl on Steam, picked up Planescape Torment (another I missed) off Good Ole Games, as well as the Baldur’s Gate mega pack.Report
Yeah Morat. Given my druthers, I’d rather write for a dedicated machine like a console. I come from robotics, where nobody ever touches the keyboard unless they’re configuring it, which is very seldom indeed. You put some nice big buttons in convenient places and keep the puter aspects of the machine literally locked inside a cabinet.Report
morat20,
any game that uses ctrl-i and a mouse deserves to be flipping shot. 😉Report
Long, long ago, there was a game for the Atari 800 called Star Raiders. It was a unique game, AFAIK nothing much like it has been written since until the era of MMORG team play and milsims for tank training. Star Raiders required two players on the same side. One person would be run the keyboard. The other was the gunner/pilot.Report
A mouse provides a beautiful interface for the look command
Until you’re trying to turn around and realize your mouse just went off the edge of the mousepad while you still have 45 degrees to turn to shoot the enemy behind you.Report
rofl. in which case, increase your mouse sensitivity.
My version of this is “when the enemy sneaks up behind you, and you panic, and you wind up running in god-knows what direction, without any clue where a safe bolthole is.”Report
You missed one: It’s cheaper.
You can (1) buy a console for 400ish (or 300 or even 100 for the Wii) that hooks to the TV you already have OR spend twice as much for a PC. (You can get a PC for 400 or 500, but not one that’ll run current games well).
The console will continue to run every game sold for it until the end of it’s lifespan (which tends to be 5 to 10 years). The PC will need upgrading, well, practically right away if you only spent 500 and within a year or two if you spent 800 or so. New video car, more RAM….
Lastly, it’s easy. I know the game marked “Xbox 360” will run fine on my 360. The PC game with the giant list of specs? A little harder for the less tech savvy to figure out.Report
This is largely true, but not as bad as it was at the beginning of the last console cycle. I know people who are still running fine on 3 or 4 year old graphic cards. Now, they aren’t playing Skyrim w/ 90 mods and everything on high quality, but it’s still a comparable experience to the 360 version or even better. Now, we might go back to the same roller coaster of annual graphic card upgrades once the new consoles come out and graphics have a reason to kick in another year, but we have move past the, “spend $1500 on a PC, then $250 on a new graphic card 18 months later to play any PC games” era.Report
I suspect that’s largely been driven by console popularity and, of all things, WoW.
Blizzard sadly didn’t do that so much for SC2 and D3, but for WoW they said “Our market is people with average machines, even laptops, not guys running overclocked PC’s or top-end gaming machines” and designed the art style and engine around it.
Which is one reason I stuck with WoW and never could get into newer MMORPGs — my aging system couldn’t handle it. (And it was quite old when I went to finally replace it).Report
The phenomenon of Wow bestriding the MMO landscape like a colossus continues to astonish me. How old is that damnable game now? It should have been imitated to death by its competitors or abandoned wholesale by bored users long ago. What the fish Blizzard?Report
OpenGL is a lot more common than you might think it is in the graphics back end of a lot of these games, and the graphics is the part where you get bugs. Most of the rest of the engine will Just Work.
If Valve gets a good relationship with ATI and/or nVidia (and most importantly, gets those two companies to have a sane kernel-level driver setup with their proprietary drivers), this will actually be a boon to everybody, everywhere.
Having a commercial entity push (hard) on those two companies is something that the Linux community has needed.Report
No. Hell no. Read the links. These are actual games running on Linux. That’s why Valve have started at the beginning of their software history, with Half-Life, so the porting process follows in step.
Clearly, you don’t understand how a Linux package works. Installing Steam for Linux involves some dependencies, mostly having to do with libpng and gtk2 library support. Currently, the Steam package runs as 32 bit, so there’s a bit of work getting the right libraries installed if you’re on a 64 bit machine, but both 32 and 64 bit can peacefully coexist. They’ve made the Ubuntu port pretty much painless.
Nor do you understand how to test a Linux application. You’re using the NVidia driver, which either will install or it won’t install and you’ll know that right off the bat. This isn’t Windows, Morat. Either you’re in Userland or you’re in Kernel Space.
Thereafter, you just run steam. That’s it.
Valve have thought this through rather better than you have. The video card makers are perfectly willing to write drivers for Linux. What actual developers like me want is a unified and unchanging tool chain so the code continues to compile and run. We don’t give a shit about the hardware. The hardware people give a shit about hardware. If they want to sell their hardware, they’ll write a driver and provide a consistent interface to Steam, not to our applications. That’s the great genius of Linux, it’s generic as hell. It’s a kernel, dude.Report
The video card makers are perfectly willing to write drivers for Linux.
This is actually a bit more complicated of a story than that. There are drivers for Linux, but they aren’t always going to leverage all the capabilities of the cards (although both manufacturers have been better and worse about this over the last decade, trending to the better).Report
They will at least support Steam now. As Valve continues to work through the backlog of its old games, porting them to Linux, firms like NVidia and ATI will keep pace with driver support. The old games didn’t use all the new tricks. The newer games will require the Linux aficionado to upgrade his video card, of course, but that won’t be a big deal because now there will be a driver waiting for him at the far end. And naturally, the Linux world will be able to use those new functions.Report
All of this, yeah.Report
I know there are actual games running on Linux, Blaise. For one, you said it in your post, which I read.
And I know how libraries and porting work. And the actual process of porting a game for Linux is not, in practice, nearly as simple, trivial, or bug free as you’re trying to claim.
In the end, I’m not expecting to see a rush to port games to Linux. Steam on linux might, might, lead to a slightly larger number of games actually being available on linux. I sadly don’t see it foreshadowing a change in the PC gaming marketplace.
Nor do I see the handful of steam-boxes challenging the console market. I’d be totally happy to be wrong, since I’m not exactly emotionally invested in Microsoft, Apple, Sony, or Nintendo.Report
Look, here’s what going to happen. Seriously. Writing for a console is no different than writing for any other platform. Xbox OS is just another operating system. To write for a given operating system you need a compiler and a toolchain which generates code for that operating system. In Linux, most people refer to the version by its gcc compiler identity: if I can get the OS to boot, I’ve already got a compiler for it. I have about four compilers on this box, each targeting different hardware. I can even write up a shell script to operate them all at once and produce four different executable modules.
To me, a console is no different than any other target. I don’t care about hardware unless I’m writing a device driver. But the person who uses my driver shouldn’t have to care about the hardware: I’ve written him a useful interface so he doesn’t have to care.
Windows 8 is just another such operating system. But the revenue model for games on Windows 8 sucks. Microsoft wants 30%. Now that kinda money is a strong motivator. Linux has compilers for more hardware/OS platforms than anyone else. It’s zero cost to get HelloWorld.c to compile and run. I write a regression test suite to make sure stuff still works after every compile. This isn’t Windows. I don’t have to deal with a forest of DLLs. This is Linux, a real operating system, where it’s possible to control things and parcel out functionality.
Writing a device driver, same story, a hardware vendor will write one for an operating system if he sees a market for his cards on that OS. IBM went to a lot of trouble to get Linux to run on its mainframes, and why? Because they can sell mainframes that way and know thousands upon thousands of developers will know how to develop for it. The oldsters who wrote all that COBOL/CICS are getting old. Now everyone wants Java and Python and C++ and suchlike, database vendors are porting their stuff to Linux — because they can sell more product.
Microsoft might be ubiquitous but it is no longer generic. Windows 8 annoyed an important software development firm, always a bad move. A three billion dollar outfit is a bad enemy to make.Report
“Microsoft wants 30%”… really? ack.
xBox os is just another Microsoft os (just without the cute Japanese mascot, unless I’ve missed a few revisions).Report
Yeah. XBox OS is just a fork of Win2K.
(makes like Howard Beal)
It’s just an operating system, people. No magick spells or Sorting Hats. It’s a program, just like any other program. You get a compiler for it. That’s just a program, too. You write some code and compile it. If there are errors, you fix them. You run it and test it. Might want to write a script or even a program to automate your testing. You look at the APIs and write some more code. And test it again. Lather, rinse, repeat.Report
Blaise, I hate to break this to you, but Valve takes 30% as well from all games bought on Steam. Same thing w/ the App Store on Apple, Origin from EA, etc. That’s just the standard rate.Report
Which is why Valve isn’t going to pay anyone else 30%. They have their own distribution network, Steam, and Microsoft isn’t going to get any of that pie via Windows 8.Report
Sure, if Linux ever becomes something normal human beings can use. 🙂Report
My mother in law uses it just fine. And she’s no programmer.Report
Heh. When was the last time you actually ran Linux? The late Cretaceous?Report
I’ve put Linux on old Windows boxes added LibreOffice, Chrome — and people say “Gosh, this machine runs so much faster now!” Well, duh, yeah. It’s efficient. These are people who will never use a command line. Ever.
Curiously, the less they know about it, the happier they seem to be.Report
Elder Sprout runs Ubuntu on a macbook; the only thing that’s wonky is the touch pad error handling.Report
As a matter of fact, I’m reading this post right now on a Macbook running Ubuntu (dual booted w/ Snow Leopard). Runs like a dream, it does. I’ve noticed some wonky behavior with my touchpad as well, but at least gestures and reverse scrolling work.Report
Fish, he did that for a while.
Now, it’s just Ubuntu. Did not want to be tied to proprietary software at all. And the only thing that doesn’t function is the error handling on the touch pad; nothing open-source yet that doesn’t have the cursor jumping all over the screen.Report
People seem to get by fine with Android, which is Linux with a simplified GUI on top of it.Report
I go by “what my Dad can handle”. My dad could hook up an Xbox. My dad can assemble a dell and get windows to start.
My dad, faced with even a pre-installed Linux OS is first going to call me, and then complain that most of the software he likes he can’t install and then grasp that he’d have to buy new software, and that some of it wasn’t even available.
I’m sure he’d be thrilled it ran faster. Except for the fact that he needed to get his kid over to set it up and it wouldn’t do some of the things he wanted, and it was entirely unfamiliar.
OTOH, he picked up an iPhone and managed that right away. (Of course, he still needed me to come over and get his wireless printer to work right with his iPhone and my Mom’s iPad, because neither of them can follow what seem to me to be clear, basic directions. There’s a lot of ‘This didn’t work because someone went into the settings and turned ‘X’ off, which the directions say should be on” followed by Dad saying “It didn’t seem like something that needed to be on”).Report
Well, older people really like Ubuntu, that’s been my experience. Old people want a computer to be an appliance, read email, write a letter, play solitaire and mah-jongg, print out a picture of the grandkids, Skype with Abu Feisal in Cairo. Nice big buttons and icons, menus are always good.
Mostly it’s a question of which desktop you’re installing. Some people like Gnome, some prefer KDE if they’ve got previous Windows experience. Burn up a few different spins, boot ’em, work out what the old people like.
But people are all different. Some folks really like Mac. It’s all good, Mac is really just a fork of the BSD kernel and you can still start up a terminal session in there.
In the beginning, all things are hard. But for years now, Microsoft has been telling consumers they’re stupid, for decades now, and they’ve taken it to heart and they’re fearful. It was cruel: Apple always provided nice consistent interfaces. This stuff should be simple. The computer as we know it should disappear into useful appliance-like things. That’s why people like smart phones. The auto industry did a good job of making all that computo-fangulation disappear under the hood and behind the dashboard. Form follows function.Report
+1.Report
He can get windows to start, but I bet he can’t keep it running for two years without it cratering on him.
At some point, “ease of setup” needs to stop being conflated with “ease of maintenance”.Report
He can get windows to start, but I bet he can’t keep it running for two years without it cratering on him.
Or, worse, it won’t actually crater and it will be used as a coughing, wheezing source of ever-present irritation.
My issue with Linux is and ever-was that to do anything outside the sandbox, I have to learn everything. Which I am not yet read to do. The original set-up is one of the easiest and most painless things about Linux. It’s once I run into something that it isn’t already set up to do…
One of these days. One of these days.Report
What sort of issues are you encountering that would require you to learn anything?Report
“He can get windows to start, but I bet he can’t keep it running for two years without it cratering on him.”
i’ve always found this weird, because despite years of beating windows-run pcs to death i never had all these terrible issues. multichannel audio, video editing, adobe suite, some high end gaming, etc. i mean, i had a dual boot 2000/xp install going until last year until the all the mboard capacitors popped on me like so much popcorn filled with undelicious chemicals.
perhaps, though, i’m pretty damn awesome.Report
The problem with Windows was seldom Windows itself, though there were some awfully dodgy things in their various OSes. If you had sufficient RAM in them, they didn’t have to swap out to disk very much. It also helped if you didn’t try to task-switch very much. You knew better than to compile in the background and try to do something else, for example. Especially don’t run any of the Office products while a compile was going on, you’d routinely hang the box. Windows was and still is extremely bad about leaving open file handles around for swap files. Memory management was not Windows’ forte, to put it plainly. Each program would have to compensate for Windows’ weakness in this area. Windows never understood file permissions and was therefore prone to security problems.
The third-party drivers and DLLs were the source of most of the problems with BSODs. But they’re part of the OS by definition, since they appear as devices. Microsoft have tried to clean things up on this front by a certification process but they can’t clean up everything.
Microsoft need to learn how to write a proper OS. Apple finally conceded they weren’t going to beat the *nix model, bit the bullet and ported the BSD kernel to their own hardware. But long before Apple made that move, Microsoft had a *nix operating system, Xenix. Had Microsoft simply continued to work with that kernel and not play stupid games with OS/2, a pretty good OS by my estimation of things, what with those virtualised interrupts, making DOS safe for mortal men, they would now have a long history of stable, secure operating systems instead of the troubled legacy of Windows.Report
Actually, what kills PCs these days isn’t windows.
It’s browsers, and specifically add-on prolifertation.
“My PC is running slow!” means “I have 36 thousand add-ons running in IE, to the point where half my browser window is add-on bars”.
They’ll do it to Chrome, Safari, or Firefox too if you give them a chance.Report
Forgot to add: Since, oh, XP (at least by SP2), Windows has been remarkably stable. It’s really not an issue, although to everyone who formed opinions in the Dark Days that’s hard to credit.
I can’t speak for Windows 8, but even Windows Vista was quite stable. Annoying as snot at times, but I haven’t had stabilitiy issues on it at all.
7 is just dandy.
These days, “Windows sucks” problems are rarely windows. Malware, possibly, or bloated IE add-ons or a million other things, but the Windows kernal is mature and quite stable.Report
My Vista machine (a Thinkpad) was horrifically unstable, particularly reviving itself after hibernating. Halt the time it wouldn’t do so and had to be hard rebooted, and when it did I had to keep tinkering with the dual-monitor settings before I found pixel sizes it would accept this time. Upgrading to Windows 7 solved all of that.
My MacPro is very stable, except that processes keep growing in size. I thought that upgrading from 8 to 16 gig would solve all the memory issues, but it just increases the time before I have to kill and restart the worst actors (usually IntelliJ and Chrome.)Report
Windows memory management sucks. Plain and simple. A good solid programmer takes good care to free() what he’s malloc()ed — and Windows does its best Dr. Science impression “He knows more than you do!” — and won’t really free it. “Oh, I’ll tend to all that later,” says Windows. “I don’t even bother cleaning up after myself. Why should I clean up when you ask me to?”
And so, browsers and JVMs and all sorts of things which routinely reserve and return memory start to bloat. “I’m not overdrawn, I still have checks!” says Windows, spilling out to disk. Chugchugchug goes the disk. And eventually, when the user gets really sick ‘n tired of the browser hanging while the disk thrashes, hits Ctrl+Alt+Delete and reboots the box. Grrrrg! goes Windows, sorta forgetting to clean up after itself on shutdown, leaving scads of open file handles, which of course since it doesn’t really understand how to manage a swap partition in the first place, end up with 0 length files all over your drive.
Windows is an elephant which spawned a whole variety of follow-on industries to clean its crap off the street after the parade. Security problems? Let the antivirus crowd handle that. Disk corruption and mangled file management systems? Let File Scavenger and SpinRite actually do the clean up.
Windows is a nonstop clusterfugg at a systems level.Report
Really? With Windows 7, I have never had a problem with 16GB. And I am a pretty aggressive user. It’s been… really nice.
(Meanwhile, I had to upgrade my smartphone precisely because of RAM issues.)
Also, cosign what Morat said about browser proliferation. I find that on my other machines, browsers and plug-ins are the cause of 90% of my resource problems.Report
That the odd thing: I’m seeing far more process growth on Mac than I ever did on Windows. Since it’s pretty much every process (how can their mail client need 400 MB of virtual space?) I’m guessing the problem is in Cocoa.Report
It also helped if you didn’t try to task-switch very much.
This. Almost from day one, the Linux scheduler and context switch were much better than anything MS had at the time. I was doing research into real-time multimedia communications over IP networks. My software didn’t need the processor for very long at a time, but needed access to it many times per second. On Linux you could run experimental compression algorithms in user space and get access to the processor often enough to maintain smooth playback. Run the software on Windows on the same box and video was jerky and audio subject to breakup because the process(es) simply didn’t get scheduled often enough. Video for Windows (VfW) was a nasty kludge that allowed smooth playback. But you had to hand the operating system relatively large chunks of audio and video data at a time, which introduced too much latency to do decent two-way communication. Lots of operating system functions had code added to them so that, before they executed their own code, they transferred control to VfW. And in some cases, polled VfW periodically while doing their own job. Blech.
And to give credit where it’s due, the IP implementation that Alan Cox’s group wrote ran rings around anything available on Windows.Report
Windows 7 gave me tons of fucking problems with 64 Gigs.
Ooh, 64 gig swap file. Plus a 64 gig suspend file. naughty naughty windows.Report
There are close to 1900 games available on Steam, of which 59 currently available on Linux. Best of luck to them, but for the moment it’s not there.
Valve is taking steps in that direction, sure. Valve is taking steps in a lot of directions.Report
Those numbers may be less interesting than they seem at first glance.
If those 1900 games are 100 real games and 1800 things thrown together than nobody really plays unless they’re bored to death, and of the 100 of the “real” games, 50 of them are in the 59 supported cross-platform, you’re a lot closer than the raw numbers indicate.
Especially if the Steam guys take a forward view.Report
True. They’re just first glance numbers. But, if anything, the specific games that are available on Linux actually make that worse. There are certainly some small publisher standouts on there (Amnesia, Bastion), but, except for the Valve games, no blockbusters.Report
What Fnord said. Looking at the list of Linux games, most of them are indie titles available on PC already that are easily portable to Linux, hardcore strategy games, some Valve games, and that’s about it. The only even quasi-big non-mainstream non-Valve games are Amnesia, FTL, and Bastion, which are all good games, but not exactly Skyrim or GTA.Report
Look, there are three fundamental holdups to Linux gaining a foothold in the game space: DRM/updating, gamer community infrastructure, all the things Steam does for yez in that regard — and advanced video drivers.
The Quake engine has been ported to Linux for donkey’s years now. id Software have ported some great stuff over. Here’s an example.
You might want to check this out. OpenGL runs faster than DirectX — even on Windows.Report
You don’t need to sell me on OpenGL. I like OpenGL. But (in addition to all the stuff the article says) Xboxs only have DirectX. That’s a strong incentive to use DirectX.Report
On the other hand, there are indications that Microsoft is gearing up shot themselves in the foot on the next generation of the Xbox, too. If there’s a move away from Xbox development, that might move developers away from DirectX.Report
That’s true. Valve has set the Wayback Machine to Year 0 and is slowly working its way forward. The machinery evolved over time, the Steam engine evolved over time. Gabe Newell is ex-Microsoft and he really, really hates Windows 8. It might not Be There yet, but it is somewhere in the distant past in Valve Time. And it’s slowly inching forward.Report
If we have to wait for Valve Time for all this to get running, we’ll be on Windows 9 by then.
But really, it’s not up to Valve. It’s up to the Activision and Bethesda and the other publishers who sell through Steam. Say what you will about how easy it is to develop for Linux, but the fact is right that right now they’re not doing so. If Microsoft shoots itself in the foot hard enough, I suppose that could happen. But I doubt it will happen because Valve specifically is pissed off.
Really, this seems like not so much trying to change something, but rather Gabe Newell trying to keep ahead of the the curve on a change that he thinks is coming anyway. If Windows 8 is going to trigger an exodus to Linux, that’s what’s going to happen. But the guy in the right place with a digital distribution system for Linux all ready to go might be well positioned to take advantage.Report
Lots of things are changing over at Valve. First they went with a heavily-curated process, Greenlight, then Gene gave up on it, calling it a dictatorship.
This really has nothing to do with how difficult it is to develop for Linux. It’s how to monetise gaming on the Linux platform. Porting Steam to Linux is a strategic move. It’s no different than the reason IBM supported Linux (and the Eclipse IDE) so heavily. The Linux community benefited hugely from IBM’s contributions but IBM wasn’t doing this out of the goodness of its heart. It saw money in there, and thousands of developers. So Valve wants to port its stuff to Ubuntu, same story as IBM.
If the games writers had their druthers, they’d never have to think about hardware considerations again. It’s the bane of their existence — oh, we’re going from this region to that — okay, can we load the next region in sixteen milliseconds — aw shit, ran over by six milliseconds, well, downsize that region — get in here everyone, the game topology is changing — grumblegrumble rantrant frothfroth….Report
And I’m STILL waiting for Half Life 2, Episode 3!Report
Me too!!! I have been disgusted with Valve for years now and haven’t installed Steam since 2008. Obviously Valve cannot finish what they start. There is NO WAY I’ll be buying Valve hardware until we get another installment of Gordon Freeman.
So suck it Valve!Report
As Gene said in the article, go ahead, put in hardware you don’t need, it’s your power bill. Valve does pretty much what it wants to do. Lord knows what happened to the Gordon Freeman development team. Go on over to the Valve Developer Community, poke around, see what’s up, pull a copy of Half-Life 2 and see if you can get it to compile.Report
I have been enjoying Skyrim and Duex Ex. 🙂Report
Blaise, do you have any thoughts on the Ubuntu Phone? I am in the process of going all-in with Android (next up: car stereo!) but am looking at that and thinking “Huh. A unified computer/electronics OS might be even better.”Report
Long, long ago, I once assembled a Red Hat Linux kernel so small it would fit onto a single diskette. The whole machine was about the size of two cigarette packs, with an early Sandisk drive. Booting started by installing Linux from scratch each time. As it booted, it would consult a toggle switch on the side to determine if it should even load the video driver or not. It only needed the video driver for diagnostics.
It was like driving a teeny little clown car, getting all that stuff to run in there. The box went inside an ATM and convinced the ATM it was connected to a phone line. But it really communicated via a cell modem and a radio modem.
Ubuntu is onto a good thing here. It looks like you can use either QTM, a sort of JavaScript or HTML5. I’ve also built little Linux boxes which ran a web server inside them. That’s kinda how you do with your wireless router, point your browser to an IP address and configure it.
Sounds like a good idea in principle. Android has an awful lot going for it just now but everyone will benefit from some competition. Ubuntu seems to have learned from Android’s mistakes. Tthe OS really doesn’t matter all that much. Android is based on Linux, too. The phone companies will never tolerate a hackable OS on their networks, so it seems like a wash to me, Ubuntu Phone or Android. I do like the idea of coding in QTM though.Report
Long, long ago, I once assembled a Red Hat Linux kernel so small it would fit onto a single diskette.
Anyone else here go back as far as Manchester Computer Center Interim Linux on five floppies (multiple kernels to match your hard disk controller and Ethernet card, a shell, and all of the utilities needed to do an installation)? Or e-mail exchanges with Alan Cox about hacked-up versions of the Linux IP stack? If not, I claim some sort of “senior geek” status :^)
I did a number of soft real-time projects on Linux because Microsoft made such bad decisions about the OS kernel back in the 1990s. God, what a pile of spaghetti code! Deep down in a loop in a kernel function responsible for getting an audio buffer filled in time there would be call-outs to make sure that the cursor was responding to the mouse. It was the MS priority — nothing took precedence over having the cursor respond to mouse movements. The audio breaks up and the video gets jerky or the packets don’t get read for a few tenths of a second? Sorry, that’s the price you pay for moving the mouse.Report
I never dealt with Linux until Red Hat. My first exposure to Unix was at Bell Labs, where I went for two weeks of training. But I had done some work with 6502 and 8086 and the first IBM PCs so I was given the ungodly task of writing shell scripts to trawl through the 5ESS version control system, building data for export into Lotus 1-2-3. These were turned into transparencies so management could see where code was being added/changed/deleted in the system.
It was about that time when I got a Lattice C compiler for the IBM PC. I got DR-DOS, which allowed me to configure my own operating system components. I wrote a cash register for Sears about that time. When I was made to write Windows apps, I wrote a lot of compiled dBase code or Powerbuilder, generally drifting away from Windows and farther into robotics. If I wasn’t in control of the event handlers on my own event loop, I didn’t want to be responsible for how the applications screwed up and still feel that way. Linux fit neatly into that philosophy.
For me, an operating system is still just a program connecting me to devices. My only claim to Ancient Geek status was a long and friendly relationship with Larry Wall, the author of Perl. I got to know Dennis Ritchie and Ken Thompson in passing, the author of the C language and the author of Unix respectively, but they were demigods even then and I but a mere peon.Report
Preface: I run Ubuntu nearly 100% of the time on my primary computer at home. I’ve been using Linux personally for almost 20 years and have made my living developing software on/for Linux for about half of those 20 years.
I’m at a loss to figure out what problem the Ubuntu phone solves that isn’t solved by Android or iPhone. It’s cool that Mark Shuttleworth wants to bring another competitor into the mobile space, but I think he’s got a VERY steep uphill climb. At the same time, I’m NOT happy at all that their desktop OS appears to be suffering from Canonical’s shift in resources to mobile/tablet/TV.
If I were to guess, the Ubuntu phone is just the latest of Canonical’s doomed attempts to start making real money with Ubuntu after a string of failures. The supported server business can’t compete against RHEL and SLES. They never made headway with MS-dependent hw manufacturers to build a pre-installed desktop ecosystem. And the tablet space has got everyone and his uncle selling devices. It’s a shame. I really wish there were a way for Canonical to make some money while providing a desktop Linux OS. They’ve brought some interesting design ideas and improvements to the Linux desktop, not without a little controversy. Mark’s pockets may be deep, but they’re not infinite.Report
(Shannon’s Mouse here. Having problems posting a comment under my usual nom-de-plume. Let’s see if this one goes through)
Preface: I run Ubuntu nearly 100% of the time on my primary computer at home. I’ve been using Linux personally for almost 20 years and have made my living developing software on/for Linux for about half of those 20 years.
I’m at a loss to figure out what problem the Ubuntu phone solves that isn’t solved by Android or iPhone. It’s cool that Mark Shuttleworth wants to bring another competitor into the mobile space, but I think he’s got a VERY steep uphill climb. At the same time, I’m NOT happy at all that their desktop OS appears to be suffering from Canonical’s shift in resources to mobile/tablet/TV.
If I were to guess, the Ubuntu phone is just the latest of Canonical’s doomed attempts to start making real money with Ubuntu after a string of failures. The supported server business can’t compete against RHEL and SLES. They never made headway with MS-dependent hw manufacturers to build a pre-installed desktop ecosystem. And the tablet space has got everyone and his uncle selling devices. It’s a shame. I really wish there were a way for Canonical to make some money while providing a desktop Linux OS. They’ve brought some interesting design ideas and improvements to the Linux desktop, not without a little controversy. Mark’s pockets may be deep, but they’re not infinite.Report
I rescued your original comment from our spam folder. I have no idea why it got trapped. There was another comment from you in there that was a test (which obviously didn’t work). Why not try another comment to see if things are fixed now.Report
Marked with the Scarlet S??!! Sayitaintso!
Spam. Spam. Spam. Spam. Spam.Report
Ubuntu Phone wants to be your low-end damn-near-disposable device OS.Report
I read that they want to hit both ends. The really inexpensive, and the powerful acts-m0re-like-a-computer segment (to the point that you can pop it into a dock and you have a computer). There may actually be more room in the latter area, since a selling point is the ability to run computer software on it. I think Android may have the cheap side cornered.Report
My Atrix2 (Android) goes into a dock and is a regular computer at present. Mouse and keyboard support, HDMI monitor support, the works.Report
I haven’t even looked up to see if I can do that with my Galaxy 3 (a quick good suggests I could on a Note II, but can’t find Galaxy 3). But… being able to do that on a phone running a full-fledged Linux has an allure.Report
That last one worked.Report
BlaiseP,
Have you worked with Puppy Linux? I find it very useful, functional, and easy on the eyes. Fairly small package with most of the nuts and bolts.Report
Puppy Linux. What a great little distro that is. The Wary port will run on ancient machinery.Report
I use a Linux distro named Parted Magic for a whole host of basic things and, more importantly, easily accessible utilities. I originally got it because it was supposed to be good at partitioning, but it has a whole host of utilities with it.Report
Parted Magic is a fine toolkit. I guess, over time, I’ve gotten used to Anaconda for most of this sort of thing — gawd, I hate messing around with disk partitioning.Report
From your lips to God(ess?)’s ears Blaise and I hope blessings rain down on Valve for years. Portal was pure brilliance and Portal 2 was somehow even better. They deserve to run an operating system just for that alone. Especially if they gave it Glaados’ voice.Report