Recently I found myself looking for a new laptop. My last two laptops were Chromebooks, which I found enjoyable to use and managed to use for light coding with the excellent crouton. However, as I plan to travel more frequently in the future, I decided to scope out the latest in PC laptops, with an eye towards Linux compatibility. A few apps I use on my desktop don’t work in crouton, and I wanted the ability to run virtual machines and the Android device bridge.
First off, PC laptop makers really need to get it together in terms of branding — there were seemingly hundreds of models. Most of them seemed to be introduced and discontinued with little fanfare, and I could find little information on the internet about Linux compatibility or indeed anything. Say what you will about Apple, but selecting a new Apple laptop doesn’t require writing down or memorizing long and bizarre model names, or determining whether the model in question is still produced or supported in any way.
I had several criteria in mind.
- Affordability - As I plan to do some pretty serious boondocking with this laptop, I wanted something that I wouldn’t mourn being lost or stolen.
- Reasonably beefy specs - Specifically, I wanted an amd64 processor, at least 4GB of RAM, and a reasonably sized SSD.
- Linux compatibility - While I hear the development story is better on Windows these days, I’ve really come to prefer my lightweight Linux setup and tiling window managers. I didn’t need everything to work right — I would be fine with a touchscreen not functioning on Linux, for example.
I also found myself oddly drawn to the newer 2-in-1 style laptops. I say oddly because I don’t really care for tablets, and don’t own one. I’m just so much faster on a keyboard and mouse; I use my phone for quick things and a keyboard+mouse computer for anything that takes me more than a few clicks.
The 2-in-1s appealed to me because it would be easy to use them to create an ergonomic workspace in many different situations, from hotel rooms to RVs and so on. Get the screen up to eye height somehow, supplement the trackpad with a real mouse, and it’d be pretty comfortable. I also might use the actual tablet-like functionality for some basic streaming.
These criteria really narrowed it down to a few laptops. The spec requirements and affordability are obviously pulling in different directions. There aren’t many sub-$500 2-in-1s that meet those requirements. I considered a few but landed on the Asus Transformer line because it appeared to have a fairly large community of people working on Ubuntu compatibility. With most laptops I looked at, I was lucky to find a cryptic Reddit post or two about some issues a user had encountered. Microsoft Surfaces looked nice and I was willing to spend the money, but the Linux compatibility is apparently a real issue. Lenovos were sketchy, and the lower end models don’t have the amazing TrackPoint, which I still miss about a decade out from owning a ThinkPad.
I pulled the trigger on a refurbished T300 Chi from Newegg for $320; it even came with a free stylus I’ll probably never use. This was a little risky since the Chi models seemed to be less popular and, as Asus’s website attests, “Asus recommends Windows.” I made sure to order from a website with a generous return policy, since I was not positive I’d be able to get a functional Linux install going.
My fears appeared to come true as I spent the first day trying and failing to get the docking station working to my satisfaction, but after a night of sleep I puzzled it out. I’ll review the laptop’s functionality, and then discuss getting Ubuntu working on it.
- Priced extremely reasonably. For about $50 more than my previous Chromebook, I got the ability to run Windows apps and games, and do everything I wanted to in Linux.
- The monitor’s resolution: 1920x1080 is great for a cheap laptop — most of the Transformer books and my previous Chromebooks were closer to 1280x800
- The specs. Again, evaluated in the context of the price, these are pretty solid. Windows might chug a little on a machine like this, but with a lightweight Ubuntu desktop, you’ll be flying.
- The brushed aluminum is nice compared to the plastic construction of most cheap laptops.
- The laptop appears to be fairly well built, and has survived one nasty drop already
- Because the actual components are in the tablet portion (the screen), this laptop’s weight distribution will be odd for anyone who is used to normal laptops. It’s more likely to tip over, for example. It’s possible to, if picking up the laptop by the screen, detach the screen accidentally. I’ve dropped the screen once like this; to its credit there appears to be no damage.
- The trackpad is fairly insensitive and has a small right-click section, compared to the more familiar two finger right-click
- The trackpad seems to go through bouts of insensitivity where it does not work normally
- The docking station (ie. the keyboard and mouse) ONLY connects via bluetooth. It has to be charged through a MicroUSB port, which is on the other side as the MicroUSB port on the laptop. I believe the T100HA charges and connects automatically when attached.
- Lack of ports in general. You get one HDMI port, one microUSB port, one microSD slot, and a headphone jack. That’s it!
- These ports are right next to eachother, and hard to see. Putting in a microUSB plug in the dark is a real challenge.
- There’s really nothing in place to “lock” the screen to the docking station; it’s more like two clips. Pulling up on the laptop screen (as I sometimes do when trying to find the micro-USB port) might result in you just pulling the screen off
- Battery life is probably about 3-6 hours compared to the claimed 8, depending on how you use it of course. I have yet to extensively record the difference between Linux/Windows battery life, but I understand Linux can be worse.
- Windows font rendering is blurry; presumably something to do with the tablet screen. This only occurs on some applications that use native font rendering (For example, Chrome looks fine)
- Camera quality is predictably bad
- f.lux starts going crazy when waking from hibernate on Windows, and has to be shut down
These issues are only related to running Linux, of course, and apparently these have radically improved over the last few kernel versions. Most things worked out of the box for me, including wi-fi, sound, video hardware acceleration, and the touchscreen.
- Sometimes the docking station needs to be switched off and on 2 or 3 times at startup before it is connected correctly
- Trackpad multitouch doesn’t work. Someone on the Google Group actually wrote a custom driver for the T100HA, which I haven’t tested yet. Combined with the lack of page-up and page-down buttons, this can be frustrating.
- No screen auto-rotation
Dual boot Linux installation
Finally we get to the dreaded Linux install. Actually, installing Linux wasn’t too bad, but I ran into some real issues with trying to dual boot and use the docking station. I was only able to fix them with a patched kernel from the Transformer Ubuntu Google Group.
To install Ubuntu, you’ll just need a USB stick burned with the latest Ubuntu ISO. A micro-USB hub and additional keyboard/mouse are STRONGLY recommended. Since there’s only one micro-USB port, you’ll have to do the install via touchscreen if you don’t have these, as the docking station will not work during the installation. You cannot boot off of a microSD card.
That said, I didn’t have one as I was unaware of this, and it wasn’t too bad. Be careful with the included micro-USB to USB adapter — I broke it off in my wireless USB keyboard/mouse receiver’s USB cord — thankfully after I no longer needed it. And make sure to start with an easy to type lowercase password, in case you have to enter it via onscreen keyboard.
First, boot into and setup Windows. Make sure the docking station is paired with the laptop.
Reboot the laptop and hold the Volume Down button. This will put you into the BIOS. The docking station does not work, but the touchscreen does (using the old grey-and-blue BIOS with a touchscreen is a very bizarre, anachronistic experience). Go into the Security tab, and disable Secure Boot.
Now repeat the trick with the Volume Down button, and use the menu to boot with your USB stick.
Go through the normal Ubuntu install. Make sure not to steamroll Windows — unless you want to, of course, in which case you can ignore the bluetooth portion of this; it’s only necessary to make sure the docking station connects to both Ubuntu and Windows at boot time.
Now slide the docking station’s power switch all the way to the right and hold it for three seconds until the blue light begins flashing. This indicates that it is searching for a modem. Click on the bluetooth icon in the upper right corner and pair it with the docking station, which should display as Asus T300 Chi Keyboard. You’ll have to enter a numeric code and then press “enter” on the keyboard.
Open up a root shell, go to
/var/lib/bluetooth and find the folder for the docking station. (It’ll be something like
YY:YY:YY:YY/XX:XX:XX:XX where YY identifies your laptop’s bluetooth modem and XX identifies the docking station) There
will be a file called
info here. Open it, and write down the
Key field. Double-check this thoroughly as you don’t
want to have to reboot just to grab this. Also note the XX:XX:XX identifier for your docking station. Unlike the key,
this won’t change if you mess up, and there probably won’t be that many bluetooth devices in your vicinity, so you
probably don’t need to write it down.
Now you’re going to upgrade the kernel to a more recent, specifically patched version from
here. The usual caveats of installing random
software from the internet apply. I’m using
4.8-rc7-x86_64. After the download is finished, install the package with
sudo dpkg -i linux-*.deb in your Downloads folder. If something goes wrong with the newer kernel, you can boot older
kernels using “Advanced Boot Options” in GRUB.
Now reboot into Windows. Note that you can use the volume down button on the side of the laptop to navigate down in GRUB , and the Windows or Power Up button to select a choice. Unfortunately, there doesn’t seem to be a way to navigate up on the existing buttons, so don’t mess up! There may be a way to change this in GRUB.
I hope you held onto your external keyboard+mouse, because you won’t be able to use the docking station for this next part. Do NOT pair them again, or you’ll have to repeat these steps.
We’re going to edit this key into the Windows registry manually before touching Bluetooth again. But we have to jump through some hoops to use regedit as SYSTEM, because for some reason the Bluetooth keys (and apparently only the Bluetooth keys) belong to SYSTEM.
cmd.exe and Run As Administrator. Run the following commands:
SC CREATE AcDebugSvc binPath= "regedit.exe" type= own type= interact
SC START AcDebugSvc ***
Now open regedit.exe and navigate to
HKEY_LOCAL_SYSTEM\ControlSet001\Services and then
Parameters\Keys. Here you’ll see the bluetooth
device IDs you saw in
/var/lib/bluetooth. Edit the key with the same name as your docking station’s ID — which is
the subfolder you saw in
/var/lib/bluetooth on Ubuntu. Delete the existing data, and replace it with the value of
Key field from Ubuntu.
Once the key is replaced, reboot into Windows and see if the docking station works. Then reboot into Ubuntu and do the
same. This was the trickiest part for me — when I tried the newer, but apparently not new enough 4.6 kernel, I could
never get Ubuntu to connect to the docking station properly. And if you write down one thing incorrectly, you may
have to reboot into the other operating system and do this all over again. I spent all of Saturday not making any
progress on this issue. You can also try the reverse — retrieving the registry key from Windows, and editing it into
/var/lib/bluetooth, but for some reason this never worked for me.