Installing Manjaro Arm on X96 Air P3 TV Box

Start up routine looks similar on my device with or without boot.ini. Thanks.

I tried out linux-vim 5.12.9-1 few hours ago and it still giving kernel panic on my device. While trying to reinstall the mainline linux 5.12.8-1, kernel panic strike during creation of new image. It corrupted the drive, rendering it not bootable anymore.

So this round wanted to try out Manjaro KDE Plasma-Wayland. Burned Manjaro-KDE 21.04 but I don’t seem to be able to find on the Greeter Login Screen the option to login to Plasma-Wayland (previously, on the Greeter Screen there is an option either to Login as Plasma Wayland or Plasma) now. May be missing on the config file. I am not familiar with KDE Plasma. Any idea how to start up KDE Plasma-Wayland?

I notice in KDE Plasma-Xorg/X11 with Panfrost enabled the glmark2-es2 score 326 is much lower than running on XFCE score 495.

I did some tests with my installation:

I stressed the CPU to 100% (s-tui) while glmark2 ist doing its job parallel. I would say a good result for my X96AIR and Mali G31… :grinning:

Your question regarding KDE Plasma can be answered in several minutes, I’m just downloading the Manjaro arm image…

I’m back on KDE Plasma:

[tiber@X96AIRP3 ~]$ inxi -Fxzi
System:    Kernel: 5.12.1-1-MANJARO-ARM aarch64 bits: 64 compiler: gcc v: 10.2.0 Desktop: KDE Plasma 5.21.5 
           Distro: Manjaro ARM base: Arch Linux 
Machine:   Type: ARM Device System: SEI Robotics SEI610 details: N/A 
CPU:       Info: Quad Core model: N/A variant: cortex-a55 bits: 64 type: MCP arch: ARMv8 rev: 0 
           features: Use -f option to see features bogomips: 0 
           Speed: 1908 MHz min/max: 100/1908 MHz Core speeds (MHz): 1: 1908 2: 1908 3: 1908 4: 1908 
Graphics:  Device-1: meson-g12a-vpu driver: meson_drm v: N/A bus-ID: N/A 
           Device-2: meson-g12a-mali driver: panfrost v: kernel bus-ID: N/A 
           Device-3: meson-g12a-dw-hdmi driver: meson_dw_hdmi v: N/A bus-ID: N/A 
           Display: x11 server: 1.20.11 driver: loaded: modesetting resolution: <missing: xdpyinfo> 
           OpenGL: renderer: llvmpipe (LLVM 11.1.0 128 bits) v: 4.5 Mesa 21.1.0 direct render: Yes 
Audio:     Device-1: meson-g12a-dw-hdmi driver: meson_dw_hdmi bus-ID: N/A 
           Device-2: axg-sound-card driver: axg_sound_card bus-ID: N/A 
           Sound Server-1: ALSA v: k5.12.1-1-MANJARO-ARM running: yes 
           Sound Server-2: JACK v: 0.125.0 running: no 
           Sound Server-3: PulseAudio v: 14.2 running: no 
           Sound Server-4: PipeWire v: 0.3.27 running: yes 
Network:   Device-1: meson-axg-dwmac driver: meson8b_dwmac v: N/A port: N/A bus-ID: N/A 
           IF: eth0 state: up speed: 100 Mbps duplex: full mac: <filter> 
           IP v4: <filter> type: dynamic noprefixroute scope: global 
           IP v6: <filter> type: dynamic noprefixroute scope: global 
           IP v6: <filter> type: noprefixroute scope: link 
           Device-2: pwm-clock driver: pwm_clock v: N/A port: N/A bus-ID: N/A 
           IF-ID-1: ip6tnl0 state: down mac: <filter> 
           WAN IP: <filter> 
Bluetooth: Device-1: meson-gx-uart driver: meson_uart bus-ID: N/A 
           Report: rfkill ID: hci0 rfk-id: 0 state: up address: see --recommends 
Drives:    Local Storage: total: 170.03 GiB used: 4.37 GiB (2.6%) 
           ID-1: /dev/mmcblk2 vendor: Samsung model: CJNB4R size: 58.24 GiB 
           ID-2: /dev/sda type: USB model: SSD 120GB size: 111.79 GiB 
Partition: ID-1: / size: 109.76 GiB used: 4.3 GiB (3.9%) fs: ext4 dev: /dev/sda2 
           ID-2: /boot size: 213.4 MiB used: 69.4 MiB (32.5%) fs: vfat dev: /dev/sda1 
Swap:      ID-1: swap-1 type: zram size: 5.53 GiB used: 0 KiB (0.0%) dev: /dev/zram0 
Sensors:   System Temperatures: cpu: 69.5 C mobo: N/A 
           Fan Speeds (RPM): N/A 
Info:      Processes: 182 Uptime: 8m Memory: 3.69 GiB used: 1.4 GiB (37.9%) Init: systemd Compilers: gcc: N/A 
           Packages: 690 Shell: Bash v: 5.1.8 inxi: 3.3.04 

There is no selection nor wayland on the greeting login. Wayland is far far far away…
The package manager shows portions of installed wayland parts.

Did check with gui pacman and found out thatl plasma-wayland-ssession and plasma-wayland-protocols are not installed. To have enable Plasma-Wayland we need to install plasma-wayland-ssession. Also read KDE Plasma-Wayland might not be that stable yet on KDE Plasma 5.21.5-1.

How do you find KDE Plasma-Xorg so far? Responsiveness compared to XFCE?

StritARM Team

Mar 5

While Wayland is maturing quickly these days, you might still encounter issues.

But on KDE Plasma editions, you can install plasma-wayland-session, then logout and choose “Plasma (Wayland)” in the login manager and login again. Now you are running a wayland session.

Edit: Did you set cpupower governor=performance or conservative?

@strit Attention:I’ve installed from Github
Everything seems ok, the first start etc., but after update with package manager & reboot & login the box stand still. No more action possible. After re-start the same.
So I have no testing system for plasma-wayland-session :pensive:

ad1: for me XFCE fit at best for the little China box, stable, fast, reliable. only the necessities on board to have desktop. And see also my benchmark.
ad2: I always use conservative as a standard due the missing active cooling of the box and the system keeps cooler.
ad3: I’ve checked with gui pacman, I’ve nothing seen . Perhaps if I can revover my KDE plasma installation …
wayland I’ve seen with well-kown khadas-ubuntu 20.04, but the performance on the same box wasn’t satisfying.

Yes. Unstable branch had a broken plasma for a while. I just pushed the missing updates tonight that should fix it again.

1 Like

The latest KDE Plasma 5.22.0-1.

@Strit, Stuck at Plasma (Wayland) Login Screen

i am on stable branch, Manjaro-Arm-KDE (based image 21.04) updated to current stable branch Plasma 5.21.5-1, Just installed plasma-wayland-session using pacman gui and restarted and tried to login using Plasma (Wayland) but it just stuck at the Login Screen. Nothing happening. Ctrl+Alt+F1 return with a Mouse Arrow but cannot select anything. Power Cycle to restart and tried again same results. Tried this 4 times. Time to seek assistance.

Is there any other config file settings need to be set to get Plasma-Wayland to work?

No. But depending on your device, the drivers can be unstable for wayland.
I don’t recommend using Plasma wayland on Manjaro ARM at this time in general.

Device GT King Pro (S922X-H, GPU: G52).

Wayland on Bifrost (G31/G52) devices is not stable at all.

1 Like

Hi @danboid
FYI there is an another X96Air in the wild! Looks like mine first but the second AIR is called X96AIR-100 with firmware from 25.11.2020 and what a mess to get it working with Manjaro. All well-known .dtb are not compatible and at least the standard meson-sm1-sei610.dtb from LE was succesfull with LAN & HDMI-sound.
Still no-wifi, no-BT but that’s OK for me.
My benchmark show after all a good performance:

parallel: Stresstest 100% + glmark2-es2 + playing movie :+1:

Some details:
X96AIR_100 -

There are at least 6 models of X96 Air out there:

X96 Air_P1
X96 Air_P2
X96 Air_P3
X96 Air_100
X96 Air_Q100
X96 Air_Q1000

That is according to the page where I downloaded my firmware from when I needed to reflash:

1 Like

X96 Air V2 with 2/16GB is my 3rd one in this row ,
it starts Manjaro with LE meson-sm1-sei610.dtb, too.
Still the same: no-wifi, no-BT

X96Air_V2 -

The unstable release

runs stable with meson-sm1-sei610.dtb on my X96AIR100.

@dante6913 @spikerguy my starting system consists still these files :

  • u-boot.ext
  • extlinux.conf
  • meson-sm1-x96-max-plus-100-vim2.dtb
    I rename every new .dtb to meson-sm1-x96-max-plus-100-vim2.dtb. Every change in the extlinux.conf comes to an error and Manjaro don’t boot.
    It seems that the name is firmly fixed in u-boot.ext or Image or linitramfs-linux.img .
    Could that be and how can I change it?

Thanks to the information provided on this forum (different posts) and some other sites, I managed to have Manjaro running on a X96 Air 4G/32G based on the AM7256 Wifi chipset - equivalent or containing a Broadcom BCM4354 : all works fine, Ethernet, Wifi, BT and video accellaration. As I coudn’t find this config in the forum, I share what I did in case anyone has the same config:

  • I used Manjaro-ARM-minimal-vim3-21.03.img (taken here Releases · manjaro-arm/vim3-images · GitHub)
  • In order to have the Wifi working, once the SD burned, I temporarely copied the file brcmfmac4354-sdio.txt (taken from brcm/brcmfmac4354-sdio.txt - chromiumos/third_party/linux-firmware - Git at Google) in the extlinux directory
  • In order to have the BT working, I temporarely copied the 4 files BCM4354.hcd, BCM4354_003.001.012.0259.0512.hcd, BCM4354_003.001.012.0319.0675_ORC.hcd, BCM4354_003.001.012.0319.0690_ORC.hcd (taken from - please notice that bcm4354.hcd has to be renamed uppercase BCM4354) in the extlinux directory
  • Set dtb as “meson-sm1-sei610.dtb” in extlinux/extlinux.conf
  • Boot with the SD (use the toothpick if the first time)
  • Move the files previously saved in /extlinuxf to /lib/firmware/brcm/
  • pacman -Suy --noconfirm
  • To activate the video accelleration set “glamor” as “AccelMethod” in /etc/X11/xorg.conf.d/01-panfrost.conf
  • To enable HDMI audio:
    – if your locals are not EN you have to modify the file /usr/bin/ Ex. for an FR / French installation, I changed grep “device 0” to grep “périphérique 0” and print $4 instead of print $3 in the awk command
    – Execute sudo /usr/bin/
  • Reboot

Maybe is not the cleanest way to have Manjaro correctly runnig on this box, but at least it works :wink:


Thank you all for the instruction.
@pferrante I will have an X96 Air 4G/32G in the next 3 days, my box model is P3. May I ask you your model according to this list:
X96 Air_P1
X96 Air_P2
X96 Air_P3
X96 Air_100
X96 Air_Q100
X96 Air_Q1000

Have a nice day all!

@AlexanderTN I don’t know how to figure out the model ID (according to your list). I know that it’s not an Air_Q1000 as ethernet is limited to 100Mbits. And applaying the provided guidelines for the Air_Q100 didn’t work for me. I think what determine the model are the Wifi and ethernet chipsets (and possibly the video one). My 2 cents advices for you would be to first try to apply the “standard” guideline for your model and if it doesn’t work, try to apply mine :wink: BTW the only way I found to identify my chipset was to open the box, however keep in mind that doing that voids warranty (if you care about it).

1 Like

Let me summarize the difference of models based on the reference here: tinhte .vn/thread/tong-hop-cac-ban-firmware-cua-android-tv-box-x96-air.3050996/ (it’s a Vietnamese page that’s why maybe you guys could not understand it clearly):
4GB RAM version models:

X96 Air_P1 ( chip wifi AP6255, Lan 100M)
X96 Air_P2 (* chip wifi AP6255, Lan 1000M )
X96 Air_P3 (
chip wifi RTL8822CS, Lan 1000M *)
X96 Air_100 (chip wifi 6222B-SRC, Lan 100M)
X96 Air_Q100 (chip wifi Cdtech 4761743 Lan 100M)
X96 Air_Q1000 (chip wifi Cdtech 4761743, Lan 1000M)
X96 Air_A1000 (chip wifi: not mentioned, Lan 1000M)
X96 Air_A100 (chip wifi: not mentioned, Lan 100M)
You are right, there is the wifi chipset difference and we can be based on that to specify what is the model using some Linux command.

I tried on my current box (an X96mini (2GB RAM, 16GB eMMC - installed Armbian) and I can get its information using nmcli tool:

alex@arm-64:~$ nmcli
wlan0: connected to Wifi_Work
        wifi (**rtl8723bs**), 28:F3:66:22:F3:AE, hw, mtu 1500
        inet6 2001:ee0:4b48:3420:6780:8801:4119:2ea1/64
        inet6 2001:ee0:4b48:3420:9f18:9808:142c:e5ab/64
        inet6 2001:ee0:4b48:3420:d370:48f9:a318:2174/64
        inet6 2001:ee0:4b48:3420:c45b:12bc:f5e3:16a6/64
        inet6 fe80::89a0:1cca:8ee7:d8eb/64
        route6 2001:ee0:4b48:3420::/64
        route6 ::/0
        route6 ff00::/8
        route6 fe80::/64

So when I received the X96 Air, I will double-check it using 2 ways:

  • First I will check with Android OS (in the About section, it would show the model there).
  • Then I will try to follow a guideline to install manjaro and try a Linux command to get the wifi chipset model to double-check.

I still have 2 questions for you @pferrante :slight_smile:

  • Could you please help to define the wifi chipset name of your device using the Linux command and tell us here?
  • You mentioned a ‘standard’ guideline, which one is it? I navigated through the forums but most of the comments I saw are: “Wifi/BlueTooth/HDMI sound does not work”, only your comment says that all works fine.

Thank you so much, I think one of the most important things is to specify the correct hardware model before trying.

1 Like