[Hi10 Plus] Ubuntu 20.04 Mate on Hi10Plus

Dear all,

I’d like to share my experience while installing Ubuntu. Everything is working for me with the exception of the accelerometer (rotation sensor), but a workaround can resolve this.

Some effort were put in past 4 years to implement drivers for most gadgets on Linux kernel which usually comes bundled in atom computers such the Capella light sensors, Bosch accelerometers and magnetometers and Silead touch screens. And, for my surprise, everything is working fine, most out of the box.

First I want to leave a critic and protest regarding Windows 10 use on these low-end PCs. It does not make any sense not providing Windows 8 compatible drivers for these. Atom computers put a lot of effort just for Windows 10 to run.

  • Intel says providing such drivers is responsibility of the manufacturer.
  • Chuwi says they won’t support. Is simple like, take or leave it.
  • Hampoo which is the motherboard manufacturer also won’t stand regard providing 32 bit drivers or ones compatible with Windows 8.1.

It is a pity we are obliged to stay using this non-efficient non-productive operating system

So… why going to Linux?

  • Because of responsiveness and haste, reliability and productivity.
  • It occupies less space than Windows 10.
  • And we know the Microsoft is not collecting our data and voice with Cortana.

There are other thousand reasons but the topic aint about this.

Going to business:

  1. Download your favourite Ubuntu flavor. I downloaded a Ubuntu Mate Long Term Support (LTS) 20.04 fresh daily build (everyday the ISO installer is updated, as soon packages get updates) from: Ubuntu MATE 24.04 (Noble Numbat) Daily Build
    Ubuntu 20.04 ships with kernel 5.0 and most implementations for Atom came with kernel 4.7~9, all other flavors may run stuff out of the box.

  1. Format an USB stick of at least 4GB. You may format it as NTFS hence AMI has implemented newer UEFI specifications and can now boot EFI partitions under NTFS. This will speedup the installation proccess.

  2. Mount the ISO image with your favourite disk image mounter. I used the free software w32diskimager. Win32 Disk Imager download | SourceForge.net
    3.1 Alternatively you may use an file (de)compressor such 7-zip to open the ISO and extract the files.

  3. Copy/Extract all the files from image.

  4. Reboot while pressing Escape on your keyboard. You should enter on UEFI by this. Go to ‘Save and Exit’ panel then, scroll down to ‘Boot Override’ then select your usb stick. UEFI:USB_NAME.

  5. Grub will appear, hit enter on 1st option. When the OS boots, you may connect to wifi, bluetooth.

  1. First thing, unmount the 64GB NANDR ‘hard disk’. It will show as a SD icon. (Right click > unmount). Then double-click the ‘Install’. Pick your language and keyboard and proceed.

  1. Perform the minimal installation and allow 3rd party/proprietary drivers to be installed.

This step is critical. I own a Hi10Plus with UEFI firmware to dual boot W10 and Android but I do not intend to keep W10 or Android, so I’ll delete everything then rearrange partitions. You may also install Android and Ubuntu, but I will not explain it here. If you are interested to do so, contact me anytime.

  1. Select ‘Something else’

  1. Delete all partitions clicking on ‘minus’ button. Create a new partition using ‘plus’ button:

SWAP Partition:

  • Size: 4096
  • Primary partition
  • End of this space
    Use as: swap area

EFI partition:

  • Size: 100
  • Primary partition
  • Beginning of this space
    Use as: EFI file system

Middle leftover space will be the place where Ubuntu will be installed (approx 58GB):

  • Size: whatever is left, dont change this
  • Primary partition
  • Beginning of this space
    Use as: Ext4 journaling file system

Proceed setting your timezone and location, creating an username/password and let it finish. When it finishes, it will ask to reboot, then accept. It will show the loading screen, and will ask to remove USB and hit enter to reboot and start pressing Esc key.

When it enters back to UEFI, go to ‘Save and Exit’ and select ‘ubuntu’ entry. If you do not do this, UEFI will load the Android/Windows dual boot, and since no Windows is installed will show only the Android option. We need to perform a tiny workaround to make this system open the ubuntu when choosing the Windows logo.

As soon as you enter on ubuntu, open your file manager as super-user (ubuntu-mate uses ‘caja’):

Open a terminal with Ctrl+Alt+T

$ sudo caja

Click on ‘efi’ mounted partition on ‘Devices’ in left panel.

  1. in /boot/efi/EFI, create the directory /Microsoft/Boot
  2. Copy what is inside /boot/efi/EFI/Ubuntu to /boot/efi/EFI/Microsoft/Boot
  3. Rename shimx64.efi to bootmgfw.efi.
  4. Leave the file manager opened as super user.

The following step will enable the touchscreen.

  1. Go to this website: https://github.com/onitake/gsl-firmware/blob/master/firmware/linux/silead/gsl1680-chuwi-hi10-plus.fw and download the file.
  2. Rename the file from: gsl1680-chuwi-hi10-plus.fw to gsl1680-chuwi-hi10plus.fw. Simply remove the last hyphen.
  3. With the filemanager as superuser, go to ‘Filesystem’ then towards /lib/firmware/, then create a folder inside it named ‘silead’. The full path should be like this /lib/firmware/silead. Copy that file gsl1680-chuwi-hi10plus.fw inside this folder.

Reboot.

5 Likes

Post installation tweaks:

The following steps are more personal taste and aesthetical, while focusing performance disable extra effects and picking the classic gnome 2.0 panel style.

  1. Open ‘Run’ box with Alt+F2. Type ‘mate-tweak’.
  • In ‘Desktop’ you may select which icons will appear on desktop.
  • In ‘Panel’, go to Panels, select ‘Traditional’. Accept the dialog box.
  • In ‘Windows’:
  1. untick ‘enable animations’,
  2. In Appearance, Left (if you are used to Apple OS X control buttons)
  3. Window Manager -> Marco (no compositor)
  4. ‘Fonts’ -> ‘Details…’ -> disable ‘Automatic detection’ and set 110 Dots per inch (DPI).

On Top bar > System > Preferences > Hardware > Displays, tick ‘Show monitors in panel’. This way you will need to manually rotate screen by clicking on Display button then choosing the rotation you wish.

4 Likes

Hi, very interesting and thanks for your work.
My hi10 plus came with Android 6 and I managed to change it to RemixOs and changed partition to 16Gb.

On my PC I have windows, Linux and RemixOs installed. The question is… Could we have here 3 SO or not?

I managed doing that by modifying Grub. But I think we don’t have Grub here… Have we?

Please, explain how to install Android (or remix) besides Linux.

Thanks in advance.

You may keep as many operational systems you want, as long they fit into 64GB (since we’re using GUID partition table here, you may keep dozens partitions). Regarding GRUB, you will use UEFI grub, not a MBR-Grub, but don’t mind about this. It’s properly installed and set-up by the installer.

I have never installed an Android to these kind of Intel Atom laptops. Actually mine came with Android but I deleted it to save space for Windows 10 until it became unusable. Still, let’s see what can we do.

Hence I don’t know your expertise background, I would recommend:

  1. Fresh install Android/Windows10 OEM (provided by Chuwi)
  2. shrink the Android partitions leaving enough space for your needs.
  3. delete Windows10 partition
  4. install Linux over the new free space. If the android also uses a swap patition you may not need to create a swap for linux. it will be shared.

If you have some more expertise doing this kind of stuff, you mentioned you have “changed” the partition to 16GB, I am assuming you’re meaning about resizing the partition, reducing it. This will free some room in your “HD” and you may create new partitions and install from this point as I have explained above.

1 Like

Thanks for your answer!

I am not an expert but I am an appassionate of tech and Android. Linux world is something new for me because I’m using it only for 5 years for Android ROM customizing ( I wish cooking from scratch I the future ).

Here is a tuto I mare for resizing Android partition… (In Spanish sorry)

https://pecholite.blogspot.com/2017/06/off-topic-tutorial-chuwi-hi10-plus.html

Ok. When you do a fresh install (or repartitioning) of Android you lose all data and partitions. Then Android is installed first and windows afterwards so is not necessary to install windows, I think instead installing windows install Linux and you are done. Linux and Android working together.

Well, my doubt cames here… In case I wanted 3 systems running I would made a 8gb for Android and 8gb for Linux and 32 for Windows but I think that necessary space for Windows must be created when installing Linux deserving such space for later windows installation rigth?

And then I suppose we will get a 3 button boot screen for choosing between Android and Windows (I have both now) and Linux.

What worries me more is that thing… Could we be capable of choosing more than 2 systems on booting screen?

Sorry if my questions sound fool, but I really need to be sure of what I am doing.

Best regards

Damn, you use TWRP for this? Cool. I used it a lot for installing custom ROMs such Cyanogen/LineageOS in smartphones, specially to get rid of bloated Samsung android.

I just gave the idea for installing the dualboot Android-Windows because it’s user-friendly. One which may be reading this and it’s too scared of trying anything more ‘techy’ could use this.

The partition order doesn’t matter. If you have Android-Windows scheme already, shrink the Windows partition and get free space for the Linux (and its swap). If you wish, you may screenshot your partition scheme so we can figure it out.

Regarding the system boot, the dualboot bios show up the Android and Windows, but actually the Windows option will go for the GRUB, and from there you may select Windows and Linux.

1 Like

Perfect! Crystal clear now!

I will made space for Linux in windows partition and will try it!

Do you think it would work with Linux mint?

I see no reason for not working. Probably you’ll install the ubuntu-based linux mint rather the debian-based. Ubuntu-Mate, the one I’m using, is also based on ubuntu so we should have the same experience… out of the box support for wifi, bluetooth, audio etc etc etc but no rotation and touch. I explain how to put the touch to work here but I didn’t look for the rotation yet.

1 Like

Hi there!

I managed to install 3 so on windows part and Android aosp on Android part.

On windows part we have… Windows, Ubuntu and RemixOs.

RemixOs works fine but lacks touch, audio, WiFi and Bluetooth.
Ubuntu fine except for audio and touch (your solution doesn’t work for me)
Windows going perfect.

I have made a installation from scratch of everything for your knowledge.

In certain moment I have lost Android (doesn’t boot anymore) and I think that Ubuntu installation is messing with Android partitions.

Tomorrow I will restart whole process from scratch to assure a perfect installation of Ubuntu and know if this is the problem or the problem is having Android besides.

Ok. After installing it in a lot of ways the result is always the same. After installing Linux android doesn’t boot anymore. So, you can install Linux besides windows or alone but in my case (don’t know why in ubuntu sound and touch panel aren’t working but you can hear sound or music througth bluetooh speakers.

In my case I have a pc tower and an hp laptop with remix, windows and linux running flawesly but not in my chuwi hi10 plus. So, I will back to Aosp and windows leaving remix apart on this case.

Best regards

Ubuntu is not ready for this kind of PC.

Hey man! Sorry to hear the outcome was no the expected…

Ubuntu fine except for audio and touch (your solution doesn’t work for me)

  1. Perhaps our Hi10Plus is from a different revision and drivers are compatible with mine? You installed Ubuntu from the same repository I’ve mentioned? I didn’t do anything to put audio to work. The only workaround I’ve done was for enabling touch capability.

In certain moment I have lost Android (doesn’t boot anymore) and I think that Ubuntu installation is messing with Android partitions.

  1. Ubuntu installer you meant? If that’s the case, you should custom install, create two partitions, 1 for the system ext4 and mount point / , and swap. The installer or anything else should do not do anything to your partitions, except adding the bootloader files in the /efi partition.

It is an unfortunate I am not experienced on installing android stuff.

Best regards,

Actually, if you intend to buy one of this kind for productivity purposes such running R for statistical stuff, Python, Excel, Word (stuff I use on daily basis at work with my Hi10 Plus), Ubuntu have presented more efficient than Windows 10.

I bet even gaming experience on Ubuntu may even be faster through WineHQ than Windows 10. Name one, then we can try and share the results.

If you intend to use as a cute multimedia device, go for Windows or Android. Ubuntu is not optimized for touch screen, screen rotation.

Yes, I think that’s the question.

I tried whole combos for partitions. I suppose problem is on efi boot. I am sure one with proper knowledge could fix it (sadly not me😉) and of course I want to thank you for this tutorial. Is very good and useful.

Best regards

Wow, great tutorial. I’ve been looking for a way to bring life back to the tablet as both android and windows have been running pretty horribly.

There are some questions that I’d like to make though, if you don’t mind.

  1. Are the touch control good? Can it be used like tablet still? Does it prompt an automatic touch keyboard when not attached to the keyboard?

  2. Does the battery life remains the same?

  3. Do you recommend to stick to lightweight desktop environments? Do you think it could handle ubuntu +gnome?

Thanks for all the hard work

Thank you very much. I hope it helps.

Regarding your questions:

  1. Are the touch control good? Can it be used like tablet still? Does it prompt an automatic touch keyboard when not attached to the keyboard?

The touch works accurately but it’s not optimized. In order to have the best touch experience, a lot of tweaking is necessary. For instance, assume you want to add touchscreen scrolling functionality on Firefox, you would need to launch Firefox with an extra command:

env MOZ_USE_XINPUT2=1 firefox

At least for Firefox you would need to add this extra command on icons, launchers etc.

  1. Does the battery life remains the same?

The battery drains for me at the same time it does while using Windows.

  1. Do you recommend to stick to lightweight desktop environments? Do you think it could handle ubuntu +gnome?

I’m using Ubuntu Mate. Mate is a desktop environment which is considered a sequel of Gnome2. If it works nicely with Gnome2, you may also try more lightweight desktop environments such lxde. I haven’t tried Unity (the official Ubuntu desk env) but I’ve heard it has touchscreen/rotation out of the box.

In the end, if you’re looking for a workstation, using it as a PC, you may give a chance to Linux.
If you do not want to lose the tablet functionality, stick to Android or Windows.

1 Like

A proof of concept I’d like to share.

PCSX2 emulator running a bios under Ubuntu.
PCSX2 is the unstable last fed into GitHub w/ gs hacks at maximum 40-60% of expected speed.

2 Likes

Thanks, very useful for me

For tablet pcs you can try Manjaro with Kde Plasma-mobile. Have touch already and rotate support coming soon I guess.

I had a Linx 10 tablet since few years so I tried Linux on it and it works very smooth as compared to windows 8 which had come pre installed.

Just need to make sure thd architecture of the bios. If its 32bit then you might have to make some changes.

1 Like

Hi!

Thanks for the detailed guide.

Seems like the cameras are not recognized. Anyone has managed to fix it?

Additionally, rotation sensors are upside down, which can be fixed by running:

xrandr -o normal

1 Like