12 minute read

I recently bought a Sun Blade 1500 Red from a network admin that used it for his work: it’s not a powerful machine by any means, but I got it under the impression I could use it to work without distractions (no YouTube, woo!), and for nostalgia reasons (I learned *nix on an RPi and some SPARC HW). Here are my experiences with it so far.

The Package

Since I was too far from this guy to reasonably go and fetch the system, I decided to have it shipped to me. As always, moving stuff is a dangerous process, but this time it luckily went pretty well: the chassis was completely intact apart from a dent in the top plate (which is made of thick curved metal), and the fragile plastics were all intact.

Moreover, it came with a lot of manuals, software, a (horrible) Type 6 keyboard and a very cute mousepad.

Cleaning and Inspection

Overall, the machine was in good shape: aside from the aforementioned dent and a nasty longitudinal scratch in the side paint (I guess it scraped against something at some point but it doesn’t look fresh), everything was good. The rubber feet had turned to goo and were replaced with felts by the previous owner, but the residue wasn’t properly cleaned. Needless to say, it made a huge mess… I had to remove the felts and discovered that rubbing alcohol was more than enough to dissolve the stuff. In the end, I didn’t replace the feet as I’m housing it on a (very convenient) rolling cart.

After giving it a good cleaning, as it was quite dusty, I fired it up and inspected the configuration. The system sports:

  • 1GHz UltraSPARC IIIi
  • 2GB RAM (the seller advertised four but we both knew it was a lie)
  • An 80GB PATA Seagate 7200RPM HDD and a DVD-ROM drive
  • A combo USB/FW card
  • A Sun XVR100 video card
  • A smartcard reader
  • An Adaptec AHA-2940U2W I added and plan to use with a StorEdge enclosure

Everything else is integrated on the motherboard.

Power Up

I powered up the machine and it happily booted, albeit taking extremely long to do so.

A documentation CD-ROM was stuck in the drive, and I had to open it up to remove the disk: it turned out that the rubber pad that coated the spindle had gunked up and the disk was completely stuck to it, taking a considerable amount of force to pry them apart. I managed to remove the disk without breaking it only to accidentally smear it with rubbing alcohol, thus damaging the print. The disk, however, should still be readable.

I quickly realized the slowness was due to the configuration of the IDE bus: both the DVD-ROM and the HDD were sharing an old, non-Ultra ATA cable. All my cables were in cold storage so I had to make do for the time being.

Configuration

To have an optimal experience with this machine, I tried a lot of configurations: many were a complete failure, while others were okay and could be coaxed into something daily-driveable with some effort, albeit a bit slow.

RAM

I’ve ordered and installed a 2GB kit, thus bringing the system memory to 4GB: I think it will be enough.

Video Card

The Sun XVR-100 is a rebadged ATI Radeon card with an RV100 chipset, a small amount of VRAM and a custom BIOS. Allegedly, a regular card can be flashed with a Sun BIOS and could be disguised as an XVR-100 but, spoiler alert, it’s not worth it: this card is utter garbage.

The main problem is the fact that it uses a regular PCI bus and an anemic chipset, thus making it useless for anything other than displaying (still) text. The card supports very limited modes on the DVI port and won’t do more than 1280x1024, while on VGA will do up to 1920x1080 (and possibly more), albeit with terrible screen tearing.

An option would be replacing it with an XVR-600, which is a reasonably specced card that will hopefully make the system way more usable, but I’ve been unable to talk any reseller into giving me one for a reasonable price.

HDD

The IDE controller has some weird issues and repeatedly fails self tests with verified working configurations: it gave me more than one headache. I tried many different things, like a PATA-to-SATA bridge with a SATA HDD. In the end, I found that the original Seagate HDD is quite fast with an Ultra ATA cable, and it works well overall. I would like to try using an SSD with the SATA bridge, but it’s probably not worth the effort.

I’ve also been on the lookout for period-correct, 64-bit PCI SATA cards that could be booted under OBP, but they’re hard to come by, and for the time being I’d like to focus on getting the system working well enough as it stands.

Other

  • My system won’t POST with a Logitech Unifying Receiver plugged in the front USB port, which works fine if I put it into the PCI USB/FW combo card. Go figure.
  • Since I can’t stand the membrane of the Type 5, I tried to plug in a Model M keyboard through a PS2 to USB converter and let’s just say it behaved… weirdly.
  • The system seems to draw about 100W (+/-10) from the wall, measured with a kill-a-watt, independently of the actual components installed.

    I wonder if a normal USB keyboard would work?

Choosing an OS

This is, by far, the absolute worst part of this excersise: I tried several versions of Solaris, OpenBSD 7.0, and Gentoo GNU/Linux, but not Debian or NetBSD.

OpenBSD 7.0

OBSD is a very compelling option for such a machine since it should be reasonably fast and it comes with a lot of much-needed security features like a modern implementation of SSL and SSH: however, it has some fundamental issues on SPARC that relegate it to server usage.

General Issues

For some reason, 7.0 would not boot the kernel off the CD-ROM drive, no matter what. I even took a peek at the source code to no avail: I resorted to coaxing my Solaris JumpStart server into loading the OpenBSD bootloader and serving bsd.rd via NFS. For the rest of the installation, I loaded the sets from the CD-ROM, so it wasn’t an hardware issue.

Hardware Support

Hardware support is okay, but I had some weird issues like the XVR-100 being recognized but not enabled by the radeondrm driver, and VESA simply crashing after a few minutes of use. Moreover, the graphical console is completely garbled and it only gets fixed by Xorg when it comes up.

Moreover, the OpenBSD kernel does not allow you to drop to OBP (by using Stop-A or other means) and the keyboard becomes completely unresponsive after you shut down the OS (e.g. you can’t type power-off into OBP), forcing you to shut the system down via the front panel.

The Adaptec driver gave OBSD a hard crash once, too.

Software Packages

The convenience of using OBSD is the presence of a very fleshed out and complete Ports collection: on SPARC, it’s botched. Many metapackages are present but pkg_add does not check for dependencies beforehand so you might be waiting for the good part of an hour for it to finish only to realize that a vital package is missing in the repos and you installed a lot of crap for nothing.

While this is unsurprising, as the resources of the OBSD team are not limitless, you would at least expect the package manager to warn you that a specific package is not available, so your metapackage will be broken.

This, along with other issues, made me abandon the idea of running OBSD entirely.

Gentoo GNU/Linux

Linux may not be the most supported OS on SPARC, but I figured I could give it a try: needless to say, it worked just fine! However, when I realized that emergeing the whole system would take a couple days I gave up, as my electric bill is already expensive enough as it stands.

Side note: Gentoo managed to mingle the partition table in a way Solaris 10 u0 didn’t like, and it gave me a massive headache. This is no one’s fault since they were never designed to coexist but I figured I could put this here as a reminder.

Solaris 10

Introduction

To talk about Solaris 10 support for this machine, we first need to describe its release cycle: the OS has something you could call “point releases”. Each release is defined by:

  • A release date (eg. 5/08, read: May 2008).
  • An incremental code (eg. U8) for the release that the official documentation often omits.
  • The architecture (SPARC or X86), which will be assumed to be SPARC unless specified.

This naming scheme implies that Solaris 8/06 precedes Solaris 5/08, making ordering the releases alphabetically a big headache. To avoid this, I’ll refer to the various releases using the incremental, and specifying the date only when strictly necessary.

This Wikipedia article lists the Solaris 10 point releases up to U11, and gives us a concise changelog.

Moreover, you need to consider things such as the currently applied patch set and the kernel release, but I’m not that deep into Solaris lore yet to be able to fluently talk about those.

General Issues

Solaris 10 is a nice operating system overall, and it’s surprisingly usable considering that it’s more than one and a half decades old.

On this machine the OS is reasonably fast and could be used for daily activities without substantial problems: there’s a fully-featured GUI, an Office suite, an IDE, a very good compiler and lots of readily-available FOSS packages. You absolutely can’t run a modern browser, but if you want to surf the web, you could probably download or build Lynx.

I’ve also found that you should probably stick with U5 or U6, as they run quite well on this hardware and feel snappy: in my opinion older releases like U0 are not worth it, as they aren’t substantially faster and just feel ancient, and releases U8 through U11 are a bit too ahead of the curve for this hardware.

A pretty important difference that might help you choose between U5 and U6 is the introduction of root-on-ZFS in the latter. While I had no issues with it whatsoever, you should keep in mind that ZFS is a pretty heavy workload in its own regard, and might contribute in constraining the machine: further testing is due.

Hardware Support

As expected, the system is quite well supported under Solaris, provided you stick with specific releases: the video driver, for example, runs terribly on U0 (which is weird, considering this machine was supported since Solaris 8) and makes the system generally unstable.

I also felt that U11’s sluggishness was partly due to poor driver support, which once again would not be too far-fetched considering this machine was about 10 years old at the time of U11’s release, but I have no facts to back up this claim.

I haven’t had any other issues with the hardware under Sol10 so far.

Software Support

The substantial issue with Solaris 10 is that the software is horrendously outdated, and that might be a problem if you’re looking for specific packages, or any recent ones for that matter: don’t expect to find any modern OpenSSL binary package or a version of GCC that’s not stuck to the middle ages.

Sun used to offer a lot (for the time) of pre-packaged FOSS software that’s guaranteed to run on specific releases in bundles called “Companion CDs”: those packages are obviously quite outdated but they can still be exploited as they add a lot of the functionalities you’d expect from a modern GNU userland to Solaris.

Moreover, there used to be some third-party vendors that would build, package and distribute Solaris/SPARC packages on the web, specifically:

  • Sunfreeware, a large provider that went behind a paywall a couple years ago (and then completely dark), but used to offer precompiled FOSS packages for releases as old as Solaris 2.6.
  • OpenCSW, another package distribution that’s still open but has not been updated since 2015.

It is safe to say that we won’t be seeing any more software built for Solaris/SPARC ever, but more on that later.

pkgsrc

It would be criminal to talk about any modern (> 1995) Unix release without mentioning pkgsrc, so here we are! For those who are not aware of it, pkgsrc is a huge collection of build scripts that are supposed to produce working binary packages on most Unix distributions.

By using this system you could easily decide to conveniently build the few modern packages you need, like OpenSSL and OpenSSH, and install the less critical ones from available binary sources.

There’s a number of very well-written guides on the subject, including NetBSD’s official Wiki (pkgsrc is a NetBSD project), this good old classic, another classic, and the legendary astr0baby’s coverage of the matter. However, I’ve been unable to reproduce any of those builds successfully, and I’m afraid it simply might not be possible anymore without major effort.

Consider that I’m on SPARC, and that GCC does not support this architecture all that well. The last version of GCC that will work for SPARC is probably 4.x.x, and even that produced suboptimal object code compared to Sun’s own SunStudio product, which in turn has some issues running under pkgsrc!

Drawing Conclusions

TL;DR? Stick to Sol10, I think something between U4 and U7 might be the sweet spot between speed and usability. I wouldn’t recommend going older than U3 as you’d be just asking for trouble, and later releases like U11 don’t support the hardware well and are pretty darn heavy… and that’s expected, to be honest. I really wanted to try NetBSD but I was afraid it might end up being as bad as OBSD. You probably can’t daily drive this thing in 2021 (duh).

As much as I hate to admit it, this adventure has kinda been a cold shower for me: I still love the SPARC architecture, and I probably would have loved to have this machine back in 2015 when I was learning about *nix systems, but nowadays it’s basically a gigantic eggplant-like doorstop.

I’m sure I’m still going to use the machine every now and then, as it offers a surprisingly enjoyable experience when everything works as intended, but the effort required to maintain your own software distribution and compile all of your packages is too high. I’d rather stick with what’s there and works just fine even if it’s old, as there’s some interesting software in the mix. I’m also very curious about setting up a SunRay Server to connect to the workstation remotely via my SunRay 2.

The SunRay 2 has an RMI Alchemy Au1000 CPU, it’s an extremely interesting piece of history!

Moreover, the SPARC architecture’s final nail in the coffin might’ve been put in earlier this year when the Illumos team announced that they had to drop SPARC due to it being increasingly difficult to support. As such, the latest Solaris/SPARC code you can run is probably Tribblix’s 2018 milestone release for SPARC. Period.

If you really want to daily drive older systems just because it’s fun you could look at PowerPC Macs, for which modern Linux distributions are still being developed, or find old inexpensive x86 boards that might deliver more oomph while drawing less power from the wall (and they won’t drive you insane!).