Kali on the Chuwi Hi10 Pro – updated for Kali 2020

This post is now updated with install information for using 2020 versions of Kali on the Chuwi Hi10 Pro.


When I first wrote this post I seriously wouldn’t have recommended Kali on the Chuwi Hi10 Pro as an every-day system – Starting with 2018.01 and the 4.14 kernel it makes a much nicer install experience (the kind that I’m used to with other platforms) so, if you really want to use kali as a day-to-day system on the chuwi then it will work for you :)

If you are using kali 2020 then pretty much everything works out of the box, except the touch screen and the rotated frame-buffer in the console

1) Download Kali Linux

Download kali from kali.org/downloads
I would recommend getting the ‘Install’ image

Kali on the Chuwi Hi10 Pro
Kali Linux Downloads

2) Create the boot media:

I used etcher to do this – its very simple and looks great too :)

Etcher (now called balenaEtcher) works on osx, windows and linux, so its a good choice, though you could use unetbootin or rufus.

etcher.png
Burning an ISO to a usb drive using balena Etcher

3) Boot into Kali

Boot your Chuwi from the usb device (apparently you cant do it from the on-board SD card reader)

To get to the boot menu on the Chuwi hi10 pro, you need to press F7 on boot. This brings up the menu to select the boot device.
(You’ll notice that all of this is with the screen on its side :| )

4) Wifi

In Kali 2018.4 and onwards, including 2020 the WiFi card is supported out-of-the-box, and you can select a WiFi Network during install. Only 2.4GHz Wifi Networks are supported, but at least it all works now!

Working WiFi in the Kali 2020 installer

if it doesn’t work for you, you can hit ‘back’ and then select the next step from the installer menu (I had to do this a number of times on different installs)

5) Partition / Resize

One I had booted into the Kali installer I removed the windows partition and kept the android partition – but you may want to do something else though

6) Install

Once the partition changes are applied, reboot and boot from the kali usb and select install from the grub boot prompt – follow the install instructions and use the partition space freed in the above steps

6) Booting
To boot kali you’ll need to press f7 and select kali from the uefi boot options (the chuwi bootloader will still show android and windows)

Kali on the Chuwi Hi10 Pro – What doesnt work out of the box:

Framebuffer

You can rotate your virtual framebuffers using fbcon. 0 through 3 to represent the various rotations:

  • 0 – Normal rotation
  • < strong >1 – Rotate clockwise
  • < strong >2 – Rotate upside down
  • < strong >3 – Rotate counter-clockwise

These can be set from the command line by putting a value into the correct system file. Rotate the current framebuffer:

echo 1 | sudo tee /sys/class/graphics/fbcon/rotate

Rotate all virtual framebuffers:

echo 1 | sudo tee /sys/class/graphics/fbcon/rotate_all

If you want this to happen automatically when you start your system, you need to modify your boot loader configuration to give it the correct options. In /etc/default/grub add fbcon=rotate:1 to the GRUB_CMDLINE_LINUX line:

GRUB_CMDLINE_LINUX="video=efifb fbcon=rotate:1"

(Don’t forget to run sudo update-grub and then reboot after changing this file.)

Touchscreen

The touchscreen drivers are not yet part of the mainline kernel, you do need to get the firmware aswell

Firmware for the touchscreen is at github.com/onitake/gsl-firmware

mkdir ~/src
cd ~/src
git clone https://github.com/onitake/gslx680-acpi
git clone https://github.com/onitake/gsl-firmware
#copy the file gsl-firmware/firmware/chuwi/hi10_pro/silead_ts.fw to /lib/firmware
sudo cp ~/src/gsl-firmware/firmware/chuwi/hi10_pro/* /lib/firmware
# install dkms and kernel headers, etc
apt install -y dkms 
#make the kernel module
cd ~/src/gslx680-acpi
make
make install
#modprobe the new kernel driver from the gslx680-acpi directory
modprobe gslx680_ts_acpi

Check dmesg and touch the screen. It should work :) The touchscreen works much better in 2017.2, but doesnt seem to respond when you change the orientation of your screen (as a workaround I found that changing the screen back to thedefault orientation, then re-rotating it seemed to fix the touchscreen)

if the touchscreen is wonky, try copying the firmware from the hi10_pro-z8350 folder and modprobing again

X display

As of kali 2018.4, you don’t need to rotate your X display, it will automatically adjust correctly

– Rotate your X display: settings > displays > select the display > click the rotate icon > click keep changes

To fix the orientation of your X display (which is out because the accelerometer isn’t aligned on the same plane as the screen), run the following commands in a terminal:


vim /etc/udev/hwdb.d/61-sensor-local.hwdb

# paste the following in the file:
sensor:modalias:acpi:BOSC0200*:dmi:*:svn*CHUWIINNOVATIONANDTECHNOLOGY*:pnHi10protablet:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1

* see here for more information

* you probably have to reboot to have systemd read the new settings for the accelerometer.

Your screen will now be the correct orientation, and will rotate when you turn your screen (as you would expect it to)

wifi

As of kali 2018.01 the onboard wifi works :D

As kali 2017.2 uses kernel 4.12.0 the onboard wifi still doesnt work – I will update if I get it working (I have a working usb wifi dongle, so my syhstem is usable for now)

sources:
http://www.udoo.org/tutorial/creating-a-bootable-micro-sd-card-with-mac-os-x-from-image/
https://forums.kali.org/showthread.php?271-How-to-EFI-install-Kali-Linux
https://kaliuefi.blogspot.co.uk
Rotate your framebuffer
http://askubuntu.com/questions/237963/how-do-i-rotate-my-display-when-not-using-an-x-server
Rotate Screen, not running X windows
Fixes no longer needed
Rotate console on startup (Debian)

Leave a Reply