Running GNOME Desktop on ODROID-N2

Dongjin Kim
Jan 14 · 4 min read

This is about how GNOME Desktop can run on ODROID-N2 with the upstream Linux kernel v5.4. Fortunately, the upstream kernel has many patches that make ODROID-N2 run with and I appreciate Neil Armstrong who contributes a lot of patches for Amlogic ARM SoC and another ODROID user @memeka who actually already made GNOME works on ODROID-XU4 and ODROID-N2 earlier. The core code changes were made by them, I put together the scattered pieces into my personal package repository.

I’ve managed the custom Debian/Ubuntu Netboot Installer with my package repository http://ppa.linuxfactory.or.kr more than years and recently spent a lot of time to install the GNOME Desktop to ODROID-N2 using a custom Ubuntu 19.04 Netboot Installer that can be downloaded from http://bit.ly/2NjQSG3. Please visit another article about my custom Netboot Installer how you can use it.

Installing Ubuntu 19.04 to ODROID-N2

The Ubuntu 19.04 Netboot Installer can be downloaded from http://bit.ly/2NjQSG3 and the image can be flashed to Micro SD card using Etcher or a Linux command tool ‘dd’. If you use Petitboot, the image can be flashed to a USB stick as well. The advantage of installing with Netboot Installer is that the OS can be installed to USB storage directly and you can customize the partition table while installing if you know how the partition can be managed.

After flashing the Netboot Installer image, the contents in the storage are like this. You are not required to touch any of them except ‘preseed.ini’ if you like to install with predefined settings.

By default, the Netboot Installer is configured to install Ubuntu GNOME Desktop. If you are familiar with the Ubuntu installation steps, you can manually install the OS by changing the key ‘di_auto’ to ‘false’.

You can change the predefined values as you like to set, for example, account or the default password. The setting values can be changed later after installation except for the target disk device where to install Ubuntu Disco since the installer will format and overwrite the disk device with the new OS.

Installation takes long

Now you are ready to launch the Netboot installer. It can boot from the SD card slot, eMMC or even by Petitboot. The Ubuntu 19.04 Netboot Installer installs the packages through the network, therefore the installation time could vary depends on the bandwidth of your network or Ubuntu repository server but eventually, it will install.

Once everything is installed without failure, ODROID-N2 will reboot and GNOME Desktop will start. But you may feel a bit it runs slower than you expected since the current installer cannot the Mali Bifrost driver while installing which I’ve tried to fix before publishing the installer image.

This can be simply solved with an instruction to install the driver by yourself and it affects after rebooting.

$ sudo apt install mali-bifrost-wayland-driver

$ sudo reboot

On the next boot, you must check if “Ubuntu on Wayland” is selected on the login screen to make Mali Bifrost Wayland driver runs.

Testing Mali Bifrost Wayland driver with examples

GLMARK2

The simplest example to perform the test is with glmark-es2–wayland.

$ sudo apt install glmark2-es2-wayland

Great framework Qt5

I also have built Qt5 (5.12.2+dfsg-4ubuntu1.1) as well to run on GNOME Desktop with Wayland, therefore QtWayland5 has to be installed. I’ve observed that many Qt5 examples are not properly working with the build but good to test.

$ sudo apt install qt5-default qtwayland5

Known Issues

Gnome-terminal cannot be launched if installed with a predefined profile

This is an issue I couldn’t solve and happens only if you installed OS with a predefined profile ‘ubuntu-gnome-desktop’. The workaround for this issue is to run the two instructions on the shell command line after connect to your ODROID-N2 or opening a console screen and this affects after rebooting.

$ sudo locale-gen — purge en_US.UTF-8

$ echo -e ‘LANG=”en_US.UTF-8"\nLANGUAGE=”en_US:en”\n’ | sudo tee /etc/default/locale

$ sudo reboot

Missing features compare to stock kernel v4.9 of ODROID-N2

The upstream kernel is being updated by many developers, especially thanks to Neil Armstrong who contributes a lot of patches to upstream kernel for Amlogic SoC and @memeka who actually already made GNOME works with Mali Bifrost blobs. The kernel will keep updated often and will be uploaded without notice, but Ubuntu will let you know whenever an update happens.

    Dongjin Kim

    Written by

    Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
    Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
    Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade