ChuWi Forum»Forum Chuwi Download Tutorial [Tutorial] How to install Ubuntu with KDE/Plasma for ...

Follow Us

[Hi13] [Tutorial] How to install Ubuntu with KDE/Plasma for Chuwi Hi13

[Copy link]

Carve|Post time:1-26-2018 01:54:04 View:6157|Reply:13

Edited by Carve at 5-8-2018 07:31

I got a Chuwi Hi13 tablet just last week. I am going to use it for web, tv/video and as big screen for sheet music (playing keyboard with midi interface). It will probably also be my friend when I'm traveling.

Having a Thinkpad with Win10 that I use for business, I have no need to use the Chuwi as office or power device. I won’t store anything personal or important on it. In my opinion the Chuwi Hi13 is almost the perfect match for this use case. It offers a very good screen powered by a humble but reasonable mix of CPU/GPU and eMMc. Works fine for me as I am not expecting a lot of power.

The only thing bothering me is the choice of operating system. Actually, Android would be my first choice for any touch device as long I don’t need Windows applications. Android has been developed almost from scratch to operate tablets and smartphones. However, I was initially thinking about putting Linux on the Hi13 when I read it was supported by Chuwi and bought it. I didn’t know then that Chuwi doesn’t even provide a set of drivers for Linux.

Having spent quite some time this week with this installation, searching for issue resolutions, investigating and testing software and drivers, getting to know the desktop and much more… I thought I write things up and make this easier for others.

So, here is a description of the steps that I used to install Kubuntu on the Chuwi Hi13 so far. This is written for people with some experience. You should at least know what a terminal is and how to create and change directories, delete, move, copy and edit files and so on with Linux.

Still, there are open issues and I am sure that there are other/better solutions than the ones that I describe below. You should use this as a starting point. Please go ahead and post your remarks, corrections and own ideas that we can all benefit from. I am happy to update this little guide!

I won't have too much time left to spend on this project, so please don't expect quick responses. Please don't PM me!

Do you have a backup? Don't hold me or anyone else responsible for a loss of data or any other damage. Use this guide at your own risk!

Before we start - Considerations

First thing to figure out before installing Linux: Do you still need Windows 10?

I won't, so I replace it.

If you want/need to keep it, you need to take quite some disk space away from Windows. You do this by shrinking the Windows partition using Windows tools. As the Windows partition might be fragmented, it’s mandatory that you clean and optimize the disk space first and then take look at how much disk space is available.

Open the Windows partition manager and right-click the Windows partition, click on “shrink” then you know. 20 GB should be sufficient, but less is more for Windows. Windows grows a lot over time, with every update and every software installation of course.

In a 2-in1 setup it should also be considered having a joined NTFS partition that could then be used by both operating systems, personal data, documents but also app data e.g. Thunderbird config and email.

As I updated Windows after first boot it took hours and the process left 17 GB disk space left for a 2nd system. 64 GB primary disk space are barely enough for a serious 2-in-1 installation in my opinion, it might be enough for playing though. So, think about getting a 64 GB SD to extend the space then.

Second thing to consider: Which Linux distribution meets this use case best?

Long story short: What Debian is for servers, Ubuntu is for clients (just my humbleopinion). Ubuntu is very likely to provide the best hardware driver and overall forum support to get things running.

The must-have criteria I put on my list are: Screen with full 6k working, touch screen working, USB devices/hubs, storage/sd, Chuwi original keyboard with touchpad working without major flaws, the tablet must also be fully usable without keyboard attached (tablet mode) and finally I want proper power management.

Also, the desktop must provide a state-of-the art user interface (gestures and so on…) similar to the Android look-and-feel. It is also very important that the 6k screen, the biggest H13 asset in my opinion, can be fully exploited. Here, KDE/Plasma comes into play.

KDE/Plasma offers scaling based on dpi, an extremely helpful function that will make things much easier. The scaling function sets the fonts, icons and everything to make the high resolution work for almost all apps and functions. KDE/Plasma can also be heavily customized, and you can make it look like any other OS desktop including Android.

Last question to consider at this point: How to get support?

If you have ever set-up a device with Linux (without vendor support) you already know, that there are always things that won’t work, hardware buttons, camera, sensors, software…hopefully the list won’t be too long. Where do you get drivers and support? This project is not about getting the best stability, that’s what you want for running servers. A long term distribution (LDS) might not provide the latest drivers. We might have to use PPA/backports and compile our own drivers and software if necessary.

Wrapping things up for me: I concluded to fully replace Windows 10 with Ubuntu and KDE Plasma aka Kubuntu (most recent realese 17.10.1 // EDIT Release 18.04 is out since Apr 27 2018).


Use magic Report

Carve| Post time 1-24-2018 09:01:55 | Show all posts
Edited by Carve at 1-24-2018 14:12

Step 1: Getting Started

Download the Kubuntu package here:  

Put the ISO file on a USB stick with Win32Disk Manager or any other tool. The USB stick can be placed in the USB port on the side of the tablet or just use the keyboards USB port. I have a Chuwi keyboard, however, you may as well take any USB keyboard and mouse (OTG) to go thru the installation.

Restart the Chuwi and press ESC to open the SETUP utility and change the boot order, so the system will boot from the USB stick first.
- Boot Option #1 should then read like this [UEFI: “Name of USB partition”].
- Also change the OS Select to “Linux”, then press F4, save and restart.

Remark: I did not flash the BIOS. I am running version “I2W6_AP135.041 x64”. There are some threads concerning this matter already so I keep quiet here.

Step 2: Install Kubuntu

Now, this is a guided installation process which will ask several things, choose install Kubuntu.

The WLAN is detected automatically, good thing. I once tried the USB hub with Ethernet/LAN interface which also worked fine.
Check buttons to download drivers during installation also from external resources.

As far as partitioning, for my use case I took the whole disk space for Ubuntu leaving the suggested settings unchanged, and removing Windows completely.
In case you keep Windows, you now have to identify the unused space and assign it to Ubuntu. You don’t have to create multiple partitions. Do whatever you need to do for your setup, but please only do it if you know what you are doing or your Windows data might be gone!

Time zone, keyboards settings are next, then user and machine name need to be set. I suggest logging in automatically which avoids later issues while in tablet mode and not having a virtual keyboard.

Download will take a couple of minutes depending on your connection speed. After install, hit restart. The system will ask you to detach the USB stick and then hope for the system to come up.

Step 3: First look and initial configuration

O.k. here we go, the icons, fonts and everything are very small, 6k screen is working for sure.

First thing we do is setting the screen scaling. Go to “System Settings – Display & Monitor – Scale Displays” at the bottom of the first tab and adjust the display scaling, making things larger (now you understand why this function is a must-have).  You might have to restart the system to take effect.

Now let’s check…. my touch screen doesn’t work, no screen rotation either!

USB works fine. I have installed and tested a USB hub, stick and a keyboard with mouse, all working flawlessly. SD Card (64GB) also works, there is a partition manager installed with the package.

The Chuwi keyboard also works, however, it is only installed as “generic keyboard”. The touchpad doesn’t install with a dedicated driver (e.g. Synaptics). Moving the mouse causes some weird input in search fields, something to look at later.

The driver manager software doesn’t work, it stops with the message “Collecting information…”. There are quite some notifications popping up about 3rd party drivers that would improve / should be installed but no action. The tool suggests using processor microcode firmware for Intel CPUs, doesn’t work either.

We can use the “Muon” package to download and install additional drivers and software packages or we just use the terminal.

So far so good, that’s not too bad as a starting point, is it?

Reply Support Not support

Use magic Report

Carve| Post time 1-24-2018 09:04:32 | Show all posts
Edited by Carve at 1-26-2018 18:43

Step 4: Initial Software Update and Installation

What we need for the next steps should now be installed:

First we update the software sources, get the updates and upgrade the system. We also add the tools we need to build our own packages later. Open a terminal and issue the following commands:

sudo add-apt-repository ppa:kubuntu-ppa/backports
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential

Install Virtual Keyboard

Now we get the tablet ready for tablet mode – it should be fully usable without a keyboard attached. Reason: We don’t want to get stuck, being forced to turn off power as a last resort.

For this we need a virtual keyboard that can be used whenever keyboard input is required. Plasma has already implemented a virtual keyboard for the login / lock screen. Unfortunately this virtual keyboard cannot be used in a session (for reasons I yet don’t understand).

I finally got happy with the “Onboard” keyboard package. You get it thru the Software Center (Discovery) module, just open it and search. This keyboard appears to work very nicely and it should be put on the panel from where you can always launch it. Though the keyboard can be set to start automatically, e.g. when a search field requires input, it won’t do it, also something to fix later.

Step 5: Make the touch screen work (if it doesn't work already)

Now we turn to the touch screen issue. The touch screen is made by Goodix, and, the goodix driver is already part of the Ubuntu kernel, so why doesn’t it work? Some otherChuwi Hi13 owners reported the touch screen was working out of the box. ‘Dmesg’ and ‘xinput’ don’t show the touch screen device. After a lot of reading about the issue and investigating system logs (/var and /proc) here is what I found.

Apparently on newer models the touch screen might have changed. The goodix driver cannot find and bind the touch screen to the “i2c" bus anymore because the device name has changed. There is a solution to fix this, at least until we get a new kernel goodix driver:

Download the goodix driver package “gt9xx” on github ( and extract it. Go to the “gt9xx” directory. Now, edit the “C”-code of the drivers (goodix.c AND goodix.backport.mod.c). Find and replace the string "GDIX1001" with "GDIX1002". Now install the goodix_backport driver:

sudo make install
sudo depmod -a
sudo modprobe –R goodix
sudo modprobe goodix_backport

xinput should now show the “Goodix Capacitive Touch Screen” in the list of devices and the touch screen should already work. Reboot and test whether the driver is loading.

[Only If this doesn’t work you may want to also try this: You have to ensure that the goodix.ko kernel driver will no longer load during system boot by blacklisting it in the in/etc/modprobe.d/blacklist.conf. Also, you can try force loading the goodix_backport driver by putting it in /etc/modules. Now restart the system and check again. Use “modprobe -c | grep goodix” to check which driver is loading.]

Important: Whenever you get a kernel update, this will re-install a new goodix.ko kernel driver. You might need to repeat the steps above. Not a good solution though but still the only interim fix that I know.

Other bad news, there is still one flaw. Once the Chuwi wakes up from stand-by, the touch screen stops working and requires a cold start.

Touch Screen Calibration / Stylus

You might want to calibrate the touch screen e.g. if you use a stylus. I am not sure if this works with Wayland, anyway, just get the tool and run it.

sudo apt-get install xinput-calibrator

Follow the instructions and hit the screen marks precisely. The tool then provides the values and a snippet that should be placed in /etc/X11/xorg.conf.d/99-calibration.conf. Create the directory and file if they don’t exist.

That's it. You should now have a very good basis for testing.
Reply Support Not support

Use magic Report

Carve| Post time 1-24-2018 09:08:30 | Show all posts
Edited by Carve at 2-2-2018 10:12

Step 6: Improvements - Dock and Gestures

Before you start customizing the KDE/Plasma desktop I recommend that you read this short overview:

First thing I did was moving the panel from bottom to the top. I placed the tool box, clock and virtual keyboard there which makes it already look like Android. What’s now missing is a dock.

Installing  a dock

Skip this if you don’t want Latte dock or no dock at all.

I was looking around for a nice dock and found this one: Latte Dock. You might find it in the package manager (Muon). If this works for you please skip the following installation instructions!

The lastest version resides on Githiub:

sudo apt install cmake extra-cmake-modules qtdeclarative5-dev libqt5x11extras5-dev libkf5iconthemes-dev libkf5plasma-dev libkf5windowsystem-dev libkf5declarative-dev libkf5xmlgui-dev libkf5activities-dev libxcb-util-dev libkf5wayland-dev git gettext libkf5archive-dev libkf5notifications-dev libxcb-util0-dev libsm-dev libkf5crash-dev libkf5newstuff-dev

Now we should be all set to install the package:

cd Latte-Dock

[If any errors occur during the installation process, try to find the package name that’s missing and install it with apt-get install. Once I installed the entire KDE Framework.]

Install Gestures (Swipe…)

Plasma/Wayland uses libinput and there is a package for gestures that we want to use [- Source:]

Add gestures touch support:

sudo apt-get install libinput-tools
cd libinput-gestures
sudo make install

The Chrome web browser has very good support for gestures, try it out.

Reply Support Not support

Use magic Report

Carve| Post time 1-24-2018 09:18:59 | Show all posts
Edited by Carve at 1-26-2018 11:01

Here's what we got so far

System:   Host: Tablet Kernel: 4.13.0-31-generic x86_64 bits: 64 gcc: 7.2.0
          Desktop: KDE Plasma 5.11.5 (Qt 5.9.1) Distro: Ubuntu 17.10

Machine:  Device: desktop System: Chuwi product: Hi13 v: Reserved serial: N/A
          Mobo: Hampoo model: I2W6_AP135 v: Hampoo Reserved serial: N/A
          UEFI: American Megatrends v: I2W6_AP135.041 date: 08/21/2017

Battery   BAT0: charge: 37.0 Wh 99.9% condition: 37.0/37.0 Wh (100%)                     
          model: Intel SR 1 SR Real status: Discharging

CPU:      Quad core Intel Celeron N3450 (-MCP-) arch: N/A cache: 1024 KB
          flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 8755
          clock speeds: max: 2200 MHz 1: 1094 MHz 2: 1094 MHz 3: 1094 MHz 4: 1094 MHz

Graphics: Card: Intel Device 5a85 bus-ID: 00:02.0
          Display Server: x11 (X.Org 1.19.5 ) drivers: modesetting (unloaded: fbdev,vesa)

          Resolution: 3000x2000 at 59.99hz
          OpenGL: renderer: Mesa DRI Intel HD Graphics 500 (Broxton 2x6)
          version: 4.5 Mesa 17.2.4 Direct Render: Yes

Audio:    Card Intel Celeron N3350/Pentium N4200/Atom E3900 Series Audio Cluster

          driver: snd_hda_intel bus-ID: 00:0e.0
          Sound: Advanced Linux Sound Architecture v: k4.13.0-31-generic

Network:  Card: Intel Wireless 3165 driver: iwlwifi bus-ID: 01:00.0                  
          IF: wlp1s0 state: up mac: <filter>

Drives:   HDD Total Size: NA (-)
          ID-1: /dev/mmcblk0 model: N/A size: 64.0GB
          ID-2: /dev/mmcblk1 model: N/A size: 62.5GB

Partition: ID-1: / size: 57G used: 9.5G (18%) fs: ext4 dev: /dev/mmcblk1p2
Sensors:  System Temperatures: cpu: 32.0C mobo: N/A
          Fan Speeds (in rpm): cpu: N/A

Info:     Processes: 185 Uptime: 11:47 Memory: 760.5/3761.4MB Init: systemd runlevel: 5 Gcc sys: 7.2.0
          Client: Shell (bash 4.4.121) inxi: 2.3.37

Plasma with Breeze - Oxygen and Latte Dock

Plasma with Breeze - Oxygen and Latte Dock
Reply Support Not support

Use magic Report

MemberChuwi| Post time 1-24-2018 10:44:45 | Show all posts
Wow!           ;)
Reply Support Not support

Use magic Report

emily| Post time 1-24-2018 19:28:42 | Show all posts
Carve replied at 1-24-2018 09:18
Here I wil ...

thank you, it is very helpful
Reply Support Not support

Use magic Report

Carve| Post time 1-26-2018 01:29:19 | Show all posts
Edited by Carve at 1-26-2018 16:03

Update on the virtual keyboards

There are a couple of virtual keyboards of which I tried Florence and Onboard. Though these keyboards can be set to auto hide and auto show, it doesn't t work in my current setup because there is no process that tells them we are in tablet mode or that there is a text field open or any other event that could trigger the keybord to come up. I am sure this can / will be fixed soon but it requires quite some time to figure out and I am not very familiar with X11 and Wayland and libinput.

The intergrated virtual keyboard showing on login screen is the qt5-qtvirtualkeyboard. This one could also be used in a session but would only work with qt applications.

For now I will stay with Onboard, Florence is also very well designed.
Reply Support Not support

Use magic Report

Carve| Post time 1-26-2018 01:46:04 | Show all posts
Update on the camera

The camera is a Onvision 5468, there is no Linux driver and I am afraid this will not change as there aren"t many devices out there that justify the development of a driver.

So no camera!
Reply Support Not support

Use magic Report

Carve| Post time 1-26-2018 01:54:04 | Show all posts
Edited by Carve at 1-26-2018 15:23

Update Stand-By Issues

It looks like there is a bug in the i2c bus / driver. The i2c bus does not wake up from stand-by causing the touch screen to remain sleeping. That's also the reason why it requires a cold start to fix this.
However, this bug has been fixed just recently and I will check this again when the Linux kernel update to 4.14. becomes available.

This is still a must-have for me.

Reply Support Not support

Use magic Report

You have to log in before you can reply Login | Register

Points Rules

Return to list
Quick Reply To Top Return to the list