Work in progress -- not yet linked from anywhere.

Purchasing PC hardware for CSAIL Ubuntu compatibility

This page provides an overview of some things you should think about when purchasing commodity computers (especially desktop computers) that might ever need to run some flavor of Linux. It focuses on CSAIL Ubuntu, the current flavor of Unixlike operating system supported by TIG, but it may be of use if you want to put some other OS based on Linux on a machine as well.

Why doesn't TIG suggest specific models?

Hardware vendors are constantly refreshing their product lines. Also, they often change internal components without changing model names or numbers, so we could buy a Foobar X-1000 today and test it and find that it works perfectly with CSAIL Ubuntu, and tomorrow you could order the same product from the same vendor, and get it with different components that no longer work easily with CSAIL Ubuntu. Any such recommendations (and we have tried to make them in the past, with poor results) would rapidly become very stale, and might even become inaccurate.

That said, we hope to set up a wiki or database soon where CSAIL members (including TIG staff) can share our experiences, positive and negative, with particular hardware.

Compatibility issues

In general, compatibility issues with OSes using the Linux kernel have to do with the bootloader, the Linux kernel itself, and device drivers (and occasionally other sorts of kernel modules). This is not an exhaustive list, but here are some particular possible areas of concern:

  • Can the BIOS successfully boot Linux? (Modern UEFI firmware that supports "Secure Boot" can sometimes be a little difficult. Also, some RAID hardware may be problematic, and the firmware and the Linux bootloader -- GRUB2 -- both need to understand the partition table.)
  • Is the Ethernet controller supported? (This is likelier to be a problem for WiFi? cards -- which probably won't be in use on a desktop machine -- than for wired Ethernet cards, but we have occasionally had problems with the latter.
  • Is the video controller supported (including hardware acceleration if this matters to you)? (Generally, NVIDIA cards are well supported now. Intel controllers often are but not always.)
  • Does power-management work smoothly (things like suspend/resume if you care about that, rebooting and powering off from the OS, fan controllers, processor speed control, and the like)?

For Ethernet and video controllers that aren't compatible (especially onboard ones) sometimes installing an add-in card to replace them can be a solution.

Closed-source drivers

Sometimes, a hardware component will only work (or only work to full capacity) with a closed-source driver distributed by the vendor as a binary. This can be a huge problem over time (even if the host starts out working) because it means the kernel can't be upgraded. (And that, in turn, can mean having to keep open known security holes.) For CSAIL Ubuntu compatibility, you really need open-source drivers that are available in the Ubuntu repositories and can be recompiled from source for compatibility with new kernels.

Things to research



Rackmount servers (at least Dell enterprise-class rackmount servers, which we've had most experience with) tend to be much less of a problem, although we have very occasionally had problems with Ethernet controllers too new to have Linux support. We've had good luck with midrange Dell PowerEdge? servers. (We've also been quite successful with SuperMicro? servers, although I don't know which particular models.) In general, extremely low-end servers may be more likely to be based on desktop/consumer-grade hardware and have problems, while enterprise-class servers -- especially if the particular model has been around for a while -- tend to be a safer bet. If you are considering a server purchase and don't feel confident about your decision, feel free to contact us -- TIG buys servers more frequently than desktops, and we can tell you what we've used recently.

-- JaySekora - 15 Jan 2015
Topic revision: 15 Jan 2015, JaySekora

MIT Computer Science and Artificial Intelligence Laboratory


  • About CSAIL
  • Research
  • News + Events
  • Resources
  • People

This site is powered by Foswiki MIT: Massachusetts Institute of Technology