Seriously I kid you not and if you can not be bothered with DiY the below is an image I will keep updating as things improve
https://1drv.ms/u/s!AocmAh35i26QiUjEeJEX4zboMH1X
The image above has got a bit fat with me themeing Adapta and various bits but the default below is still quite slim.
Start with Manjaro minimal as this gives us all the latest packages of Arch and much of the hard work of the RockPi4 image has been done for us.
Currently its running 5.1 but after a sudo pacman -Syu
a full update/upgrade will take us to 5.2
5.2 has some boot delays that also seemed to escape the 5.2 window so we will have to put up with them.
What is great though is Manjaro run RC versions and when 5.3-rc1 is in the wild we can upgrade through pacman and hpefully incrementally see the end of a couple of bugs.
5.2 and Mesa 19.1.2 still have some problems dunno but they seemed to miss the window so we are going to jump ahead and grab the current master which is mesa 19.2.0-devel
First we will install Gnome as the default is wayland and it will cut down the libs we need for the mesa build
sudo pacman -S gnome gnome-software-packagekit-plugin gnome-nettool archlinux-appstream-data
Then we build the latest and most working mesa
sudo pacman -S bc python-pip flex bison base-devel ncurses cmake xorg-util-macros git valgrind llvm
sudo pip install scikit-build mako
# Install scikit-build mako first before meson ninja
sudo pip install meson ninja
git clone https://gitlab.freedesktop.org/mesa/mesa.git -b master
cd mesa
mkdir build
meson -Ddri-drivers= -Dvulkan-drivers= -Dgallium-drivers=panfrost,kmsro -Dlibunwind=false -Dprefix=/usr build/
ninja -C build/
sudo ninja -C build/ install
sudo systemctl enable gdm.service
sudo reboot
Apart from annoying boot delays enjoy and play!
If you have a 2gb RockPi4 use zram and even if you have more.
git clone https://github.com/StuartIanNaylor/zram-config
cd zram-config
sudo sh install.sh
nano /etc/ztab
I have 2gb if 4gb just double the mem_limit and resultant disk_size (2000M 6000M)
# swap alg mem_limit disk_size swap_priority page-cluster swappiness
swap lzo-rle 1000M 3000M 75 0 1000
# dir alg mem_limit disk_size target_dir bind_dir
#dir lz4 50M 150M /home/pi /pi.bind
# log alg mem_limit disk_size target_dir bind_dir oldlog_dir
#log lzo-rle 50M 150M /var/log /log.bind /opt/zram/oldlog
sudo reboot
If not anything else you can test out the new lzo-rle compression supposed to be extremely light and fast.
Mem_limit is the max allocated to zram disk size is harder as its a virtual size so we are expecting approx 3:1 compression
[rock@rockpi4 ~]$ zramctl
NAME ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT
/dev/zram0 lzo-rle 3G 27.7M 8.4M 11.7M 6 [SWAP]
[rock@rockpi4 ~]$ free -h
total used free shared buff/cache available
Mem: 1.9Gi 393Mi 503Mi 779Mi 1.1Gi 783Mi
Swap: 2.9Gi 29Mi 2.9Gi
With wayland you can run gtk+ apps and ones that use clutter/clutter_gtk with
GDK_BACKEND=wayland gnome-calculator
for GTK+ apps like gnome-claculator or
GDK_BACKEND=wayland CLUTTER_BACKEND=wayland cheese
for clutter apps like cheese
To be honest I am a bit bemused if an app needs it or not basically if it crashes on run try the above
Edit the desktop files in /usr/share/applications to suit.