Slashdot Mirror


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."

17 of 75 comments (clear)

  1. Related news by Anonymous Coward · · Score: 4, Insightful

    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.

  2. Hmmm... by crumbz · · Score: 3, Funny

    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....

  3. The difference between archeology and necrophilia? by Anonymous Coward · · Score: 2, Insightful

    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.

  4. no one left at SGI who understands old graphics hw by Anonymous Coward · · Score: 4, Interesting

    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!

  5. Re:What a waste of time by ari_j · · Score: 4, Insightful

    I hope that, someday, you have a hobby that leads you to excitedly give away for free something that you had the time of your life creating and put all your pride into. Then, I hope that someone tells you what a waste of time it was and insists that you do something less enjoyable for yourself to satisfy his own selfish needs.

    I brew my own beer, build my own guitar amplifiers, and write code for projects that have been ongoing for a decade with fewer than a dozen users. To many people, every one of these activities is an utter waste of time. Some of those people get in my face and tell me to spend my time doing something more useful. To that group, I say this: Screw you, I'm having fun.

  6. Re:Only took 9 years by Zadok_Allan · · Score: 2, Insightful

    So what? Nobody else has been able to do it.

  7. IRIS != IRIX by Hazelesque · · Score: 2, Informative

    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

  8. Thank you. by Grendel+Drago · · Score: 4, Insightful

    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
  9. Octane / Onyx by Bert64 · · Score: 2, Interesting

    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!
    1. Re:Octane / Onyx by Zadok_Allan · · Score: 2, Informative

      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..

      That's the client library, as far as I know there is no Xrender extension for Xsgi so all anti-aliased text is rendered client-side, by software, which burns lots of CPU cycles. On slow CPUs like the R5k that really, really hurts.

      About Onyx and Octane - there's linux code available to make IMPACT-based boards do tricks but nothing for vPro, let alone Reality Engine or Infinite Reality. IIRC all these graphics options understand OpenGL opcodes more or less directly so once someone finds out how to feed them commands the rest should be easy.
      ( btw. the O2's rendering engine is nothing like that, you program it like most other graphics chips, by hammering data into registers or feeding register write commands into a ring buffer )

  10. Desktop by Vinegaroon · · Score: 2, Funny

    Could this mean we are nearing the year of NetBSD on the desktop?

  11. Why run BSD on old SGI hardware? by fluffy99 · · Score: 2, Interesting

    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.

    1. Re:Why run BSD on old SGI hardware? by TheRaven64 · · Score: 3, Interesting

      Testing your code on two very different architectures is a good way of making sure that it doesn't make any invalid assumptions. Things like structure alignment and padding (e.g. glibc), endians (anyone who casts from int* to char* to truncate), and so on. For a long while, a good rule of thumb was to test on x86 BSD and SPARC64 SysV (typically Solaris), and if it worked then your code would run anywhere. With old SGI machines so cheap, they are a very easy way of getting hold of a machine that is very different from x86.

      Also, they're pretty.

      --
      I am TheRaven on Soylent News
  12. Re:What a waste of time by ari_j · · Score: 4, Interesting

    Virginity is underrated. What's really bad is getting laid once and never again! Or, at least, so I've been told. ;)

  13. How about GPU-based calculations? by damn_registrars · · Score: 2, Interesting

    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.
  14. Re:What a waste of time by howlingmadhowie · · Score: 3, Informative

    well, it's about using a computer some of us grew up dreaming about in freedom with a modern software stack. i think the correct tag for this story would be 'insanely cool'.

  15. Sooo..... by KnowledgeKeeper · · Score: 2, Interesting

    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.