Xubuntu 22.04.2 Setup and Experience

Hi All, i’ve been testing different distributions to determine what works well for my use case. The Rock5 will take over HTPC duties including running HomeAssistant, JellyFin, and backup via multiple protocols to a 3.5" drive that will be rehoused in an usb 3.1 enclosure. This means I need a full linux desktop rather than what Android or ChromeOS can offer.

I was inspired by these two threads:
Rock5B with Ubuntu Desktop
and
Ubuntu 20.02 & Mali Drivers

So after trying a few distributions with more compromises than I was willing to overlook, I started with the latest Ubuntu 20.04 image from Radxa. Namely this: https://github.com/radxa/debos-radxa/releases/download/20230201-0944/rock-5b-ubuntu-focal-server-arm64-20230201-1200-gpt.img.xz

Installing that to NVMe (via dd rather than etcher), zeroing then setting the SPI went quickly. After update & upgrade, my first step was to apt install xubuntu-desktop which provides XFCE and a full compliment of apps. A lighter install is possible by simply installing the ‘xfce4’ pkg. Or as the first link above offers, ‘ubuntu-desktop’ or ‘ubuntu-gnome-desktop’ if you prefer gnome.

I wanted to test drive 20.04 first to ensure I didn’t find similar compromises to what I experienced on other distributions. Knowing the outcome, you could speed things up by waiting to install the desktop until after the dist upgrade: do-release-upgrade

After running that, I was on XFCE with Ubuntu 22.04.2 (Xubuntu)!

A couple steps which may be helpful:
o if the mouse cursor doesn’t show after logging into X, move or remove this file and logout/login or restart: ~/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml
The above fix wasn’t permanent as that file will be regenerated, instead update:
/etc/X11/xorg.conf.d/20-modesetting.conf
to include:
Option "SWCursor" "true"
in the Device section then logout/login or restart.
o also add your user to the input group, such as: usermod -aG input rock
o set pulseaudio volume control pavucontrol config to enable the 2nd option for the 3.5mm or the 3rd option for the first HDMI output
pavucontrol
o add repositories for JianFeng Liu panfrost as from the first two threads above including replies from @Bruno (Rock5B with Ubuntu Desktop) and @stuartiannaylor (Ubuntu 20.02 & Mali Drivers) then update, upgrade, dist-upgrade, reboot. X returned as expected. I also installed malirun and build-essential

Note: at this point you will have two Chromium installs, a snap from Ubuntu repos and a /usr/bin/chromium-browser from JianFeng Liu :wink:

Firefox has HTML5 video support out of the box, however chromium needs this installed for the same: chromium-codecs-ffmpeg-extra

While the current Radxa 5.10 kernel is in use, the advantages i’ve found include: most current firefox, chromium and other apps, no screen artifacts, option to use Mali-G610 via panfrost or Mali-LODX with malirun

neofetch
After testing for a few days, the next thing to tackle is to get WideVine installed and working. I’ll split that into a new thread as it should be distro independent.

1 Like

TLDR: Ubuntu 22.04 LTS works well with no loss of features and some advantages incl newer pkgs.

Can use the Radxa Ubuntu 20.04 Focal image then upgrade as desired: do-release-upgrade

Add @amazingfate repos and copy latest mali driver to /lib/firmware

I needed or chose to apt install these along the way:
xubuntu-desktop (or could do ubuntu-gnome-desktop)
chromium-codecs-ffmpeg-extra
build-essential
malirun
kodi

Also had to add:
Option "SWCursor" "true"
to the Device section of:
/etc/X11/xorg.conf.d/20-modesetting.conf
for the mouse cursor to remain visible after the display cycles off.

1 Like

Can you explain how you managed to directly boot from a NVMe? I guess you briefly touching it here:

zeroing then setting the SPI went quickly

Can you give me some further details what you did? Thanks!

You can find everything you need on this topic here https://wiki.radxa.com/Rock5/install/nvme and here https://wiki.radxa.com/Rock5/install/spi

1 Like

Thank you for the quick reply @Biasio95!

@XTC0r, if you use the dd command from the nvme install page, please note there are some typos. It should read:
xzcat 'your compressed image path' | sudo dd of='your NVME SSD device path' bs=1M status=progress

# such as: xzcat rock-5b-debian-bullseye-xfce4-arm64-20220906-0626-gpt.img.xz | sudo dd of=/dev/nvme0n1 bs=1M status=progress

It is a good idea to run the check sum on the image file, however Radxa gives these on the img file not the compressed xz file. So either decompress the file and use it multiple times, such as with:
md5sum 'compressed image patch'

or double the cpu overhead by using xzcat twice:
xzcat 'your compressed image path' | md5sum

Then compare the results to the .md5.txt of your image file in the Radxa repo.

1 Like

Thanks for the summary… Very helpful. What’s your glmark2-es2 result?

glmark2 2021.02

OpenGL Information
GL_VENDOR:     Panfrost
GL_RENDERER:   Mali-G610 (Panfrost)
GL_VERSION:    OpenGL ES 3.1 Mesa 23.0.0-devel

glmark2 Score: 1030

With malirun:

OpenGL Information
GL_VENDOR:     ARM
GL_RENDERER:   Mali-LODX
GL_VERSION:    OpenGL ES 3.2

glmark2 Score: 943

CPU load for both is around 10%.

While I’m not currently using the rock5b for 3D, I installed the Phoronix Test Suite (PTS) and have been looking for tests available crossplatform. My preferred benchmark is FurMark via ‘gputest’, however so far an aarch64 version has been elusive. Likewise for Unigine’s Sanctuary or Heaven benchmarks.

If anybody finds these, please share!