January 17, 2011

How to Get the Most Out of Your Laptop with Linux

You got a new laptop over the holiday, or want to spruce up your old one with Linux? Ready to take the plunge, but a bit hesitant? Despite the horror stories, migrating to Linux on a laptop can be easy. With a few tools and guidance, you can have Linux installed and running in no time.

But how can this be done safely and easily, what with all of those nasty rumors surrounding the challenges Linux faces on the laptop? Wireless chips not working. Video cards not supported. Suspend/hibernation broken. I will admit it can sometimes be a challenge (depending upon your hardware). But it's rarely insurmountable. Let's dig in and see just how you can overcome these hurdles.

What's the Problem?

The reason Linux has had such a challenge with laptops is simple — most hardware vendors choose devices based on price, not how open the hardware is. The sad fact is, many chipset vendors tend not to release open source drivers or even the specifications so that kernel developers can create drivers for them. On top of that, vendors sometimes change chipsets during a run of the same model — and the pace sometimes means that the current releases of Linux distributions don't yet have drivers for new hardware.

In addition, the seemingly endless number of possible combinations of hardware that come together to make up the laptop landscape and you can see how difficult it would be for a Linux distribution to be able to work "out of the box" with every possible laptop. Until companies that produce the laptops (and other devices) standardize on chipsets with open drivers, this will always be a challenge. That doesn't mean the situation is hopeless, though! Let's start from the top down.

Start With a "Linux Friendly" Company

One of the best steps you can take, when wanting to go with a Linux-based laptop, is to choose a laptop from a Linux friendly company. There are companies out there that produce only Linux machines. One of those companies, System76, has a full line of hardware (from netbooks to rack-mount servers) they sell pre-installed with Linux.

In fact, you won't find a Windows pre-installed machine sold by System76. And of course there is one of the elder statesmen in the Linux hardware game Emperor Linux. This company has been around a while and sell laptops and tablets. One word of warning: You are going to pay more for a laptop sold by either company. However, you will wind up with a laptop that is 100% certified to run Linux.

Start With a Live CD

I can't stress this enough, when you are beginning the process of migrating your laptop to Linux, start with a few different flavors of Linux and, using their live releases, try them all. Why? You might find the first distribution you use has glorious video but no Wi-Fi. You might find that video and Wi-Fi works, but sound does not. When I am going to install Linux on a laptop I generally have the latest releases of the following Live distributions on hand:

You might also want to check our best live CDs piece from last November for good test CDs. As a rule, though, you probably want to try the live CD that corresponds with the distribution you want to run long term.

What I typically do is try one Live disc and if everything doesn't work out of the box, continue on. Once one of the above distributions works with all of the hardware on the target machine, I stick with it. There is one caveat. With Ubuntu you also have the option of using proprietary drivers. I have found that (almost without fail) the proprietary drivers will work where the open source drivers will not. This is especially true with Wi-Fi and video.

There is a bit of a "how does he..?" there. In order to get the proprietary Wi-Fi drivers you have to be online. Here's what I do. I will run the live distribution with the laptop connected to a wired network connection, download and install the proprietary Wi-Fi drivers, test the Wi-Fi, and (if the Wi-Fi now works) run the installation.

What About My Battery?

Linux may run a lot of background services, some of which aren't always necessary. This can cause unnecessary drain on a laptop battery. There are also other issues (that most users wouldn't normally know to change) causing battery drain. What can you do? There is a tool called PowerTOP that has a singular purpose — help your laptop make the most of its battery. Powertop is a command line tool that will find just about every possible cause of extra battery drain and show you how to resolve many issues. For the low-level work Powertop can do, this tool is incredibly easy to use. You simply run it (with administrator privileges), wait for it to tell you which issue is causing extra drain, and follow the instructions it offers to resolve the issue.

There are a few other ways you can preserve your battery life. One of those is to turn off Wi-Fi if you're not using it. Wi-Fi is one of the biggest offenders in the battery drain department, and the reason why most laptop manufacturers add an on/off switch for your Wi-Fi. Another method is to make sure your screen is dimmed when running on battery power. This can be very finely tuned in the Power Management Settings (click System > Preferences > Power Management in GNOME). Make sure you click the "On Battery Power" tab and then make the necessary adjustments to the screen brightness.

My Laptop is Sleepy

Hibernate and suspend is another issue that has plagued Linux on the laptop. This is another problem that is caused by the various hardware makers not releasing specs, and not closely following the industry standards. I have found the issue to be popping up less and less as Linux distributions become more and more "aware" of the hardware. But there still is no guarantee that suspend or hibernate will work.

If you Google "suspend hibernate linux" you will find a myriad of questions and answers regarding the issue. I would like to say there is one solution, but there isn't. To be honest, this issue is very much hardware specific, so one users' solution may or may not work on your machine. With my laptop, a Sony VAIO, I have had Ubuntu (since 9.04) suspending without a problem. I also have an Asus and a Compaq laptop — both of which suspend beautifully with Ubuntu 10.10. I have seen, however, many a laptop refuse to suspend. Either the laptop would refuse to come out of suspend or the laptop would refuse to suspend (draining the battery).

My best advice on this issue is to try one (either suspend or hibernate) and, should that not work, try the other. What is the difference? Simple:

  • Suspend is when everything on your machine goes into a low-power state except for the RAM. Your RAM will consume just enough power to save the state of your machine.
  • Hibernate is when your system state is actually saved to to the hard disk and everything goes into low-power state.

I have found that suspend is one of the most reliable states for Linux on the laptop. And you can chose which state you want your laptop to go into when the lid is shut. To do this click System > Preferences > Power Management and then click the "On Battery Power" tab. From within the resulting window you can select Blank Screen, Suspend, Hibernate, or Shut Down from the "When Laptop Lid is Closed" drop-down. First try Suspend. If that doesn't work, try Hibernate. If you have the misfortune of neither of those choices working, Google your laptop make and model along with "linux suspend" and see if anyone has come up with a solution for your particular make and model of hardware.

Linux and Laptops Do Go Hand in Hand

With just a little preparation, a bit of research, and work you can have Linux on your laptop working like a well-oiled machine. And once you have it running you will be very happy with the productivity, flexibility, power, and security you will enjoy with a laptop running Linux. Don't let the naysayers scare you away from trying Linux on your laptop. This is not the '90s: Linux distributions have reached a level of maturity those naysayers never thought possible.

Click Here!