Hardware-Accelerated Graphics On SGI O2 Under NetBSD
Zadok_Allan writes "It's a bit late, but since many readers will remember the SGI O2 fondly, this might interest a few. The gist of the story is this: NetBSD now supports hardware accelerated graphics on the O2 both in X and in the kernel. We didn't get any help from SGI, and the documentation available doesn't go beyond a general description and a little theory of operation, which is why it took so long to figure it out. The X driver still has a few rough edges (all the acceleration frameworks pretty much expect a mappable linear framebuffer, if you don't have one — like on most SGI hardware — you'll have to jump through a lot of hoops and make sure there's no falling back to cfb and friends) but it supports XRENDER well enough to run KDE 3.5. Yes, it's usable on a 200MHz R5k O2. Not quite as snappy as any modern hardware but nowhere near as sluggish as you'd expect, and since Xsgi doesn't support any kind of XRENDER support, let alone hardware acceleration, pretty much anything using anti-aliased fonts gets a huge performance boost out of this compared to IRIX."
I finaly replaced the carb on '84 accord, and now the engine doesn't stall. Too bad, it's all rusted and missing a wheel.
Weird. Yesterday I was just perusing the SGI discard bin on eBay to see if I could pickup (another!) workstation for under $200 or so. I love those machines, despite IRIX, for surfing the web, e-mail, etc. Now if only Valve would release TF2 for IRIX 6.3 so I can play the sniper update....
It was a pretty box, with a software stack that was pretty solid. Prodev, Inventor and Performer, in particular, were pretty cool.
Sometimes, though, you just have to let the sleeping dead lie. This box symbolized exactly why SGI ran itself into the ground. Perfect being the enemy of good, and all.
BSD is dead. As is SGI.
There is no one left at SGI who understands how to get X11 to talk to this old hardware. Those people were layed off back during the dot.com bust in early 2000's when SGI shifted focus from Irix to WinNT. Since then Irix has been on absolute minimum life support until it was EOL'ed in 2006.
Therefor it is nearly impossible to get any programming or hardware documentation even if the current SGI wanted to co-operate. It's all been shredded long ago and the people who wrote it are gone, gone, gone!
Why on earth would you invest time on such a project? Why not start with a more modern platform and work to improve something more than a handful of novelty SGI enthusiasts will use? Even with the hardware acceleration working, it is a dog compared to a 3 year old PC motherboard with onboard graphics. Linux could still use a lot of help getting hardware graphics working well.
Or maybe you could join the 2 or 3 people that have a penchant for reviewing Linux kernel code and finding all those huge gaping bugs? See CVE-2009-1265 for a great example of why Linux needs better code review (and that bug has been there for how many years?).
According to http://bsd.slashdot.org/article.pl?sid=00/06/30/087234, BSD was ported to the O2 in 2000.
That's probably exactly what happened. Too bad we won't be able to support any of their newer graphics hardware for that reason.
There is no one left at SGI who understands how to get X11 to talk to this old hardware. Those people were layed off back during the dot.com bust in early 2000's when SGI shifted focus from Irix to WinNT. Since then Irix has been on absolute minimum life support until it was EOL'ed in 2006.
Therefor it is nearly impossible to get any programming or hardware documentation even if the current SGI wanted to co-operate. It's all been shredded long ago and the people who wrote it are gone, gone, gone!
In fact that shift from hardware that ran Irix to WinNT could have happened well before the dot.com bust in 2001. It might have been as early as 1999.
next to vax/vms, irix was my fave dev. platform;-)
IRIS is not the same thing as IRIX.
IRIS[1] stands for "Integrated Raster Imaging System", and was the name of a series of SGI hardware.
1. See http://www.irisindigo.com/index.php/Main_Page
That was beautiful. Thank you.
If the developer in question was doing this commercially, then points about priorities might stand. But it was done solely for fun, for love of an interesting project. To demand that people stop having fun is just... sad.
Laws do not persuade just because they threaten. --Seneca
I don't have an O2, but i have a couple of Octanes and an Onyx, both of which should run rings around an O2... Is there any way to get acceleration working on these, or is IRIX the best that's available?
I seem to remember IRIX having an xrender library available, possibly from sgifreeware or nekochan, or does it just do software rendering? IRIX used to make a very fast X terminal, but modern apps always seemed very sluggish on it and perhaps that's why..
http://spamdecoy.net - free throwaway anonymous email - avoid spam!
Patents need to be done away with. They do nothing but serve to make someone rich off of coming up with an idea. Anybody can sit around all day and come up with ideas.
If a person is to make money off of a good idea, they need to put that idea into motion and produce a viable product. Basically, they need to work to earn their money.
The same thing goes for musicians and film producers. They think they are special, and all they have to do is work one time, record their efforts, and then they think they can charge people like they are actually performing real labor when they sell them a recording of their efforts. Musicians and actors should only be paid when they are actually working, like at a live performance. Get rid of copyrights.
Could this mean we are nearing the year of NetBSD on the desktop?
This is an honest question. Aside from the hobbyist and novelty aspect, why would you want to run BSD on old SGI hardware?
The O2 was a low end SGI workstation that marginally outperformed the x86 platform when it was introduced. Unless you have a reason like hardware or system specific coding, why not move to BSD on a cheap x86 platform?
Yeah, I know about big endian versus little endian - had to rewrite a bunch of code when we dumped the Sun E3500s in favor of running Solaris x86.
It is now official. Netcraft confirms: *BSD is dying
One more crippling bombshell hit the already beleaguered *BSD community when IDC confirmed that *BSD market share has dropped yet again, now down to less than a fraction of 1 percent of all servers. Coming on the heels of a recent Netcraft survey which plainly states that *BSD has lost more market share, this news serves to reinforce what we've known all along. *BSD is collapsing in complete disarray, as fittingly exemplified by failing dead last in the recent Sys Admin comprehensive networking test.
You don't need to be the Amazing Kreskin to predict *BSD's future. The hand writing is on the wall: *BSD faces a bleak future. In fact there won't be any future at all for *BSD because *BSD is dying. Things are looking very bad for *BSD. As many of us are already aware, *BSD continues to lose market share. Red ink flows like a river of blood.
FreeBSD is the most endangered of them all, having lost 93% of its core developers. The sudden and unpleasant departures of long time FreeBSD developers Jordan Hubbard and Mike Smith only serve to underscore the point more clearly. There can no longer be any doubt: FreeBSD is dying.
Let's keep to the facts and look at the numbers.
OpenBSD leader Theo states that there are 7000 users of OpenBSD. How many users of NetBSD are there? Let's see. The number of OpenBSD versus NetBSD posts on Usenet is roughly in ratio of 5 to 1. Therefore there are about 7000/5 = 1400 NetBSD users. BSD/OS posts on Usenet are about half of the volume of NetBSD posts. Therefore there are about 700 users of BSD/OS. A recent article put FreeBSD at about 80 percent of the *BSD market. Therefore there are (7000+1400+700)*4 = 36400 FreeBSD users. This is consistent with the number of FreeBSD Usenet posts.
Due to the troubles of Walnut Creek, abysmal sales and so on, FreeBSD went out of business and was taken over by BSDI who sell another troubled OS. Now BSDI is also dead, its corpse turned over to yet another charnel house.
All major surveys show that *BSD has steadily declined in market share. *BSD is very sick and its long term survival prospects are very dim. If *BSD is to survive at all it will be among OS dilettante dabblers. *BSD continues to decay. Nothing short of a miracle could save it at this point in time. For all practical purposes, *BSD is dead.
Fact: *BSD is dying
Well, I don't know ... even if there's no expertise and IRIX is EOLed -- all of this is still somewhere in cvs. Old timers from sgi would understand what I mean -- got 2 words -- make that 3 -- {bonnie,clyde}.engr -- all the good stuff was in there. Open source it -- they did it to xfs.
We've seen plenty about projects to use modern GPUs for heavy-duty calculations. These old SGI's were roughly 50% GPU by volume, energy, and cost. Has anyone found a way to use the SGI GPU for computations?
Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
In searching the internet you can add fuel injection to an 84 accord if you'd like. I'd put a thicker jet if i were you. Does it have a roter or a coil pack?
When are those idiots at berkeley gonna stop teaching their os class using NACHOS, and move back to writing BSD? Thats whats killing it in my opinion.
This seems really, really pointless. I mean yes, I understand these were high end graphics workstations. Ok, fine, but it has been so long, and consumer technology has progressed so much that now regular consumer graphics cards run circles around them. I can understand interest in them even some time after their prime, since their high end hardware had support for things that much consumer hardware didn't, even if the consumer hardware was pushing triangles faster, but that's not the case any longer. A GeForce GTX 280, or hell a cheap GeForce 9600GT, will annihilate the graphics hardware in one of these in every way.
I want to chime in here to answer back to all the "Why? WHY?!!" posts...
I used NetBSD on an old PC I got for free. I like Linux and have had good experiences, but there was something in this PCs hardware the linux kernel didn't like, and NetBSD installed just fine. The man pages for NetBSD were very good, as was the FAQ, and I was able to get everything working just by reading the directions that came with it. I didn't have to scour the web for some obscure web page for the memoirs of some hacker overseas recalling the steps he took to get X11 working.
NetBSD is a fine OS. It very minimal. So, yes, it's missing a lot. But I found it pretty workable without that "you're lost in a maze of configuration files all alike" feeling.
On the environmental side, we should support ALL efforts to get old hardware working. OSS/GNU/BSD should actively support older hardware out-of-the-box. Broke students, the poor in 3rd world countries, kids who get hand-me-down computers that are older than they are... if free software would agressively support old hardware, these machines could be used. I mean, many MacOS ports of free software only run on 10.4 and 10.5, some won't even compile on 10.2 or 10.3 without major source changes...
But it's easier to compile OpenOffice so that you need 512 MB of RAM to get it load in a reasonable time. Firefox is one of the few that works well on old hardware, but it's an exception.
Also, working NetBSD accelerated video may mean a Linux equivalent is in the works. And that other SGI cards will become easier to finish drivers for (people will read the O2 source and realize oh, maybe the Onyx is programmed in a similar way...).
More working open source Operating Systems are better for everybody all around. Every time you use MacOS X, realize that a lot of what you're using was ported from FreeBSD and NetBSD. Yes, OS X is based on NextStep, but 4.2 lack drivers for modern hardware and modern GNU/BSD-style tools. Apple got what it needed from the BSDs and ran with it. And the finished product is worth it.
We licked eachother alot, but didn't bust my hymen so that makes me still a virgin according to the Cathaholic Chruch. Maybe we can start dating and if it leads to a better relationship we can take it to the next level. Must be clean with no STD's, though I take a shower and am "clean" every day and that gets rid of this horrible rash of oozing pustules that form maybe 1 out of 4 months.
Cal me, lover...
X0x0>O
bohemian.
is information about hardware interfaces in NetBSD enough to reverse-engineer most of the O2 machine so it could run IRIX natively?
:)
If so, it would be very cool to make a clone of old SGI workstations like O2, but with faster CPU, better OpenGL pipeline, more RAM, USB ports, solid state drives while still being able to run software like original IRIX, Maya, Photoshop, etc. Wouldn't be too bad for the design of the case to stay the same
It is always better to be a first grade version of yourself than a second grade version of someone else.
One interesting O2 oddity is that the native pixel format is RGBA rather than ARGB (the alpha channel is at the other end of each 32 bit word).
Fixing that flushed out a whole bunch of assumptions in X driver and application code, which helps keep non SGI specific X and application code portable. Interesting to think that a user who only runs x86_64/Linux may be running an app with slightly cleaner code thanks to Michael's work on an ol' SGI O2...
(He has also fixed up and extended the accelerated driver for SGI Indy machines with newport graphics, and written drivers for a bunch of other graphics hardware on sparc, macppc and arm)
Most of the focus in NetBSD is on x86_64/i386 and embedded arm/mips/ppc boxes nowdays, but if you squint a little a small enough embedded box looks *really* similar to an older desktop/server box :)
so if people want to maintain support, why not?
Anyway, if you want a *really* slow older box you should be looking at an Atari TT or Vax (and lets just say we're not seeing any burst of new graphics drivers for them :)