Installing Ubuntu 18.10 on a GPD Pocket 2

Tutorial Jan 13, 2019

In case you're not familiar, the GPD Pocket 2 is a tiny, 7" computer that quite literally fits in your pocket, yet packs a lot of power. With its unibody design you could easily mistake it for a tiny MacBook, which is one of the reasons why I've been trying to get it to work as a Hackintosh — aside from personally finding macOS a more comfortable OS to work with.

There are three main variants of the Pocket 2, namely the slightly older model sporting an Intel Core m3-7y30 CPU, the updated model with an m3-8100Y, both having 8GB of ram. There is also a more limited run black model with a Celeron 3965Y CPU., which comes with just 4GB of ram. Regardless of which model you have, this guide should work fine for you. This guide will actually also work fine if you prefer to set up Ubuntu 18.04 LTS, so you can use that instead if you prefer.


By default the Pocket 2 (P2) comes with Windows 10 Home pre-installed. This is fine if you're comfortable with Windows, and possibly the best choice if you're looking to play some (retro) PC games on the go, but if you prefer a different environment, or simply want more control over what your operating system does and does not do, you might want to consider an alternative.

Today I'm going to run through the basics of getting Ubuntu 18.10 installed — the recent-most version of Ubuntu as of the posting of this article. Installation is actually pretty straight-forward, with most things working out of the box. There are however a few steps you'll likely want to take to get the best out of your P2.

Ubuntu Mate

There is a specific version of Ubuntu Mate made for the GPD Pocket 1 and 2 that takes care of things like screen rotation and scaling out of the box. If you don't mind Mate and its behavior/software/defaults, this might be a good choice for you to try. In my testing I felt that Mate did not add much to the experience and its software kind of got in the way more than it solved anything, so I decided to go with the vanilla Ubuntu route. It may work well for you though, so give it a try if you're curious. Otherwise, read on and let's set up Ubuntu 18.10.

Prerequisites

  • A USB stick of at least 8GB. USB3 is recommended but not required.
    Note: You can probably create a bootable microSD card and use the built-in microSD card reader on your P2, but I have not tried this myself.
  • The Ubuntu 18.10 ISO downloaded.
  • A tool to make a bootable USB stick. For Windows I recommend Rufus and for macOS Etcher is a good choice, but you can use whatever you're most comfortable with.
  • Optional: Unless you're comfortable with the super awkard optical mouse thingy, an external mouse is probably going to be useful.

Basic installation

If you're already familiar with installing Linux, you can skip over this step. If not, read on and we'll create a bootable USB stick.

Assuming you're preparing the bootable stick on your P2 directly, after downloading the ISO and Rufus, insert your USB stick and launch the Rufus app. Proceed by selecting the ISO you just downloaded, as-well as the USB stick. All default settings should be fine as they are, so go ahead and "burn" the USB stick. This will take a few minutes, so go grab a coffee or cup of tea.

Creating a bootable USB stick using Etcher on macOS. Imagine a screenshot of Rufus here in case you're doing this step on Windows.

When this is done, leave the USB stick in your P2 and reboot. When you see the GPD logo appear, hold down the Fn key and start mashing the += key (so F12, basically) and in a few moments a boot selection will show up. Select your USB stick and hit enter.

You'll get a black screen now, which is actually the GRUB boot loader screen that cannot be properly displayed. Simply hit enter to boot into the Ubuntu Live USB environment. This will load Ubuntu from the USB stick from where you can try it out for a bit, or head straight to the installation, which is what we'll do.

Before we start with the installation, let's (temporarily) fix the screen rotation. Click on the menu arrow thingy in the top-right-hand corner of your screen and click the settings menu item. Scroll down and find the Devices option and click on that. Displays should immediately be selected. Under Orientation, select Portrait Left, and click the green Apply button in the top-right side of the screen. Your screen should now be more easily readible, and your neck will be thankful.

You can now proceed with the installation. Launch the Installer from the desktop and follow its steps. In my case I opted to go with the Minimal installation as I wanted to choose which extra software to install, but this is fully up to you. I also enabled the third party software checkbox.

At a certain point it will ask you how you would like to set up your SSD, and will give you several easy options, as-well as the option to set everything up manually. If you'd like to preserve your Windows installation, I recommend you use the built-in feature to do this very thing. The installer can resize your Windows partition without damaging it, and make room for Ubuntu alongside Windows. Or if you don't want Windows, you can simply have the installer format the entire drive.

In my case I opted to keep Windows too, and allocated about 75GB to Windows, and 45GB to Ubuntu. You should decide which OS might need more space depending on your own needs. Alternatively you could consider installing Ubuntu onto a microSD card, but as the P2's card reader is USB2 only, I didn't want the system to be slowed down by this. A tiny USB stick might also be an option, if you need the full internal storage dedicated to Windows, for example.

Continue with the installation and when you're all done and need to reboot, remove the USB stick and reboot. You'll once again get a black screen where GRUB is supposed to show you the boot options, so simply hit enter to proceed there. You will now be greeted by Ubuntu's once again sideways rotated login screen. Don't worry, we'll fix this next.

Fixing the screen rotation in Ubuntu

We'll first start by changing the screen rotation within Ubuntu in the same way we did on the Live USB. Click on the menu arrow thingy in the top-right-hand side of the screen and click on the Settings menu item. Click on Devices in the sidebar, and in the Displays view select Portrait Left under Orientation. Hit Apply and that should fix your by now quite strained neck.

Unfortunately this setting only applies to your user account, so now let's make this a system-wide default.

Optional: Enable 2x scaling so everything isn't so tiny

Ubuntu (still) does not support fractional scaling all that well, so I personally opted to not use the currently available beta/hacky options. You can enable it when using Wayland, but I found the results to be lackluster, with more than a few elements looking blurry or very pixelated.

Fortunately 2x scaling works fine, although Ubuntu for some unknown reason does not want you to set this through their UI for the P2's internal screen. To bypass this apparent oddity (or bug?), open ~/.config/monitors.xml using your favorite text editor. Read down a few lines in this XML file until you see your internal monitor's settings (referred to as eDP), and there you'll find <scale>1</scale>. Change this 1 to a 2, then save and close the file.

Making your monitor settings the system-wide default

Whether you've done the previous scaling step or not, now all you have to do is copy your monitors.xml file to another location, and Ubuntu will pick it up as the default for any and all users, as-well as on the login screen. To do this, copy and paste the following command, entering your user's password when requested:

sudo cp ~/.config/monitors.xml ~gdm/.config/monitors.xml && sudo chown gdm:gdm ~gdm/.config/monitors.xml

For those of you reading along, all this command does is copy your user's monitors.xml file into ~gdm's .config folder, and changes its ownership to gdm. That's it, your login screen should now be in the right orientation too next time you boot up Ubuntu.

Caveat time: Your monitors.xml file actually changes whenever your monitor setup changes, so if you end up plugging in a secondary display, for example, your user's file would be updated, but not the copy you made. This might result in undesirable results (ie. Ubuntu not knowing what to do with an additional monitor at boot time, should you have a second one plugged in), or it might result in your internal display losing its rotation settings for example.

There does not seem to be much we can do about this, so I recommend you set up the monitors.xml file as you would most often use it, and have that version copied over to be used as the system default.

Fixing GRUB's bootloader screen

Now all that is left is for us to fix the GRUB bootloader screen. To do this, open up Terminal once again, and open /etc/default/grub with your favorite text editor. Make sure to use sudo, otherwise you won't be able to save your changes.

Add the following two lines to this file:

GRUB_GFXMODE=1200x1920x32
GRUB_GFXPAYLOAD_LINUX=keep

Save your changes, and then run sudo update-grub to have these changes applied.

Note: For this to work you should ensure that the screen rotation setting in the BIOS is set how GPD set it originally. If the GPD logo at boot is showing in the correct orientation, it means it's right. If it shows up sideways, you should correct this by hitting the DEL key repeatedly at boot to enter the BIOS settings. In the Boot screen, change the Screen Rotation Policy at the bottom to Right Rotation, and save all changes.

Now go ahead and reboot your P2. If all worked well, the GRUB screen should now show up properly, and when you get to the Ubuntu login screen it will show up in the correct orientation too. Once logged in, you'll be greeted with a very readible, albeit slightly large UI. Awesome!

Installing the latest video graphic drivers

This step is more optional, but I recommend at least getting the latest-most drivers as this will help with overall performance.

In Terminal, run the following command to add the Open Graphics Drivers repository:

sudo add-apt-repository ppa:oibaf/graphics-drivers
sudo apt-get update
sudo apt-get upgrade -y
Note: The first command actually automatically also runs apt-get update, but in case it does not do this for you for whatever reason, I added it specifically above to ensure everything did update properly.

After this you should have the latest-most versions of the graphics drivers set. It's probably good to reboot your device now, or right after installing Vulkan if you plan on doing that too.

Optional: Installing Vulkan

If you're planning to doing some gaming or emulation, you might want to install Vulkan too. To install this, after making sure you have done the previous step of adding the open graphics drivers repository, run the following command:

sudo apt-get install libvulkan1 mesa-vulkan-drivers vulkan-utils -y

That's it. Reboot if you want to make sure everything is properly loaded, and you should be good to go.

Screen tearing

You might notice some screen tearing on the left side of the screen when moving windows or scrolling in Firefox/Chrome. Unfortunately it appears that many Linux distros have issues with this, especially when screen rotation is used. I have tried the often recommended methods of fixing this, but could not reliably get these to remove the issue, or if they did somehow performance would be abysmal (with Vulkan refusing to work).

The easiest way to seemingly avoid this is to use Wayland, although this might instead introduce some other issues or limitations. If you would like to give it a try, log out of your account and at the login screen after selecting your user, click the little settings cog next to the Sign In button and select Ubuntu on Wayland. If this yields the right results for you and the performance is acceptable, this might be the best approach. If not, it might be better to stick with xorg (the Ubuntu option under that same settings cog).

Closing remarks

You should now have a fully working Ubuntu installation on your P2. The touch screen, WiFi, Bluetooth, Audio, the built-in microSD card reader all work out of the box, which is great. You might want to tweak the little optical mouse' tracking speed (setting it to the fastest mode yields better results in my experience), and probably do things like auto-hiding the dock to gain some screen real estate. Other than that, the world is your oyster.

I hope this helped!