• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

Chuwi Hi10 Air Linux Installation Guide

Search This thread

Myself5

Recognized Developer
Mar 17, 2011
3,419
9,789
23
myself5.de
Sony Xperia Z3 Compact
Sony Xperia Z3v
Disclaimer: I got this device from the Manufacturer to test Linux on it. The below findings are my own and express my own opinion.

Specs and short review:

  • Intel Atom x5-Z8350 CPU (4x1,92 GHz)
  • Intel Integrated GPU
  • 1920x1200 10.1" IPS Screen
  • 4GB RAM
  • 64GB Internal Storage
  • 1 x USB C
  • 1 x USB Micro B
  • 1 x Mini HDMI
  • Bluetooth 4.2
  • 2.4GHz WiFi
  • Rotation Sensor
  • Front and Back Camera
  • Mico SD Card slot up to 400GB (Website claims 64GB but I sucessfully tested it with an 128GB Card that uses the SDXC Standard)
  • Headphone Jack
  • Stereo Speakers
  • Keyboard Dock Support
  • Touchpen support

The Chuwi Hi10 Air is a compact 10.1" Tablet running a Windows 10. It has a sturdy Aluminium Body and the overall build quality is astonishing.

The speakers are surprisingly good for a tablet in that price segment. Paired with Bluetooth, a headphone jack and the 1920x1200 WUXGA display it's perfect for all kind of Media Playback. The battery is powerful enough to easily survive a few Movies. The optional detachable keyboard is a welcome addition for when you need to write some text.

The keyboard is nice to type on, but I had cases where it would send keys out of nowhere. I can't guarantee that's not caused by the few drops of water I accidentally spilled on the connection to the tablet at some point. I'm not a big fan of the trackpad, mainly because it's way to small to be usable for me but that might be because I am used to the trackpad on my 15" MacBook Pro.

The Touchpen is very accurate thanks to the digitizer, however the touchscreen does not send different signals for Pen and Finger to the System. That means trying to take notes while resting your hand on the screen doesn't really work.

Sadly, the full Windows 10 install user experience is really impacted by the entry level Intel Atom Z8350. It's just not powerful enough to accomplish any advanced tasks.

However, Chuwi sent me the device to bring linux to it, so that's what I did. This allows us to use lighter Window Managers and therefore more resources for actual tasks, resulting in a better performance.


Install Linux
First of all you need to install Linux on the tablet. That means you will erase your internal Windows installation, so make sure to either do a backup of it, or at least make yourself familiar with how to reinstall Windows in case it's needed.

Please note that you can NOT install Linux on an SDCard because the BIOS can not boot from the SDCard.

Backup
You can find the Hi10 Air Windows drivers here:
https://forum.chuwi.com/forum.php?mod=viewthread&tid=6861
And a guide here (applies for the Hi10 Air too):
https://forum.chuwi.com/forum.php?mod=viewthread&tid=15&page=7#pid29091
https://forum.chuwi.com/thread-15-1-1.html

Install
Next up, it's time to choose your Linux distro.
I recommend anything that is based on Arch Linux and that uses either LightDM or lxdm, because that is what my guide will be using to setup certain features. Of cause you're free to choosewhatever you want.

That means you could for example use Antergos, an ArchLinux based distro that includes Desktop managers (for Antergos I recommend XFCE), or go the hard way and install ArchLinux from scratch and use lxdm with LXQt. LXQt proved to me to be the best lightweight and yet High-DPI friendly Desktop Environment, so that's what I used.

I trust you will be able to find the guides on how to install either with a quick Google search, so I will not go much further into detail here.
To get into the boot menu, you need to press F7.

After your installation is done most things are already working.

Fixing Remaining Issues
Out of the box, there are a few issues and things that do not work because they are missing drivers or similar.

Automatic Rotation
We're getting started with the most important which is rotation.

As you'll need to enter a couple commands to get automatic rotation working, start off with manually rotating the screen by opening a terminal and run the command
Code:
xrandr -o left
Note: xrandr is part of xorg-xrandr, and you will need that package for autoration to work.

There are a couple solution on how to rotate the screen out there, however I decided to go for the one with least overhead that looked the cleanest to me.

First of all, compile the 2in1screen binary. The sourcecode can be found on my GitHub. Download, compile it and push it to /usr/local/bin.

Note: Make sure to install xorg-xrandr and xorg-xinput for this tool to work.

Code:
wget https://raw.githubusercontent.com/Myself5/Chuwi_Hi10_Air_Linux/master/2in1screen.c
gcc -O2 -o 2in1screen 2in1screen.c
sudo mv 2in1screen /usr/local/bin/
sudo chmod +x /usr/local/bin/2in1screen

Now configure the Desktop Manager to start it after login.

LXDE: add
Code:
/usr/local/bin/2in1screen &
to
Code:
/etc/lxdm/PostLogin

LightDM: Place the screenrotate.sh in /etc/lightdm/screenrotate.sh and set
Code:
display-setup-script
in
Code:
/etc/lightdm/lightdm.conf
to
Code:
display-setup-script /etc/lightdm/screenrotate.sh

screenrotate.sh
Code:
#!/bin/bash
pkill -9 2in1screen
/usr/bin/2in1screen &

Reboot and make sure everything works as desired.

Touchscreen
The Hi10 Airs Silead touchscreen requires drivers that are not bundled with a Linux install. You can download them here: https://github.com/onitake/gsl-firmware/tree/master/firmware/linux
See the Readme on how to install them.

These drivers get loaded by the Linux kernel. I submitted a commit to add support for the Hi10 Air to the Linux Kernel and it has been approved. The commit is merged in the 5.1 (and newer) Kernel. That means you need to update your kernel for a proper touch support.

If you previously used my Kernel you can go back to the official kernel by running:
Code:
sudo pacman -R linux-chewbacca linux-chewbacca-headers
sudo pacman -Syu linux linux-headers
sudo grub-mkconfig -o /boot/grub/grub.cfg

Now reboot and enjoy your touchscreen.

Audio
If your Audio isn't working, make sure to update the alsa-lib to Version 1.1.7 or above. On Arch that package is in the stable repos so a
Code:
sudo pacman -Syu
will be enough.

Bluetooth
Install blueman and follow the firmware instructions mentioned here:
https://github.com/lwfinger/rtl8723bs_bt/issues/28#issuecomment-432806835

Which means you need to clone https://github.com/lwfinger/rtl8723bs_bt
and run
Code:
sudo cp rtlbt_fw /usr/lib/firmware/rtl_bt/rtl8723bs_fw.bin
sudo cp rtlbt_config /usr/lib/firmware/rtl_bt/rtl8723bs_config.bin
cd /usr/lib/firmware/rtl_bt
sudo ln -s rtl8723bs_config.bin rtl8723bs_config-OBDA8723.bin

General UI
Now, you probably already noticed, everything is a bit small to use your Fingers.

As a browser I recommend Google Chrome as that has a great touchscreen UI already.

For File browsing and reading I suggest using nautilus and evince because of their touch friendlyness.

System DPI
For the whole system, there is a few things you can improve:
First of all, increase the general DPI.
You can do so by adding
Code:
Xft.dpi: 150
to
Code:
~/.Xresources
. If the file doesn't exist, create it.

LXQt Tweaks
Next up a few additional tweaks for LXQt:
First of all increase the Panel bar
Rightclick on the Panel and Press "Configure Panel". Then set the Size to 50px and the Icon Size to 30px.

Next up, Go to the Menu -> Preferences -> LXQt settings -> Appearance -> Font and set the DPI to 96
and finally go to Menu -> Preferences -> LXQt settings -> OpenBox Settings -> Font and increase the individual fonts to get a window title bar to drag/drop as well as hit the navigation with the finger. I set mine to Cantarell 16 and Cantarell 14.

Install OnBoard
Another Handy feature I found myself in need of was an onscreen keyboard. For that I installed OnBoard, and found a very neat feature here: https://bugs.launchpad.net/onboard/+bug/1232107

You can map a button to open/close the keyboard.
I set mine to Super L, which equals the left Windows button and the touch button on the tablet itself.

In the LXQt Settings Menu you can configure Shortcut Keys.
Create or edit the existing shortcut and either map the following DBus Call.

DBus Call:
Service:
Code:
org.onboard.Onboard
Path:
Code:
/org/onboard/Onboard/Keyboard
Interface:
Code:
org.onboard.Onboard.Keyboard
Method:
Code:
ToggleVisible

If your Desktop environment doesn't support DBus calls, use the following command:
Code:
dbus-send --type=method_call --dest=org.onboard.Onboard /org/onboard/Onboard/Keyboard org.onboard.Onboard.Keyboard.ToggleVisible
 
Last edited:

simonsmh

Senior Member
Dec 14, 2015
297
547
I got a Chinese manufactured pad-like device which is supported by the Linux mainline kernel and works pretty well except for the ****ty wifi chipset from Broadcom. That device has z8300 Soc and runs pretty well. I really like the On-The-Go device design as it is easy to carry around. Thanks for sharing!
 
  • Like
Reactions: Kuato

Myself5

Recognized Developer
Mar 17, 2011
3,419
9,789
23
myself5.de
Sony Xperia Z3 Compact
Sony Xperia Z3v
Does this do a total partition wipe? Can you install to the Android partition and keep windows?

The Hi10 Air is Windows only, there's no Android on it.

You could, however, resize the Windows Partition and install Linux alongside it. Generic Tutorials that float around the internet apply just fine here.

For Tablets that have Android and Windows like the Hi10 Plus, I don't quite know how the Android system is setup there. As far as I know you can remove Android entirely though, then you can just follow the procedure to resize Windows and Install Linux alongside.
 
  • Like
Reactions: Droid_Nut and Kuato

Droid_Nut

Senior Member
Feb 19, 2015
609
115
OnePlus 7T
The Hi10 Air is Windows only, there's no Android on it.

You could, however, resize the Windows Partition and install Linux alongside it. Generic Tutorials that float around the internet apply just fine here.

For Tablets that have Android and Windows like the Hi10 Plus, I don't quite know how the Android system is setup there. As far as I know you can remove Android entirely though, then you can just follow the procedure to resize Windows and Install Linux alongside.

Okay, I have the Chuwi hi10, dual boot Android and Windows 10. I will have to run live CD and run Gparted and take a look at the Partition Structure. I suppose I will be doing a total backup with Clonezilla before I do anything.
 
  • Like
Reactions: silv3rfox

Myself5

Recognized Developer
Mar 17, 2011
3,419
9,789
23
myself5.de
Sony Xperia Z3 Compact
Sony Xperia Z3v
Okay, I have the Chuwi hi10, dual boot Android and Windows 10. I will have to run live CD and run Gparted and take a look at the Partition Structure. I suppose I will be doing a total backup with Clonezilla before I do anything.

That sounds like a good plan. Clonezilla backup is what I went for too.

@Myself5 How's the battery life? And I guess, technically it's possible to install Android-x86 on it right?

Battery life is great, i'd say better than Windows. Can't give you any numbers though because I didn't really pay attention to it yet.

Android-x86 is technically possible and with the Linux drivers even easier but I havn't looked into that yet.
 
Last edited:
  • Like
Reactions: silv3rfox

Mr. Joop

Member
Mar 18, 2009
12
0
Hey guys happy to see there is interest in this tablet. I do got the dualboot version too.
To install Android i found this:

jonathansblog. co.uk/ factory- restore- android- on- chuwi- hi10

After i personally Installed remix OS
konstakang.com /devices /chuwi_vi10plus /RemixOS/

When I installed Ubuntu, just Ubuntu Started, Android stuck, i found a solution here:

github.com /floe /tuxblet
 

Mr. Joop

Member
Mar 18, 2009
12
0
I Just cant figure out this one:

Unfortunately, this still causes the Android install to hang on boot after Linux has been installed. I was assuming, for a very long time, that this is also an EFI-related problem. However, after multiple factory resets (see https://forum.chuwi.com/thread-2341-1-1.html and https://01.org/node/2463 for instructions), I finally found out that the problem is related to the very eager Ubuntu automounter, which grabs any ext4 filesystem it can find and mounts it read-write.

Of course, this shouldn't be a problem in theory, but this also happens for the Android system/data/etc. partitions, and whatever Ubuntu does to the ext4 FS when it's mounted, causes Android to croak. This means that even just booting a Ubuntu Live System from USB one single time will likely render the Android installation unbootable.

I've finally managed to fix this by setting the respective UUIDs to noauto in /etc/fstab as follows:

# do _not_ automount the Android partitions
UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b /none ext4 ro,noauto 0 0
UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b1 /none ext4 ro,noauto 0 0
UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b2 /none ext4 ro,noauto 0 0
UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b3 /none ext4 ro,noauto 0 0
If you look closely, you will notice that entries 2-4 are not actually proper UUIDs, they have an additional digit from 1-3 at the very end. The reason for this is that all the Android partitions (system, cache, data, config) have the same UUID and show up with the extra digit when the automounter grabs them. I'm not sure if this UUID duplication might actually be the root cause...

Unfortunately he does not explain how to no auto mount this partitions without a live CD and / or it is going to work even if Ubuntu installed is.
 

nikmag

Member
Mar 26, 2009
30
0
Thanks for your reply. I had 5.09 and I installed 5.1 but no touchscreen activation. I had to return to 5.09. Any update for Bluetooth drivers? I installed them manual, it seems to be active but cannot see any Bluetooth device . Also the problem with the bios or boot screen is always in vertical position and not touchscreen or other way to select OS. I use windows 10 and Mint 19.1 Thanks again.
 

Myself5

Recognized Developer
Mar 17, 2011
3,419
9,789
23
myself5.de
Sony Xperia Z3 Compact
Sony Xperia Z3v
Thanks for your reply. I had 5.09 and I installed 5.1 but no touchscreen activation. I had to return to 5.09. Any update for Bluetooth drivers? I installed them manual, it seems to be active but cannot see any Bluetooth device . Also the problem with the bios or boot screen is always in vertical position and not touchscreen or other way to select OS. I use windows 10 and Mint 19.1 Thanks again.

So it does work with my 5.09 kernel though, right? Otherwise you'd have forgotten to install the touch drivers (see the OP on how to do that).

Bluetooth works flawless for me on Arch. Maybe Mint has some other packages that don't fully work with the chip yet?

As for Grub: there's nothing we can do about that. As it currently stands grub has no support for touchscreens or screen rotation. You could try different UEFIs (rEFInd comes to mind here) but other than that it's not possible. I thought about possibly mapping the volume buttons to up/down for selection, but that would still leave us without an enter key.

Although, now that I think about it again: it might be possible to register the windows touchkey as "enter". I guess I'll take a look into that
 

nikmag

Member
Mar 26, 2009
30
0
Actually I did not use your 5.09 kernel. I had already done a successful procedure with different kernels before reading your post. Yes probably is Mint issue. I need to find some time to install Arch. If you manage to do something with buttons it will be wonderful. I boot to Mint and then with a command a switch to win10. Are you pleased with the active pen? I really thank you for your support. I would also like to help if I can.
 

Myself5

Recognized Developer
Mar 17, 2011
3,419
9,789
23
myself5.de
Sony Xperia Z3 Compact
Sony Xperia Z3v
Actually I did not use your 5.09 kernel. I had already done a successful procedure with different kernels before reading your post. Yes probably is Mint issue. I need to find some time to install Arch. If you manage to do something with buttons it will be wonderful. I boot to Mint and then with a command a switch to win10. Are you pleased with the active pen? I really thank you for your support. I would also like to help if I can.

According to a quick Google search custom keymapping for grub seems to be harder than expected. rEFInd seems to have touch support for some tablets though. I might look into that instead.

The "active Pen" on Windows is useless because it's not "active". It does get prefered over your hand, but the Hi10 Air doesn't have proper pen support. So the 256 pressure level touchpen they sell you is effectively as good as your finger. There is no pressure sensitivity support. On Linux this get's even worse because the pen is apparently using a different kind of calibration, so if you use it it's horribly offset. I was looking to use it for Notes during lectures, which is impossible to do. Even on Windows it's just not working. I've been in contact with my contact at Chuwi (who also sent me the device) and he just kept on talking around the topic. He never officially claimed the Pen would be supported but also never denied it. All he did was keep on sending me different touch drivers to "make the pen work" (although the definition of the term "work" can mean everything here).

TL;DR: Not pleased AT ALL.

P.S: I just updated the OP. the 5.1 kernel is released and works flawless on my Hi10 Air.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 18
    Disclaimer: I got this device from the Manufacturer to test Linux on it. The below findings are my own and express my own opinion.

    Specs and short review:

    • Intel Atom x5-Z8350 CPU (4x1,92 GHz)
    • Intel Integrated GPU
    • 1920x1200 10.1" IPS Screen
    • 4GB RAM
    • 64GB Internal Storage
    • 1 x USB C
    • 1 x USB Micro B
    • 1 x Mini HDMI
    • Bluetooth 4.2
    • 2.4GHz WiFi
    • Rotation Sensor
    • Front and Back Camera
    • Mico SD Card slot up to 400GB (Website claims 64GB but I sucessfully tested it with an 128GB Card that uses the SDXC Standard)
    • Headphone Jack
    • Stereo Speakers
    • Keyboard Dock Support
    • Touchpen support

    The Chuwi Hi10 Air is a compact 10.1" Tablet running a Windows 10. It has a sturdy Aluminium Body and the overall build quality is astonishing.

    The speakers are surprisingly good for a tablet in that price segment. Paired with Bluetooth, a headphone jack and the 1920x1200 WUXGA display it's perfect for all kind of Media Playback. The battery is powerful enough to easily survive a few Movies. The optional detachable keyboard is a welcome addition for when you need to write some text.

    The keyboard is nice to type on, but I had cases where it would send keys out of nowhere. I can't guarantee that's not caused by the few drops of water I accidentally spilled on the connection to the tablet at some point. I'm not a big fan of the trackpad, mainly because it's way to small to be usable for me but that might be because I am used to the trackpad on my 15" MacBook Pro.

    The Touchpen is very accurate thanks to the digitizer, however the touchscreen does not send different signals for Pen and Finger to the System. That means trying to take notes while resting your hand on the screen doesn't really work.

    Sadly, the full Windows 10 install user experience is really impacted by the entry level Intel Atom Z8350. It's just not powerful enough to accomplish any advanced tasks.

    However, Chuwi sent me the device to bring linux to it, so that's what I did. This allows us to use lighter Window Managers and therefore more resources for actual tasks, resulting in a better performance.


    Install Linux
    First of all you need to install Linux on the tablet. That means you will erase your internal Windows installation, so make sure to either do a backup of it, or at least make yourself familiar with how to reinstall Windows in case it's needed.

    Please note that you can NOT install Linux on an SDCard because the BIOS can not boot from the SDCard.

    Backup
    You can find the Hi10 Air Windows drivers here:
    https://forum.chuwi.com/forum.php?mod=viewthread&tid=6861
    And a guide here (applies for the Hi10 Air too):
    https://forum.chuwi.com/forum.php?mod=viewthread&tid=15&page=7#pid29091
    https://forum.chuwi.com/thread-15-1-1.html

    Install
    Next up, it's time to choose your Linux distro.
    I recommend anything that is based on Arch Linux and that uses either LightDM or lxdm, because that is what my guide will be using to setup certain features. Of cause you're free to choosewhatever you want.

    That means you could for example use Antergos, an ArchLinux based distro that includes Desktop managers (for Antergos I recommend XFCE), or go the hard way and install ArchLinux from scratch and use lxdm with LXQt. LXQt proved to me to be the best lightweight and yet High-DPI friendly Desktop Environment, so that's what I used.

    I trust you will be able to find the guides on how to install either with a quick Google search, so I will not go much further into detail here.
    To get into the boot menu, you need to press F7.

    After your installation is done most things are already working.

    Fixing Remaining Issues
    Out of the box, there are a few issues and things that do not work because they are missing drivers or similar.

    Automatic Rotation
    We're getting started with the most important which is rotation.

    As you'll need to enter a couple commands to get automatic rotation working, start off with manually rotating the screen by opening a terminal and run the command
    Code:
    xrandr -o left
    Note: xrandr is part of xorg-xrandr, and you will need that package for autoration to work.

    There are a couple solution on how to rotate the screen out there, however I decided to go for the one with least overhead that looked the cleanest to me.

    First of all, compile the 2in1screen binary. The sourcecode can be found on my GitHub. Download, compile it and push it to /usr/local/bin.

    Note: Make sure to install xorg-xrandr and xorg-xinput for this tool to work.

    Code:
    wget https://raw.githubusercontent.com/Myself5/Chuwi_Hi10_Air_Linux/master/2in1screen.c
    gcc -O2 -o 2in1screen 2in1screen.c
    sudo mv 2in1screen /usr/local/bin/
    sudo chmod +x /usr/local/bin/2in1screen

    Now configure the Desktop Manager to start it after login.

    LXDE: add
    Code:
    /usr/local/bin/2in1screen &
    to
    Code:
    /etc/lxdm/PostLogin

    LightDM: Place the screenrotate.sh in /etc/lightdm/screenrotate.sh and set
    Code:
    display-setup-script
    in
    Code:
    /etc/lightdm/lightdm.conf
    to
    Code:
    display-setup-script /etc/lightdm/screenrotate.sh

    screenrotate.sh
    Code:
    #!/bin/bash
    pkill -9 2in1screen
    /usr/bin/2in1screen &

    Reboot and make sure everything works as desired.

    Touchscreen
    The Hi10 Airs Silead touchscreen requires drivers that are not bundled with a Linux install. You can download them here: https://github.com/onitake/gsl-firmware/tree/master/firmware/linux
    See the Readme on how to install them.

    These drivers get loaded by the Linux kernel. I submitted a commit to add support for the Hi10 Air to the Linux Kernel and it has been approved. The commit is merged in the 5.1 (and newer) Kernel. That means you need to update your kernel for a proper touch support.

    If you previously used my Kernel you can go back to the official kernel by running:
    Code:
    sudo pacman -R linux-chewbacca linux-chewbacca-headers
    sudo pacman -Syu linux linux-headers
    sudo grub-mkconfig -o /boot/grub/grub.cfg

    Now reboot and enjoy your touchscreen.

    Audio
    If your Audio isn't working, make sure to update the alsa-lib to Version 1.1.7 or above. On Arch that package is in the stable repos so a
    Code:
    sudo pacman -Syu
    will be enough.

    Bluetooth
    Install blueman and follow the firmware instructions mentioned here:
    https://github.com/lwfinger/rtl8723bs_bt/issues/28#issuecomment-432806835

    Which means you need to clone https://github.com/lwfinger/rtl8723bs_bt
    and run
    Code:
    sudo cp rtlbt_fw /usr/lib/firmware/rtl_bt/rtl8723bs_fw.bin
    sudo cp rtlbt_config /usr/lib/firmware/rtl_bt/rtl8723bs_config.bin
    cd /usr/lib/firmware/rtl_bt
    sudo ln -s rtl8723bs_config.bin rtl8723bs_config-OBDA8723.bin

    General UI
    Now, you probably already noticed, everything is a bit small to use your Fingers.

    As a browser I recommend Google Chrome as that has a great touchscreen UI already.

    For File browsing and reading I suggest using nautilus and evince because of their touch friendlyness.

    System DPI
    For the whole system, there is a few things you can improve:
    First of all, increase the general DPI.
    You can do so by adding
    Code:
    Xft.dpi: 150
    to
    Code:
    ~/.Xresources
    . If the file doesn't exist, create it.

    LXQt Tweaks
    Next up a few additional tweaks for LXQt:
    First of all increase the Panel bar
    Rightclick on the Panel and Press "Configure Panel". Then set the Size to 50px and the Icon Size to 30px.

    Next up, Go to the Menu -> Preferences -> LXQt settings -> Appearance -> Font and set the DPI to 96
    and finally go to Menu -> Preferences -> LXQt settings -> OpenBox Settings -> Font and increase the individual fonts to get a window title bar to drag/drop as well as hit the navigation with the finger. I set mine to Cantarell 16 and Cantarell 14.

    Install OnBoard
    Another Handy feature I found myself in need of was an onscreen keyboard. For that I installed OnBoard, and found a very neat feature here: https://bugs.launchpad.net/onboard/+bug/1232107

    You can map a button to open/close the keyboard.
    I set mine to Super L, which equals the left Windows button and the touch button on the tablet itself.

    In the LXQt Settings Menu you can configure Shortcut Keys.
    Create or edit the existing shortcut and either map the following DBus Call.

    DBus Call:
    Service:
    Code:
    org.onboard.Onboard
    Path:
    Code:
    /org/onboard/Onboard/Keyboard
    Interface:
    Code:
    org.onboard.Onboard.Keyboard
    Method:
    Code:
    ToggleVisible

    If your Desktop environment doesn't support DBus calls, use the following command:
    Code:
    dbus-send --type=method_call --dest=org.onboard.Onboard /org/onboard/Onboard/Keyboard org.onboard.Onboard.Keyboard.ToggleVisible
    3
    Hardware mod to make Chuwi faster

    I have experience with these chinese thin and light laptops. They usually skip out on heat sinks. I suspected the same case here and it is definitely true. As it turns out, there is a small thermal pad on the processor which is stuck on to a laminated steel shield that works as a heat sink.:eek::eek::eek: I decided to do something about it. I added a heatsink and the results are nothing short of mind boggling.

    First step is to open up the four screws on the four corners of tablet. We use a T5 screw driver for it.
    IMG_20190717_155259.jpg
    After that, we need to pry open the back aluminium panel and separate it from the front panel. I have marked locations where you can insert your tool without any worries. Other places have some component which might get damaged in the process. Please note that this view is of the back side of the tablet and if you have the screen side facing up, the locations will be mirrored.
    IMG_20190717_154400.jpg
    It is a good idea to detach the battery first before we do any sort of mods to our tablet. Here is the battery connection which you need to unplug first. Here it is in the unplugged position
    IMG_20190717_154456.jpg
    Then we pry out the steel shield with a screw driver. Look at the position where it is safe to pry from this image. The white border is the outline of where the steel shield is. Please note that the new heat sink is already attached in this image.
    IMG_20190717_154520.jpg
    The steel shield is pretty much useless for heat dissipation. It more or less protects the heat from escaping into the aluminium body of the tablet. Here is an image of how the shield looks like from both sides.
    IMG_20190717_153950.jpg
    IMG_20190717_153956.jpg
    You can see that it is pretty much useless with laminated back which is a heat insulator and thermal pads which are not efficient in heat conduction at all. We have to replace it with the heat sink of our choice.

    You have aluminium and copper plates that are precut to the size of the processor that we can use. You can find them on online stores. I had an aluminium heat sink at home from another DIY project. So, I took that and chopped down the fins. This is time consuming and I suggest that you prefer buying a copper plate of 20mmx20mm instead. Anyways, this is what I did.
    IMG_20190717_154144.jpg
    I took that aluminium heat sink and chopped the fins off of it. I glued it on to the processor using thermal glue.
    IMG_20190717_153935.jpg
    It is important to use Thermal plaster because you don't have any mounting holes and there is slight risk that the heatsink will move around and short the connections. I applied the thermal paste onto the heat sink, stuck the heatsink on the processor and let it dry for 30 minutes.
    IMG_20190717_153427.jpg
    It adds enough thickness to the processor that now the processor can come in contact with the aluminium body. So, apply thermal paste on top of the heat sink as well and then put the back panel on. Don't forget to connect the battery wire before putting the panel on.

    After that, boot up your laptop and you can instantly see the difference. Earlier, the atom would thermal throttle with 15 seconds of usage and the speed would decrease considerably. it was laggy as hell. Now, I don't see any thermal throttling at all. It is responsive from the get go. I can watch full HD youtube videos without a lot of framedrops. The only caveat, the backside gets warm and with a full load on CPU for extended periods of time, it gets hot to around 50c. But performance is so good that I use it as daily driver to browse the web. Don't expect i3 levels of performance though.
    2
    Thank you @Myself5 for the guide and all the other people here that posted tips and codes.
    I usually run Ubuntu but since on Arch Linux most things were working out of the box, I installed Manjaro on my new Chuwi Hi10 Air.

    In my case, of the touchscreen, xinput_calibrator was not working on Manjaro or on Ubuntu. I manually calibrated the touchscreen with the evdev driver.

    So, I just created the config file
    Code:
    sudo nano /usr/share/X11/xorg.conf.d/99-calibration.conf
    Contents of 99-calibration.conf:
    Code:
    Section "InputClass"
    	Identifier	"touchscreen"
    	MatchProduct	"silead_ts"
    	Driver	"evdev"
    	Option	"Calibration"	"5 1265 80 1960"
    	Option	"SwapAxes"	"1"
    EndSection

    As @Myself5 said, our kernel has to be 5.1 or better.
    Code:
    $ uname -r
    5.3.12-1-MANJARO
    On Ubuntu you can install/unistall/manage kernels easily using the ukuu app.

    You will also need to download the touchscreen driver files, as described on the previous posts:
    Code:
    sudo mkdir /lib/firmware/silead/
    sudo wget -O /lib/firmware/silead/gsl1680-chuwi-hi10-air.fw https://github.com/onitake/gsl-firmware/blob/master/firmware/linux/silead/gsl1680-chuwi-hi10-air.fw
    sudo cp /lib/firmware/silead/gsl1680-chuwi-hi10-air.fw /lib/firmware/silead/mssl1680.fw

    Then reboot and check that the touchscreen is listed on your devices, as "silead_ts"
    Code:
    $ xinput
    ⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
    ⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
    ⎜   ↳ silead_ts                               	id=10	[slave  pointer  (2)]
    ⎜   ↳ HS-C109S-US-01-00- USB Keyboard Mouse   	id=14	[slave  pointer  (2)]
    ⎜   ↳ HS-C109S-US-01-00- USB Keyboard Consumer Control	id=15	[slave  pointer  (2)]
    ⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
        ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
        ↳ HS-C109S-US-01-00- USB Keyboard System Control	id=13	[slave  keyboard (3)]
        ↳ Power Button                            	id=6	[slave  keyboard (3)]
        ↳ bytcr-rt5651 Headset                    	id=9	[slave  keyboard (3)]
        ↳ Video Bus                               	id=7	[slave  keyboard (3)]
        ↳ HS-C109S-US-01-00- USB Keyboard Wireless Radio Control	id=17	[slave  keyboard (3)]
        ↳ HS-C109S-US-01-00- USB Keyboard Consumer Control	id=16	[slave  keyboard (3)]
        ↳ HS-C109S-US-01-00- USB Keyboard         	id=18	[slave  keyboard (3)]
        ↳ gpio-keys                               	id=11	[slave  keyboard (3)]
        ↳ Power Button                            	id=8	[slave  keyboard (3)]
        ↳ gpio-keys                               	id=12	[slave  keyboard (3)]

    Some more things...

    Gnome has a built in on board keyboard (since Gnome 3.28) that fires automatically when you click an input or if you swipe up from the bottom of the screen.

    Set frame buffer rotation (while boot and on CTRL+ALT+F<number>) on grub, by adding on the kernel parameters
    Code:
    video=efifb fbcon=rotate:1
    You can easily do that by installing the Grub Customizer and visiting the "General settings" tab, and adding the parameters under the kernel parameters.

    Rotating the login screen, configure you desktop screen and then copy your configuration to the login screen
    Code:
    sudo cp ~/.config/monitors.xml /var/lib/gdm/.config/monitors.xml

    Commands to change on demand screen scale and orientation:
    Code:
    # DSI1 is my screen name, you can find your by running `xrandr`
    # Rotate to portrait mode
    xrandr --output DSI1 --rotate "normal"
    # Rotate to landscale
    xrandr --output DSI1 --rotate "right"
    # Scale screen
    xrandr --output DSI1 --scale 1.25x1.25

    Script to toggle screen rotation
    Code:
    #!/bin/sh
    
    # Get output
    info=`xrandr`
    expr='m/([a-zA-Z0-9_-]+) connected primary \d+x\d+\+\d+\+\d+ ([a-z]+|)/'
    
    # Get screen name
    match=${expr}';print $1;'
    display=`echo $info | perl -lne "$match"`
    
    # Get orientation
    match=${expr}';print $2;'
    orientation=`echo $info | perl -lne "$match"`
    
    #echo $display
    #echo $orientation
    
    # Toggle
    if [ "$orientation" = "right" ]; then 
    	xrandr --output "$display" --rotate "normal"
    else
    	xrandr --output "$display" --rotate "right"
    fi;
    # You can also change the scale by removing the # on the next line
    #xrandr --output "$display" --scale 1.25x1.25
    You can add a button to your GNOME top bar to call this script by installing the extension
    https://extensions.gnome.org/extension/1154/top-bar-script-executor/
    I created a "Toggle screen orientation" button y saving the script under `~/.scripts/orientation.sh` with the icon `object-rotate-left`
    2
    Does this do a total partition wipe? Can you install to the Android partition and keep windows?

    The Hi10 Air is Windows only, there's no Android on it.

    You could, however, resize the Windows Partition and install Linux alongside it. Generic Tutorials that float around the internet apply just fine here.

    For Tablets that have Android and Windows like the Hi10 Plus, I don't quite know how the Android system is setup there. As far as I know you can remove Android entirely though, then you can just follow the procedure to resize Windows and Install Linux alongside.
    1
    I got a Chinese manufactured pad-like device which is supported by the Linux mainline kernel and works pretty well except for the ****ty wifi chipset from Broadcom. That device has z8300 Soc and runs pretty well. I really like the On-The-Go device design as it is easy to carry around. Thanks for sharing!