Many people have complained about the lack of pre-integrated computers running GNU/Linux or the lack of fully free software drivers for important hardware. Ultimately though, it's up to you, the consumer, both to satisfy your own requirements and to send a message to vendors that supporting free software pays. You can do this fairly easily by integrating your own computer from its major components, and selecting only components that have free software drivers. It's certainly possible, and even if you've never built a computer before, it's not all that hard!
Integrating computers for free software: some general advice
As a free software user, the chances are you paid very little (possibly even $0.00) for your software, which leaves you with a little more cash to spend on hardware. I recommend that you use it. A little money spent on brand name parts, products which include manuals or other documentation, and parts which are intrinsically more reliable will save you a lot of time and frustration when trying to get it to all work correctly with your software.
What you need
You may find Figure 1 useful as a good breakdown for the purchasing task. Occasionally you'll find bundle deals, but in general you may have to purchase the following components separately:
- Case
- Power supply
- Motherboard
- CPU
- Memory (RAM)
- Graphics adapter
- Sound adapter
- Hard disk drive
- CD/DVD optical disk drive
- Monitor
- Keyboard
- Mouse or Digitizer
Additionally, there are some optional items you might want, such as a printer, flash media reader, or floppy disk drives. These may not be essential, though, and you may want to purchase them in a later upgrade.
Don't skimp on the interface!
You are more valuable than your computer. Don't buy stuff that's going to hurt you. Therefore, don't skimp on monitor, mouse, or keyboard. You'll be tempted to get cheap on this stuff to pay for more CPU or RAM. Don't do it!
A little money spent on brand name parts, products which include manuals or other documentation, and parts which are intrinsically more reliable will save you a lot of time and frustration when trying to get it to all work correctly with your software
I now only buy LCD monitors, which are vastly better than CRTs in a number of ways: they have clarity which doesn't degrade over time, linear color response, and flat screens. LCDs are more environmentally friendly because they last longer, use far less power, and contain fewer toxic chemicals. They used to be very expensive. Today however, inexpensive LCD monitors are often as cheap or cheaper than equivalent-sized CRTs. If you can, buy one with a hard protective bezel to protect the screen from poking fingers and/or rough handling. An LCD monitor can be the longest-lasting part of the computer, if it is taken care of.
Important specifications when buying an LCD monitor include the resolution (unlike a CRT, an LCD monitor only has one native resolution, anything else must be adapted inside the monitor, which you want to avoid), contrast ratio (between light and dark pixels, expect 400:1 or better), and response time (how long it takes for a pixel to transition from light to dark—this is the one thing LCDs still can't compete with CRTs on). Beware of television monitors when you are buying large LCD displays—they often seem like good deals, but the resolutions are usually disappointingly low for computer work. Also, you should try to find a display that has both DVI (digital) and VGA (analog) connectors. Upcoming graphics cards will likely support DVI, so you'll want it in the future; however, for now you probably need VGA support.
LCDs are more environmentally friendly because they last longer, use far less power, and contain fewer toxic chemicals
Don't buy a mouse with a ball in it (i.e. an “optomechanical” mouse). They break down pretty fast and often the encoders will slip causing the mouse cursor to feel “sticky” when you try to move it. Completely “optical” mice (the ones with the LED glow and no moving parts underneath) are much better and will last several times longer.
Keyboards are a complicated and personal issue. My own preference is for a conventional, rectilinear, QWERTY design with “click” keys that provide good feedback and are hard to press accidentally. I also like “spillproof” keyboards that have a synthetic rubber membrane inside to protect the electronics. Your own needs may be different however, and the important message here is to pick one you'll like, because you'll be using it a lot.
CPU speed is not so important
Frankly CPUs are fast enough. There are very few desktop tasks today for which a fast CPU will make any noticeable difference in performance. This is even more true of GNU/Linux/X11 systems than for others, because the GUIs are more efficiently written.
You are much more likely to be limited by memory, disk I/O, graphics card, and even limits on bus speeds. On the other hand, because of multi-tasking requirements, there are situations in which multiple processors or multi-core processors will provide a noticeable improvement. Linux will take advantage of multiple processors if you enable “Symmetric Multi Processor” (SMP) support in the kernel.
Unless you're planning on doing scientific supercomputing on your desktop, I wouldn't make the latest and greatest CPU a priority
Unless you're planning on doing scientific supercomputing on your desktop, I wouldn't make the latest and greatest CPU a priority. You'll find that prices drop off sharply as you fall away from the highest state-of-the-art CPUs, so back off and find a price/performance point you're comfortable with rather than “as much as you can afford”—no matter what the ads tell you!
Example System: “Godai”
What's the cheapest system we can reasonably build? This is a setup ideal for the starving student, with parts mostly taken from a surplus reseller (most of the parts are pulls from machines taken off of corporate leases).
While this system certainly won't win any medals for performance, it's powerful enough to do most of the tasks you really need a computer for: internet use, office work, graphics, and many other things a student might need it for.
Key | Function | Description (and Quantity) | Cost | Vendor [ a ] | Notes |
---|---|---|---|---|---|
1 | Motherboard | Gigabyte GA-6WMMC7 (MB+CPU Bundle) | 34.99 | PCL | [ b ] |
CPU | Intel Pentium 3 Celeron 733MHz (in MB+CPU Bundle) | ||||
2 | RAM | 256MB PC-133 168 Pin SDRAM Module (×2) | 35.98 | PCL | |
3 | Hard Drive | 30GB IDE Hard Drive (pull) | 21.99 | PCL | |
4 | Optical Drive | Samsung Black 48X IDE CD-ROM Drive | 4.99 | PCL | [ c ] |
5 | Flash Reader | 3.5 Inch Drive Bay USB Flash Media Reader | 9.99 | PCL | |
6 | Case | CSBW801PA ATX Case w/ 350 Watt Pwr Sply | 24.99 | PCL | [ d ] |
7 | Monitor | HP vp17 17″ 1280_1024 LCD | 198.72 | WM | [ d ] |
8 | Keyboard | Dell QuietKey Keyboard PS/2 - Used (Beige) | 2.79 | PCL | |
9 | Mouse | OP-03-BK Optical Mouse - Black and Silver | 5.99 | PCL | |
TOTAL (US$): | 336.70 | [ e ] |
Notes:
[a]Vendor key is at end of article.
[b]Use ALSA intel8x0 sound driver and Intel i810 DRI support.
[c]CD-ROM only. There are also DVD-RW drives available from the same supplier for a higher cost.
[d]Large, heavy, inexpensive components may be more economical to purchase locally due to shipping expenses (as much as US$25 for a case like this). Note that the monitor accounts for nearly 2/3rds of the system cost—it may be possible to scrounge a monitor locally for half this cost.
[e]Retail cost of parts at time of writing, without considering shipping, handling, or tax (see also [d]). Some minor components like cables may also have to be purchased (though some are included).
Memory is important
For GNU/Linux users with KDE or Gnome, you are likely to run a lot of processes simultaneously—because you can. Each process takes up space in memory, though, so you have to plan for that: get as much RAM as you can reasonably afford, or at least make sure there is room for it when you select a motherboard.
Shop for memory after you pick a motherboard: RAM comes in a variety of form factors, and your motherboard will probably only support one of them. Furthermore, there is little point in buying RAM rated faster than the buses on your motherboard can handle.
If you are strapped for cash, buy less RAM now, but leave room to upgrade.
Keep it cool
You're going to spend some money on computer components. So don't put them in a cheap case or use cheap fans that will fry them all and destroy your investment!
This has become more difficult over the years because newer computers generate more heat. Modern CPUs generate as much or more heat than an incandescent light bulb... A cooling failure will result in rapid self-destruction.
You're going to spend some money on computer components. So don't put them in a cheap case or use cheap fans that will fry them all
So, don't try to reuse a case from five or ten years ago—not unless the CPU is also that old. Buy a new “thermally advantaged” case and new heatsinks and fans to keep the system cool (liquid cooling is a better, but much more expensive, option).
The tough stuff
When buying for GNU/Linux and 100% free software (no non-free drivers!), you will find that there are four particularly sticky parts to the task (in roughly decreasing order of difficulty in 2007):
- 3D-accelerated graphics cards
- CD/DVD drives
- Sound cards
- Printers
Because these elements will most constrain your system, you should pick them, and then choose other elements to work with them (fortunately this is usually not hard).
Graphics
In 2007, finding a 3D-accelerated (OpenGL) graphics card that is fully supported by free software drivers is a nightmare. The marketplace has become dominated by two main players: ATI and nVidia. Neither wants to share their specifications and detailed register information with free software driver developers. The stated rationale is that this information will somehow tip-off their competitors (i.e. each other) to trade secrets in their designs. Scuttlebutt suggests that the real concern is discovery of patent violations.
Finding a 3D-accelerated (OpenGL) graphics card that is fully supported by free software drivers is a nightmare
The situation has become so bad that there is now an Open Graphics project being developed in the community to build an Open Hardware replacement for such cards. This is not yet ready for consumers, though, so in the meantime, we have to cope. Another future possibility is better support for new ATI cards, which the company has promised to open up further for developers (though we are still waiting for the 3D documentation). Free software drivers for later ATI cards do exist, but are still incomplete. NVidia, on the other hand, has shown no such openness, and I recommend boycotting them entirely as a result.
The last cards that had more or less complete OpenGL support (because design data was still available), were the ATI Radeon 9200/9250 cards (the same drivers work for both). These are fully supported by the “radeon” driver for the Direct Rendering Interface (DRI) system which provides 3D support under X11. As far as I know, this is the best fully-free-software-supported card available at this time. These can still be purchased new from a few suppliers online, but you will have to look hard. Be sure to take note of whether cards are designed for AGP or PCI buses—AGP is being slowly phased out, but was still the most common graphics bus when the Radeon 9200s were first marketed. Both variants can be found, but you may have to consider this when finding a motherboard.
There are also some older cards which you may be able to find as surplus or used parts for somewhat less money, though they will no doubt be somewhat slower or less full-featured. For many purposes, however, they will be entirely adequate.
Also, it should be noted that 3D acceleration is essential only for certain kinds of applications: 3D modelling, Computer Aided Design, and 3D games are the main uses. There are also 3D extensions to desktop managers available today, but it's not a big hardship to do without them—for many computers I would consider just using an ordinary framebuffer card (and just about any “SVGA” card will do for that. Some motherboards will even include a suitable graphics subsystem onboard).
CD/DVD drives
With optical drives, the problem is not nominal support, but rather stability. Almost any ATAPI IDE or SATA CD/DVD drive will “work” with Linux drivers, in the sense that the driver will recognize the drive and read disks.
However, in my experience, Linux drivers are not very robust with some drives. This is most likely due to electromechanical and/or firmware problems inside cheaply-made optical drives. It's possible that the manufacturer has attempted to compensate for these deficiencies by providing Windows drivers that work around them—but you won't get the benefit of that effort.
DVD technology intrinsically pushes the hardware very, very far in terms of accuracy and speed, so only very well-machined drives will work perfectly. And when they don't work perfectly, the firmware has to compensate by recovering from errors. Add to this Digital Rights Management (DRM) and region-coding schemes, and there's no doubt that DVD firmware is extraordinarily complex and finicky.
DVD technology intrinsically pushes the hardware very, very far in terms of accuracy and speed
The free software drivers have to operate correctly on top of this rather shaky “Defective By Design” foundation, and so they are not as stable as we would like. Perhaps someone will start an Open Hardware project to fix this, but in 2007, the best we can do is to buy drives that have very good reputations for stability and error-free operation.
I recommend frequenting community sites to find drive reviews and recommendations from serious users. Until fairly recently, there was a lot of respect for Plextor as a manufacturer, but recent changes have caused them to withdraw from manufacturing for the consumer market. Therefore, many of their new drives are apparently "rebadged" versions of other company's products. So in recent times, the top performances have been seen in specific Pioneer or Samsung drives.
This rebadging example is important! Don't pick DVD drives by brand, but by model. Make sure you're getting exactly the same drive as was reviewed.
Example System: “Shinobu”
A modest, but very capable machine, useful for a wide range of computing tasks, from entertainment to software development. For this machine, I've chosen Intel components as an example. No sound card is needed because the Intel chipset on the motherboard includes ALSA-supported audio, and the speakers are included in the monitor.
This system employs some quiet cooling fan technologies for reduced noise. It may be desirable to replace the case fans in the Lian Li case in order to keep the system as quiet as possible.
Key | Function | Description (and Quantity) | Cost | Vendor [ a ] | Notes |
---|---|---|---|---|---|
1 | Motherboard | ASUS P5B LGA 775 Intel P965 Express ATX Intel MB | 109.99 | NE | [ b ] |
2 | CPU | Intel Core 2 Duo E4400 Allendale 2.0GHz 2M L2 Cache | 133.99 | NE | [ c ] |
3 | RAM | Crucial Ballistix 1GB (2 x 512MB) 240-Pin DDR2 800 | 55.99 | NE | |
4 | Video Card | ATI Radeon 9250 | 64.99 | NE | [ d ] |
5 | Power Supply | Antec Earthwatts EA380 ATX12V v2.0 380W (Quiet) | 59.99 | NE | |
6 | Hard Drive | WD Caviar SE WD5000AAJS 500GB 7200 RPM 8MB SATA | 99.99 | NE | |
7 | Optical Drive | Pioneer DVR-112D CD/DVD+-R/RW DL | 29.99 | NE | [ e ] |
8 | Flash Reader | 3.5 Inch Drive Bay USB Flash Media Reader | 9.99 | PCL | |
9 | Cooling | ZALMAN CNPS9500 AT 2 Ball CPU Cooling Fan/Heatsink | 47.99 | NE | |
10 | Case | Lian Li PC-7A Plus Aluminum Case | 99.99 | NE | |
11 | Monitor | ViewSonic VG2030wm 20" 1680×1050 LCD (with Speakers) | 259.99 | CDW | |
12 | Keyboard | Kensington Keyboard For Life | 17.99 | CDW | |
13 | Mouse | White OP-03 Optical Mouse | 5.99 | PCL | |
TOTAL (US$): | 996.87 |
Notes:
[a]Vendor key is at end of article.
[b]For sound, use hda-intel driver from ALSA v1.0.15rc3 or later.
[c]Be sure to use a kernel with Symmetric Multiprocessor Support (SMP) enabled, in order to take advantage of the dual-core CPU.
[d]For 3D accelerated graphics, use the radeon/r200_dri.so DRI driver. The Radeon 9250 is based on the R280/M9+ chipset. According to the ATI/AMD website this chipset is discontinued, but there are still quite a few available.
[e]A past CD Freaks Editor's Choice drive, which is why I selected it.
Sound
Sound used to be really, really difficult. There was some support via an industry-backed Open Sound System (OSS), but it was a bit spotty and not the best system from an engineering perspective. Later the Advanced Linux Sound Architecture (ALSA) provided much more robust sound support for Linux, and is now usually incorporated into the 2.6 kernels.
Unlike the duopoly in the video card industry, there is still healthy competition among sound suppliers. Creative Labs remains the “big fish” and has a bit of an attitude about releasing card specifications to developers, but quite a few of the specs have nevertheless been published. Other companies are quite open, and I even found one (StarTech, see Figure 3) that provides free software drivers for their cards, although these are written for OSS (however, to be fair, this is now the community's problem—the company has done what we ask by releasing drivers and specs).
Many motherboards today include a sound system that will be supported by ALSA, so you may not need an extension card at all.
Printers
Printers used to be very hard. It used to be that you either picked a printer with Postscript in the firmware or used an Hewlett-Packard printer with PCL with Ghostscript. However, Ghostscript has matured; printer manufacturers have become more open; firmware has gotten cheaper; and there is now an industry consortium dedicated to Linux Printing.
There are still problems with compatibility, of course, but looking for a compatible printer is now pretty easy. Just go to the Linux Foundation's Open Printing page and use a search engine there to look up printer make and model numbers in order to get support information. As with DVD drives, be sure to pick printers by model, not by brand. Quality within product lines can be quite variable, even with big name suppliers.
Example System: “Ruri”
A fairly practical, high-end machine for creative development and programming work. This machine is based on a Dual Core Opteron CPU from AMD. I've had mostly good experiences with AMD chips and some distrust of Intel---but truthfully, both companies produce good CPUs.
This system employs a number of technologies, including liquid cooling, which will make it both very robust and very quiet in operation, which is ideal for entertainment, game, and even home studio use.
Key | Function | Description (and Quantity) | Cost | Vendor [ a ] | Notes |
---|---|---|---|---|---|
1 | Motherboard | MSI K9VGM-V AM2 VIA K8M890 Micro ATX AMD | 45.99 | NE | [ b ] |
2 | CPU | Dual-Core AMD Opteron 1220 Santa Ana 2.8GHz | 279.00 | NE | [ c ] |
3 | RAM | A-DATA 4GB(2 x 2GB) 240-Pin DDR2 SDRAM 800 | 125.99 | NE | |
4 | Video Card | Diamond Stealth S9250PCI256SB Radeon 9250 | 69.29 | PCC | [ d ] |
5 | Sound Card | M-Audio Revolution 7.1 | 84.99 | CDW | [ e ] |
6 | Power Supply | ZALMAN ZM460B-APS ATX12V 460W | 99.99 | NE | |
7 | Hard Drive | WD Caviar SE16 WD7500AAKS 750GB 7200 RPM SATA | 174.99 | NE | |
8 | Optical Drive | Samsung SH-S203B CD/DVD +-R/RW DL | 33.99 | NE | [ f ] |
9 | Flash Reader | Atech Flash XM-4U 11-in-1 USB 2.0 card reader | 19.99 | NE | |
10 | Speakers | Cyber Acoustics CA 5001rb 5.1 system | 69.99 | CDW | |
Cyber Acoustics CA 2022rb 2 PC speakers | 26.99 | CDW | |||
11 | Cooling | Zalman Reserator 1 V2 Fanless Water Cooling System | 259.99 | XO | |
12 | Case | Apevia X-TELSTAR-AL Silver Aluminum ATX Full Tower | 159.00 | NE | |
13 | Monitor | HP W2408 24″ 1920×1200 LCD | 544.99 | CDW | |
14 | Keyboard | Sunbeam Pro Series Illuminated Silver | 19.99 | XO | |
15 | Digitizer | WACOM Bamboo Fun Medium Silver Tablet | 199.99 | CDW | [ g ] |
16 | 3D Controller | 3Dconnexion SpaceNavigator | 63.99 | CDW | [ h ] |
17 | Game Controller | Saitek P990 Dual Analog GamePad | 19.99 | AMZ | [ i ] |
TOTAL (US$): | 2299.14 |
Notes:
[a] Vendor key is at end of article.
[b] This card also has (unaccelerated) video and audio that are somewhat supported under X11 and ALSA, but both have been upgraded in this plan.
[c] Be sure to enable Symmetric Multi-Processor (SMP) support in your kernel. This is one of many AMD Dual Core chips that would work with this board, I picked this one because it was well-reviewed by buyers at NewEgg.com, but there may be better or more cost-effective choices.
[d] For 3D accelerated graphics, use the radeon/r200_dri.so DRI driver. The Radeon 9250 is based on the R280/M9+ chipset.
[e] Use the ALSA ice1724 driver for sound support.
[f] Past CD Freaks Editor's Choice, which is why I chose it (this and the Pioneer DVR-112D are pretty much a toss-up based on the reviews).
[g] Wacom tablets have excellent Linux/X Windows support through the Linux Wacom project. You will need version 0.7.8 or later to support the Bamboo tablet.
[h] Free software support for 3D controllers is somewhat spotty. I found some information on a 3Dconnexion forum, and Simon Budig has contributed a kernel patch for Linux 2.6.20-rc5 which provides a way to access the LED on the device. There is a plugin for Blender from 3Dconnexion, but despite some brave (and frankly, deceptive) talk, it appears to be closed source. It's a USB-HID device, though so writing support shouldn't be that difficult, even if it does require some reverse-engineering.
[i] Gamepads are supported directly by a number of free software game engine toolkits as “joysticks”, even though relatively few free software games make good use of them.
How to buy
The actual process of buying is probably going to be different than for buying systems for use with Windows, where the manufacturers take on the burden of checking compatibility for you and retailers are sure to communicate it to you. For free software you'll have to do a little of your own homework simultaneously with purchasing, and that necessitates a different shopping strategy.
Multi-windowed web purchasing
When you go into a computer store, most products—even ones that support GNU/Linux—will be covered with prominent labels indicating that they “require” Windows or sometimes Macintosh operating systems. What these really are are guarantees from the manufacturer about what software they expect their hardware to work with. It's very, very rare to find labels like that for GNU/Linux support.
There are two reasons for this: one is that free software users are still a very small minority of their customers and the other is that free software drivers are provided by community developers who can't generally offer them the kind of certifications and money-back guarantees that proprietary companies can. Free software is almost always offered “as-is”, so it's hard for the company to turn around and make promises to the customers. Thus, even if they are fully supported under Linux, they are unlikely to print this information on their packages.
The most reliable method is to get information directly from the supporting developer groups
So you need another way to find out. The most reliable method is to get that information directly from the supporting developer groups. This is hard to do when wandering around a retail department store, so I recommend you stick to online purchasing, where this is much easier.
With a tabbed browser, or just with multiple windows, you can keep one or more vendor online catalogs and multiple community support sites at your fingertips, for rapid comparison of product, price, and free software support.
Find some good suppliers online (I've listed several at the end of this article), and open a tab on to each catalog. Then open another set of tabs up onto the support pages for the hardware drivers you're going to need to use (which I've also provided). For audio and video, that's probably going to include the ALSA project, X.org, and the DRI driver system (which provides accelerated 3D support for X Windows).
Buy heavy, cheap, and generic stuff locally
The major exception to this rule is when you are buying the bulkier parts of the computer, such as the case (or chassis), power supply, and monitor. Compatibility isn't an issue with these parts, and if you have to get them mailed to you, the shipping can be expensive. If you really want that snazzy case you've found online, that's fine, of course, but you'll probably pay US$20 or more to get it shipped to you. For a $200 case that's only 10%, which is a pretty good estimate for anything you have to get shipped, but for a cheap $15 surplus case, it's more than 100%! You'd get a better case for less money by paying $30 locally.
When you must buy peripherals in person, look for products which work on both Windows and Macintosh computers. Even though the manufacturer only lists two operating systems, these two are different enough that supporting both of them usually means that they will work with others, including free software operating systems. Also, bear in mind that modern Macintosh computers use Unix-derived operating systems, so they are more similar to GNU/Linux than to Windows. Thus Macintosh support is often a good (but not foolproof) sign.
Example System: “Kusanagi”
Now, what if cost were no object? This is a bleeding edge machine, and not everything is fully supported yet---that's part of the fun! Applications include 3D modeling, CAD, digital arts, home studio, games, and multimedia software development.
While I doubt many people would seriously want to build this machine, you might consider whether elements of it have a place in a slightly more modest computer.
1 | Motherboard | TYAN S3970G2NR-E “Tomcat h1000E” | 299.99 | NE | [ b ] |
- | - | - | - | - | - |
2 | CPU | Quad Core AMD Opteron 2347 Barcelona 1.9GHz (×2) | 759.98 | NE | [ c ] |
3 | RAM | A-DATA 4GB(2 x 2GB) 240-Pin DDR2 SDRAM 800 (×2) | 251.98 | NE | |
4 | Video Card | Open Graphics OGD1 Development Card (FPGA) | 1500.00 | TT | [ d ] |
5 | Sound Card | M-Audio Delta 1010LT PCI Virtual Studio | 174.99 | CDW | [ e ] |
6 | Power Supply | Zalman ZM500-HP | 134.95 | EPN | |
7 | Hard Drive | WD Caviar GP WD10EACS 1TB 5400-7200 RPM SATA | 279.99 | NE | |
8 | DVD | Plextor PX-B900A/SW-BL Blu-Ray/DVD/CD writer | 1001.99 | CDW | [ f ] |
9 | Flash Reader | Atech Flash XM-4U 11-in-1 USB 2.0 card reader | 19.99 | NE | |
10 | Speakers | Cyber Acoustics CA 5001rb 5.1 system | 69.99 | CDW | [ g ] |
Cyber Acoustics CA 2022rb 2 PC speakers | 26.99 | CDW | |||
11 | Cooling | Zalman Reserator 2 Liquid Cooling System | 299.99 | NE | |
12 | Case | Clear Computer Case "Clear Ice" Full Tower | 245.81 | C3 | |
13 | Monitor | Apple Cinema 30″ 2560_1600 LCD | 1799.00 | CDW | |
14 | Keyboard | Optimus Maximus keyboard | 1564.37 | ALS | [ h ] |
15 | Digitizer | Wacom Intuos3 12x19 Graphics Tablet | 669.00 | CDW | [ i ] |
16 | 3D Controller | 3Dconnexion SpaceExplorer | 259.99 | CDW | [ j ] |
TOTAL (US$): | 9359.00 |
Notes:
[a] Vendor key is at end of article.
[b] This motherboard has video and audio chipsets that are supported for basic functionality, which provides some fallback if needed.
[c] Be sure to enable Symmetric Multi Processor support in your kernel.
[d] The OGD1 is really an FPGA development board which is designed for graphics system development. The current implementation of the Open Graphics Architecture provides only a framebuffer, but this will presumably improve over the next year or so now that the development boards are available. Having one would allow you to keep your system up-to-date with the latest improvements as they are made, and contribute to testing the new Open Hardware 3D graphics system. Another choice would be to use one of the later ATI cards which are supposed to have their specifications released to developers soon, but OGD1 is the clearer choice for freedom in the long run.
[e] There is also a rack-mounted version that may be more appropriate for studio use. Use either with the ALSA ice1712 driver.
[f] Yes! Blu-Ray is supported by dvd+rw-tools. I know the Free Software Foundation has said some very bad things about Blu-Ray, but they are talking about the DRM-laden movie standard based on top of it, not the storage medium itself, which holds up to 50GB of data per disk.
[g] Too cheap? Probably. For such a high-end system though, you'd probably connect directly to an existing studio sound system, so computer speakers as such wouldn't be called for.
[h] The Optimus Maximus keyboard has a user-configurable 48×48 organic LED screen on every key, so that the key caps can be downloaded onto the keyboard dynamically, making it easier to use software with extensive keybindings as well as type naturally in multiple character sets. The configuration software is not currently available for Linux, though a future version is planned (probably closed source). However, since the board's key images are apparently loaded via a USB mass storage interface, writing free software applications to configure it should not be difficult.
[i] Wacom tablets have excellent Linux/X Windows support through the Linux Wacom project. The Intuos3 has been supported for some time now.
[j] See “Ruri”, note [h].
Caveat emptor
Building your own system from components seems very consistent with using free software to me. In both cases, you, the user, are taking both control and responsibility over your own system. The control is nice, but you do have to be willing to accept the responsibility—things may not work perfectly on the first try. Sometimes you'll find that you bought the wrong part or have to return a defective one. That's a normal part of system integration, and you can't let it get you down.
You, the user, are taking both control and responsibility over your own system
I've worked out four examples for this article, which represent very different choices in building 100% free software compatible GNU/Linux systems. I have not purchased these components or tested integrating them, so I can't promise you that they will work together as I suggest—I'm just trying to give you practical examples. You are likely to encounter problems I haven't thought of, but hopefully no show-stoppers.
Commercial integrators have to go through this same process. Their only advantage is that once they've done it for a particular model of computer, they'll probably sell thousands just like it. But I find that even for one computer, this process is well worth it in order to have a system designed for free software from the component level. This will really pay off when you use it!
Sources
Here is the key to the vendors I consulted for the examples in this article:
ALS | Art Lebedev Studio | High concept industrial design studio in Russia. |
TT | Traversal Technology | Company associated with the Open Graphics Project. |
XO | Xoxide | Computer supplies for gaming and case modifications. |
EPN | End PC Noise | Quiet and silent computing supplies. |
C3 | Clear Computer Case | Acrylic transparent computer cases. |
MC | Micro Center | Large consumer computer store. |
CDW | Computer Discount Warehouse | Computer store focused on small business needs. Good catalog search engine. |
NE | New Egg.com | Technology store with large computer selection and a very good catalog search engine. |
PCC | PC Club | Limited selection online site associated with brick-and-mortar specialty stores in the Western US. Usually has some good deals. |
PCL | PC Liquidator | A long-running computer used and surplus dealer located in Los Angeles, California. |
AMZ | Amazon (more than books!) | Amazon is known for books, but they carry a wide range of products now, including computer and technology products. |
WM | WalMart (online) | Walmart is a surprisingly good place to buy computer equipment. The brick-and-mortar stores are often stocked with basic computer supplies that specialty shops don't bother with. |
Community Resources
Here are the community resources I relied on for information about hardware compatibility and the current status of drivers:
Video Cards
X Windows: Basic information about free video drivers (not really an issue, just about any SVGA will work as a framebuffer).
Direct Rendering Interface: Information about Direct Rendering Interface (3D support). This currently the most difficult sourcing problem, so this site is very important.
Printing & Printers
Linux Foundation / Open Printing: A well-organized hub for printing information.
LF / Open Printing: A search engine for printer compatibility information.
Sound Cards
Advanced Linux Sound Architecture: Home of Advanced Linux Sound Architecture. This is now the main sound system for Linux, and is integrated into the 2.6 kernel.
ALSA Card Support Matrix: Now a wiki site, this provides information on ALSA support for sound cards by vendor or driver.
Open Sound System: A list of chipset supported by the Open Sound System (an older framework for soundcard support which has mostly been replaced by ALSA---but a few cards still require OSS drivers.
CD/DVD Media & Drives
CD Freaks: A community site for users of optical disk technologies. Its Editor's Choice label may help to find a good drive.
Digitizer Tablets
Linux Wacom Project: Project to support all of the Wacom digitizer tablets on Linux and X11.
General
Wikipedia: Wikipedia has very good coverage of technical subjects like computer hardware.
Linux Drivers: Linux Drivers is a great starting place. It includes links to most of the above sites, and more.
Phoronix: Information on Linux and Solaris hardware, including audio and video reviews.