Alfawise X5 Mini-PC

July 24, 2026

Several years ago I bought a cheap and power efficient little mini PC, to experiment with as a home server. Recently I found it again somewhere and decided to use it.

Out of the box it comes installed with Android and Windows, you can boot into either of them. But because it only has about 32GB of disk space I'd rather install Linux.

I wiped the entire internal drive, reformatting it completely. Then I installed Ubuntu Server 26.04 but quickly ran into several issues:

  • It often still tries to boot into Android.
  • The whole machine freezes when I SSH into it.

Consistently boot Ubuntu

Dislaimer: I've had situations in the past with this machine that whatever I tried it sometimes reverts to booting into the non-existent Android OS. I don't know how long the current attempt will last.

It seems like the Alfawise X5 has some kind of boot settings baked into its BIOS that you cannot easily override. Using the BIOS settings or efibootmgr from Linux to change the boot order does not seem to stick very well, and it quickly reverts to booting Android.

I noticed that after an OS update, or a power cut, the files in /boot/efi/EFI/BOOT, notably BOOTX64.EFI get overwritten. Whenever that happens the machine reverts back into a boot loop. My initial solution to that was to overwrite the file with the Ubuntu version after every apt upgrade:

sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/BOOT/BOOTX64.EFI 
sudo update-grub 

This at least kept it booting into Ubuntu after an upgrade.

My latest attempt is to delete the entire /boot/efi/EFI/BOOT directory. After that I ran sudo dpkg-reconfigure grub-efi-amd64, told it not to discover other OS and update NVRAM. After this, the Android-IA boot option both disappeared from efibootmgr and the BIOS and the Alfawise X5 still boots into Ubuntu. Sounds like a success so far, let's see how long it lasts.

Tweak GRUB boot options

After I got it to boot properly and set up SSH access the X5 started freezing when using SSH. It turns out there are a couple of tweaks you can apply to GRUB:

  • Setting intel_idle.max_cstate=1 fixed the SSH freeze. It stops the CPU from entering deep sleep mode.
  • Setting i915.enable_dc=0 disables display power-saving states that often cause black screens or GPU ring hangs.
  • Setting ahci.mobile_lpm_policy=0 disables Link Power Management on the internal eMMC/SATA storage to avoid read/write timeouts.

I added all those options to GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub. Then update GRUB.

sudo update-grub

Disable Wifi, Bluetooth and audio

Since I won't be using Wifi, Bluetooth and audio I disabled those. I also noticed an error about AXP288 during boot, so I'm disabling that as well.

I created a file /etc/modprobe.d/blacklist-extra.conf and added the following:

# Disable Realtek SDIO Wi-Fi on Alfawise X5
blacklist r8723bs

# Disable Bluetooth
blacklist hci_uart
blacklist btbcm

# Disable broken/unused audio drivers on Cherry Trail
blacklist snd_sof_acpi_intel_byt
blacklist snd_sof_intel_ipc
blacklist snd_sof

# Disable AXP288 USB role-switch probing
blacklist axp288_extcon

Apply the changes and reboot.

sudo update-initramfs -u
sudo reboot

Conclusion

So far the little machine has been running well, but I've always had some issues with it so we'll see how long it lasts.

Tags

= [, , , , , , , , ]
Comments

No comments yet

Leave a comment

// Your email address will not be published.