Linux on the RDP Thinbook
Switch branches/tags
Nothing to show
Clone or download

README.md

rdp-thinbook-linux

Linux on the RDP Thinbook

The RDP Thinbook is a new ultra-portable laptop produced by RDP Workstations Pvt. Ltd. in India. It is marketed as India's most affordable laptop, and is sold for around US$ 140 - 160 (when you choose the option of buying it without Windows installed).

News

  • Rebranding of certain files (/etc/issue /etc/issue.net /etc/lsb-release /etc/os-release) is now always done. I have added a script to revert to original Ubuntu branding that is available under /root/rebrand/revert_original/brand.sh. The user of the ISO - whether in the live session or after installation - can run /root/rebrand/revert_original/brand.sh to revert the branding if the user desires. This allows safe distribution of ISO while reducing any confusion because of the custom kernel and custom PPA used. At the same time it allows the end user to revert the branding to the original Ubuntu branding - making it look familiar to the end user. This should brook zero objection from Ubuntu and other distribution owners.

  • Now EFI Images (32-bit and 64-bit) and associated grub modues are built using grub-mkimage rather than including pre-built (binary) EFI images and grub modules in this repository. Tested to work on RDP 1430 (32-bit UEFI loader) and RDP 1130 (64-bit UEFI loader). This was long overdue and finally completed.

  • New Bionic Beaver 18.04 ISOs

  • Moved out kernel_compile to separate repository With the move to kernel_build, following new features are available:

    • Automatically download latest kernel from kernel.org
    • Use JSON API from kernel.org
    • Automatically upgrade kernel config for new (MAJOR) kernel versions

    Note: MUST download latest make_rdp_iso.sh

  • RDP was kind enough to send me one of their new 11.6 inch models. With this, I have updated the Ubuntu 16.04.3 with kernel 4.13.1 ISO with the required changes to make sound work perfectly on the 11.6 inch RDP Thinbook. - Give it a spin!

  • The 11.6 inch RDP Thinbook ships with a 64-bit UEFI loader - so 64-bit Linux ISOs on USB drives will be detected and can boot (although you will need some drivers enabled and some userspace tools / settings to make Bluetooth and sound work).

Open issues

EVERYTHING on this laptop works perfectly in Linux

It has impressive specs:

  • CPU, Memory, storage:
    • Original Thinbook shipped with Intel Atom X5-Z8300 1.84 GHz CPU (Cherry Trail). Later models ship with Intel Atom X5-Z8350 1.92 GHz CPU (Cherry Trail)
    • 2 GB DDR3L RAM
    • 32 GB SSD built in
    • Micro-SD card slot
  • Display:
    • Original Thinbook shipped with 14.1 inch 1366x768 display (16x9). Later the 11.6 inch 1366x768 display (16x9) model was added
    • Intel HD graphics with 12 cores (Linux-friendly)
  • Networking:
    • 802.11 b/g/n (2.4 GHz) Wifi - Realtek Wifi and bluetooth (RTL 8723bs chipset)
    • Bluetooth 4.0
  • USB:
    • 1 x USB 3.0 port
    • 1x USB 2.0 port
  • Audio:
    • Audio out (3.5 mm)
    • Dual HD speakers
  • Multitouch capacitative touchpad
  • Power:
    • 10000 mAh Li-polymer battery
    • 5V 2A power adapter
    • Rated at upto 8.5 hours battery life, 4-5 hours with Wifi connected
  • Size, weight:
    • Dimensions: 233mm x 351mm x 20mm (9.1 in x 13.8 in x 0.8 in)
    • Weight: 1.45 kgs (3.2 lbs)

Other cool features:

  • Power supply is 5V/2A, so (if) you can make your own USB cable with a compatible barrel adapter, you can charge / power it from a 2A USB wall power supply, or even a good Power Bank! I plan to do this, so watch this repo for results and instructions once I do
  • TPM 2.0 - haven't played with it yet

Limitations

  • RAM (2 GB) is soldered on, cannot be replaced / expanded
  • SSD (32 GB) is soldered on, cannot be replaced / expanded
  • Battery charging / charged and suspend state LED is not visible when the top is closed
  • Home, End, PgUp, PgDn keys are accessed using Fn-Arrow keys
  • No dedicated numeric keypad
  • No special keys to control screen brightness. BUT screen brightness applet in Ubuntu works perfectly
  • I believe this UEFI firmware CANNOT boot from micro-SD card. It appears to be a limitation of the firmware itself - since it does not even show the option
  • On the 11-inch RDP Thinbook 1130, the Insert key has been removed - this is a bit unfortunate for people who are used to using Shift-Insert and Ctrl-Insert to cut and paste text. I guess users can use Ctrl-C and Ctrl-V instead.
  • On the 11-inch RDP Thinbook 1130, the UEFI firmware settings have been vastly simplified (good), but the SecureBoot option seems to have been removed (unfortunate). With the move to a 64-bit UEFI bootloader, users COULD have actually used SecureBoot with Ubuntu-signed kernels (although probably not right now with my remastered ISOs).

I bought the original 14.1 inch RDP Thinbook in Nov-2016 without Windows installed, with the intention of using Linux on it (I use Linux on EVERYTHNIG).

Getting Linux to rock on the RDP Thinbook

You will need a machine running a recent version of Ubuntu (tested on Ubuntu 16.04.3 Xenial Xerus LTS).

Copyright and License

Except where otherwise indicated, all files in this repository are Copyright Sundar Nagarajan 2017.

Except where otherwise indicated, all files in this repository are licensed under the terms of the GNU LESSER GENERAL PUBLIC LICENSE version 3 or a later version of the GNU LESSER GENERAL PUBLIC LICENSE as per your choice. You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE version 3 in this repository.

The software in this repository also uses software from the bootutils repository. The software in that repository is also Copyright Sundar Nagarajan 2017 and is also licensed under the terms of the GNU LESSER GENERAL PUBLIC LICENSE version 3 or a later version of the GNU LESSER GENERAL PUBLIC LICENSE as per your choice.

Please familiarize yourself with the terms of the GNU LESSER GENERAL PUBLIC LICENSE version 3 before you use, modify or distribute this software.

Make UEFI (BIOS) changes

Entering UEFI

  • Reboot the RDP Thinbook
  • When the RDP symbol appears on screen, press ESCAPE

UEFI (BIOS) changes required

  • UEFI --> Security --> Secure Boot menu --> Secure Boot Change Enabled --> Disabled

  • UEFI --> Advanced --> ACPI Settings --> Enable ACPI Auto Configuration Change from Enabled --> Disabled

  • UEFI --> Chipset --> Audio Configuration --> LPE Audio Support Set to ```LPE Audio ACPI mode`` (default setting)

Get or build a remastered ISO with linux kernel 4.13 (or newer)

I highly recommend you use the Simplified single-script method below to download and build your own kernel and remaster the ISO yourself. Downloading and using / installing ISOs created by people you do not know or trust is BAD SECURITY PRACTICE.

That said, many people provide pre-built ISOs for users to eaily try / use, and I have provided one too. I try to mitigate some of your risk by providing a GPG signature.

Remastering your own ISO can take a while. It takes about 30 mins on a 32 x Intel Xeon e5-2670 server with 112GB of RAM and a Sansung 960 EVO NVME disk. On a more 'standard desktop' machine it could take several hours. Don't even think about doing it on an RDP Thinbook unless you have a lot of patience or you have something to prove.

You will need about 10 GB+ free space to build the kernel and remaster the ISO.

Simplified single-script method to build your own remastered ISO

You will need about 10 GB+ free space to build the kernel and remaster the ISO.

Download make_rdp_iso.sh from this repository

Packages required

grub-efi-ia32-bin grub-efi-amd64-bin grub-pc-bin grub2-common
grub-common util-linux parted gdisk mount xorriso genisoimage
squashfs-tools rsync git build-essential kernel-package fakeroot
libncurses5-dev libssl-dev ccache libfile-fcntllock-perl

For the most up-to-date list of required packages: - Download make_rdp_iso.sh from this directory - Run './make_rdp_iso.sh' (no need to be root) - Follow the instructions to install missing packages, if any

  • Login to a root shell using sudo -i
  • Create a new directory and copy make_rdp_iso.sh from this repository inside the new empty directory
  • cd to the new directory
  • mkdir -p ISO/in ISO/out
  • Copy your favorite Ubuntu flavor ISO to ISO/in/source.iso (filename is important). You can also create a symlink named source.iso pointing at an ISO in a different location.

Your directory structure should look like this:

new_dir  ---------- TOPLEVEL DIR
│
├── make_rdp_iso.sh
│
└── ISO
    ├── in
    │   │
    │   └── source.iso  - you need to rename source ISO to 'source.iso'
    │
    └─── out

Run the following command to create the remastered ISO:

sudo ./make_rdp_iso.sh

Remastered ISO will be ISO/out/modified.iso

Alternative - download pre-built remastered ISO for RDP Thinbook

Use this method ONLY if you are willing to trust my pre-compiled kernel and remastered ISO (at least on a test machine). You will need about 2GB free disk space to download the ISO.

Note: DO NOT rely on the same ISO being available and linked from this github repo. Periodically, as new kernels come out, I intend to test and update the ISOs I link to from here.

Also DO NOT bookmark the ISO URLs, as they are likely to change any time. I plan to update the ISOs (and corresponding GPG signatures) as the kernel is updated, and as I make changes to the enabling scripts etc.

Ubuntu releases I provide as ISO

  • Latest release - whether or not the latest release is an LTS release
  • Latest LTS release. If the current release is an LTS release, I will also provide the previous LTS release that was the current LTS release on the day before the current version was released
  • Older LTS and non-LTS releases will not be provided

Examples

  • While 17.10 (Artful Aardvark) is the current (non-LTS release), I will provide:
    • Current release: 17.10 (Artful Aardvark)
    • Last LTS release: 16.04 (Xenial Xerus)
  • When 18.04 (Bionic Beaver) is released (LTS-release), I will provide:
    • Current release: 18.04 (Bionic Beaver)
    • Last (previous) LTS release: 16.04 (Xenial Xerus)

Ubuntu flavors

  • Ubuntu (standard)
  • xubuntu
  • Ubuntu Mate

I do not plan to support more flavors; if at all dispense with Ubuntu Mate. The purpose of ISOs is to be able to TEST. Once everything is fine, I expect users to know how to install the standard Ubuntu flavor, and then customize it by installing the required desktop meta-packages.

Available ISOs:

Note:

  • Artful Aardvark 17.10 ISOs no longer available
  • Xenial Xerus 16.04 ISOs are the same as before (new link)
SHA256SUMS
Distribution Signed SHA256SUMS
16.04 Xenial Xerus SHA256SUMS.asc.xenial
18.04 Bionic Beaver SHA256SUMS.asc.bionic
Ubuntu version Release Flavor Kernel ISO
Xenial Xerus 16.04.3 LTS Ubuntu 4.13.9 ISO
Xenial Xerus 16.04.3 LTS Ubuntu Mate 4.13.9 ISO
Xenial Xerus 16.04.3 LTS xubuntu 4.13.9 ISO
Bionic Beaver 18.04 LTS Ubuntu 4.16.18 ISO
Bionic Beaver 18.04 LTS Ubuntu Mate 4.16.18 ISO
Bionic Beaver 18.04 LTS xubuntu 4.16.18 ISO
Bionic Beaver 18.04 with asound.state fix LTS xubuntu 4.18 ISO

Verifying GPG signature

If you are downloading a Xenial Xerus ISO, download SHA256SUMS.asc.xenial first.

Similarly, if you are downloading a Bionic Beaver ISO, download SHA256SUMS.asc.bionic first.

Run the command:

gpg --verify SHA256SUMS.asc.xenial

and / or (depending on which SHA256SUMS file you downloaded)

gpg --verify SHA256SUMS.asc.bionic

The output should be something like:

gpg: Signature made Fri 29 Jun 2018 05:23:27 PM PDT using RSA key ID 857CADBD

Use the following command to verify the downloaded ISOs:

Xenial Xerus 16.04
sha256sum -c SHA256SUMS.asc.xenial 2>/dev/null | grep 'OK$'
Bionic Beaver 18.04
sha256sum -c SHA256SUMS.asc.bionic 2>/dev/null | grep 'OK$'

You can find my GPG public key here. If you want to add my public key to your GPG keychain, use the following command:

gpg --keyserver pgp.mit.edu --recv-keys F0C3CE69C8C00D1E4D8834F5DF2AC095857CADBD

Once you have imported my public key with the command above (note: you are not TRUSTING my public key for anything), if you rerun the gpg --verify command above, the output should look like:

gpg: Signature made Fri 29 Jun 2018 05:23:27 PM PDT using RSA key ID 857CADBD
gpg: Good signature from "Sundar Nagarajan <sun.nagarajan@gmail.com>"

Once you have verified the signature, you can delete my public key using the command, to avoid cluttering your keyring:

gpg --yes --delete-key F0C3CE69C8C00D1E4D8834F5DF2AC095857CADBD

For a weak indication that this key belongs to me, search for me on pgp.mit.edu. Enter my email sun.nagarajan@gmail.com in the Search string field, and you should find this key as one of the results - note the double space between the first 5 and last 5 4-character hex strings.

Write ISO to USB drive

Assuming that your USB drive is /dev/sdk and you downloaded to a filenamed modified.iso

# cd to the directory containing the ISO
# DOUBLE CHECK that DEV is set to your removable devices' name
# Change next line:
DEV=/dev/sdk
sudo dd if=modified.iso of=$DEV bs=128k status=progress oflag=direct
sync

Now boot into the new ISO. In the live session, everything should just work!

To know more about the steps involved, read DetailedSteps.md

What do you get

  • Everything on the RDP Thinbook WILL WORK IN THE LIVE SESSION
  • If you install from the Ubuntu ISO created, everything will work in the installed image also
  • You get a copy of all the scripts under /root/remaster/scripts
  • The log of all steps during remastering is in /root/remaster/remaster.log

Distributions, models, testing done

If you have tested a distribution-model not listed here, open an issue, and I will list your observations here. If you had problems with a distribution (Ubuntu-based only for now), open an issue.

Distribution RDP Thinbook Model Issues, if any Tested by
Ubuntu 18.04 14.1 inch RDP Thinbook 1430 (X5-8300) Issue 36 Me
Ubuntu Mate 18.04 14.1 inch RDP Thinbook 1430 (X5-8300) Issue 36 Me
xubuntu 18.04 14.1 inch RDP Thinbook 1430 (X5-8300) Issue 36 Me
Ubuntu 18.04 11 inch RDP Thinbook 1130 (X5-8350) Issue 35 Me
Ubuntu Mate 18.04 11 inch RDP Thinbook 1130 (X5-8350) Issue 36 Me
xubuntu 18.04 11 inch RDP Thinbook 1130 (X5-8350) Issue 35 Me
Ubuntu Mate 16.04 Original 14.1-inch RDP Thinbook (X5-Z8300) None Me
Ubuntu Mate 16.04 New 14.1-inch RDP Thinbook (X5-Z8350) None RDP staff
Ubuntu Mate 16.04 11.6-inch RDP Thinbook (X5-Z8350) None RDP staff
Ubuntu 16.04.3 Original 14.1-inch RDP Thinbook (X5-Z8300) None Me
xubuntu 16.04.3 Original 14.1-inch RDP Thinbook (X5-Z8300) None Me

Problems?

AT LEAST provide the following information when you open an issue:

  1. Did you use one of the pre-compiled remastered ISOs? If so, which one?
  2. If you remastered your own ISO, what was the source ISO (distribution, version, 32-bit or 64-bit)?
  3. Did you install on to the main SSD or to an external (USB) medium?
  4. While partitioning your target disk during installation, did you create (and use) a GPT partition table and an EFI partition?
  5. What was the EXACT error message you saw, if any, and at what stage of install etc

Journey so far in brief

Booting

Out of the box it wouldn't boot any Linux distro. This is because, like many other newer low-priced Cherry Trail laptops, the UEFI firmware has a 32-bit EFI loader. Most (all that I could find) Linux distributions only provide 64-bit UEFI-compatible ISO images. This is a MISTAKE by the upstream Linux distributions, and one that I hope to influence.

Getting it to boot wasn't very hard - it required making a multiboot disk image that was 32-bit and 64-bit EFI loader compatible.

Only additional step to boot was to turn secure boot off.

What worked out of the box in Linux

  • Display (Intel i915 driver) 1366x768: Works perfectly

  • Touchpad:

    • Mouse pointer: Works perfectly
    • Tap-to-click: Works perfectly
    • Tap and drag (click lower left corner): Works perfectly
    • Right-click (two-finger tap): Works perfectly
    • Two-finger scroll: works perfectly
    • Right-click and drag (click lower right corner): works perfectly
    • Left button double-click (one finger double tap): works perfectly
  • Webcam: works (tested with Cheese)

  • USB 3.0 port: works. detected as USB 3.0. Have not tested speeds

  • USB 2.0 port: works

  • SD Card reader:

    • Read, write works
  • SSD: Works fine. Was seen by linux

  • Blue FN button capabilities:

    • ESC: Sleep / suspend: Works to suspend
    • F2: Disable / enable touchpad: works perfectly
    • F3 (Volume down), F4 (Volume Up): work perfectly - see Issue 7
    • F5: Mute/Unmute: works perfectly - see Issue 7
    • F6: Play/Pause: works perfectly
    • F7 (Previous track), F8 (Next Track): work perfectly
    • F9: Pause: Works (tested with xev)
    • F10: Insert: Works perfectly
    • F11: PrtSc: Works
    • F12: NumLock: works
    • Up (PgUp), Down(PgDn), Left(Home), Right(End) : Work perfectly
  • Suspend / resume - See UEFI change requried below:

    • Basic suspend / resume: works perfectly
    • Suspend on closing lid, resume on opening lid works
    • Wifi reconnects automatically on resume
    • Bluetooth audio stream resumes automatically on resume
    • Have NOT tried with USB 3.0 peripherals plugged while suspending

UEFI (BIOS) settings that needed to be changed

  • Booting: Turn off secure boot: UEFI --> Security --> Secure Boot menu --> Secure Boot: Change Enabled --> Disabled

  • Suspend / resume

    • UEFI --> Advanced --> ACPI Settings --> Enable ACPI Auto Configuration: Change from Enabled --> Disabled
  • Sound

    • UEFI --> Chipset --> Audio Configuration --> LPE Audio Support: Set to ```LPE Audio ACPI mode`` (default setting)

Things that needed work, but which work perfectly now

  • Wifi - required r8723bs module - available inkernel 4.12+ (in staging)
  • Bluetooth - required r8723bs_bt by Larry Finger - also requried systemd script and udev script. Also required kernel patch by me. This kernel patch is in the wrong file, but I have not been able to contact the owner of the r8723bs module to figure out where this patch goes or find an alternative method to ensure bluetooth interface is unblocked on boot.
  • Battery sensing - required axp288_fuel_gauge - critical bugs we fixed in kernel 4.12. Tested with standard panel battery indicator applet
    • Battery level sensing
    • Battery charge / discharge rate sensing
    • Battery time-to-full and time-to-empty calculation
  • Sound - required es8316 module - available in kernel 4.13+. Also needed bytcht-es8316 UCM files. For the newer RDP Thinbooks shipping with the with Intel Atom X5-Z8350, sound required bytcr-rt5651 UCM files
    • Speakers and headphone jack both work.
    • Microphone (sound recording) works
    • See issues 35 and 36

What is not working yet

Everything on the RDP Thinbook now works perfectly in Linux.

All files, scripts and documentation on this repository have been updated and tested.

This was the bug that held up sound support - fixed with es8316 driver: Bug 189261 - Chuwi hi10/hi12 (Cherry Trail tablet) soundcard not recognised - rt5640

Diagnostics, accessories