Fun with the Dell Chromebook 13

chrome-logo

I’ve been fortunate enough to acquire a shiny new Dell Chromebook 13 (7310) which is winning accolades everywhere in the Chrome universe.  Intel i5-5300U (Broadwell), 8GB RAM, 32GB SSD, 1080p display, amazing battery life… this thing is an absolute beast and light as a feather to boot. ChromeOs as expected is a minimal Google-centric affair centered entirely around the Chrome browser and apps available in the Chrome store. This is not Android, this is Chrome. For many this type of platform would work great providing speedy web browsing, games, office docs and connectors to your corporate VDI desktop. This solution is an obvious fit for the EDU space where Chrome is a BIG market. I’m starting to think that a Chromebook is really what my parents and technically-challenged in-laws need. It’s just dead simple and provides all the functionality they could need.

image

But, as you know, I can’t just leave well enough alone. There is so much hardware performance prowess here that begs for me to tap into it. Naturally the 2nd thing I had to do was install Linux so I can do all the things I can’t do in Chome, namely run Steam to ultimately play Dota2 and Minecraft. YES!

 

Everything that follows is NOT supported by Dell nor Google, will probably void your warranty and may cause your precious Chromebook to burst into flames (not really). Anything bad that happens to you will not be my fault. I’m documenting this for my own selfish intentions of information preservation. Proceed at your own risk or peril!

 

ChromeOS is powered via a Linux kernel so outfitting to work with a separate Linux distro is not a terribly difficult task and frankly a match made in heaven. 32GB is plenty of room to run a minimal Linux instance and your choice of desktop plus a game title or two. There are a couple of ways to go here but one of the easiest and most popular is using crouton which is ultimately a chroot generator for ChromeOS. Crouton provides the ability to run Ubuntu on the Chromebook leveraging the existing ChromeOS kernel so you can leave your existing ChromeOS instance in place. Normally, you would be able to switch back and forth between the operating environments real-time so you get the best of both worlds here, but this appears to be broken for me at the moment. I can play in one environment or the other, no biggie. The following are the steps I took to create a Linux environment on my Chromebook so I could run Steam and play Dota.

 

Create ChromeOS Recovery Disk

As is always the best practice, take a backup of your perfectly working Chromebook before you make any changes. To do this, first install the Chromebook Recovery Utility on the Chromebook. Insert a USB stick that is 4GB or larger, follow the prompts. Easy peasy.

image

 

Enable Developer Mode

The first step on our journey is to enable developer mode. This removes the security of OS verification and will warn you every time the device is restarted. To enable this mode hold down ESC and Refresh keys then tap the power button to enter recovery. Once there you will see this somewhat scary and currently inaccurate screen:

 

image

 

Press Ctrl + D to enter developer mode, confirm then reboot. This operation will wipe your device so plan accordingly! Once complete you will see the following screen initially at every reboot which can be bypassed with Ctrl+D or you can wait for it to time out.

 

image

 

Once the system comes back up, go through the initial setup process again to get into Chrome and connected to the network.

 

Install Crouton

From Chrome, Grab the latest crouton file: https://goo.gl/fd3zc and save to the Downloads folder.

In Chrome, press Ctrl+Alt+T to open a crosh terminal tab within the browser. Type “shell” to enter the Linux shell mode:

 

image

 

Next, install crouton by executing:

sudo sh -e ~/Downloads/crouton -t xfce 

If this fails due to a lack of permissions, then execute the following to first gain root:

sudo su 

Run the command again without sudo and point to the crouton file within your user profile. Keep in mind that you’ll be running as root now and “~Downloads” will not have your crouton file. You will need to navigate to or point sh at this specific directory so the command will execute correctly. In this example the required command would be:

sh -e /home/user/b4b68a7dfa3e92f1f0f371473c58f9bf2de97424/Downloads/crouton -t xfce 

 


image


 


This will install the crouton chroot with ubuntu and the xfce desktop, which is a very lightweight GUI. You can optionally install Unity if you want something “heavier”.  Substitute unity at the end of the command instead of xfce.


While you’re at this step, install the crouton integration extension for Chrome which will provide handy functionality like clipboard synchronization between environments: link


This will take some time to complete and once it does, start your crouton session so you can enter the Linux desktop, execute:

sudo startxfce4 

This will run a series of scripts then take you to your fresh new Linux desktop UI. This command will need to be run in crosh every time you reboot or log off from within Ubuntu.


xfce


 


Update Ubuntu


This step is optional but if you want the latest or newer build, or to clean up the packages crouton included by default, it’s a good idea to update. There are a couple of ways to do this but the easiest is via Ubuntu’s Software Updater. From the Terminal , execute:

sudo apt-get install update-manager synaptic 

This will install the Ubuntu updater as well as the Synaptic Package Manager. Run the Software Updater and install Ubuntu 14.04 trusty which will take a while. You will be prompted to remove old packages, do this. Once complete you will be prompted to reboot. Enter the crosh shell again and update the crouton config (precise is the name of my chroot):

sudo sh ~/Downloads/crouton -u –n precise 

You can check the version of crouton installed vs what is available online by running:

croutonversion -u -d -c 

Run sudo startxfce4 and you’ll be back to the Linux desktop. One more step before we can install Steam.


Update Intel Drivers


This is a core i5-5300U system which has a damn decent on-die HD 5500 GPU, but at this point in my build I have no OpenGL drivers yet. If you installed Steam and tried to launch Dota you would see an error about the GPU lacking support for OpenGL 3.1. Run the following extremely long command to perform a thorough update of the Intel parts within your system:

sudo apt-get install --install-recommends xserver-xorg-lts-utopic libqt5gui5 libgles1-mesa-lts-utopic libgles2-mesa-lts-utopic libgl1-mesa-glx-lts-utopic libgl1-mesa-glx-lts-utopic:i386 libglapi-mesa-lts-utopic:i386 libegl1-mesa-drivers-lts-utopic



Remap Volume and Brightness Keys


The top row of keys all have a specific purpose and directly map to F1, F2, etc on a regular keyboard, they are merely obscured here. Once your Linux environment is installed some of these keys won’t work, namely the volume and screen brightness controls. To fix this open the keyboard application and select the Application Shortcuts tab. Add a new command for each key you want to map as shown below then choose the corresponding key.

amixer set Master 10%+ (Volume up key/ F10)

amixer set Master 10%- (Volume down key/ F9)

amixer set Master toggle (mute key/ F8)

brightness down (small sun key/ F6)

brightness up (large sun key/ F7)


 


keys


 


Install Chrome for Linux


Netsurf, the default xfce browser, is a very, very basic browser which may suit your needs just fine. If you need to access any site that uses javascript, however, it will not be able to render as there is no support. Save yourself pain and just install Chrome from the jump. The following commands will add the key, set the repository and install the Chrome package:

wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - 
sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
sudo apt-get update
sudo apt-get install google-chrome-stable


Install Steam, Install Dota2


At this point you should be in very good shape and ready to have fun. Installing Steam is straight-forward, download the Linux client from their site, install. Log in, install Dota. Now with 32GB there is enough space to install Steam and Dota locally, which is ~14GB. With everything, I still have ~8GB free space on the SSD. If you wanted to use the Chromebook to run more titles or simply don’t want to install the games locally, there is a method to install to an external SD card. See the links in the resources section at the bottom to learn how.  The graphics performance is actually quite good considering there is no discrete GPU present. Dota video settings notched up 1 level from the bottom performs quite well. Fallout4? Probably not so much.


 


dota


 


Install Java, Install Minecraft


Minecraft requires the Java Runtime, so installing the JRE is step 1. The easiest way to do this is via a PPA (Personal Package Archive) which will download the required files from Oracle and install them. If you have any other package manager application running at the same time, this process may fail with an error about getting a lock on /var/lib/dpkg. Close Synaptic or Software Center first, then run the following commands in the Terminal:

sudo apt-get-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

sudo apt-get install oracle-java8-set-default


Once Java is installed, browse to Minecraft.net and download minecraft.jar. This is the launcher that will download, update and run Minecraft. Keep this file and put it in a safe place. To run right away, in Terminal navigate to the directory of the jar file and run:

java -jar minecraft.net

The familiar launcher will appear where you can log in and play. You could run the previous command every time you want to play or create a shortcut script for easier launching. First create the sh file on your desktop (CD to your desktop) and enter (nano is not present in this build):

vi minecraft.net

With the Vi editor open to your new file, enter the following 3 lines and save (see the Vi cheat sheet link at the bottom if you need help):

#bin/bash
java -jar ~/Documents/Minecraft.jar
exit

Right-click the new sh file and on the Permissions tab check the box to "Allow this file to be run as a program". Anytime you want to play Minecraft just double-click this file and off you go. Now we have a full fledged Minecraft install with all the privileges that affords including mods, maps and servers. The performance is fantastic on the Chromebook with absolutely zero lag whatsoever.


That’s all there is to it! Now my Chromebook is a very capable dual purpose machine that I can do almost anything I want. In previous versions of ChromeOS and crouton it was possible to seamlessly switch between ChromeOS and Linux by using the key combo Ctrl+alt+shift+forward (or backward). This doesn’t work for me right now with the ChromeOS side either appearing blank screen or frozen accepting no inputs. Others had this same problem earlier in the year so it appears that it may have never been resolved. If you know of a workaround please speak up in the comments! For now, to get to ChromeOS from Linux you have to reboot then start up your chroot again when ready. Not ideal but not a huge inconvenience either since your Linux sessions are saved and easily restored. In this build I have ChromeOS, Couton/ Ubuntu, Steam, Dota, Java and Minecraft all installed with 5.2GB to spare. Not bad! Not to mention that the graphics performance is better here using the Core i5 chip alone vs older laptops I have with discrete NVIDIA NVS GPUs. Really impressive. If you want a very capable lightweight laptop to run Linux and a few games, look no further than the Dell Chromebook 13!


Resources


Chromebook Recovery Utility


crouton


Crouton install walkthrough


Intel Driver Update


Map volume and brightness keys


Installing Dota on external SD card


Vi Cheat sheet

6 comments:

  1. Thanks for a really thorough walk through of the process. I've been thinking of getting a Dell 13 ChBook for the purpose of running a different distribution in crouton, but can't quite make the jump. My main worry is that the superb battery life will be largely compromised when running two desktop environments in parallel. What's your experience with batter life? Also, as I understand there is no way of setting a sleep mode from crouton, right?

    ReplyDelete
  2. Hey Linux Kiddo, actually the battery life seems pretty decent! Roughly 8 hours with minimal load and around 3.5 under heavy graphical load. So mixed use you should be able to get through the course of a normal day with a charge up in the middle somewhere.

    Excellent call out about power mgmt! Sadly there is none, suspend doesn't work. The best you get here is controlling the idle screen times and locking when the lid is closed. The workaround would be to save state in Linux (session) and flip back over to Chrome to sleep the device. Definitely not seamless, but doable.

    ReplyDelete
  3. Good AM! Dell 13" 7310 Chromebook and dual booting Mint 18 Sarah and Ubuntu 16.04 with 4.8 kernel but absolutely NO JOY with getting trackpad to work in either OS. Suggestions? Thanks in advance,
    MarkB

    ReplyDelete
  4. I may be a little late to comment, but I have the same Chromebook. The easiest way I have found to switch back to ChromeOS is to create a url shortcut on your Linux desktop. I used www.google.com and when I click it, it opens google.com on my ChromeOS and then there is a Crouton icon in the shelf that I can use to get back to Linux.

    ReplyDelete
  5. Ctrl+alt+shift+forward doe not work well with the Dell Chromebook 13, and more cumbersome than the quick switch back and forth desired with crouton integration.

    Try this - during install add the two extensions xiwi & xorg as follows:

    sudo sh ~/Downloads/crouton -r trusty -t xfce,xiwi,xorg

    These allow you to start up xfce from the shell: $ sudo startxfce4 in a window, but hit the full screen key and you are running a full parallel screen session but can flip back and forth and clipboard contents are maintained between OS'. However, if instead you run $ sudo startxfce4 -X xiwi you run in a window while $ sudo startxfce4 -X xorg you run as if natively.

    ReplyDelete
  6. I relish, cause I found just wһat I used to be having a look for.

    You've ended my 4 day lengthy hunt! God Bless you man. Have a nice day.
    Bye

    ReplyDelete

Powered by Blogger.