Manjaro arm on Amlogic Tv box?

Have you searched on armbian forum

Sure. No success.
Well, there’s a thread about mt7668rsn, but I’m not sure if it’s relevant as my chip (mt7661rsn, don’t even try to google lol) has mt7603 as its wifi part. Android uses same driver for mt76x3 and mt76x8 chips, though…
The last poster basically says that wifi is not working, but thread is almost year old so things might have changed.

They always need some random extra blobs

What about .bin files from stock android firmware (I’m not uploading them as it might be illegal or something)? It’s not enough to simply put them under /usr/lib/firmware, at least it didn’t work for me, so perhaps they should be explicitly required by kernel/driver and then handled by its code in some way, so should I patch the driver and recompile it? Or it’s not about blobs at all, and I should start with setting up my dts? Some guy up the thread told me that communication over the bus the chip is located on is not functional (whatever it means):

so perhaps I should first change one of those <■■■■■■■■■■■■■ in dts somehow? But I’m not very good at that low-level C stuff. I guess some addresses should be same for all meson-sm1 (and compatible meson-g12a) boards, but which ones? And which ones should I change? And what to substitute them with?
Anyway, how do I tell if that communication is functional or not? SDIO device corresponding to WiFi chip can be found under /sys/bus/sdio/devices and udevadm correctly determines vendor (“Mediatek, Inc” or something like that) and ID (0x7603), does it mean it’s functional?
(I’d share udevadm output but my usb is dead now so cannot boot the system)

See? Too many questions, and if I try to find all the answers myself, it’s gonna take years, given that I don’t have all the time in the world. I guess, people like you have much better understanding of kernel guts. Not asking to solve everything for me — I know it’s not as simple as ./ — but at least I want these questions answered (I mean, about dts, firmware, etc). It’d be nice if you could help.

I got the onboard bluetooth working on my X96 Air Q1000 today. It works with my BT keyboard and trackpad under both KDE and GNOME. You can download the dts and dtb from here:

This dts doesn’t enable the onboard audio for me but HDMI audio works as does wifi and gigabit ethernet.

I have been speaking to amlogic kernel dev Neil Armstrong and it sounds like we should be able to get the onboard audio working for boxes like the X96 Air because the Banana PI BPI-M5 has working onboard audio and it uses the same audio codec:


Great! Just checked with the .dtb and HDMI-sound is working with my X96AIR P3.

But still no-Wifi & no-BT for my box.

1 Like

That’s a shame. I don’t have an X96 Air P3 but I should be getting a X96 Max Plus in the next few weeks.

I only ordered a max plus because I didn’t think my Air had gigabit ethernet. Well I was wrong and I probably should’ve bought another X96 Air Q1000 instead because they have 3 USB ports and I’ve got everything working now except the onboard audio.

I’ll hopefully get a chance to try building a kernel with the BPi 5 dts today. I want to try that using that first else I may be adding the onboard audio patches into the latest sei610 dts.

1 Like

Good work with the dtb tuning :clap:


Using @TheMojoMan rtl8822cs-aml-2020.11.20-1-any.pkg.tar.zst with linux-aml, wifi works for me, on my X96AIR P3.

meson-sm1-sei610-qca9377-bt.dtb doesn’t enable Bluetooth on the X96AIR P3 (the chip must be different from X96 AIR Q1000)


I got and tried it.
Just tried again with linux-vim 5.12.1-1 and HDMI-sound is now working,
but still no-wifi, no-BT

firmware for BT seems to be in the release:
sudo find / -name rtl8822cs*

My box is reported by Android “Device Info HW”

  • Manufacturer: Droidlogic
  • Brand: Amlogic
  • Device: franklin
  • modell: X96AIR_P3
  • board: sm1_ac213_4g

with Termux also sm1_ac213_4g

I use with:
CoreElec : sm1_s905x3_4g_1gbit.dtb w/o problems, everything works
LibreElec: meson-sm1-x96-air-1000.dtb w/ screen color problem
Manjaro Arm: meson-sm1-x96maxplus-100M-vim.dtb no-wifi, no-BT
Armbian : I never got it working, wasting massive time
Khadas-Ubuntu Kernel 4.9 : sm1_s905x3_4g_1gbit.dtb from CE w/ high cpuload
Khadas-Ubuntu Kernel 5.12 : meson-sm1-x96-air-1000.dtb from LE only wayland

What a mess!

Search in android termux for your wifi.

Try to find brcm, bcm, wlan0 … You have the compatible firmware in some OS, search in them.

Need some assistance on how to set Manjaro-Arm-XFCE to auto login. I tried to edit /etc/lightdm/lightdm.conf


but it still prompt to enter password during boot up.

I think to remember that you have to add your user to the autologin group as well. There is a good description in LightDM - ArchWiki

1 Like


Enabling autologin

only 3 steps with manjaro:
Edit the LightDM configuration file and ensure these lines are uncommented and correctly configured:


  • autologin-user=username

You must be part of the autologin group to be able to login automatically without entering your password:

  • groupadd -r autologin
  • gpasswd -a username autologin
1 Like

@Tiber, Thanks.

Hi @spikerguy & Manjaro Users,

I wonder any of you are experiencing system slow down and becoming less responsive as uptime progresses on the latest mesa-git (3.1 Mesa 21.2.0-devel (git-17d7b0bb8f)) on Stable Branch with Panfrost enabled on XFCE, cpu-governor=performance.

The tell tale sign is for example on boot up you run glmark2 or glmark2-es2 (first run) eg. score 446 and you run glmark2 or glmark2-es2 again the score will drop quite significantly to 348 and if run again the score will drop further. You will also notice CPU usage is higher the in the 2nd or 3rd glmark2 or glmark2-es2 run.

As uptime progresses at times the system become less responsive where you move the mouse to select from a menu it lags.

I first notice this on Armbian with Oibaf graphics drivers mesa-git built dated after 2021-05-19 (mesa-git 21.2-devel) but not sure whether it is due to mesa-git or something else. Updated the mesa-git built a few rounds mesa-git 21.2-devel to 2021-06-07 the same results slow down on XFCE session. Manjaro-XFCE with earlier mesa-git devel earlier than 2021-05-19, do notice this systme slow down or glmark2-es2 score dropping significantly after each run.

So I updated the Manjaro-XFCE to the latest Stable Update 2021-06-04 with the accompanying mesa-git and I am noticing this glmark2 or glmark2-es2 scores dropping after subsequent runs.

By the way mesa 21.1.1-1 (stable) doesn’t seems to have this issue. Not sure whether this is the right place to post this.

After 90 minutes of up time with Panfrost enabled on mesa-git(3.1 Mesa 21.2.0-devel (git-17d7b0bb8f) current mesa-git on stable repo, the system is already not that responsive. Glmark2-es2 scroe of 439 (30 minutes idling after boot up) and after 90 minutes web surfing and re-run glmark2-es2 score dropped to 186.

Dear @JFL after my optimization the system is very stable:

I’m on XFCE from
with kernel linux-aml 5.12 & Mesa 21.1.1-1 and
cpupower governor set to conservative ,
run very stable.
My advice: check the SoC and DDR temperature and keep them cool. Also the connected USB-stick which sometimes overheat by thermal conduction and linux writing processes.

1 Like

I have no issue with mesa 21.1.1-1 (mesa stable) but issue is with mesa-git (3.1 Mesa 21.2.0-devel (git-17d7b0bb8f) or mesa-git 21.2.0-devel built after 2021-05-19 up to date.

I do run Manjaro-XFCE with mesa-21.1.1-1 which is very stable and responsive with Panfrost enabled on a SD Card. I have another image of Manjaro-XFCE with mesa-git 21.2.0-devel which having the issue the system resposiveness drops with uptime usage and so does the glmark2 or glmark2-es2 scores.

You can switch to mesa-git and see whether you have the same issue with Panfrost enabled. Run glmark2-es2 three times and see whether the score drop signicantly or use the system for 2 hours and re-run glmark2-es2 and compared it to score you just boot up.

Previous mesa-git 21.2…0-devel build date before 2021-05-18 don’t have this issue and the glmark2-es2 generally is higher than the mesa stable build.

Device: Beelink GT King Pro (SOC: S922X-H, GPU: G52)
OS: Manjaro-Arm-XFCE, Kernel: mainline linux 5.12.8-1
mesa-git (3.1 Mesa 21.2.0-devel (git-17d7b0bb8f) from stable branch 2021-06-04
Panfrost Enabled

Just an update on the system responsiveness after 3hr 26min of uptime. The system is now not very responsive compared to the first boot up.

Below is a snap shot of glmark2-es2 scores.

1st glmark2-es2 run 30 minutes of idle from boot up score: 436
2nd run right after 1st run. score: 350
3rd run with 60 minutes web surfing (total uptime 90min). score: 186
4th run total uptime 190 minutes. score: 126

[jfl@MNJROGTKPRO ~]$ glmark2-es2

    glmark2 2021.02
    OpenGL Information
    GL_VENDOR:     Panfrost
    GL_RENDERER:   Mali G52 (Panfrost)
    GL_VERSION:    OpenGL ES 3.0 Mesa 21.2.0-devel (git-17d7b0bb8f)
[build] use-vbo=false: FPS: 477 FrameTime: 2.096 ms
[build] use-vbo=true: FPS: 509 FrameTime: 1.965 ms
[texture] texture-filter=nearest: FPS: 825 FrameTime: 1.212 ms
[texture] texture-filter=linear: FPS: 796 FrameTime: 1.256 ms
[texture] texture-filter=mipmap: FPS: 794 FrameTime: 1.259 ms
[shading] shading=gouraud: FPS: 353 FrameTime: 2.833 ms
[shading] shading=blinn-phong-inf: FPS: 353 FrameTime: 2.833 ms
[shading] shading=phong: FPS: 339 FrameTime: 2.950 ms
[shading] shading=cel: FPS: 343 FrameTime: 2.915 ms
[bump] bump-render=high-poly: FPS: 150 FrameTime: 6.667 ms
[bump] bump-render=normals: FPS: 820 FrameTime: 1.220 ms
[bump] bump-render=height: FPS: 761 FrameTime: 1.314 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 582 FrameTime: 1.718 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 297 FrameTime: 3.367 ms
[pulsar] light=false:quads=5:texture=false: FPS: 672 FrameTime: 1.488 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 238 FrameTime: 4.202 ms
[desktop] effect=shadow:windows=4: FPS: 504 FrameTime: 1.984 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 228 FrameTime: 4.386 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 225 FrameTime: 4.444 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 230 FrameTime: 4.348 ms
[ideas] speed=duration: FPS: 336 FrameTime: 2.976 ms
[jellyfish] <default>: FPS: 397 FrameTime: 2.519 ms
[terrain] <default>: FPS: 34 FrameTime: 29.412 ms
[shadow] <default>: FPS: 249 FrameTime: 4.016 ms
[refract] <default>: FPS: 36 FrameTime: 27.778 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 544 FrameTime: 1.838 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 529 FrameTime: 1.890 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 510 FrameTime: 1.961 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 495 FrameTime: 2.020 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 491 FrameTime: 2.037 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 481 FrameTime: 2.079 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 459 FrameTime: 2.179 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 458 FrameTime: 2.183 ms
                                  glmark2 Score: 439 (First Run after 30 minutes idle from boot up)

[jfl@MNJROGTKPRO ~]$ glmark2-es2
    glmark2 2021.02
    OpenGL Information
    GL_VENDOR:     Panfrost
    GL_RENDERER:   Mali G52 (Panfrost)
    GL_VERSION:    OpenGL ES 3.0 Mesa 21.2.0-devel (git-17d7b0bb8f)
[build] use-vbo=false: FPS: 420 FrameTime: 2.381 ms
[build] use-vbo=true: FPS: 461 FrameTime: 2.169 ms
[texture] texture-filter=nearest: FPS: 541 FrameTime: 1.848 ms
[texture] texture-filter=linear: FPS: 534 FrameTime: 1.873 ms
[texture] texture-filter=mipmap: FPS: 530 FrameTime: 1.887 ms
[shading] shading=gouraud: FPS: 330 FrameTime: 3.030 ms
[shading] shading=blinn-phong-inf: FPS: 331 FrameTime: 3.021 ms
[shading] shading=phong: FPS: 319 FrameTime: 3.135 ms
[shading] shading=cel: FPS: 324 FrameTime: 3.086 ms
[bump] bump-render=high-poly: FPS: 141 FrameTime: 7.092 ms
[bump] bump-render=normals: FPS: 529 FrameTime: 1.890 ms
[bump] bump-render=height: FPS: 521 FrameTime: 1.919 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 529 FrameTime: 1.890 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 289 FrameTime: 3.460 ms
[pulsar] light=false:quads=5:texture=false: FPS: 459 FrameTime: 2.179 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 230 FrameTime: 4.348 ms
[desktop] effect=shadow:windows=4: FPS: 424 FrameTime: 2.358 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 203 FrameTime: 4.926 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 199 FrameTime: 5.025 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 220 FrameTime: 4.545 ms
[ideas] speed=duration: FPS: 309 FrameTime: 3.236 ms
[jellyfish] <default>: FPS: 378 FrameTime: 2.646 ms
[terrain] <default>: FPS: 33 FrameTime: 30.303 ms
[shadow] <default>: FPS: 246 FrameTime: 4.065 ms
[refract] <default>: FPS: 36 FrameTime: 27.778 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 398 FrameTime: 2.513 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 392 FrameTime: 2.551 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 390 FrameTime: 2.564 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 377 FrameTime: 2.653 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 373 FrameTime: 2.681 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 370 FrameTime: 2.703 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 363 FrameTime: 2.755 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 357 FrameTime: 2.801 ms
                                  glmark2 Score: 350 - 2nd run right after the first run

[jfl@MNJROGTKPRO ~]$ glmark2-es2
    glmark2 2021.02
    OpenGL Information
    GL_VENDOR:     Panfrost
    GL_RENDERER:   Mali G52 (Panfrost)
    GL_VERSION:    OpenGL ES 3.0 Mesa 21.2.0-devel (git-17d7b0bb8f)
[build] use-vbo=false: FPS: 201 FrameTime: 4.975 ms
[build] use-vbo=true: FPS: 215 FrameTime: 4.651 ms
[texture] texture-filter=nearest: FPS: 210 FrameTime: 4.762 ms
[texture] texture-filter=linear: FPS: 211 FrameTime: 4.739 ms
[texture] texture-filter=mipmap: FPS: 212 FrameTime: 4.717 ms
[shading] shading=gouraud: FPS: 211 FrameTime: 4.739 ms
[shading] shading=blinn-phong-inf: FPS: 209 FrameTime: 4.785 ms
[shading] shading=phong: FPS: 206 FrameTime: 4.854 ms
[shading] shading=cel: FPS: 210 FrameTime: 4.762 ms
[bump] bump-render=high-poly: FPS: 121 FrameTime: 8.264 ms
[bump] bump-render=normals: FPS: 209 FrameTime: 4.785 ms
[bump] bump-render=height: FPS: 214 FrameTime: 4.673 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 208 FrameTime: 4.808 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 209 FrameTime: 4.785 ms
[pulsar] light=false:quads=5:texture=false: FPS: 209 FrameTime: 4.785 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 196 FrameTime: 5.102 ms
[desktop] effect=shadow:windows=4: FPS: 206 FrameTime: 4.854 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 156 FrameTime: 6.410 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 155 FrameTime: 6.452 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 161 FrameTime: 6.211 ms
[ideas] speed=duration: FPS: 187 FrameTime: 5.348 ms
[jellyfish] <default>: FPS: 192 FrameTime: 5.208 ms
[terrain] <default>: FPS: 31 FrameTime: 32.258 ms
[shadow] <default>: FPS: 174 FrameTime: 5.747 ms
[refract] <default>: FPS: 34 FrameTime: 29.412 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 205 FrameTime: 4.878 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 208 FrameTime: 4.808 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 210 FrameTime: 4.762 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 206 FrameTime: 4.854 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 207 FrameTime: 4.831 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 201 FrameTime: 4.975 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 192 FrameTime: 5.208 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 189 FrameTime: 5.291 ms
                                  glmark2 Score: 186 - 3rd run after 60 minutes of web surfing. Total uptime is ~90 minutes.

[jfl@MNJROGTKPRO ~]$ glmark2-es2
    glmark2 2021.02
    OpenGL Information
    GL_VENDOR:     Panfrost
    GL_RENDERER:   Mali G52 (Panfrost)
    GL_VERSION:    OpenGL ES 3.0 Mesa 21.2.0-devel (git-17d7b0bb8f)
[build] use-vbo=false: FPS: 122 FrameTime: 8.197 ms
[build] use-vbo=true: FPS: 145 FrameTime: 6.897 ms
[texture] texture-filter=nearest: FPS: 136 FrameTime: 7.353 ms
[texture] texture-filter=linear: FPS: 134 FrameTime: 7.463 ms
[texture] texture-filter=mipmap: FPS: 142 FrameTime: 7.042 ms
[shading] shading=gouraud: FPS: 131 FrameTime: 7.634 ms
[shading] shading=blinn-phong-inf: FPS: 130 FrameTime: 7.692 ms
[shading] shading=phong: FPS: 129 FrameTime: 7.752 ms
[shading] shading=cel: FPS: 127 FrameTime: 7.874 ms
[bump] bump-render=high-poly: FPS: 119 FrameTime: 8.403 ms
[bump] bump-render=normals: FPS: 144 FrameTime: 6.944 ms
[bump] bump-render=height: FPS: 140 FrameTime: 7.143 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 136 FrameTime: 7.353 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 137 FrameTime: 7.299 ms
[pulsar] light=false:quads=5:texture=false: FPS: 132 FrameTime: 7.576 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 136 FrameTime: 7.353 ms
[desktop] effect=shadow:windows=4: FPS: 129 FrameTime: 7.752 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 117 FrameTime: 8.547 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 115 FrameTime: 8.696 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 117 FrameTime: 8.547 ms
[ideas] speed=duration: FPS: 137 FrameTime: 7.299 ms
[jellyfish] <default>: FPS: 135 FrameTime: 7.407 ms
[terrain] <default>: FPS: 29 FrameTime: 34.483 ms
[shadow] <default>: FPS: 137 FrameTime: 7.299 ms
[refract] <default>: FPS: 33 FrameTime: 30.303 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 135 FrameTime: 7.407 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 134 FrameTime: 7.463 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 137 FrameTime: 7.299 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 136 FrameTime: 7.353 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 137 FrameTime: 7.299 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 138 FrameTime: 7.246 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 137 FrameTime: 7.299 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 138 FrameTime: 7.246 ms
                                  glmark2 Score: 126 - 4th run total uptime 190 minutes.

Are you shure that your box don’t has a thermal problem?
I did the glmark2-es several times and my monitoring is that the cpu-temperature raise up.
I would say it is worth to cool your box with an external fan and try it again.

And second: why do you install mesa-devel-git on stable?

Not good idea to stay on mesa-git for long time as with every update its not going to be a stable release.

Better to stay on stable mesa package.

Check thermals.

1 Like