Product Page: minix.com.hk
Amazon Page: MINIX NEO Z83-4 Pro
Manufacturer: MINIX
Product Name: Z83-4 Pro
Version: V1.1
Works great for a simple web-browser/video viewer. Streams video from Netflix/Emby with no issues and supports 4K resolution. Quiet and passively cooled. Uses 12VDC input, so may work good as a carpc. Comes with a VESA mount for mounting on the back of a monitor.
Processor: Intel X5-Z8350 (64-bit)
GPU: Intel HD Graphics
Video Connectors: HDMI, Mini DisplayPort
Memory: 4GB DDR3L
Storage: 32GB eMMC 5.0
Ethernet: Realtek RTL8111/8168/8411 PCI Express
WiFi: 802.11ac Dual-Band
Bluetooth: 4.2
Micro SD card reader
USB: 3x USB 2.0, 1x USB 3.0
The F11 key is used at boot to enter the UEFI boot menu and boot Arch Linux install media from USB.
Booting using Arch Linux UEFI results in a brief display of systemd starting services, followed by a blank screen. Adding nomodeset
to kernel parameters allows system to boot into install shell. With nomodeset
graphics acceleration is disabled, but the correct options can be set in grub after installing.
The EFI partition is on /dev/mmcblk0p1
. The other partitions {mmcblk0p2
, mmcblk0p3
, mmcblkp3
} are used by the pre-installed Windows 10 Pro. Deleting p2-p4 and creating a single Linux partition formatted with ext4 is probably the best choice for such a small storage device.
With /dev/mmcblk0p1
mounted at /boot
booting the kernel EFISTUB probably works fine, but GRUB also works and is a little easier to configure. Setting up /etc/defaults/grub
and running grub-mkconfig -o /boot/grub/grub.cfg
works with the following options set:
GRUB_CMDLINE_LINUX_DEFAULT="quiet video=HDMI-A-1:1920x1080@60D"
GRUB_GFXMODE=auto
GRUB_GFXPAYLOAD_LINUX=keep
When using the main HDMI output the onboard Intel video is recognized by the kernel but cannot be setup properly by KMS. The xrandr
utility reports HDMI1 disconnected
despite a monitor being connected. Using xrandr
to manually add modelines and force output on HDMI1 works, but is not persistant.
The Linux Documentation details a way to force a display to be connected. Adding the kernel option video=HDMI-A-1:1920x1080@60D
works for forcing the display to be enabled and use digital output, as well as correctly enabling the example resolution (1920x1080) to be detected by Xorg when using the xf86-video-intel
driver.
Ethernet works out of the box. Wifi requires firmware for brcmfmac. From the linuxiumcomau.blogspot.com website, the firmware can be retrieved from C:\Windows\System32\drivers\4345r6nvram.txt
on the Windows 10 partition which could be mounted from /dev/mmcblk0p3
. The file needs to be copied to /lib/firmware/brcm/brcmfmac43455-sdio.txt
. A copy of this file is uploaded to this repository.
After installing drivers (and dialog
), wifi-menu works properly, and the created wifi profile can be enabled with netctl enable PROFILE
and started with netctl start PROFILE
. This might fail the first time because wlan0
is up, which can be fixed by running ip link set wlan0 down
first.
The onboard Intel HD graphics works with xf86-video-intel
. Alternatively, the xf86-video-fbset
driver can be used with nomodeset
if video acceleration is not required. Installing xf86-video-vesa
causes Xorg to crash.
The AUR packages aic94xx-firmware
and wd719x-firmware
can be installed to suppress warnings when using mkinitcpio
, but are not required. The intel-ucode
package should be installed and will be recognized by grub-mkconfig
for installing (microcode)[https://wiki.archlinux.org/index.php/microcode] updates.
Works out of the box with bluez
and bluez-utils
.
From (linuxiumcomau.blogspot.com)[http://linuxiumcomau.blogspot.com/2017/12/linux-on-minix-neo-z83-4-and-z83-4-pro.html] ALSA sound can be fixed by adding a definition for the ALSA Use Case Manager. Put the HiFi.conf
file from this repo in the /usr/share/alsa/ucm/chtrt5645/
directory. PulseAudio sound worked with no additional configuration.
In KDE the power tray icon reports a battery status. This is because of the axp288
module recognizing AXP299 Power Management Integrated Circuit as having a battery. This can be fixed by blacklisting the axp288_fuel_gauge
module.
/etc/modprobe.d/10-nobattery.conf
:
# Do not load the axp288_fuel_gauge module since device has no battery
blacklist axp288_fuel_gauge
Resuming after sleep puts Xorg back into 1024x768 resolution. A systemd resume@user.service
can be used to run the appropriate xrandr
commands to restore resolution.
/etc/systemd/system/resume@.service
:
# Restore resolution after sleeping
[Unit]
Description=User resume restore resolution
After=suspend.target
[Service]
User=%I
Type=oneshot
Environment=DISPLAY=:0
ExecStart=/usr/bin/xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
ExecStart=/usr/bin/xrandr --addmode HDMI1 1920x1080_60.00
ExecStart=/usr/bin/xrandr --output HDMI1 --mode 1920x1080_60.00
[Install]
WantedBy=suspend.target
The service can be enabled with systemctl enable resume@USERNAME.service
Periodic cleaning of the pacman cache can help manage disk storage.
/etc/systemd/system/clean-pacman-cache.service
:
[Unit]
Description=Clean old pkg files from cache
After=multi-user.target
[Service]
Type=oneshot
ExecStart=/bin/sh -c 'yes | pacman -Sc'
/etc/systemd/system/clean-pacman-cache.timer
:
[Unit]
Description=Clean old pkg files from cache weekly
After=time-sync.target
[Timer]
OnCalendar=weekly
Persistent=true
[Install]
WantedBy=timers.target
systemctl enable clean-pacman-cache.timer