Booting Linux and Ubuntu issues on MINIX Neo Z83-4 mini PCs

#1
Since commit ca876c7483b6 ("gpiolib-acpi: make sure we trigger edge events at least once on boot") in the Linux mainline v4.18 kernel (and also in stable v4.14.68 as commit fbb37b72489d) the Linux kernel now calls _AEI edge handlers at boot.

Unfortunately the MINIX Neo Z83-4 mini PC has a DSDT bug where some copy and pasted code for dealing with Micro USB-B connector host/device role switching messes with the DDC data pin from the HDMI connector (switching it to GPIO mode) breaking HDMI support.

For Ubuntu Bionic the mainline kernel change "gpiolib-acpi: make sure we trigger edge events at least once on boot" is included in the Ubuntu-4.15.0-56.61 tag as commit 4ea03f3e93f8 and released in the 4.15.0-58.64 linux package.

Starting with the 4.15.0-58.64 linux package and subsequent linux packages including linux-hwe (4.18 and now 5.0 based) and linux-hwe-edge (5.0 and now 5.2 based) packages Ubuntu fails to boot with working HDMI.

However the kernel does fully boot and it is possible to remotely "ssh" to the device.

An alternative work around on the MINIX Neo Z83-4U device is to interrupt the GRUB boot process by pressing ESC when it comes up with the purple screen. From the menu that appears select the "Advanced options for Ubuntu" and then the "recovery" option of the kernel you want to boot e.g. Ubuntu, with Linux 4.15.0-60-generic (recovery mode). After a few moments, it will display a Recovery Menu with a number of options. Select the first option "resume" for "Resume normal boot" followed by "OK". Your device will then complete booting and HDMI will now work.

To fix this a proposed patch has already been submitted to the mainline kernel that disables the running of _AEI edge event handlers at boot using a DMI based blacklist with the initial version of this blacklist contains the MINIX Neo Z83-4. This patch is currently under review.

As another alternative you can compile own kernels or install pre-compiled patched kernels. I have backported the proposed patch to Ubuntu Bionic and the source is available from my github repository ubuntu-bionic (https://github.com/linuxium/ubuntu-bionic). I've then compiled the source to create linux "linuxium-flavoured" linux packages which can be downloaded from http://bit.ly/linux-4_15_0-58-linuxium or http://bit.ly/linux-4_15_0-60-linuxium and unzipped then installed to provide the latest patched Ubuntu Bionic kernel e.g. "unzip linux-4.15.0-60-linuxium.zip" followed by "sudo apt install ./linux-headers-4.15.0-60_4.15.0-60.67+Linuxium_all.deb ./linux-headers-4.15.0-60-linuxium_4.15.0-60.67+Linuxium_amd64.deb ./linux-modules-4.15.0-60-linuxium_4.15.0-60.67+Linuxium_amd64.deb ./linux-modules-extra-4.15.0-60-linuxium_4.15.0-60.67+Linuxium_amd64.deb ./linux-image-unsigned-4.15.0-60-linuxium_4.15.0-60.67+Linuxium_amd64.deb".

I will update this post as the proposed patch progresses.
 
#4
The patch that fixes the MINIX Neo Z83-4 boot issue was incorporated into the mainline 5.3 kernel released today. A Canonical compilation of this kernel can be downloaded from https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.3/ and installed using the following commands:

wget https://kernel.ubuntu.com/~kernel-p....3.0-050300_5.3.0-050300.201909152230_all.deb
wget https://kernel.ubuntu.com/~kernel-p...0-generic_5.3.0-050300.201909152230_amd64.deb
wget https://kernel.ubuntu.com/~kernel-p...0-generic_5.3.0-050300.201909152230_amd64.deb
wget https://kernel.ubuntu.com/~kernel-p...0-generic_5.3.0-050300.201909152230_amd64.deb
sudo apt install ./linux-headers-5.3.0-050300_5.3.0-050300.201909152230_all.deb ./linux-headers-5.3.0-050300-generic_5.3.0-050300.201909152230_amd64.deb ./linux-modules-5.3.0-050300-generic_5.3.0-050300.201909152230_amd64.deb ./linux-image-unsigned-5.3.0-050300-generic_5.3.0-050300.201909152230_amd64.deb
sudo ln -s /lib/firmware/brcm/brcmfmac43455-sdio.txt /lib/firmware/brcm/brcmfmac43455-sdio.MINIX-Z83-4.txt

Note that installing this kernel will not include automatic updates so manual intervention will be required in the future to install new kernels with security fixes and enhancements.

However it is still anticipated that the patch will be included into stable kernels resulting with inclusion into Ubuntu kernels and specifically the 4.15 Bionic kernel. I will update this thread with progress as appropriate.
 

notrui2

Trusted Helper
#5
I only installed linux in the past on virtual machines and now i also tested again linux on VM.
It is good to know that infornation , it can help minix users with linux installed, thank you ☺.
 
#7
The latest news on the Linux kernel patch that fixes the MINIX Neo Z83-4 boot issue is that the patch has been incorporated into the stable 5.2.16, 4.19.74 and 4.14.145 kernels which were released today. A Canonical compilation for each of these kernel can be downloaded from https://kernel.ubuntu.com/~kernel-ppa/mainline/?C=M;O=D. Next the Ubuntu releases will take the upstream stable patches and port them to their kernels. In the case of the Ubuntu Bionic kernel there are currently three outstanding 'bug' reports (LP #1843338, #1843463 and #1844558) which are in progress to port patches from v4.14.142, v4.19.70, v4.19.71 and v4.14.143, v4.19.72 and v4.14.144, v4.19.73 respectively into the kernel. Once further progress is made I will update this thread.
 
#8
Firstly, thank you for this fix -- and for keeping us updated! I ran into the same issue after the first Ubuntu upgrade on my MINIX Neo Z83-4U.

The 5.3 kernel from Canonical works great to restore the HDMI video functionality. In my case, not only did the HDMI monitor disappear (Mini DisplayPort monitor still worked), but _all_ the audio options disappeared -- including the analog audio jack. The 5.3 kernel restores both the HDMI video signal and all the audio devices that were missing (HDMI analog, HDMI multichannel and analog audio).
 
#9
So the Linux kernel patch that fixes the MINIX Neo Z83-4 boot issue has been incorporated into the 'master-next' branches of Ubuntu's Bionic and Disco kernels ready for the next kernel release. Therefore we are probably looking at around a two-week window to finally fix the booting issue. It has also been incorporated into Ubuntu Eoan kernel since Ubuntu-5.3.0-11.12. You may have seen news that the Ubuntu 19.10 (Eoan Ermine) Beta has been released however this was built using the Ubuntu-5.3.0-10.11 kernel which was based on mainline v5.3-rc8 so unfortunately Ubuntu Eoan Beta fails to boot with working HDMI. However there will be at least one more kernel update beyond the kernel currently in -proposed which is already based on mainline v5.3 before the final ISO is released. It is then anticipated that the 'linux-generic-hwe-18.04-edge' Bionic package will be updated to the Eoan released kernel. Likewise the 'linux-generic-hwe-18.04' package will (in a similar time frame) be updated to the 'fixed' Disco kernel meaning going forward once the 'fixed' kernels are released there will be three kernel options available to Ubuntu Bionic users. More to come on this as further progress is made.

TL;DR: Ubuntu distro fix expected within the next couple of weeks.
 
#10
Hello - wondering if I can get some help [I'm a noob].

I bought the Z83-4U and bricked it almost immediately, so burned a USB stick with Z83-4U-Ubuntu_2018.04.01-20181029.iso and then ran into a black screen after purple screen. From the workaround above:

"An alternative work around on the MINIX Neo Z83-4U device is to interrupt the GRUB boot process by pressing ESC when it comes up with the purple screen. From the menu that appears select the "Advanced options for Ubuntu" and then the "recovery" option of the kernel you want to boot e.g. Ubuntu, with Linux 4.15.0-60-generic (recovery mode). After a few moments, it will display a Recovery Menu with a number of options. Select the first option "resume" for "Resume normal boot" followed by "OK"."

This works for me - so I know my new linux install is OK.

I'd like to fix this so it'll boot properly but I am a bit confused - am I correct in assuming I can revert to a previous ISO or wait a couple weeks for a new one?

Thanks - this is a cool little device.
 
#11
Hello - wondering if I can get some help [I'm a noob].

I'd like to fix this so it'll boot properly but I am a bit confused - am I correct in assuming I can revert to a previous ISO or wait a couple weeks for a new one?

Thanks - this is a cool little device.
The issue is a patch that has been applied to the kernel breaks HDMI support because of an erroneous line in the DSDT stored in the BIOS. This means kernels prior to the patch (up to 4.15.0-55-generic) are capable of booting without issue. The MINIX Z83-4U-Ubuntu_2018.04.01-20181029.iso ISO comes with the 4.15.0-29-generic kernel so when written to a USB it boots fine as a LiveUSB can can install successfully. However if the installation is performed whilst connected to the internet the kernel will automatically be updated to the latest version (currently 4.15.0-64-generic). Similarly a newly purchased MINIX Neo Z83-4U likewise comes with the 4.15.0-29-generic kernel and will boot fine until the first manual 'apt update' or the unattended-upgrades package automatically installs the latest kernel from -security (also 4.15.0-64-generic) and a subsequent reboot will then encounter the HDMI issue.

The patch that fixes this issue for the MINIX Neo Z83-4U (and MINIX Neo Z83-4 device family) is currently in the latest Ubuntu Bionic kernel source but hasn't been compiled into a released kernel. It is expected to take up to a further couple of weeks before that happens. Once it does (and I will post here with that news) the 'fixed' kernel can be installed simply by doing an 'apt update'. If that released kernel is pushed to -security or a subsequent kernel (which will therefore contains the patch) is pushed to -security then your kernel will automatically be updated by the unattended-upgrades package and the issue will 'automagically' be fixed.

TL;DR: Wait a couple weeks.
 
Last edited:
#12
My latest patched Ubuntu Bionic kernel has been updated in line with Ubuntu which as of today is Ubuntu-4.15.0-65 and my linux package is available from http://bit.ly/linux-bionic-linuxium. This includes the fix patch as incorporated by the UBUNTU: upstream stable to v4.14.145, v4.19.74 SRU process and the source is available from my github repository ubuntu-bionic (https://github.com/linuxium/ubuntu-bionic). If you were a user of my 4.15.0-64-linuxium or earlier kernel then I recommend you now upgrade.
 
#13
Commit a7e0416da5eb ("gpiolib: acpi: Add gpiolib_acpi_run_edge_events_on_boot option and blacklist") in the Bionic Ubuntu-4.15.0-66.75 kernel fixes the MINIX Neo Z83-4 HDMI boot issue and this kernel is now in -proposed undergoing testing. It is also in the Disco Ubuntu-5.0.0-32.34 kernel as a06ff464e2da which is is currently under development and has been in the Eoan kernel since Ubuntu-5.3.0-11.12 as 61f7f7c8f978 and therefore is already in the currently released Ubuntu-5.3.0-13.14 kernel. Assuming testing is successful the Bionic Ubuntu-4.15.0-66.75 kernel should be released in the next few days and can be installed simply by doing an 'apt update'. A final update will be posted when the kernel is released.

TL;DR: Just a few more days.
 
#15
For those wanting more exact timing according to the current SRU (Stable Release Updates) cycle (30-Sep through 20-Oct) the following dates:

25-Sep Last day for kernel commits for this cycle.
30-Sep - 04-Oct Kernel prep week.
07-Oct - 18-Oct Bug verification & Regression testing.
21-Oct Release to -updates.

apply to the following bionic Kernel Versions:

linux: 4.15.0-66.75
linux-hwe: 5.0.0-32.34~18.04.2

which contain commit a7e0416da5eb ("gpiolib: acpi: Add gpiolib_acpi_run_edge_events_on_boot option and blacklist") and commit a06ff464e2da respectively and fix the MINIX Neo Z83-4 HDMI boot issue.

TL;DR: The new fixed kernel will be ready on Monday 21st
 
#16
The fix for the broken HDMI support on the MINIX Neo Z83-4 mini PC which previously resulted in a blank screen on booting Ubuntu consists of updated Ubuntu kernel pckages linux-generic (4.15.0-66.75) and linux-generic-hwe-18.04 (5.0.0-32.34~18.04.2) and have now been released. To upgrade perform a 'sudo apt update' followed by a 'sudo apt upgrade' and the relevant kernel will be installed. Note it may take a short while for all of the worldwide mirrors to get updated keep trying periodically if nothing happens initially.

TL;DR: sudo apt update && sudo apt upgrade
 
Top