Installing Ubuntu on the Lenovo MIIX 510

I’ve got one of these laptops for work and got tired of running Windows so decided to do something about it… This is more just for general notes after much research to get things running correctly.

What works:
Power Management
Touchscreen / Stylus
Keyboard Cover
Brightness controls

What does not:
Screen Rotation (didn’t spend enough time on this to correct it as it is not something I use)


Starting off – Grab the latest Ubuntu x64 desktop installer and use Etcher to put this on a flash drive.

You’ll need to disable Secure Boot on your Lenobo MIIX – To do this, shut down the laptop and power it on with “Volume Up” + Power. Enter your Bios settings. Set Secure Boot to disabled along with Virtualisation to enabled. From here you may as well set your boot device and start the installer. I’m not going to walk through all the steps here.

You may have a problem with screen rotation like I did – Just rotate it to the correct orientation and lock the rotation by tapping the top right corner and locking it by tapping rotation lock (found it easier doing this with the touchscreen rather than the mouse). We’ll fix this soon.

Post Install:
Getting WiFi Running:
Run this in your terminal and reboot:

sudo tee /etc/modprobe.d/ideapad.conf <<< "blacklist ideapad_laptop"

Disable Auto Rotation:
In your terminal do the following:

sudo systemctl stop iio-sensor-proxy.service
sudo systemctl disable iio-sensor-proxy.service
sudo apt remove iio-sensor-proxy

Power Management:
Update to the latest Linux kernel:
I found updating to the latest Linux kernel helped immensely with power management and reported the correct battery / charging state. Use UKUU to do this. First we’ll install it:

sudo add-apt-repository ppa:teejee2008/ppa
sudo apt install ukuu
sudo -s
ukuu --check && ukuu --install-latest

Lenovo USB3 Docks:
If you’re using those USB3 docks grab and install the latest Ubuntu drivers from Displaylink here:

Citrix Workspace:
Grab and install the latest Citrix Workspace setup from here:

Updating time on a restricted network:
For me, I had an issue with updating time using NTP on our work network since it is blocked on the outbound firewall. A workaround for this was to add the following to root’s crontab (sudo crontab -e):

0 1-23/2 * * * date -s "$(wget -S  "" 2>&1 | grep -E '^[[:space:]]*[dD]ate:' | sed 's/^[[:space:]]*[dD]ate:[[:space:]]*//' | head -1l | awk '{print $1, $3, $2,  $5 ,"GMT", $4 }' | sed 's/,//')" >/dev/null 2>&1

Leave a Reply

Your email address will not be published. Required fields are marked *