Ubuntu Budgie plans for Raspberry Pi

Thanks! I’m interested in these smaller monitors–ideally, something in the 10-13" range–in case I decide at some point to build a DIY “laptop”.

1 Like

Thanks for the replies from David and Sam. I followed Sams recommendation, and installed ubuntu-budgie-desktop and ubuntu-budgie-welcome --classic onto the 20.10 desktop image. Then removed gnome-shell gdm3 and nautilus

I’ve spent a couple of days and trying to familiarise myself again with the Budgie desktop and the workflows. Performance is good, slightly better than the official desktop image, boot from SSD all works. A couple of the applets have some lag.

I’m happy to assist with testing etc for future builds.

I see Ubuntu Mate now have RPi 20.04.1 and 2.10 RPi images available

1 Like

What applets have lag issues?

The next step probably is to come up with a bash script that can be run on-top of the official ubuntu raspi image.

This script should deinstall all the ubuntu apps and then install the ubuntu-budgie-desktop and snap package.

I was trying various applets combinations in the top panel.

Lightpad was often slow, especially first time opened in a new session. Combinations of Lightpad, Budgie Menu, App Menu, would also occasionally cause the panel to freeze, though I could sometimes still launch apps from the plank dock and interact with other desktop elements.

The new application grid in Gnome 20.10 could probably replace much of the need for these three applets, especially if used alongside something like ulauncher

Thanks! I’m interested in these smaller monitors–ideally, something in the 10-13" range–in case I decide at some point to build a DIY “laptop”.

Pine64 has stuff like that

1 Like

Not sure what help I can offer here besides feedback and testing, but I am certainly willing to help in any way possible. One of my favorite things about the Raspberry Pi is the ease of swapping out the sd card as needed - practically zero worries an installation getting messed up.

I’m looking for someone who is interested in tailoring our solution for the Pi 4 - so

  1. reviewing the existing software - nominating good quality alternatives if necessary
  2. interest in developing producing an image to be distributed - take inspiration/work with our friends in the Ubuntu Mate community
  3. has interest on learning how to produce debian packages - i.e. tailoring what we have for the Pi. Initially just on their own computers. Later learning about uploading to a launchpad PPA
  4. Looking at Budgie Welcome and making changes to orientate it to a Pi (basic HTML knowledge and maybe a bit of python)

Sam if you are interested then there is a spot on the team! Let me know.

1 Like

Been using Budgie on both pi 3 & 4 for a while, happy to help with this project too on the development side of things

Super keen on a more official budgie for raspberry pi

What are your interests jess?

A bit of code tweaking? Showtime needs to be more dynamic in terms of its font size to take into account the connected monitor size.

@samlane is looking at bash scripting installing and removing packages based on the Canonical raspi 20.10 image.

What we need here is to script a method to unpack that image, run Sam’s script and then repack.

Generally we need to take a very careful look at the desktop installed on a raspi and see what needs to be tweaked to make it run on the lower resolution raspi screen devices.

I am sure there is a lot more todo … just depends on where your interests are.

1 Like

Cool! Will go have a go with showtime
have been budgifying ubuntu server images w/ this script here
keen to reorganize a script to work from chroot instead of from the pi

ok - initial look around at the raspi image from Canonical - it is a .img file and can be edited via a chroot.

Basically a bunch of command line stuff https://raspberrypi.stackexchange.com/a/856

Might be easier to-do this on the raspi itself - but would be interesting to see if the instructions in that link still work for the latest 20.04/20.10 x86 based system

I have had very good luck so far modifying the preinstalled Ubuntu Raspberry Pi desktop image to be a Ubuntu Budgie install. I haven’t tried the qemu method yet, but it is fairly straightforward to do it directly from the Raspberry Pi using chroot. Some of these steps could be polished and enhanced I am sure, but it works fairly well.

First, I download the image file, and unzip it:

wget https://cdimage.ubuntu.com/releases/20.10/release/ubuntu-20.10-preinstalled-desktop-arm64+raspi.img.xz

xz -d ubuntu-20.10-preinstalled-desktop-arm64+raspi.img.xz

In order to mount the image correctly, we need to get the offset for the second partition:

parted ubuntu-20.10-preinstalled-desktop-arm64+raspi.img unit B print

After running this, you get a list which shows the offset needed (we want the Start for #2):

Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start       End          Size         Type     File system  Flags
 1      1048576B    269484031B   268435456B   primary  fat32        boot, lba
 2      269484032B  8750718975B  8481234944B  primary  ext4
        ^^^^^^^^^

I then made the mount point, and mounted the image file to it using the offset:

sudo mkdir /mnt/pi        
sudo mount -o loop,offset=269484032 ubuntu-20.10-preinstalled-desktop-arm64+raspi.img /mnt/pi

apt will throw a lot of errors because it can’t find /proc, /dev, and /sys, so this is needed:

cd /mnt/pi
sudo mount -t proc /proc proc/
sudo mount --rbind /sys sys/
sudo mount --rbind /dev dev/

chroot into the image:

sudo chroot /mnt/pi

Though I had internet access in chroot, DNS lookups were failing, so I had to add a nameserver. (I used 1.1.1.1 because, well, couldn’t be easier to remember and type in)

echo 'nameserver 1.1.1.1' >> /etc/resolv.conf

To remove gnome-shell and gdm3: (I remove gdm3 before installing Budgie, that way it doesn’t pause to ask to select lightdm or gdm3)

sudo apt purge gnome-shell gdm3

I also remove these to match the Ubuntu Budgie default install more closely:

network-manager-config-connectivity-ubuntu gnome-initial-setup ubuntu-report eog gnome-terminal nautilus xdg-desktop-portal-gtk apt-config-icons-hidpi gamemode seahorse yaru-theme-gnome-shell yaru-theme-gtk yaru-theme-icon yaru-theme-sound ubuntu-wallpapers gnome-session-canberra ubuntu-settings gsettings-ubuntu-schemas xcursor-themes realmd adcli gnome-getting-started-docs shotwell remmina totem thunderbird deja-dup

A little cleanup:

sudo apt autoremove

Now the fun part… make it Budgie!

sudo apt install ubuntu-budgie-desktop

Ok, these lines I borrowed from desktopify. Essentially, it changes the initial setup to use the Ubuntu Budgie slideshow instead of the default Ubuntu:

sudo apt-get -y install --no-install-recommends oem-config-slideshow-ubuntu-budgie
sed -i 's/oem-config-slideshow-ubuntu/oem-config-slideshow-ubuntu-budgie/' /usr/lib/ubiquity/plugins/ubi-usersetup.py
sed -i 's/oem-config-slideshow-ubuntu/oem-config-slideshow-ubuntu-budgie/' /usr/sbin/oem-config-remove-gtk
sed -i 's/ubiquity-slideshow-ubuntu/ubiquity-slideshow-ubuntu-budgie/' /usr/sbin/oem-config-remove-gtk

For good measure, I reset resolv.conf when I was done with it:

echo -n "" > /etc/resolv.conf

The downside of this method is that snaps cannot be installed this way, so ubuntu-budgie-welcome isn’t on it (not yet at least), but it can certainly be added after setup. But with this method, anyone can customize the image.

2 Likes

Nice!

fwiw qemu is a real pain with Pi + 64 bits anyway-
the wonky pi boot procedure means one must manually extract and rearrange the paths of vmlinuz / ramdisk / tree / etc etc to get qemu sorted-

(Really ancient 32 bit pi images could get away with generic versatilepb in qemu, pretty useless at this point)

Have collected random bits and notes on this here:


(…though most of this particular project is either broken or missing…)
1 Like

Folks - I’m using disks to write the .img file

when writing the .img to the microsd card do you write the img and partition the extras space left on the SD card separately i.e. then its seen as a separate ‘drive’ in the file-manager

Or do you resize the written .img via (I’m guessing) gparted?

If you are asking what I think you are, I have just been burning the entire image to the microsd. The “writable” partition (I think it’s called) will resize itself on first boot. You should end up with 2 partitions on the SD card, but the writable one expands.

Okay. Separate question.

After installing and running through the setup, are there any optimizations folks use to force accelerated graphics in say firefox-YouTube, celluloid etc.?

Configure.txt should include the following, but I believe these are now all included in the base image.
max_framebuffers=2
dtparam=audio=on
dtoverlay=vc4-fkms-v3d
disable_overscan=1

Firefox needs additionally “gfx.webrender.all true” to be set. However Firefox performance is still slower than the RPi optimised package of Chromium.

There is also apparently an issue with the Chromium snap that prevents HW acceleration, but I assume this isn’t included.

thanks!

On a separate matter - but related - has anyone used instructions like these to overclock their Pi4? https://magpi.raspberrypi.org/articles/how-to-overclock-raspberry-pi-4


It might be nice to consider an application/applet for budgie-extras that is specific to the Pi/Arm boards to allow users to tweak/reset these things.

Possibly could build upon Sam’s temperature applet - make it a “Pi-Tweak” applet maybe? (https://github.com/samlane-ma/pi-tempmonitor) Thoughts? Anyone interested in pursuing?

1 Like

Over locking is very straight forward, adding the following to config.txt the following would set CPU at 1.8 GHz and 750 MHz for the GPU
over_voltage=4
arm_freq=1800
gpu_freq=750

In addition to the config settings I mentioned earlier, I also typically add
“hdmi_enable_4kp60=0” which disables 4K output and set “dtparam=sd_poll_once” when booting from SSD. This stops the system continually searching for SD card

There is now a Canonical tool piobootctl for editing boot settings. Full details can be found here I believe this was developed as replacement for the raspi-congfig , but I’m not sure what the plans are for the tool. It’s possibly just a stop gap, but it works well.

2 Likes

Neat. Then a simple GUI wrapper over that app would be more than useful.