The SFFPC: small, versatile, and Linux compatible
Small form factor PCs have been growing in popularity ever since they first hit the market a couple of years ago. While Shuttle popularized the "cube" mini-pc system based on the FlexATX form factor, VIA Technologies took a different approach by acquiring the has-been CPU company formerly known as Cyrix. Cyrix used to make Pentium/Athlon compatible socket 7 and socket 370 processors that performed poorly but cost a small fraction of their Intel and AMD competitors. VIA took the Cyrix designs and improved upon them significantly, then integrated the new CPUs into tiny mini-ITX form factor motherboards.
The VIA C3 and Eden processors are excellent low cost, low power, low heat, low noise solutions for specialized x86-based devices. Unlike the Shuttle FlexATX boards which use standard Intel and AMD CPUs, VIA's processors are integrated with the motherboard. So for one price you get a VIA C3 CPU at around 1ghz, and a mini-ITX motherboard with onboard video, sound, LAN, and a bunch of other options. Just add drives and almost any kind of chassis and you're all set -- or choose some exotic device to integrate it into. Recently I tested two VIA mini-ITX products: the Epia ME6000 and the Epia MII12000. Both were impressive in terms of value and features.
The ME6000 is the slower of the two, using a fanless Eden processor clocking in at 600mhz, but it doesn't really seem all that slow for everyday work. If you give it a 7200RPM hard drive and 512MB or 1024MB of RAM, you won't feel that slower processor as much. The main selling point of the ME6000 is its built-in hardware AES cryptographic functions. That means that even at 600mhz, you can perform AES encryption with the Epia ME6000 several times faster than a top of the line Pentium4 system. It uses one stick of standard DDR266 RAM (faster clock speeds will work but won't offer any advantage), has two IDE channels and one floppy connector, one parallel and one 9-pin serial port, 10/100 LAN, sound, video, USB 2.0 (four ports; two on the backplane and a header block supporting two more on an included faceplate or for the front of your chassis), RCA and S-Video TV-out ports (supports PAL and NTSC), two IEEE1394 ports, one PCI slot, and a hardware MPEG decoder. It uses a standard ATX power supply as well, although that is not included with the package. All of this can be had for less than $140 from most online retailers. The hardware cryptography and integrated peripherals all use VIA chipsets of course, and all are well-supported in the Linux kernel. FreeBSD and DragonFlyBSD recognize most of the onboard features, but the integrated MPEG decoder is not yet natively supported. OpenBSD also has specific support for the encryption hardware. VIA provides a binary driver for the video chip, but it is specific to Linux and has some issues with BSD under XFree86 4.3. Matt Dillon of the DragonFlyBSD project has more information on the VIA Epia ME6000 and FreeBSD on his Web site.
The Epia MII12000 is twice as fast and offers more features, but it's harder to find and more expensive (a little over $200). This package uses the faster C3 processor, which still has integrated AES cryptography and MPEG decoding but clocks in at 1.2ghz. The board has a CompactFlash reader and a single CardBus PCMCIA slot in addition to all of the same features that the ME6000 has.
Shuttle makes the best FlexATX-based mini-PCs on the market, but they're also the most expensive. They offer barebones systems based on SiS, VIA, ATI, Intel, and Nvidia chipsets, supporting a diverse array of CPUs -- as wide a selection of desktop-grade chipsets as you could possibly ask for. Iwill makes a handful of cheaper Intel-based solutions, but they can be harder to find and don't offer the rich feature set of the Shuttle XPC machines. MSI's MEGA mini-PCs look like stereo systems and are clearly geared toward the PC appliance market rather than the desktop market. Expect to pay over $200 for a low-end Shuttle XPC and up to twice that for a high-end unit, any of which will include the motherboard, power supply and chassis. You can usually fit one standard optical drive, one internal hard drive, one 3.5" removable media drive, one AGP graphics card and one PCI card into a Shuttle machine, although some of the newer configurations may vary. I've only tested the nForce2, 845GE, 845GV, and 865G-based XPCs, all of which were fully compatible with the Linux kernel. For the most part everything Shuttle makes should be compatible with GNU/Linux, mainly because the hardware -- although considerably smaller -- is no different from standard desktop PC hardware, technologically speaking.
Iwill's best products are their ZPC machines. They're slightly larger than a normal IDE CD drive and they use a laptop optical and hard drive along with a standard Intel socket 478 CPU and one stick of DDR333 RAM (the Iwill website says differently on the RAM, but it is wrong). This is as close as you can get to a mini-ITX solution while retaining some of the muscle of a desktop machine. You'll certainly pay for it, though: expect to see prices between $320 and $450 for the chassis, motherboard, and laptop DVD drive.
If you're looking for a particularly small or quiet machine, a small form factor PC is the way to go. VIA goes out of its way to support GNU/Linux and other free (as in rights) Unix-like projects; Shuttle and Iwill do not. That doesn't mean that VIA's machines are always going to be the right choice -- if you're looking for a desktop replacement, you'll find the VIA Epia solutions to be too slow for 3D gaming and heavy multitasking but capable of everyday tasks such as word processing, email handling, and Internet activities. If you get a machine with the Eden processor it'll be fanless, so other than the optical drive and hard drive, you won't be able to hear it run. Mini-PCs in general are very quiet, but some (Iwill) are louder than others (Shuttle). If you're thinking of creating a small server, firewall, or PC-based appliance, VIA is the perfect solution.
A few other companies have jumped on the small form factor PC bandwagon and offer Iwill-like solutions -- not as good as Shuttle, but certainly cheaper. Few non-Shuttle designs will support high-end graphics cards, and even the Shuttle XPCs are only equipped with ~200w power supplies, limiting their potential. Make sure the SFF machine you're looking at buying will support the kinds of peripherals you intend to equip it with.
Sound in GNU/Linux and FreeBSD
Sound is an area of hardware that is generally either taken for granted or completely ignored. Obviously in servers and in most workstations, sound is not only unnecessary but also a hassle to deal with because it uses system resources that could be better used for other devices.
The only desktop motherboard on the market that does not have onboard sound is the Intel D875PBZLK. Everything else has some kind of onboard sound chip, most generally made by Realtek or Analog Devices. Both of these manufacturers are well represented in the Linux and FreeBSD kernels, but they don't offer very good performance. Nvidia's integrated SoundStorm sound chips are excellent but not very common (they're only on nForce-based motherboards), and the rest of the market is in the minority (ESS and Yamaha, which are found on laptop systems; and SiS which is found on some kinds of SiS-based motherboards -- usually FlexATX boards). If you're serious about enjoying your digital music collection, watching DVDs, or getting the full auditory experience of Assault mode in Unreal Tournament 2004, you don't want to use an onboard sound chip.
When onboard sound first debuted many years ago, it was a resource hog -- it would take up enough of the CPU's attention that the rest of the system would be measurably slower when the sound was in use. That is no longer the case, but the quality of the sound is noticeably better with any kind of modern PCI sound card.
Will you hear the difference between a PCI sound card and an onboard chip? Only if you have the speakers to match the audio processor. If you're using generic $15 desktop stereo speakers, you're unlikely to hear the difference between a Realtek onboard audio chip and a SoundBlaster Audigy 2. If you have at least a decent 2.1 speaker system (the first number represents the number of satellite speakers, the number after the dot is the number of subwoofers) or better, a high-end sound card makes a world of difference in high-definition audio and DVD playback.
Some of Turtle Beach's older products are supported in Linux, but their newer cards are not supported at all. The Turtle Beach representative I spoke with said that they would like to improve their Linux compatibility in the future, but have nothing to offer us right now.
Creative Labs is of course the traditional desktop PC sound card manufacturer, and their Audigy series is indeed supported in the Linux kernel, and somewhat supported in FreeBSD as of 5.2.1 (the outputs are backwards). ALSA and EMU10k1 will support all Creative PCI sound cards except the Audigy LS, which is only supported by expensive proprietary drivers.
Lastly there is the prospect of an external sound card. I've only seen a few: Creative makes the Audigy 2 NX and the Extigy, both of which are supported in Linux; and Hercules just came out with the Gamesurround Muse Pocket USB. The Hercules device is definitely an interesting piece of technology, and at $70 it's cheaper than the Creative offerings (Extigy is about $250, Audigy 2 NX is around $90). The sound quality on the Muse Pocket USB is at least as good as an Audigy PCI card, but don't expect 5.1 surround capabilities -- the best you can do is stereo sound. The mute button and the volume control don't work either, although you can certainly accomplish those jobs through your mixer control software.
We hope to cover high-end video and audio equipment next month, as well as Intel's new 915 and 925 chipsets.