awesome now installed by adding contrib. Ill install ubuntu-desktop and try again
Any plan for basic mainline linux support?
-
- Posts: 1355
- Joined: Tue Mar 29, 2016 1:22 pm
- languages_spoken: english
- ODROIDs: C2 N1 N2 N2+ H2 H2+ (64 bit ftw)
- Location: Australia
- Has thanked: 117 times
- Been thanked: 169 times
- Contact:
Re: Any plan for basic mainline linux support?
-
- Posts: 1355
- Joined: Tue Mar 29, 2016 1:22 pm
- languages_spoken: english
- ODROIDs: C2 N1 N2 N2+ H2 H2+ (64 bit ftw)
- Location: Australia
- Has thanked: 117 times
- Been thanked: 169 times
- Contact:
Re: Any plan for basic mainline linux support?
Ok with mutter it is now failing for missing "gbm_bo_create_with_modifiers". I also broke my installation trying to remove mali-bifrost-wayland-drivers to I could install compile dependencies for mutter. no commands would run were all complaining about missing libgbm1 share library. It can be a bit of a dependency nightmare trying to compile with mali binary packages conflicting.
- tobetter
- Posts: 7172
- Joined: Mon Feb 25, 2013 10:55 am
- languages_spoken: Korean, English
- ODROIDs: Many
- Location: Paju, South Korea
- Has thanked: 384 times
- Been thanked: 1052 times
- Contact:
Re: Any plan for basic mainline linux support?
Can you install another package libgbm1-compat which has the missing symbols of libgbm actually libmali from Amlogic. Installing the package will let you load /usr/lib/aarch64-linux-gnu/libgbm-compat.so whenever a command is invoked and it won't make the error.brad wrote: ↑Sat Dec 28, 2019 6:42 pmOk with mutter it is now failing for missing "gbm_bo_create_with_modifiers". I also broke my installation trying to remove mali-bifrost-wayland-drivers to I could install compile dependencies for mutter. no commands would run were all complaining about missing libgbm1 share library. It can be a bit of a dependency nightmare trying to compile with mali binary packages conflicting.
-
- Posts: 1355
- Joined: Tue Mar 29, 2016 1:22 pm
- languages_spoken: english
- ODROIDs: C2 N1 N2 N2+ H2 H2+ (64 bit ftw)
- Location: Australia
- Has thanked: 117 times
- Been thanked: 169 times
- Contact:
Re: Any plan for basic mainline linux support?
Unfortunately not, I've now rebooted and cannot get back in but will re-flash.tobetter wrote: ↑Sat Dec 28, 2019 7:02 pmCan you install another package libgbm1-compat which has the missing symbols of libgbm actually libmali from Amlogic. Installing the package will let you load /usr/lib/aarch64-linux-gnu/libgbm-compat.so whenever a command is invoked and it won't make the error.
-
- Posts: 1355
- Joined: Tue Mar 29, 2016 1:22 pm
- languages_spoken: english
- ODROIDs: C2 N1 N2 N2+ H2 H2+ (64 bit ftw)
- Location: Australia
- Has thanked: 117 times
- Been thanked: 169 times
- Contact:
Re: Any plan for basic mainline linux support?
I found some more info from mutter (strangely had to use valgrind to get them)
(mutter:1775): mutter-WARNING **: 03:24:13.948: Failed to initialize accelerated iGPU/dGPU framebuffer sharing: Missing OpenGL ES extensions: EGL_EXT_device_base
/usr/bin/Xwayland: symbol lookup error: /usr/bin/Xwayland: undefined symbol: gbm_bo_create_with_modifiers
(mutter:1775): mutter-WARNING **: 03:24:20.595: X Wayland crashed; exiting
When this happens gnome / kde falls back to x11 (non accelerated) using llvmpipe
Might be able to workaround gbm_bo_create_with_modifiers but not the missing EGL_EXT_device_base I suspect
I also triied using a rockchip libmali - libmali-rk-bifrost-g31-rxp0-x11-gbm_1.7-1_arm64 but the kernel driver is too new and I could not make older kernel driver work with 5.4
(mutter:1775): mutter-WARNING **: 03:24:13.948: Failed to initialize accelerated iGPU/dGPU framebuffer sharing: Missing OpenGL ES extensions: EGL_EXT_device_base
/usr/bin/Xwayland: symbol lookup error: /usr/bin/Xwayland: undefined symbol: gbm_bo_create_with_modifiers
(mutter:1775): mutter-WARNING **: 03:24:20.595: X Wayland crashed; exiting
When this happens gnome / kde falls back to x11 (non accelerated) using llvmpipe
Might be able to workaround gbm_bo_create_with_modifiers but not the missing EGL_EXT_device_base I suspect
I also triied using a rockchip libmali - libmali-rk-bifrost-g31-rxp0-x11-gbm_1.7-1_arm64 but the kernel driver is too new and I could not make older kernel driver work with 5.4
- tobetter
- Posts: 7172
- Joined: Mon Feb 25, 2013 10:55 am
- languages_spoken: Korean, English
- ODROIDs: Many
- Location: Paju, South Korea
- Has thanked: 384 times
- Been thanked: 1052 times
- Contact:
Re: Any plan for basic mainline linux support?
I've made kmscube and another example gbm_es2_demo, and now I am looking into weston why it does not show up the screen. Look like weston-5 is not working properly.brad wrote: ↑Sun Dec 29, 2019 2:44 pmI found some more info from mutter (strangely had to use valgrind to get them)
(mutter:1775): mutter-WARNING **: 03:24:13.948: Failed to initialize accelerated iGPU/dGPU framebuffer sharing: Missing OpenGL ES extensions: EGL_EXT_device_base
/usr/bin/Xwayland: symbol lookup error: /usr/bin/Xwayland: undefined symbol: gbm_bo_create_with_modifiers
(mutter:1775): mutter-WARNING **: 03:24:20.595: X Wayland crashed; exiting
When this happens gnome / kde falls back to x11 (non accelerated) using llvmpipe
Might be able to workaround gbm_bo_create_with_modifiers but not the missing EGL_EXT_device_base I suspect
I also triied using a rockchip libmali - libmali-rk-bifrost-g31-rxp0-x11-gbm_1.7-1_arm64 but the kernel driver is too new and I could not make older kernel driver work with 5.4
-
- Posts: 1355
- Joined: Tue Mar 29, 2016 1:22 pm
- languages_spoken: english
- ODROIDs: C2 N1 N2 N2+ H2 H2+ (64 bit ftw)
- Location: Australia
- Has thanked: 117 times
- Been thanked: 169 times
- Contact:
Re: Any plan for basic mainline linux support?
weston is overwriting useful error information but I managed to pull it
Code: Select all
==1424== Command: weston -B drm-backend.so
==1424==
Date: 2019-12-29 UTC
[08:18:09.713] weston 5.0.0
https://wayland.freedesktop.org
Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
Build: unknown (not built from git or tarball)
[08:18:09.829] Command line: weston -B drm-backend.so
[08:18:09.831] OS: Linux, 5.4.0-odroid-arm64, #1 SMP PREEMPT Ubuntu 5.4.6-201912241446~disco (2019-12-24), aarch64
[08:18:09.857] Starting with no config file.
[08:18:09.905] Output repaint window is 7 ms maximum.
[08:18:09.933] Loading module '/usr/lib/aarch64-linux-gnu/libweston-5/drm-backend.so'
[08:18:10.133] initializing drm backend
[08:18:10.719] logind: session control granted
[08:18:11.062] using /dev/dri/card0
[08:18:11.069] DRM: supports universal planes
[08:18:11.070] DRM: supports atomic modesetting
[08:18:11.071] DRM: supports picture aspect ratio
[08:18:11.072] Loading module '/usr/lib/aarch64-linux-gnu/libweston-5/gl-renderer.so'
MESA-LOADER: failed to open meson (search paths /usr/lib/aarch64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri)
failed to load driver: meson
[08:18:18.273] EGL client extensions: EGL_EXT_client_extensions
EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses
EGL_KHR_platform_gbm EGL_KHR_platform_wayland
EGL_EXT_platform_wayland
[08:18:18.292] warning: either no EGL_EXT_platform_base support or specific platform support; falling back to eglGetDisplay.
[08:18:18.298] failed to create display
[08:18:18.417] failed to initialize egl
[08:18:18.458] fatal: failed to create compositor backend
Does amlogic / arm have any other blobs for bifrost we can check?
- memeka
- Posts: 4420
- Joined: Mon May 20, 2013 10:22 am
- languages_spoken: english
- ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART - Has thanked: 2 times
- Been thanked: 60 times
- Contact:
Re: Any plan for basic mainline linux support?
In the log above, I think it’s using mesa/panfrost.
So make sure you have panfrost disabled in kernel config and also with ldd that it’s loading the correct libEGL files (links to libmali).
Also for missing gbm symbols, try winning Weston/mutter with
If you have more patience I’ll look into it in a week or so
So make sure you have panfrost disabled in kernel config and also with ldd that it’s loading the correct libEGL files (links to libmali).
Also for missing gbm symbols, try winning Weston/mutter with
LD_PRELOAD=/path/libgbm_compat.so weston_launch
.If you have more patience I’ll look into it in a week or so

Images: U2/U3 Trusty Dev Center | XU Trusty Dev Center | XU4 Hipster Stretchy Pants
Information: U2/U3 Dashboard | XU Dashboard
Say thank you with a beer
Information: U2/U3 Dashboard | XU Dashboard
Say thank you with a beer
-
- Posts: 1355
- Joined: Tue Mar 29, 2016 1:22 pm
- languages_spoken: english
- ODROIDs: C2 N1 N2 N2+ H2 H2+ (64 bit ftw)
- Location: Australia
- Has thanked: 117 times
- Been thanked: 169 times
- Contact:
Re: Any plan for basic mainline linux support?
panfrost is a module but was not being loaded so I think that is ok. Also it was using the libMali.so drivers. weston runs in software mode when I give it a --use-pixmanmemeka wrote: ↑Sun Dec 29, 2019 8:28 pmIn the log above, I think it’s using mesa/panfrost.
So make sure you have panfrost disabled in kernel config and also with ldd that it’s loading the correct libEGL files (links to libmali).
Also for missing gbm symbols, try winning Weston/mutter withLD_PRELOAD=/path/libgbm_compat.so weston_launch
.
If you have more patience I’ll look into it in a week or so![]()
For interests sake I did try panfrost not expecting much and weston looks like this, seems to be missing the support as expected for bifrost and trying to fall back to software so will have to wait some more for this.
Code: Select all
==1166== Command: weston -B drm-backend.so
==1166==
Date: 2019-12-29 UTC
[10:52:14.606] weston 5.0.0
https://wayland.freedesktop.org
Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
Build: unknown (not built from git or tarball)
[10:52:14.695] Command line: weston -B drm-backend.so
[10:52:14.697] OS: Linux, 5.4.0-odroid-arm64, #1 SMP PREEMPT Ubuntu 5.4.6-201912241446~disco (2019-12-24), aarch64
[10:52:14.718] Starting with no config file.
[10:52:14.757] Output repaint window is 7 ms maximum.
[10:52:14.780] Loading module '/usr/lib/aarch64-linux-gnu/libweston-5/drm-backend.so'
[10:52:14.975] initializing drm backend
[10:52:15.455] logind: session control granted
[10:52:15.732] using /dev/dri/card0
[10:52:15.736] DRM: supports universal planes
[10:52:15.737] DRM: supports atomic modesetting
[10:52:15.738] DRM: supports picture aspect ratio
[10:52:15.739] Loading module '/usr/lib/aarch64-linux-gnu/libweston-5/gl-renderer.so'
MESA-LOADER: failed to open kms_swrast (search paths /usr/local/lib/aarch64-linux-gnu/dri)
failed to load driver: kms_swrast
[10:52:20.330] EGL client extensions: EGL_EXT_client_extensions
EGL_EXT_device_base EGL_EXT_device_enumeration
EGL_EXT_device_query EGL_EXT_platform_base
EGL_KHR_client_get_all_proc_addresses EGL_KHR_debug
EGL_EXT_platform_wayland EGL_EXT_platform_x11
EGL_MESA_platform_gbm EGL_MESA_platform_surfaceless
EGL_EXT_platform_device
libEGL warning: did not find extension DRI_DRI2 version 2
[10:52:20.384] failed to initialize display
[10:52:20.386] EGL error state: EGL_NOT_INITIALIZED (0x3001)
[10:52:20.454] failed to initialize egl
[10:52:20.489] fatal: failed to create compositor backend
- tobetter
- Posts: 7172
- Joined: Mon Feb 25, 2013 10:55 am
- languages_spoken: Korean, English
- ODROIDs: Many
- Location: Paju, South Korea
- Has thanked: 384 times
- Been thanked: 1052 times
- Contact:
Re: Any plan for basic mainline linux support?
I've updated my repository to run Weston and glmark2-es2-wayland on Disco. For some reason, I had to do some trick with libgbm1-compat package as well as the Weston has to apply one patch on top of 5.0.0-3. After these updates, I am also able to run kmscube and gbm_es2_demo.
I've uploaded the patch to my git as well.
https://github.com/tobetter/weston/tree ... on-5.0.0-3
https://github.com/tobetter/gbm_es2_demo
This is the commands to install necessary components what I tested on the Ubuntu Disco minimal image.
You should be able to check if packages are properly updated.
I've uploaded the patch to my git as well.
https://github.com/tobetter/weston/tree ... on-5.0.0-3
https://github.com/tobetter/gbm_es2_demo
This is the commands to install necessary components what I tested on the Ubuntu Disco minimal image.
Code: Select all
sudo apt update
sudo apt install -y linux-headers-$(uname -r)
sudo apt install -y mali-bifrost-wayland-driver mali-bifrost-dkms
sudo apt install -y libgbm-dev libgbm1-compat
sudo reboot
sudo apt install -y weston glmark2-es2-wayland
Code: Select all
$ lsmod | grep mali
mali_kbase 450560 3
Code: Select all
$ uname -a
Linux disco-minimal 5.4.0-odroid-arm64 #1 SMP PREEMPT Ubuntu 5.4.6-201912241446~disco (2019-12-24) aarch64 aarch64 aarch64 GNU/Linux
$ dpkg -l | grep weston
ii libweston-5-0 5:5.0.0-3+201912292123~disco arm64 reference implementation of a wayland compositor (shared libs)
ii weston 5:5.0.0-3+201912292123~disco arm64 reference implementation of a wayland compositor
Code: Select all
$ dpkg -S /usr/lib/aarch64-linux-gnu/libgbm*
libgbm-dev:arm64: /usr/lib/aarch64-linux-gnu/libgbm.so
libgbm1:arm64: /usr/lib/aarch64-linux-gnu/libgbm.so.1
libgbm1:arm64: /usr/lib/aarch64-linux-gnu/libgbm.so.1.0.0
Code: Select all
$ dpkg -S /usr/lib/aarch64-linux-gnu/lib*GL*
mali-bifrost-wayland-driver:arm64: /usr/lib/aarch64-linux-gnu/libEGL.so
mali-bifrost-wayland-driver:arm64: /usr/lib/aarch64-linux-gnu/libEGL.so.1
mali-bifrost-wayland-driver:arm64: /usr/lib/aarch64-linux-gnu/libEGL.so.1.1.0
mali-bifrost-wayland-driver:arm64: /usr/lib/aarch64-linux-gnu/libGLESv1_CM.so
mali-bifrost-wayland-driver:arm64: /usr/lib/aarch64-linux-gnu/libGLESv1_CM.so.1
mali-bifrost-wayland-driver:arm64: /usr/lib/aarch64-linux-gnu/libGLESv2.so
mali-bifrost-wayland-driver:arm64: /usr/lib/aarch64-linux-gnu/libGLESv2.so.2
mali-bifrost-wayland-driver:arm64: /usr/lib/aarch64-linux-gnu/libGLESv2.so.2.1.0
Last edited by tobetter on Mon Dec 30, 2019 8:49 am, edited 1 time in total.
-
- Posts: 1355
- Joined: Tue Mar 29, 2016 1:22 pm
- languages_spoken: english
- ODROIDs: C2 N1 N2 N2+ H2 H2+ (64 bit ftw)
- Location: Australia
- Has thanked: 117 times
- Been thanked: 169 times
- Contact:
Re: Any plan for basic mainline linux support?
@tobetter very nice
I can try to test some more tomorrow.
Edit: I could not wait gnome is now working on wayland
Performance is a little laggy at times but I feel this is in the kernel rather than gpu. Thank you for your hard work
I am seeing this in dmesg which may be related
Another small issue I have is that usb devices are not detected sometimes, I have to unplug and plug back in a few times to get them to work.
I could not get kde to start will look at this some more tomorrow
For fun here is a screenshot from gnome on wayland

Edit: I could not wait gnome is now working on wayland

I am seeing this in dmesg which may be related
Code: Select all
[ 162.247965] meson_clk_pll_set_rate: pll did not lock, trying to restore old rate 3792000000
[ 177.527644] meson_clk_pll_set_rate: pll did not lock, trying to restore old rate 3792000000
[ 256.389379] broken atomic modeset userspace detected, disabling atomic
[ 286.539776] broken atomic modeset userspace detected, disabling atomic
[ 369.935761] meson_clk_pll_set_rate: pll did not lock, trying to restore old rate 3216000000
[ 509.203993] meson_clk_pll_set_rate: pll did not lock, trying to restore old rate 3408000000
[ 565.235194] meson_clk_pll_set_rate: pll did not lock, trying to restore old rate 3216000000
[ 992.980580] meson_clk_pll_set_rate: pll did not lock, trying to restore old rate 3216000000
[ 1082.701837] hrtimer: interrupt took 13832358 ns
I could not get kde to start will look at this some more tomorrow
For fun here is a screenshot from gnome on wayland
- tobetter
- Posts: 7172
- Joined: Mon Feb 25, 2013 10:55 am
- languages_spoken: Korean, English
- ODROIDs: Many
- Location: Paju, South Korea
- Has thanked: 384 times
- Been thanked: 1052 times
- Contact:
Re: Any plan for basic mainline linux support?
@brad, you are ahead of me. I was about to post the same and wanted to make sure it really is working on Wayland. Actually, I am building a complete Gnome Desktop image with my changes, it will take some time. Let me do the same with the fresh image and will upload to my repository.
I think N2 mainline kernel debugging party could be started in a good shape for 2020.
Thank you, and big thank you @memeka and @Neil Armstrong.
I think N2 mainline kernel debugging party could be started in a good shape for 2020.

Thank you, and big thank you @memeka and @Neil Armstrong.
-
- Posts: 245
- Joined: Mon Sep 02, 2019 2:33 am
- languages_spoken: english
- ODROIDs: odroid-n2
- Has thanked: 73 times
- Been thanked: 26 times
- Contact:
Re: Any plan for basic mainline linux support?
Thanks a lot. I'm looking forward to test It.tobetter wrote:@brad, you are ahead of me. I was about to post the same and wanted to make sure it really is working on Wayland. Actually, I am building a complete Gnome Desktop image with my changes, it will take some time. Let me do the same with the fresh image and will upload to my repository.
I think N2 mainline kernel debugging party could be started in a good shape for 2020.![]()
Thank you, and big thank you @memeka and @Neil Armstrong.
Inviato dal mio GM1913 utilizzando Tapatalk
-
- Posts: 1355
- Joined: Tue Mar 29, 2016 1:22 pm
- languages_spoken: english
- ODROIDs: C2 N1 N2 N2+ H2 H2+ (64 bit ftw)
- Location: Australia
- Has thanked: 117 times
- Been thanked: 169 times
- Contact:
Re: Any plan for basic mainline linux support?
I think so

Can you suggest how I can download your 5.4.0 kernel source package onto the system? I have a few things I would like to try
- enable some debug and kernel latency tracking (kworker event per cpu seems to be causing some small stalls & usb debug)
- Add a new kernel package with realtime patches applied
Thanks Brad.
- tobetter
- Posts: 7172
- Joined: Mon Feb 25, 2013 10:55 am
- languages_spoken: Korean, English
- ODROIDs: Many
- Location: Paju, South Korea
- Has thanked: 384 times
- Been thanked: 1052 times
- Contact:
Re: Any plan for basic mainline linux support?
My 5.4 kernel is built with this branch, I am not building the source package as of now.brad wrote: ↑Mon Dec 30, 2019 10:50 amI think so![]()
Can you suggest how I can download your 5.4.0 kernel source package onto the system? I have a few things I would like to try
- enable some debug and kernel latency tracking (kworker event per cpu seems to be causing some small stalls & usb debug)
- Add a new kernel package with realtime patches applied
Thanks Brad.
https://github.com/tobetter/linux/tree/stable-v5.4
Your patches are always welcome.

-
- Posts: 1851
- Joined: Tue Sep 01, 2015 8:54 am
- languages_spoken: english
- ODROIDs: XU4, N1, N2, C4, N2+, HC4
- Has thanked: 59 times
- Been thanked: 132 times
- Contact:
Re: Any plan for basic mainline linux support?
Maybe pinning it to a big core, smp_affinity_list, or the minimum clock frequency 100Mhz to 667Mhz patch.
So many things to test on wayland; vpu, gl4es, GLESv2-QT5.
- tobetter
- Posts: 7172
- Joined: Mon Feb 25, 2013 10:55 am
- languages_spoken: Korean, English
- ODROIDs: Many
- Location: Paju, South Korea
- Has thanked: 384 times
- Been thanked: 1052 times
- Contact:
Re: Any plan for basic mainline linux support?
I've failed to build a bootable Ubuntu Disco image that Gnom Session does not come on booting, I have not figured out yet. If any of you want to try Ubuntu Disco, please use the Ubuntu Disco Minimal image or Ubuntu Netboot installer.
http://ppa.linuxfactory.or.kr/installer ... etinst.img
viewtopic.php?f=182&t=37109
In order to install the Wayland userspace driver, I've made mali-bifrost-wayland-driver to install other packages except for Linux kernel header package so the command is like this.
Using the Netboot installer, the default installed kernel version is 4.9 but you can switch to 5.4.6 with a couple of commands.
http://ppa.linuxfactory.or.kr/installer ... etinst.img
viewtopic.php?f=182&t=37109
In order to install the Wayland userspace driver, I've made mali-bifrost-wayland-driver to install other packages except for Linux kernel header package so the command is like this.
Code: Select all
sudo apt update
sudo apt install -y linux-headers-$(uname -r)
sudo apt install -y mali-bifrost-wayland-driver
sudo reboot
Code: Select all
$ sudo apt update
$ sudo apt install linux-image-odroid-generic linux-headers-odroid-generic
$ sudo reboot
-
- Posts: 1355
- Joined: Tue Mar 29, 2016 1:22 pm
- languages_spoken: english
- ODROIDs: C2 N1 N2 N2+ H2 H2+ (64 bit ftw)
- Location: Australia
- Has thanked: 117 times
- Been thanked: 169 times
- Contact:
Re: Any plan for basic mainline linux support?
If anyone is playing with tobetter's minimal image here is some more info for installing gnome and wayland
As per tobetter's instructions install the kernel and userspace mali drivers
NOTE: Edit the file "/etc/apt/sources.list.d/ppa-linuxfactory-or-kr.list" and add the word contrib to the end of the lines like this to install mali
Now you can install gnome with the following packages
- ubuntu-desktop is full install you can use ubuntu-desktop-minimal instead if you don't want it all or short on space
- gnome-session-wayland will enable the wayland backend. It will also enable you to use the ''cog" icon on the login screen to select wayland versions. You can use Ubuntu or GNOME (they are both gnome but different look/ feel)
- xwayland will provide the ability to run X11 applications on top of the wayland backend - it works well
- weston - another wayland desktop manager helpful for testing basic functions with egl backend
- glmark2-es2-wayland - you can use this to confirm that egl is working once logged into gnome
You should add your user to the following groups
- video allows the user to access the card0 and fb0 devices which is needed for EGL support
- tty is nice to have if you want to ensure your user can access all the tty consoles if running egl from non desktop environment
- audio allows access to alsa sound pcm interfaces although its not working out of box yet for HDMI (I have been able to get audio over HDMI working via alsa but been a manual process configuring sources, sinks etc and will often cause my machine to crash)
You can now reboot and should see a gdm login on boot
Im also a big fan of kde/ plasma desktop but unable to get it to work when I installed it, when I start in manually in wayland mode it causes all my tty's to go blank, something going on with DRM here so I will try again another time.
For Gnome Firefox and Chromium run in X11 mode (ie they use xwayland which is an interface to allow X11 to run on top of wayland). It works relatively well even for video although not 100%. At 1080p both chrome and firefox can display video quiet well and sit on a steady load of around 4. The xwayland process converting to wayland uses minimal CPU. I could even watch 4K quality video in chrome (although I only have a 1080p display)
Firefox can be started in wayland mode and shows all the arm mali extensions but it says the GPU is only using llvmpipe and that acceleration is disabled by vendor. In this mode xwayland is not used and response is a little better with native wayland backend. Video quality is a little better and load a tiny bit lower.
To start firefox in this mode do the following from command line
Chromium does not support wayland with the ubuntu release and there are no nightly builds from Mozilla for arm64 on Linux. I might try to compile from source at some stage. I did try to install the amlogic version binary of chromium (https://dn.odroid.com/S922X/ODROID-N2/Wayland/) but missing libraries were needed (I think it was libamcodec.so)
Im trying to work on alsa and pulse audio config at the moment to get HDMI audio working with a default configuration, its a bit buggy and causes my machine to freeze at times so it a bit of trial and error.
I had some issues with USB devices intermittently not connecting on boot and having to unplug and re plug to get them to work. I enable debug in the kernel but since then the problem no longer occurs so im still waiting to reproduce this.
The machine seems a bit laggy at times which appears to be inside the kernel (when I say laggy I mean mouse movement, some very small freeze in video, etc) and it appears to be related to the kernel (kworker processes). I did some initial tracing and looks to be related to the emmc card IRQ but im still unsure at the moment need to recompile with more debug and tracing. Ive lost my UART serial adaptor so im struggling to see debug messaging on the console so will have a good look for it tomorrow.
Happy new year all! Hope you all stay safe and see you next year. (Well its already 2020 here in Australia) : )
As per tobetter's instructions install the kernel and userspace mali drivers
NOTE: Edit the file "/etc/apt/sources.list.d/ppa-linuxfactory-or-kr.list" and add the word contrib to the end of the lines like this to install mali
Code: Select all
deb http://ppa.linuxfactory.or.kr disco main non-free contrib
deb-src http://ppa.linuxfactory.or.kr disco main non-free contrib
Code: Select all
sudo apt update
sudo apt install -y linux-headers-$(uname -r)
sudo apt install -y mali-bifrost-wayland-driver
sudo reboot
Code: Select all
sudo apt-get install ubuntu-desktop gnome-session-wayland xwayland weston glmark2-es2-wayland
- gnome-session-wayland will enable the wayland backend. It will also enable you to use the ''cog" icon on the login screen to select wayland versions. You can use Ubuntu or GNOME (they are both gnome but different look/ feel)
- xwayland will provide the ability to run X11 applications on top of the wayland backend - it works well
- weston - another wayland desktop manager helpful for testing basic functions with egl backend
- glmark2-es2-wayland - you can use this to confirm that egl is working once logged into gnome
You should add your user to the following groups
Code: Select all
$ usermod -aG video odroid
$ usermod -aG tty odroid
$ usermod -aG audio odroid
- tty is nice to have if you want to ensure your user can access all the tty consoles if running egl from non desktop environment
- audio allows access to alsa sound pcm interfaces although its not working out of box yet for HDMI (I have been able to get audio over HDMI working via alsa but been a manual process configuring sources, sinks etc and will often cause my machine to crash)
You can now reboot and should see a gdm login on boot
Code: Select all
$ sudo reboot
For Gnome Firefox and Chromium run in X11 mode (ie they use xwayland which is an interface to allow X11 to run on top of wayland). It works relatively well even for video although not 100%. At 1080p both chrome and firefox can display video quiet well and sit on a steady load of around 4. The xwayland process converting to wayland uses minimal CPU. I could even watch 4K quality video in chrome (although I only have a 1080p display)
Firefox can be started in wayland mode and shows all the arm mali extensions but it says the GPU is only using llvmpipe and that acceleration is disabled by vendor. In this mode xwayland is not used and response is a little better with native wayland backend. Video quality is a little better and load a tiny bit lower.
To start firefox in this mode do the following from command line
Code: Select all
$ export MOZ_ENABLE_WAYLAND=1;
$ firefox
Im trying to work on alsa and pulse audio config at the moment to get HDMI audio working with a default configuration, its a bit buggy and causes my machine to freeze at times so it a bit of trial and error.
I had some issues with USB devices intermittently not connecting on boot and having to unplug and re plug to get them to work. I enable debug in the kernel but since then the problem no longer occurs so im still waiting to reproduce this.
The machine seems a bit laggy at times which appears to be inside the kernel (when I say laggy I mean mouse movement, some very small freeze in video, etc) and it appears to be related to the kernel (kworker processes). I did some initial tracing and looks to be related to the emmc card IRQ but im still unsure at the moment need to recompile with more debug and tracing. Ive lost my UART serial adaptor so im struggling to see debug messaging on the console so will have a good look for it tomorrow.
Happy new year all! Hope you all stay safe and see you next year. (Well its already 2020 here in Australia) : )
Last edited by brad on Thu Jan 02, 2020 11:58 am, edited 2 times in total.
-
- Posts: 67
- Joined: Mon Aug 12, 2019 12:27 pm
- languages_spoken: english
- Has thanked: 0
- Been thanked: 74 times
- Contact:
Re: Any plan for basic mainline linux support?
@brad have a look at my linux/amlogic-5.5-integ and LE/amlogic-master branch for audio patches, mixer settings and alsa conf .. all working for PCM output AFAICT.
-
- Posts: 245
- Joined: Mon Sep 02, 2019 2:33 am
- languages_spoken: english
- ODROIDs: odroid-n2
- Has thanked: 73 times
- Been thanked: 26 times
- Contact:
Re: Any plan for basic mainline linux support?
I can't install the wayland driver on disco minimal:tobetter wrote: ↑Tue Dec 31, 2019 3:08 amI've failed to build a bootable Ubuntu Disco image that Gnom Session does not come on booting, I have not figured out yet. If any of you want to try Ubuntu Disco, please use the Ubuntu Disco Minimal image or Ubuntu Netboot installer.
http://ppa.linuxfactory.or.kr/installer ... etinst.img
viewtopic.php?f=182&t=37109
In order to install the Wayland userspace driver, I've made mali-bifrost-wayland-driver to install other packages except for Linux kernel header package so the command is like this.Using the Netboot installer, the default installed kernel version is 4.9 but you can switch to 5.4.6 with a couple of commands.Code: Select all
sudo apt update sudo apt install -y linux-headers-$(uname -r) sudo apt install -y mali-bifrost-wayland-driver sudo reboot
Code: Select all
$ sudo apt update $ sudo apt install linux-image-odroid-generic linux-headers-odroid-generic $ sudo reboot
Code: Select all
odroid@disco-minimal:~$ sudo apt install -y mali-bifrost-wayland-driver
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
mali-bifrost-wayland-driver : Depends: mali-bifrost-dkms but it is not installable
E: Unable to correct problems, you have held broken packages.
-
- Posts: 245
- Joined: Mon Sep 02, 2019 2:33 am
- languages_spoken: english
- ODROIDs: odroid-n2
- Has thanked: 73 times
- Been thanked: 26 times
- Contact:
Re: Any plan for basic mainline linux support?
Sorry, I missed a previous tobetter's post about his "contrib" repository.
-
- Posts: 245
- Joined: Mon Sep 02, 2019 2:33 am
- languages_spoken: english
- ODROIDs: odroid-n2
- Has thanked: 73 times
- Been thanked: 26 times
- Contact:
Re: Any plan for basic mainline linux support?
Thanks Brad. I'm posting from firefox under gnome-wayland.
Some bugs:
glmark2-es2-wayland crashed with segmentation fault
Firefox runs fine but I have some rendering error. For example this site is displayed in pink.
Some bugs:
glmark2-es2-wayland crashed with segmentation fault
Firefox runs fine but I have some rendering error. For example this site is displayed in pink.
-
- Posts: 1355
- Joined: Tue Mar 29, 2016 1:22 pm
- languages_spoken: english
- ODROIDs: C2 N1 N2 N2+ H2 H2+ (64 bit ftw)
- Location: Australia
- Has thanked: 117 times
- Been thanked: 169 times
- Contact:
Re: Any plan for basic mainline linux support?
I added a quick note about the contrib missing from the sources list.
Interesting I haven't seen any rendering issues myself like that, I wonder if its a one off thing and reboot would fix issue or its related to something else. I see the segmentation fault at the end of glmark2-es2-wayland as well. Did it display the test on your screen first?
Thanks to @chewitt for the alsa config exactly what I was after, I need to add some pactches to the kernel now to see if I can get that part working.
I force enabled GPU acceleration in Firefox wayland mode but it starts as a black screen so need to look further at that also and try out chromium some more.
I also see Neil Armstrong is posting HEVC and VP9 decoding support patches in the mailing list but unsure if we will be able to get this working without panfrost.
-
- Posts: 245
- Joined: Mon Sep 02, 2019 2:33 am
- languages_spoken: english
- ODROIDs: odroid-n2
- Has thanked: 73 times
- Been thanked: 26 times
- Contact:
Re: Any plan for basic mainline linux support?
Glmark2 displayed the Windows test and crashed at the end After displayng the result value (which is way lower than the One achieved in a simply Weston environment).
Rebooting the n2 solved the Firefox rendering issue.
Thanks for your effort.
Inviato dal mio iPad utilizzando Tapatalk
Rebooting the n2 solved the Firefox rendering issue.
Thanks for your effort.
Inviato dal mio iPad utilizzando Tapatalk
-
- Posts: 28
- Joined: Sat Jun 22, 2019 10:53 pm
- languages_spoken: english,german,italian
- ODROIDs: N2
- Has thanked: 1 time
- Been thanked: 2 times
- Contact:
Re: Any plan for basic mainline linux support?
uboot has no problems reading and manipulating mainline dtb apparently:
Code: Select all
odroidn2#fatload mmc 1:1 0x1000000 n2.dtb
reading n2.dtb
46757 bytes read in 10 ms (4.5 MiB/s)
odroidn2#fdt addr 0x1000000
odroidn2#fdt list
/ {
interrupt-parent = <0x00000001>;
#address-cells = <0x00000002>;
#size-cells = <0x00000002>;
compatible = "hardkernel,odroid-n2", "amlogic,s922x", "amlogic,g12b";
model = "Hardkernel ODROID-N2";
chosen {
};
efuse {
};
psci {
};
reserved-memory {
};
secure-monitor {
};
soc {
};
timer {
};
xtal-clk {
};
audio-controller-0 {
};
audio-controller-1 {
};
audio-controller-2 {
};
cpus {
};
opp-table-0 {
};
opp-table-1 {
};
aliases {
};
memory@0 {
};
emmc-pwrseq {
};
leds {
};
regulator-tflash_vdd {
};
gpio-regulator-tf_io {
};
regulator-flash_1v8 {
};
regulator-main_12v {
};
regulator-vcc_5v {
};
regulator-vcc_1v8 {
};
regulator-vcc_3v3 {
};
regulator-vddcpu-a {
};
regulator-vddcpu-b {
};
regulator-hub_5v {
};
regulator-usb_pwr_en {
};
regulator-vddao_1v8 {
};
regulator-vddao_3v3 {
};
hdmi-connector {
};
sound {
};
};
odroidn2#
-
- Posts: 1355
- Joined: Tue Mar 29, 2016 1:22 pm
- languages_spoken: english
- ODROIDs: C2 N1 N2 N2+ H2 H2+ (64 bit ftw)
- Location: Australia
- Has thanked: 117 times
- Been thanked: 169 times
- Contact:
Re: Any plan for basic mainline linux support?
I must have been wrong, I recall I had issues when I first got my N2 trying with kernel 5.1 but looks like I was on the wrong path with the error messages viewtopic.php?f=176&t=33993#p250058
-
- Posts: 28
- Joined: Sat Jun 22, 2019 10:53 pm
- languages_spoken: english,german,italian
- ODROIDs: N2
- Has thanked: 1 time
- Been thanked: 2 times
- Contact:
Re: Any plan for basic mainline linux support?
Maybe there was really a problem with the dtb, who knows .... I hooked the serial yesterday because I could not boot after installing kernel 5.4.7 to the sd card, it turned out that I probably typed shutdown too soon and the sd card was completely destroyed
even the partitions were missing.
Also it happened to me as well that after the uboot boot(x) command fails and control returns to uboot, it gives out those messages about the dtb, however without a fdt addr command uboot doesn't know that what you loaded was a dtb. And that is probably why odroid uses the fdt addr command, if the boot fails the operator at the console can fix the dtb.
The errors about a dtbo partition not found are probably because it looks for a dtb.img packed with mkdtimg: https://source.android.com/devices/arch ... partitions
Once upon a time libreelec was shipping a regular dtb renamed to dtb.img but apparently that is not the correct way. At the next kernel update snafu I will try with a dtb.img correctly formatted

Also it happened to me as well that after the uboot boot(x) command fails and control returns to uboot, it gives out those messages about the dtb, however without a fdt addr command uboot doesn't know that what you loaded was a dtb. And that is probably why odroid uses the fdt addr command, if the boot fails the operator at the console can fix the dtb.
The errors about a dtbo partition not found are probably because it looks for a dtb.img packed with mkdtimg: https://source.android.com/devices/arch ... partitions
Once upon a time libreelec was shipping a regular dtb renamed to dtb.img but apparently that is not the correct way. At the next kernel update snafu I will try with a dtb.img correctly formatted

-
- Posts: 28
- Joined: Sat Jun 22, 2019 10:53 pm
- languages_spoken: english,german,italian
- ODROIDs: N2
- Has thanked: 1 time
- Been thanked: 2 times
- Contact:
Re: Any plan for basic mainline linux support?
Did Anyone notice this message with kernel 5.5?
[ 0.112815] ARM_SMCCC_ARCH_WORKAROUND_1 missing from firmware
https://lore.kernel.org/linux-arm-kerne ... ation.org/
[ 0.112815] ARM_SMCCC_ARCH_WORKAROUND_1 missing from firmware
https://lore.kernel.org/linux-arm-kerne ... ation.org/
It's me missing some updates or the firmware or what?We currently have a list of CPUs affected by Spectre-v2, for which
we check that the firmware implements ARCH_WORKAROUND_1. It turns
out that not all firmwares do implement the required mitigation,
and that we fail to let the user know about it.
Instead, let's slightly revamp our checks, and rely on a whitelist
of cores that are known to be non-vulnerable, and let the user know
the status of the mitigation in the kernel log.
-
- Posts: 1355
- Joined: Tue Mar 29, 2016 1:22 pm
- languages_spoken: english
- ODROIDs: C2 N1 N2 N2+ H2 H2+ (64 bit ftw)
- Location: Australia
- Has thanked: 117 times
- Been thanked: 169 times
- Contact:
Re: Any plan for basic mainline linux support?
I think you are on to something here I need to look further and the minimum clock frequency patch, when I completely disable DVFS user experiance is much better (no more mouse laging etc) even though the cpu cores are running at a limited speed.
With DVFS enabled I did some latency tracing and I found some very large latencies performing hard irq operations when it was switching frequencies, especially during disk writes to the emmc (using irq 16 for the emmc).
I might ask Neil for more information on this as the latencies seem to be occuring from the gic interupt driver combined with core frequency changes and monitoring.
-
- Posts: 1851
- Joined: Tue Sep 01, 2015 8:54 am
- languages_spoken: english
- ODROIDs: XU4, N1, N2, C4, N2+, HC4
- Has thanked: 59 times
- Been thanked: 132 times
- Contact:
Re: Any plan for basic mainline linux support?
Last edited by elatllat on Mon Jan 06, 2020 8:27 pm, edited 1 time in total.
- These users thanked the author elatllat for the post:
- istanbulls (Mon Jan 06, 2020 2:33 am)
-
- Posts: 1355
- Joined: Tue Mar 29, 2016 1:22 pm
- languages_spoken: english
- ODROIDs: C2 N1 N2 N2+ H2 H2+ (64 bit ftw)
- Location: Australia
- Has thanked: 117 times
- Been thanked: 169 times
- Contact:
Re: Any plan for basic mainline linux support?
So this ended up due to me not setting the governor to performance. Now with DVFS enabled and performance governor set the lag is gone.brad wrote: ↑Fri Jan 03, 2020 11:31 amI think you are on to something here I need to look further and the minimum clock frequency patch, when I completely disable DVFS user experiance is much better (no more mouse laging etc) even though the cpu cores are running at a limited speed.
With DVFS enabled I did some latency tracing and I found some very large latencies performing hard irq operations when it was switching frequencies, especially during disk writes to the emmc (using irq 16 for the emmc).
I might ask Neil for more information on this as the latencies seem to be occuring from the gic interupt driver combined with core frequency changes and monitoring.
Realtime dev kernel also boots fine with the 5.4.6-rt3 patches applied on tobetter's kernel and configured in PREEMT_RT mode. (Still trying to package it up into Ubuntu debs properly)
Code: Select all
root@disco-minimal:/home/odroid# uname -a
Linux disco-minimal 5.4.6-rt3rt-arm64-gb6720efa3-dirty #1 SMP PREEMPT_RT Fri Jan 3 03:34:28 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux
I still haven't played with the onboard audio / hdmi audio again but will try this soon
- odroid
- Site Admin
- Posts: 36468
- Joined: Fri Feb 22, 2013 11:14 pm
- languages_spoken: English, Korean
- ODROIDs: ODROID
- Has thanked: 1451 times
- Been thanked: 990 times
- Contact:
Re: Any plan for basic mainline linux support?
Can you guys please run a simple 7-zip benchmark on Kernel 5.4.x for comparison?
My N2 runs Kernel 4.9.196 with performance governor and my score is around 8,100 as expected. Note that XU4 was around 7,000 and C2 was around 4,000.
My N2 runs Kernel 4.9.196 with performance governor and my score is around 8,100 as expected. Note that XU4 was around 7,000 and C2 was around 4,000.
Code: Select all
root@odroid:~# 7z b -mmt 1
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=C,Utf16=off,HugeFiles=on,64 bits,6 CPUs LE)
LE
CPU Freq: 1839 1797 1798 1798 1797 1798 1797 1798 1797
RAM size: 3712 MB, # CPU hardware threads: 6
RAM usage: 1323 MB, # Benchmark threads: 6
Compressing | Decompressing
Dict Speed Usage R/U Rating | Speed Usage R/U Rating
KiB/s % MIPS MIPS | KiB/s % MIPS MIPS
22: 6068 538 1097 5903 | 120368 545 1884 10265
23: 5973 552 1102 6086 | 117622 545 1868 10178
24: 5777 562 1104 6212 | 114178 542 1849 10022
25: 5651 574 1124 6453 | 110612 542 1816 9844
---------------------------------- | ------------------------------
Avr: 557 1107 6164 | 543 1854 10077
Tot: 550 1481 8120
-
- Posts: 1851
- Joined: Tue Sep 01, 2015 8:54 am
- languages_spoken: english
- ODROIDs: XU4, N1, N2, C4, N2+, HC4
- Has thanked: 59 times
- Been thanked: 132 times
- Contact:
Re: Any plan for basic mainline linux support?
Code: Select all
N2> 7z b -mmt 1
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,6 CPUs LE)
LE
CPU Freq: 1889 1892 1892 1892 1892 1892 1892 1892 1892
RAM size: 3743 MB, # CPU hardware threads: 6
RAM usage: 1323 MB, # Benchmark threads: 6
Compressing | Decompressing
Dict Speed Usage R/U Rating | Speed Usage R/U Rating
KiB/s % MIPS MIPS | KiB/s % MIPS MIPS
22: 4338 461 916 4220 | 78068 525 1268 6658
23: 4255 464 933 4335 | 81494 531 1327 7052
24: 4207 480 942 4524 | 79413 527 1324 6970
25: 4136 497 950 4722 | 77886 533 1301 6931
---------------------------------- | ------------------------------
Avr: 476 935 4450 | 529 1305 6903
Tot: 502 1120 5677
N2> uname -r
5.4.8-dirty
N2> grep . /sys/devices/system/cpu/cpu?/cpufreq/scaling_governor
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor:ondemand
/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor:ondemand
Last edited by elatllat on Wed Jan 08, 2020 10:09 am, edited 1 time in total.
- odroid
- Site Admin
- Posts: 36468
- Joined: Fri Feb 22, 2013 11:14 pm
- languages_spoken: English, Korean
- ODROIDs: ODROID
- Has thanked: 1451 times
- Been thanked: 990 times
- Contact:
Re: Any plan for basic mainline linux support?
Thank you for the test result. It seems to be around 30% slower than stock Kernel 4.9. 
Can you change "scaling_min_freq" to 1.896Ghz(for little cores) and 1.800Ghz(for big cores) to emulate the performance governor?
How about the DDR4 memory band width?
We really want to make a Ubuntu 20.04 LTS image with a newer Kernel on April or May.
But the performance difference is too big and we need to find root causes.

Can you change "scaling_min_freq" to 1.896Ghz(for little cores) and 1.800Ghz(for big cores) to emulate the performance governor?
How about the DDR4 memory band width?
Code: Select all
root@odroid:~# mbw 100
Long uses 8 bytes. Allocating 2*13107200 elements = 209715200 bytes of memory.
Using 262144 bytes as blocks for memcpy block copy test.
Getting down to business... Doing 10 runs per test.
0 Method: MEMCPY Elapsed: 0.02845 MiB: 100.00000 Copy: 3514.691 MiB/s
1 Method: MEMCPY Elapsed: 0.02818 MiB: 100.00000 Copy: 3548.994 MiB/s
2 Method: MEMCPY Elapsed: 0.02820 MiB: 100.00000 Copy: 3545.974 MiB/s
3 Method: MEMCPY Elapsed: 0.02826 MiB: 100.00000 Copy: 3538.070 MiB/s
4 Method: MEMCPY Elapsed: 0.02819 MiB: 100.00000 Copy: 3547.483 MiB/s
5 Method: MEMCPY Elapsed: 0.02816 MiB: 100.00000 Copy: 3550.758 MiB/s
6 Method: MEMCPY Elapsed: 0.02822 MiB: 100.00000 Copy: 3543.335 MiB/s
7 Method: MEMCPY Elapsed: 0.02820 MiB: 100.00000 Copy: 3546.602 MiB/s
8 Method: MEMCPY Elapsed: 0.02821 MiB: 100.00000 Copy: 3544.591 MiB/s
9 Method: MEMCPY Elapsed: 0.02864 MiB: 100.00000 Copy: 3491.133 MiB/s
AVG Method: MEMCPY Elapsed: 0.02827 MiB: 100.00000 Copy: 3537.068 MiB/s
0 Method: DUMB Elapsed: 0.02822 MiB: 100.00000 Copy: 3544.214 MiB/s
1 Method: DUMB Elapsed: 0.02816 MiB: 100.00000 Copy: 3551.389 MiB/s
2 Method: DUMB Elapsed: 0.02824 MiB: 100.00000 Copy: 3541.453 MiB/s
3 Method: DUMB Elapsed: 0.02819 MiB: 100.00000 Copy: 3547.106 MiB/s
4 Method: DUMB Elapsed: 0.02818 MiB: 100.00000 Copy: 3548.742 MiB/s
5 Method: DUMB Elapsed: 0.02821 MiB: 100.00000 Copy: 3545.219 MiB/s
6 Method: DUMB Elapsed: 0.02820 MiB: 100.00000 Copy: 3546.225 MiB/s
7 Method: DUMB Elapsed: 0.02825 MiB: 100.00000 Copy: 3540.324 MiB/s
8 Method: DUMB Elapsed: 0.02819 MiB: 100.00000 Copy: 3546.980 MiB/s
9 Method: DUMB Elapsed: 0.02815 MiB: 100.00000 Copy: 3552.524 MiB/s
AVG Method: DUMB Elapsed: 0.02820 MiB: 100.00000 Copy: 3546.414 MiB/s
0 Method: MCBLOCK Elapsed: 0.01256 MiB: 100.00000 Copy: 7958.615 MiB/s
1 Method: MCBLOCK Elapsed: 0.01252 MiB: 100.00000 Copy: 7984.669 MiB/s
2 Method: MCBLOCK Elapsed: 0.01256 MiB: 100.00000 Copy: 7963.051 MiB/s
3 Method: MCBLOCK Elapsed: 0.01249 MiB: 100.00000 Copy: 8004.483 MiB/s
4 Method: MCBLOCK Elapsed: 0.01252 MiB: 100.00000 Copy: 7984.669 MiB/s
5 Method: MCBLOCK Elapsed: 0.01251 MiB: 100.00000 Copy: 7991.050 MiB/s
6 Method: MCBLOCK Elapsed: 0.01253 MiB: 100.00000 Copy: 7980.846 MiB/s
7 Method: MCBLOCK Elapsed: 0.01250 MiB: 100.00000 Copy: 7998.080 MiB/s
8 Method: MCBLOCK Elapsed: 0.01249 MiB: 100.00000 Copy: 8003.842 MiB/s
9 Method: MCBLOCK Elapsed: 0.01255 MiB: 100.00000 Copy: 7968.127 MiB/s
AVG Method: MCBLOCK Elapsed: 0.01253 MiB: 100.00000 Copy: 7983.713 MiB/s
But the performance difference is too big and we need to find root causes.
-
- Posts: 1851
- Joined: Tue Sep 01, 2015 8:54 am
- languages_spoken: english
- ODROIDs: XU4, N1, N2, C4, N2+, HC4
- Has thanked: 59 times
- Been thanked: 132 times
- Contact:
Re: Any plan for basic mainline linux support?
Code: Select all
N2> mbw 100
Long uses 8 bytes. Allocating 2*13107200 elements = 209715200 bytes of memory.
Using 262144 bytes as blocks for memcpy block copy test.
Getting down to business... Doing 10 runs per test.
0 Method: MEMCPY Elapsed: 0.05073 MiB: 100.00000 Copy: 1971.259 MiB/s
1 Method: MEMCPY Elapsed: 0.04721 MiB: 100.00000 Copy: 2118.106 MiB/s
2 Method: MEMCPY Elapsed: 0.05142 MiB: 100.00000 Copy: 1944.806 MiB/s
3 Method: MEMCPY Elapsed: 0.03560 MiB: 100.00000 Copy: 2808.594 MiB/s
4 Method: MEMCPY Elapsed: 0.04747 MiB: 100.00000 Copy: 2106.505 MiB/s
5 Method: MEMCPY Elapsed: 0.06460 MiB: 100.00000 Copy: 1548.083 MiB/s
6 Method: MEMCPY Elapsed: 0.07180 MiB: 100.00000 Copy: 1392.835 MiB/s
7 Method: MEMCPY Elapsed: 0.04889 MiB: 100.00000 Copy: 2045.575 MiB/s
8 Method: MEMCPY Elapsed: 0.07051 MiB: 100.00000 Copy: 1418.239 MiB/s
9 Method: MEMCPY Elapsed: 0.05407 MiB: 100.00000 Copy: 1849.523 MiB/s
AVG Method: MEMCPY Elapsed: 0.05423 MiB: 100.00000 Copy: 1844.022 MiB/s
0 Method: DUMB Elapsed: 0.06426 MiB: 100.00000 Copy: 1556.202 MiB/s
1 Method: DUMB Elapsed: 0.06896 MiB: 100.00000 Copy: 1450.116 MiB/s
2 Method: DUMB Elapsed: 0.09780 MiB: 100.00000 Copy: 1022.484 MiB/s
3 Method: DUMB Elapsed: 0.06740 MiB: 100.00000 Copy: 1483.613 MiB/s
4 Method: DUMB Elapsed: 0.03444 MiB: 100.00000 Copy: 2903.685 MiB/s
5 Method: DUMB Elapsed: 0.04624 MiB: 100.00000 Copy: 2162.489 MiB/s
6 Method: DUMB Elapsed: 0.07151 MiB: 100.00000 Copy: 1398.328 MiB/s
7 Method: DUMB Elapsed: 0.07793 MiB: 100.00000 Copy: 1283.203 MiB/s
8 Method: DUMB Elapsed: 0.07158 MiB: 100.00000 Copy: 1396.960 MiB/s
9 Method: DUMB Elapsed: 0.05566 MiB: 100.00000 Copy: 1796.590 MiB/s
AVG Method: DUMB Elapsed: 0.06558 MiB: 100.00000 Copy: 1524.869 MiB/s
0 Method: MCBLOCK Elapsed: 0.06176 MiB: 100.00000 Copy: 1619.223 MiB/s
1 Method: MCBLOCK Elapsed: 0.03973 MiB: 100.00000 Copy: 2516.926 MiB/s
2 Method: MCBLOCK Elapsed: 0.03334 MiB: 100.00000 Copy: 2998.950 MiB/s
3 Method: MCBLOCK Elapsed: 0.03380 MiB: 100.00000 Copy: 2958.230 MiB/s
4 Method: MCBLOCK Elapsed: 0.02787 MiB: 100.00000 Copy: 3588.474 MiB/s
5 Method: MCBLOCK Elapsed: 0.02756 MiB: 100.00000 Copy: 3628.447 MiB/s
6 Method: MCBLOCK Elapsed: 0.03707 MiB: 100.00000 Copy: 2697.672 MiB/s
7 Method: MCBLOCK Elapsed: 0.03326 MiB: 100.00000 Copy: 3006.976 MiB/s
8 Method: MCBLOCK Elapsed: 0.08330 MiB: 100.00000 Copy: 1200.523 MiB/s
9 Method: MCBLOCK Elapsed: 0.04288 MiB: 100.00000 Copy: 2331.981 MiB/s
AVG Method: MCBLOCK Elapsed: 0.04206 MiB: 100.00000 Copy: 2377.731 MiB/s
N2> uname -r
5.4.8-dirty
Code: Select all
N2> uname -r && grep . /sys/devices/system/cpu/cpu?/cpufreq/scaling_governor && 7z b -mmt 1 && mbw 100
5.4.8-dirty
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor:performance
/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor:performance
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_CA.UTF-8,Utf16=on,HugeFiles=on,64 bits,6 CPUs LE)
LE
CPU Freq: 997 998 998 998 998 998 998 998
RAM size: 3743 MB, # CPU hardware threads: 6
RAM usage: 1323 MB, # Benchmark threads: 6
Compressing | Decompressing
Dict Speed Usage R/U Rating | Speed Usage R/U Rating
KiB/s % MIPS MIPS | KiB/s % MIPS MIPS
22: 4348 456 927 4230 | 82474 526 1338 7033
23: 4249 464 933 4330 | 81359 529 1332 7040
24: 4241 483 943 4560 | 79921 529 1326 7015
25: 4211 503 956 4808 | 76697 528 1293 6826
---------------------------------- | ------------------------------
Avr: 477 940 4482 | 528 1322 6978
Tot: 502 1131 5730
Long uses 8 bytes. Allocating 2*13107200 elements = 209715200 bytes of memory.
Using 262144 bytes as blocks for memcpy block copy test.
Getting down to business... Doing 10 runs per test.
0 Method: MEMCPY Elapsed: 0.03542 MiB: 100.00000 Copy: 2823.503 MiB/s
1 Method: MEMCPY Elapsed: 0.03530 MiB: 100.00000 Copy: 2832.861 MiB/s
2 Method: MEMCPY Elapsed: 0.03529 MiB: 100.00000 Copy: 2833.985 MiB/s
3 Method: MEMCPY Elapsed: 0.03526 MiB: 100.00000 Copy: 2836.316 MiB/s
4 Method: MEMCPY Elapsed: 0.03528 MiB: 100.00000 Copy: 2834.306 MiB/s
5 Method: MEMCPY Elapsed: 0.03529 MiB: 100.00000 Copy: 2833.423 MiB/s
6 Method: MEMCPY Elapsed: 0.03527 MiB: 100.00000 Copy: 2835.512 MiB/s
7 Method: MEMCPY Elapsed: 0.03529 MiB: 100.00000 Copy: 2833.343 MiB/s
8 Method: MEMCPY Elapsed: 0.03527 MiB: 100.00000 Copy: 2835.432 MiB/s
9 Method: MEMCPY Elapsed: 0.03528 MiB: 100.00000 Copy: 2834.467 MiB/s
AVG Method: MEMCPY Elapsed: 0.03529 MiB: 100.00000 Copy: 2833.311 MiB/s
0 Method: DUMB Elapsed: 0.03348 MiB: 100.00000 Copy: 2986.947 MiB/s
1 Method: DUMB Elapsed: 0.03346 MiB: 100.00000 Copy: 2988.286 MiB/s
2 Method: DUMB Elapsed: 0.03347 MiB: 100.00000 Copy: 2987.572 MiB/s
3 Method: DUMB Elapsed: 0.03350 MiB: 100.00000 Copy: 2985.431 MiB/s
4 Method: DUMB Elapsed: 0.03349 MiB: 100.00000 Copy: 2986.144 MiB/s
5 Method: DUMB Elapsed: 0.03351 MiB: 100.00000 Copy: 2983.917 MiB/s
6 Method: DUMB Elapsed: 0.03346 MiB: 100.00000 Copy: 2988.375 MiB/s
7 Method: DUMB Elapsed: 0.03349 MiB: 100.00000 Copy: 2986.412 MiB/s
8 Method: DUMB Elapsed: 0.03351 MiB: 100.00000 Copy: 2984.540 MiB/s
9 Method: DUMB Elapsed: 0.03349 MiB: 100.00000 Copy: 2986.323 MiB/s
AVG Method: DUMB Elapsed: 0.03349 MiB: 100.00000 Copy: 2986.394 MiB/s
0 Method: MCBLOCK Elapsed: 0.02011 MiB: 100.00000 Copy: 4973.392 MiB/s
1 Method: MCBLOCK Elapsed: 0.02011 MiB: 100.00000 Copy: 4973.392 MiB/s
2 Method: MCBLOCK Elapsed: 0.02008 MiB: 100.00000 Copy: 4981.072 MiB/s
3 Method: MCBLOCK Elapsed: 0.02008 MiB: 100.00000 Copy: 4980.824 MiB/s
4 Method: MCBLOCK Elapsed: 0.02008 MiB: 100.00000 Copy: 4980.824 MiB/s
5 Method: MCBLOCK Elapsed: 0.02008 MiB: 100.00000 Copy: 4980.328 MiB/s
6 Method: MCBLOCK Elapsed: 0.02010 MiB: 100.00000 Copy: 4975.867 MiB/s
7 Method: MCBLOCK Elapsed: 0.02011 MiB: 100.00000 Copy: 4973.145 MiB/s
8 Method: MCBLOCK Elapsed: 0.02008 MiB: 100.00000 Copy: 4980.328 MiB/s
9 Method: MCBLOCK Elapsed: 0.02008 MiB: 100.00000 Copy: 4980.328 MiB/s
AVG Method: MCBLOCK Elapsed: 0.02009 MiB: 100.00000 Copy: 4977.948 MiB/s
N2>
Code: Select all
N2> cd /sys/devices/system/cpu/cpu0/cpufreq/ && grep . *
affected_cpus:0 1
cpuinfo_cur_freq:1896000
cpuinfo_max_freq:1896000
cpuinfo_min_freq:100000
cpuinfo_transition_latency:50000
related_cpus:0 1
scaling_available_frequencies:100000 250000 500000 667000 1000000 1200000 1398000 1512000 1608000 1704000 1896000
scaling_available_governors:ondemand userspace performance schedutil
scaling_cur_freq:1896000
scaling_driver:cpufreq-dt
scaling_governor:performance
scaling_max_freq:1896000
scaling_min_freq:100000
scaling_setspeed:<unsupported>
grep: stats: Is a directory
N2> cd /sys/devices/system/cpu/cpu1/cpufreq/ && grep . *
affected_cpus:0 1
cpuinfo_cur_freq:1896000
cpuinfo_max_freq:1896000
cpuinfo_min_freq:100000
cpuinfo_transition_latency:50000
related_cpus:0 1
scaling_available_frequencies:100000 250000 500000 667000 1000000 1200000 1398000 1512000 1608000 1704000 1896000
scaling_available_governors:ondemand userspace performance schedutil
scaling_cur_freq:1896000
scaling_driver:cpufreq-dt
scaling_governor:performance
scaling_max_freq:1896000
scaling_min_freq:100000
scaling_setspeed:<unsupported>
grep: stats: Is a directory
- odroid
- Site Admin
- Posts: 36468
- Joined: Fri Feb 22, 2013 11:14 pm
- languages_spoken: English, Korean
- ODROIDs: ODROID
- Has thanked: 1451 times
- Been thanked: 990 times
- Contact:
Re: Any plan for basic mainline linux support?
7-zip bench seems to have a cosmetic bug on a big-little platform.
Yes! the memory bandwidth result is much better with the performance governor.
But it is still 40% slower than Kernel 4.9.
Yes! the memory bandwidth result is much better with the performance governor.
But it is still 40% slower than Kernel 4.9.

-
- Posts: 1851
- Joined: Tue Sep 01, 2015 8:54 am
- languages_spoken: english
- ODROIDs: XU4, N1, N2, C4, N2+, HC4
- Has thanked: 59 times
- Been thanked: 132 times
- Contact:
Re: Any plan for basic mainline linux support?
Other than the 7z/kernel frequency discrepancy
It might be an issue is that cpufreq is only on cpu 0-1 not 2-5;
Previously you mentioned a 100Mhz to 667Mhz patch; can you link to it?
It might be an issue is that cpufreq is only on cpu 0-1 not 2-5;
Code: Select all
N2> find /sys/devices/system/cpu/ -iname cpufreq
/sys/devices/system/cpu/cpu1/cpufreq
/sys/devices/system/cpu/cpufreq
/sys/devices/system/cpu/cpu0/cpufreq
N2> ls -1 /sys/devices/system/cpu/cpu5
cache
cpu_capacity
crash_notes
crash_notes_size
hotplug
node0
of_node
online
power
regs
subsystem
topology
uevent
-
- Posts: 1851
- Joined: Tue Sep 01, 2015 8:54 am
- languages_spoken: english
- ODROIDs: XU4, N1, N2, C4, N2+, HC4
- Has thanked: 59 times
- Been thanked: 132 times
- Contact:
Re: Any plan for basic mainline linux support?
It looks like only the 2 A53 are adjustable and the 4 A73 are stuck on slow;
Probably a quick fix for someone better at DTS editing than me... The way the DTS is written there should be a policy1 with 2 3 4 5 in affected_cpus but it is not in /sys ...
Code: Select all
cat /sys/devices/system/cpu/cpufreq/policy0/affected_cpus
0 1
-
- Posts: 1355
- Joined: Tue Mar 29, 2016 1:22 pm
- languages_spoken: english
- ODROIDs: C2 N1 N2 N2+ H2 H2+ (64 bit ftw)
- Location: Australia
- Has thanked: 117 times
- Been thanked: 169 times
- Contact:
Re: Any plan for basic mainline linux support?
I did some tests but the same results as others so far. Its interesting my realtime kernel with DVFS disabled and cou's locked at 1Ghz performs almost the same (see both results)
This results is for a kernel I built with lots of debug and trace (so it might slow things down) - Its 5.4.7
And this is real-time kernel with DVFS disabled and no governors available locked to 1GHz
I should try again with a normal kernels, ie no debug / trace
This results is for a kernel I built with lots of debug and trace (so it might slow things down) - Its 5.4.7
Code: Select all
Welcome to Ubuntu 19.04 (GNU/Linux 5.4.7arm64-odroidn2-dev aarch64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
_ _ _ _ _
| | | | __ _ _ __ __| | | _____ _ __ _ __ ___| |
| |_| |/ _` | '__/ _` | |/ / _ \ '__| '_ \ / _ \ |
| _ | (_| | | | (_| | < __/ | | | | | __/ |
|_| |_|\__,_|_| \__,_|_|\_\___|_| |_| |_|\___|_|
___ ____ ____ ___ ___ ____ _ _ ____
/ _ \| _ \| _ \ / _ \_ _| _ \ | \ | |___ \
| | | | | | | |_) | | | | || | | |_____| \| | __) |
| |_| | |_| | _ <| |_| | || |_| |_____| |\ |/ __/
\___/|____/|_| \_\\___/___|____/ |_| \_|_____|
Welcome to Ubuntu 19.04
Wednesday, 8 January 2020, 12:58:25 AM
Up time: 0 days, 00:00:34
Free memory: 3160736 / 3785260 kB
IP: 192.168.0.14
11 updates can be installed immediately.
0 of these updates are security updates.
[!] Please visit 'https://launchpad.net/odroid-image' to report a bug
Last login: Tue Jan 7 09:25:39 2020 from 192.168.0.22
odroid@disco-minimal:~$ sudo su -
[sudo] password for odroid:
root@disco-minimal:~# echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
root@disco-minimal:~# 7z b -mmt 1
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=C.UTF-8,Utf16=on,HugeFiles=on,64 bits,6 CPUs LE)
LE
CPU Freq: 1862 1869 1869 1862 1862 1862 1175 1085 982
RAM size: 3696 MB, # CPU hardware threads: 6
RAM usage: 1323 MB, # Benchmark threads: 6
Compressing | Decompressing
Dict Speed Usage R/U Rating | Speed Usage R/U Rating
KiB/s % MIPS MIPS | KiB/s % MIPS MIPS
22: 3986 436 890 3878 | 68521 475 1230 5844
23: 3934 436 919 4009 | 72418 466 1343 6266
24: 3931 439 962 4227 | 73115 475 1350 6418
25: 4092 447 1046 4673 | 77171 524 1311 6868
---------------------------------- | ------------------------------
Avr: 439 954 4197 | 485 1309 6349
Tot: 462 1132 5273
Code: Select all
Welcome to Ubuntu 19.04 (GNU/Linux 5.4.6-rt3rt-arm64-gb6720efa3-dirty aarch64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
_ _ _ _ _
| | | | __ _ _ __ __| | | _____ _ __ _ __ ___| |
| |_| |/ _` | '__/ _` | |/ / _ \ '__| '_ \ / _ \ |
| _ | (_| | | | (_| | < __/ | | | | | __/ |
|_| |_|\__,_|_| \__,_|_|\_\___|_| |_| |_|\___|_|
___ ____ ____ ___ ___ ____ _ _ ____
/ _ \| _ \| _ \ / _ \_ _| _ \ | \ | |___ \
| | | | | | | |_) | | | | || | | |_____| \| | __) |
| |_| | |_| | _ <| |_| | || |_| |_____| |\ |/ __/
\___/|____/|_| \_\\___/___|____/ |_| \_|_____|
Welcome to Ubuntu 19.04
Monday, 6 January 2020, 11:30:46 PM
Up time: 0 days, 00:00:20
Free memory: 2858816 / 3787856 kB
IP: 192.168.0.14
5 updates can be installed immediately.
0 of these updates are security updates.
[!] Please visit 'https://launchpad.net/odroid-image' to report a bug
Last login: Mon Jan 6 07:07:26 2020 from 192.168.0.22
odroid@disco-minimal:~$ 7z b -mmt 1
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=C.UTF-8,Utf16=on,HugeFiles=on,64 bits,6 CPUs LE)
LE
CPU Freq: 988 990 991 991 991 991 991 990
RAM size: 3699 MB, # CPU hardware threads: 6
RAM usage: 1323 MB, # Benchmark threads: 6
Compressing | Decompressing
Dict Speed Usage R/U Rating | Speed Usage R/U Rating
KiB/s % MIPS MIPS | KiB/s % MIPS MIPS
22: 3355 405 807 3265 | 77504 591 1119 6610
23: 3601 453 810 3669 | 76287 592 1115 6601
24: 3852 500 828 4143 | 74537 591 1108 6542
25: 3716 504 842 4243 | 71268 587 1080 6343
---------------------------------- | ------------------------------
Avr: 466 822 3830 | 590 1105 6524
Tot: 528 964 5177
-
- Posts: 67
- Joined: Mon Aug 12, 2019 12:27 pm
- languages_spoken: english
- Has thanked: 0
- Been thanked: 74 times
- Contact:
Re: Any plan for basic mainline linux support?
LE sets some boot-time limits on the CPU governor (we use ondemand) and I have the following changes in my WIP branch as the previous iteration of script (which dates from the 3.14 era) assumes there's only a single cpu cluster. Other distro's may need something similar:
https://github.com/chewitt/LibreELEC.tv ... f4c3229fd2
This committ is also upstream for Linux 5.5 to ensure the OS prioritises the A72 cluster over the A53 cluster when possible. We noticed that libretro emulators (which often run on a single core) frequently ended upon an A53 core while the A72's were idle:
https://github.com/torvalds/linux/commi ... 734fc2e088
NB: I'm more interested in core functionality than performance testing (anything that's faster than a Raspberry Pi is good for me) so I won't be much help with tests. I will comment that lots of G12A/B audio changes went into Linux 5.5 so it would be a better kernel target for a desktop distro than 5.4, despite not being an LTS kernel. I've not seen any drama moving from 5.2 > 5.3 > 5.4 > 5.5-rc so I'd also advocate that you keep bumping the kernel instead of sticking to the LTS releases.
https://github.com/chewitt/LibreELEC.tv ... f4c3229fd2
This committ is also upstream for Linux 5.5 to ensure the OS prioritises the A72 cluster over the A53 cluster when possible. We noticed that libretro emulators (which often run on a single core) frequently ended upon an A53 core while the A72's were idle:
https://github.com/torvalds/linux/commi ... 734fc2e088
NB: I'm more interested in core functionality than performance testing (anything that's faster than a Raspberry Pi is good for me) so I won't be much help with tests. I will comment that lots of G12A/B audio changes went into Linux 5.5 so it would be a better kernel target for a desktop distro than 5.4, despite not being an LTS kernel. I've not seen any drama moving from 5.2 > 5.3 > 5.4 > 5.5-rc so I'd also advocate that you keep bumping the kernel instead of sticking to the LTS releases.
-
- Posts: 245
- Joined: Mon Sep 02, 2019 2:33 am
- languages_spoken: english
- ODROIDs: odroid-n2
- Has thanked: 73 times
- Been thanked: 26 times
- Contact:
Re: Any plan for basic mainline linux support?
Hi
Here my tests on Armbian 5.4.6 kernel
I can't set the performance governor
It's strange that the results are similar to elatllat's tests, where the cpu runned at a much higher frequency.
Here my tests on Armbian 5.4.6 kernel
I can't set the performance governor
Code: Select all
root@odroidn2:~# echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
root@odroidn2:~# 7z b -mmt 1
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,6 CPUs LE)
LE
CPU Freq: 996 998 998 998 998 998 997 998
RAM size: 3698 MB, # CPU hardware threads: 6
RAM usage: 1323 MB, # Benchmark threads: 6
Compressing | Decompressing
Dict Speed Usage R/U Rating | Speed Usage R/U Rating
KiB/s % MIPS MIPS | KiB/s % MIPS MIPS
22: 4344 461 916 4226 | 78931 527 1277 6731
23: 4332 467 946 4414 | 77751 527 1276 6728
24: 4283 464 992 4606 | 75958 523 1274 6667
25: 4276 462 1058 4883 | 75705 529 1274 6737
---------------------------------- | ------------------------------
Avr: 463 978 4532 | 527 1275 6716
Tot: 495 1127 5624
root@odroidn2:~# uname -r
5.4.6-meson64
Last edited by Sav on Thu Jan 09, 2020 12:17 am, edited 2 times in total.
-
- Posts: 1851
- Joined: Tue Sep 01, 2015 8:54 am
- languages_spoken: english
- ODROIDs: XU4, N1, N2, C4, N2+, HC4
- Has thanked: 59 times
- Been thanked: 132 times
- Contact:
Re: Any plan for basic mainline linux support?
5.5.0-rc5 (lkml)
builds (and script).
builds (and script).
Audio may need more work;
Code: Select all
N2> uname -r
5.5.0-rc5-gae6088216-dirty
N2> ffplay test.flac
ffplay version 3.4.6-0ubuntu0.18.04.1 Copyright (c) 2003-2019 the FFmpeg developers
built with gcc 7 (Ubuntu/Linaro 7.3.0-16ubuntu3)
configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
Segmentation fault (core dumped)
Last edited by elatllat on Thu Jan 09, 2020 2:03 am, edited 1 time in total.
-
- Posts: 1851
- Joined: Tue Sep 01, 2015 8:54 am
- languages_spoken: english
- ODROIDs: XU4, N1, N2, C4, N2+, HC4
- Has thanked: 59 times
- Been thanked: 132 times
- Contact:
Re: Any plan for basic mainline linux support?
I added some higher clocks from 4.9
rebooted a few times until I got a 2nd cpufreq policy, and got this;
Which is good,
But whenever there are 2 policies (as there should be) 7z errors with "Illegal instruction (core dumped)" or "Decoding ERROR".
With only one policy 7z works but 4 of the cores are stuck on slow... maybe removing the slow options is a workaround until policy0 and polic1 appear every boot. (vs just policy0 or policy0 and 7z breaking policy2)
rebooted a few times until I got a 2nd cpufreq policy, and got this;
Code: Select all
N2> mbw 100
Long uses 8 bytes. Allocating 2*13107200 elements = 209715200 bytes of memory.
Using 262144 bytes as blocks for memcpy block copy test.
Getting down to business... Doing 10 runs per test.
0 Method: MEMCPY Elapsed: 0.02547 MiB: 100.00000 Copy: 3926.496 MiB/s
1 Method: MEMCPY Elapsed: 0.02529 MiB: 100.00000 Copy: 3954.288 MiB/s
2 Method: MEMCPY Elapsed: 0.02529 MiB: 100.00000 Copy: 3954.445 MiB/s
3 Method: MEMCPY Elapsed: 0.02531 MiB: 100.00000 Copy: 3951.476 MiB/s
4 Method: MEMCPY Elapsed: 0.02528 MiB: 100.00000 Copy: 3956.166 MiB/s
5 Method: MEMCPY Elapsed: 0.02528 MiB: 100.00000 Copy: 3955.227 MiB/s
6 Method: MEMCPY Elapsed: 0.02532 MiB: 100.00000 Copy: 3950.071 MiB/s
7 Method: MEMCPY Elapsed: 0.02549 MiB: 100.00000 Copy: 3922.492 MiB/s
8 Method: MEMCPY Elapsed: 0.02532 MiB: 100.00000 Copy: 3950.227 MiB/s
9 Method: MEMCPY Elapsed: 0.02530 MiB: 100.00000 Copy: 3953.194 MiB/s
AVG Method: MEMCPY Elapsed: 0.02533 MiB: 100.00000 Copy: 3947.374 MiB/s
0 Method: DUMB Elapsed: 0.02526 MiB: 100.00000 Copy: 3958.828 MiB/s
1 Method: DUMB Elapsed: 0.02528 MiB: 100.00000 Copy: 3954.914 MiB/s
2 Method: DUMB Elapsed: 0.02526 MiB: 100.00000 Copy: 3958.828 MiB/s
3 Method: DUMB Elapsed: 0.02524 MiB: 100.00000 Copy: 3961.651 MiB/s
4 Method: DUMB Elapsed: 0.02525 MiB: 100.00000 Copy: 3960.396 MiB/s
5 Method: DUMB Elapsed: 0.02526 MiB: 100.00000 Copy: 3958.045 MiB/s
6 Method: DUMB Elapsed: 0.02530 MiB: 100.00000 Copy: 3952.413 MiB/s
7 Method: DUMB Elapsed: 0.02528 MiB: 100.00000 Copy: 3956.009 MiB/s
8 Method: DUMB Elapsed: 0.02528 MiB: 100.00000 Copy: 3955.540 MiB/s
9 Method: DUMB Elapsed: 0.02527 MiB: 100.00000 Copy: 3957.418 MiB/s
AVG Method: DUMB Elapsed: 0.02527 MiB: 100.00000 Copy: 3957.403 MiB/s
0 Method: MCBLOCK Elapsed: 0.01145 MiB: 100.00000 Copy: 8729.812 MiB/s
1 Method: MCBLOCK Elapsed: 0.01145 MiB: 100.00000 Copy: 8731.337 MiB/s
2 Method: MCBLOCK Elapsed: 0.01146 MiB: 100.00000 Copy: 8723.720 MiB/s
3 Method: MCBLOCK Elapsed: 0.01146 MiB: 100.00000 Copy: 8726.765 MiB/s
4 Method: MCBLOCK Elapsed: 0.01146 MiB: 100.00000 Copy: 8723.720 MiB/s
5 Method: MCBLOCK Elapsed: 0.01146 MiB: 100.00000 Copy: 8724.481 MiB/s
6 Method: MCBLOCK Elapsed: 0.01147 MiB: 100.00000 Copy: 8716.116 MiB/s
7 Method: MCBLOCK Elapsed: 0.01146 MiB: 100.00000 Copy: 8722.959 MiB/s
8 Method: MCBLOCK Elapsed: 0.01148 MiB: 100.00000 Copy: 8712.319 MiB/s
9 Method: MCBLOCK Elapsed: 0.01146 MiB: 100.00000 Copy: 8723.720 MiB/s
AVG Method: MCBLOCK Elapsed: 0.01146 MiB: 100.00000 Copy: 8723.491 MiB/s
But whenever there are 2 policies (as there should be) 7z errors with "Illegal instruction (core dumped)" or "Decoding ERROR".
With only one policy 7z works but 4 of the cores are stuck on slow... maybe removing the slow options is a workaround until policy0 and polic1 appear every boot. (vs just policy0 or policy0 and 7z breaking policy2)
-
- Posts: 1851
- Joined: Tue Sep 01, 2015 8:54 am
- languages_spoken: english
- ODROIDs: XU4, N1, N2, C4, N2+, HC4
- Has thanked: 59 times
- Been thanked: 132 times
- Contact:
Re: Any plan for basic mainline linux support?
Now patched 5.5 is faster than 4.9;
- mbw is 8.5% faster
- 7z is 8.8% faster
- cryptsetup is 7.8% faster (faster than the H2 as well)
The issue with only one cpufreq policy showing up seems to be fixed or infrequent (<1/5 reboots)
I ran 7z 5 times to test stability.
- mbw is 8.5% faster
- 7z is 8.8% faster
- cryptsetup is 7.8% faster (faster than the H2 as well)
The issue with only one cpufreq policy showing up seems to be fixed or infrequent (<1/5 reboots)
I ran 7z 5 times to test stability.
Code: Select all
N2> uname -r && 7z b -mmt 1 && echo && mbw 100 && echo && cryptsetup benchmark
5.5.0-rc5-gae6088216-dirty
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_CA.UTF-8,Utf16=on,HugeFiles=on,64 bits,6 CPUs LE)
LE
CPU Freq: 1905 1906 1906 1906 1906 1906 1906 1906 1906
RAM size: 3422 MB, # CPU hardware threads: 6
RAM usage: 1323 MB, # Benchmark threads: 6
Compressing | Decompressing
Dict Speed Usage R/U Rating | Speed Usage R/U Rating
KiB/s % MIPS MIPS | KiB/s % MIPS MIPS
22: 6540 505 1260 6362 | 131122 554 2019 11182
23: 6485 517 1279 6608 | 127320 549 2007 11017
24: 6477 523 1333 6965 | 125171 551 1995 10987
25: 6326 511 1413 7223 | 122344 548 1988 10888
---------------------------------- | ------------------------------
Avr: 514 1321 6790 | 550 2002 11018
Tot: 532 1662 8904
Long uses 8 bytes. Allocating 2*13107200 elements = 209715200 bytes of memory.
Using 262144 bytes as blocks for memcpy block copy test.
Getting down to business... Doing 10 runs per test.
0 Method: MEMCPY Elapsed: 0.02683 MiB: 100.00000 Copy: 3727.866 MiB/s
1 Method: MEMCPY Elapsed: 0.02553 MiB: 100.00000 Copy: 3917.574 MiB/s
2 Method: MEMCPY Elapsed: 0.02685 MiB: 100.00000 Copy: 3724.395 MiB/s
3 Method: MEMCPY Elapsed: 0.02556 MiB: 100.00000 Copy: 3911.904 MiB/s
4 Method: MEMCPY Elapsed: 0.02561 MiB: 100.00000 Copy: 3904.115 MiB/s
5 Method: MEMCPY Elapsed: 0.02638 MiB: 100.00000 Copy: 3790.032 MiB/s
6 Method: MEMCPY Elapsed: 0.02557 MiB: 100.00000 Copy: 3911.598 MiB/s
7 Method: MEMCPY Elapsed: 0.02676 MiB: 100.00000 Copy: 3737.060 MiB/s
8 Method: MEMCPY Elapsed: 0.02553 MiB: 100.00000 Copy: 3916.960 MiB/s
9 Method: MEMCPY Elapsed: 0.02609 MiB: 100.00000 Copy: 3832.299 MiB/s
AVG Method: MEMCPY Elapsed: 0.02607 MiB: 100.00000 Copy: 3835.665 MiB/s
0 Method: DUMB Elapsed: 0.02605 MiB: 100.00000 Copy: 3838.330 MiB/s
1 Method: DUMB Elapsed: 0.02552 MiB: 100.00000 Copy: 3917.881 MiB/s
2 Method: DUMB Elapsed: 0.02673 MiB: 100.00000 Copy: 3740.555 MiB/s
3 Method: DUMB Elapsed: 0.02552 MiB: 100.00000 Copy: 3919.110 MiB/s
4 Method: DUMB Elapsed: 0.02666 MiB: 100.00000 Copy: 3751.360 MiB/s
5 Method: DUMB Elapsed: 0.02684 MiB: 100.00000 Copy: 3725.644 MiB/s
6 Method: DUMB Elapsed: 0.02581 MiB: 100.00000 Copy: 3874.617 MiB/s
7 Method: DUMB Elapsed: 0.02623 MiB: 100.00000 Copy: 3811.993 MiB/s
8 Method: DUMB Elapsed: 0.02551 MiB: 100.00000 Copy: 3919.878 MiB/s
9 Method: DUMB Elapsed: 0.02524 MiB: 100.00000 Copy: 3961.337 MiB/s
AVG Method: DUMB Elapsed: 0.02601 MiB: 100.00000 Copy: 3844.350 MiB/s
0 Method: MCBLOCK Elapsed: 0.01142 MiB: 100.00000 Copy: 8756.567 MiB/s
1 Method: MCBLOCK Elapsed: 0.01142 MiB: 100.00000 Copy: 8758.101 MiB/s
2 Method: MCBLOCK Elapsed: 0.01143 MiB: 100.00000 Copy: 8751.969 MiB/s
3 Method: MCBLOCK Elapsed: 0.01142 MiB: 100.00000 Copy: 8755.034 MiB/s
4 Method: MCBLOCK Elapsed: 0.01291 MiB: 100.00000 Copy: 7747.734 MiB/s
5 Method: MCBLOCK Elapsed: 0.01141 MiB: 100.00000 Copy: 8760.403 MiB/s
6 Method: MCBLOCK Elapsed: 0.01182 MiB: 100.00000 Copy: 8459.521 MiB/s
7 Method: MCBLOCK Elapsed: 0.01140 MiB: 100.00000 Copy: 8774.239 MiB/s
8 Method: MCBLOCK Elapsed: 0.01264 MiB: 100.00000 Copy: 7912.018 MiB/s
9 Method: MCBLOCK Elapsed: 0.01169 MiB: 100.00000 Copy: 8555.784 MiB/s
AVG Method: MCBLOCK Elapsed: 0.01176 MiB: 100.00000 Copy: 8506.801 MiB/s
# Tests are approximate using memory only (no storage IO).
PBKDF2-sha1 671303 iterations per second for 256-bit key
PBKDF2-sha256 1322290 iterations per second for 256-bit key
PBKDF2-sha512 391844 iterations per second for 256-bit key
PBKDF2-ripemd160 349991 iterations per second for 256-bit key
PBKDF2-whirlpool 132395 iterations per second for 256-bit key
argon2i 4 iterations, 619604 memory, 4 parallel threads (CPUs) for 256-bit key (requested 2000 ms time)
argon2id 4 iterations, 622678 memory, 4 parallel threads (CPUs) for 256-bit key (requested 2000 ms time)
# Algorithm | Key | Encryption | Decryption
aes-cbc 128b 705.8 MiB/s 1105.5 MiB/s
serpent-cbc 128b N/A N/A
twofish-cbc 128b N/A N/A
aes-cbc 256b 592.2 MiB/s 959.1 MiB/s
serpent-cbc 256b N/A N/A
twofish-cbc 256b N/A N/A
aes-xts 256b 782.5 MiB/s 780.3 MiB/s
serpent-xts 256b N/A N/A
twofish-xts 256b N/A N/A
aes-xts 512b 707.1 MiB/s 701.7 MiB/s
serpent-xts 512b N/A N/A
twofish-xts 512b N/A N/A
-
- Posts: 67
- Joined: Mon Aug 12, 2019 12:27 pm
- languages_spoken: english
- Has thanked: 0
- Been thanked: 74 times
- Contact:
Re: Any plan for basic mainline linux support?
@elatilat are you testing audio from torvalds/master or https://github.com/chewitt/linux/commit ... -5.5-integ ?
-
- Posts: 1851
- Joined: Tue Sep 01, 2015 8:54 am
- languages_spoken: english
- ODROIDs: XU4, N1, N2, C4, N2+, HC4
- Has thanked: 59 times
- Been thanked: 132 times
- Contact:
Re: Any plan for basic mainline linux support?
I was testing from torvalds, A list of relevant commits for audio would be nice becausechewitt wrote: ↑Thu Jan 09, 2020 11:30 am@elatilat are you testing audio from torvalds/master or https://github.com/chewitt/linux/commit ... -5.5-integ ?
385 files changed, 20906 insertions(+), 2623 deletions(-)
is not trivial... I could narrow it down to checking the commit log diff on 67 files but still.
Last edited by elatllat on Sat Jan 11, 2020 11:22 am, edited 3 times in total.
-
- Posts: 67
- Joined: Mon Aug 12, 2019 12:27 pm
- languages_spoken: english
- Has thanked: 0
- Been thanked: 74 times
- Contact:
Re: Any plan for basic mainline linux support?
Those audio changes for GX devices are experimental and haven't been submitted anywhere yet (work in progress from jbrunet at Baylibre). I need to use the GXBB-ODROID-C2 alsa conf in here https://github.com/chewitt/LibreELEC.tv ... 5338821019 to have the devices show up correctly. The equivalent alsa confs for G12 devices are in https://github.com/chewitt/LibreELEC.tv ... 910401a253. I have some other commits for G12 audio too (all things that are submitted to the mailing lsit) but those are burried amongst other things so they're not easily spotted.
-
- Posts: 1851
- Joined: Tue Sep 01, 2015 8:54 am
- languages_spoken: english
- ODROIDs: XU4, N1, N2, C4, N2+, HC4
- Has thanked: 59 times
- Been thanked: 132 times
- Contact:
Re: Any plan for basic mainline linux support?
5.4.10 (LKML)
builds (and script).
(The first minimally patched upstream LTS build that is more stable and faster than 4.9)
builds (and script).
(The first minimally patched upstream LTS build that is more stable and faster than 4.9)
Who is online
Users browsing this forum: No registered users and 0 guests