How can I install Budgie on Ubuntu Server 20.04 LTS for Raspberry Pi Model 3 B+?

There is this tutorial about how to install Ubuntu 19.04 Budgie on RaspberryPi [Tutorial] Installing Ubuntu Budgie on a Raspberry Pi . Does this work for 20.04 as well?

My config:

  • Raspberry Pi Model 3 B+
  • 16 GB SD card
  • Ubuntu Server 20.04 LTS for RaspberryPi 3
  • sudo apt-get install ubuntu-budgie-desktop

It should … with a few modifications such as obviously using the ubuntu server 20.04 download as the starting point.

The more powerful rasp 4 with at least 2gb (preferably 4gb) would be a better starting point.

Do try and write up your findings here. TIA

I’ll give it a try with RPi 3b+ but w.o. active cooling the next days. That’s the only model I’ve at home right now. And RPi3 runs usually quite ok w.o. active cooling (in contrast to RPi4b which activates cpu throttling). Probably I’ll run stress or something else for stress testing as well. Do you have some other tool recommendation for stress testing? I’ll keep you updated.

I installed Ubuntu Server 64-bit and installed udo apt install ubuntu-budgie-desktop with the gdm3 option (instead of lightdm). Login as ubuntu was possible. However the Desktop was not started. Trying to start gdm3 manually lead to:

ubuntu@ubuntu:~$ sudo service gdm3 start
Failed to start gdm3.service: Unit gdm3.service not found.

Obviously gdm3 had to be installed explicitly with sudo apt-get install gdm3 -y. After a reboot I could login. However when I hovered over the icons in the bottom to start Firefox the screen freezed. This happened several times. In summary the result was not satisfying.

I’ll try lightdm instead of gdm3 and let you know about the results @fossfreedom .

can I ask how much RAM are you trying with?

I was looking at this and the specs of the 4 is very impressive compared to the 3b.

So I’m curious what your findings will be for the 3b - but still consider (given that article) that the specs of the 4 is a better fit for budgie-desktop.

Yes, I’m quite sure that Budgie Desktop should run on RPi4 quite well. However I cannot try right now.

If anyone is interested, I did install Ubuntu Budgie 20.04 on a Raspberry Pi 4 4gb. I used the 20.04 Ubuntu Pi image from, then installed ubuntu-budgie-desktop (and of course made sure to select lightdm during the install). While there are some minor problems, for the most part, it does run pretty well. It does run hot though so I needed to use a fan. The biggest problem I have come across so far is that I can’t figure out how to get tilix to run. It just crashes on startup. I took the easy way out and just installed gnome-terminal instead and set the hotkey to that.

Fullscreen video is choppy, but watching things in windowed mode, like on Youtube or something, its fairly smooth. Not perfect, but certainly very usable. Most of the Budgie applets work as expected. The only ones I have had trouble with so far are Window Shuffler, which doesn’t work right, and pixel saver, which will not install from Budgie Welcome and can’t be found when trying to install it using apt. I just might be doing something wrong here, though.

The only other minor issues I came across so far were with bluetooth and the headphone jack. Bluetooth did not work out of the box, but installing pi-bluetooth fixed this problem. Streaming audio to bluetooth headphones works well, but streaming audio in the other direction from my phone to the Raspberry pi can stutter. The headphone jack does not seem to work, even when there is no HDMI plugged in. There is no way to change this in the Sound settings that I have found, but “amixer cset numid=3 1” at the command line switches audio output to the headphone jack (and “numid=3 2” switches back to HDMI).

I still have to play around with more things, like installing other apps, or multi-monitor setup. But while it might not the fastest Budgie I have used, it is certainly fast enough and works well enough to be completely usable.


fabulous feedback. Much appreciated.

There is a arm64 package for tilix available ( - but I assume there is something wrong with the arm package. That’s a shame. Don’t forget to file a bug report on launchpad.

I think we might not have enabled the arm64 build in our backports PPA - hence the package would not exist. We’ll need to do this and push a rebuild.

As to window shuffler - a little surprised. Please raise an issue on - might be a difficult one to resolve since none of the team have a pi4 to test with.

I did read the other day that Canonical have committed to pi4 on 20.10 … so maybe tweaks and tucks will help here with some of the issues you have raised.

This is the error I get from tilix, if it helps explain anything. I’ll make sure I report it.

uncaught exception
object.Exception@std/process.d(3355): Environment variable not found: TILIX_ID
??:? pure @safe bool std.exception.enforce!().enforce!(bool).enforce(bool, lazy const(char)[], immutable(char)[], ulong) [0xffffbdc26526]
??:? @safe immutable(char)[] std.process.environment.opIndex(scope const(char)[]) [0xffffbdc90186]
??:? [0xaaaac43d80d2]
??:? void rt.dmain2._d_run_main2(char[][], ulong, extern (C) int function(char[][])*).runAll() [0xffffbd99e4a6]uncaught exception
Aborted (core dumped)

Found this debian bug report - mentions how to diagnose - and the final post describes a solution - may work on ubuntu (hopefully)

1 Like



LD_PRELOAD=/lib/aarch64-linux-gnu/ tilix

tilix starts up and runs perfectly!


Edit to show actual steps I took to fix:

The solution I am currently using is just to disable the default keyboard shortcut for the terminal launcher, and then create a new custom shortcut for [CTRL+ALT+T] using the command

env LD_PRELOAD=/lib/aarch64-linux-gnu/ tilix

I almost exclusively use the shortcut to launch the terminal, so this ended up working out very well.

@fossfreedom once the arm build is enabled on launchpad, these are just rebuilds like we did for the latest release?

Yep. No change rebuilds. The convention is to suffix “build1” to the changelog version with a changelog comment “No change rebuild”

Edit; arm64 now enabled on the backports ppa and budgie-extras-daily ppa. Just now need todo a mass rebuild on backports.

I can probably slowly work through these. Any target time?

No targets. As and when time allows.

Just a followup on this. I said that Window Shuffler wasn’t working on the Pi. I figured out how to get it to work, or more appropriately, I inadvertently got it working while trying to get multi-monitor working correctly. I followed a suggestion to add:


to /boot/firmware/usercfg.txt

This fixed a few things. First, Window Shuffler works completely perfectly now. Second, multi-monitor is working fairly well. And last, gnome-screensaver previously was not blanking the screen. It would lock the screen properly, but would never actually go blank. Now it works fine. If there is a downside to this fix, I haven’t found it… yet…


I am not familiar with arm based systems. Can you please explain what that config change does?

I wish I could, but I am quite unsure what it does really. When researching it (because I wanted to know why it did what it did, and if it was a valid fix or just some bandaid fix), the best explanation I found was this from

fkms is “fake kms mode”, in this mode the kernel selects the screen mode(s) for the screen(s) but the videocore firmware manages the video output path. This contrasts with “legacy” mode where the videocore firmware manages everything and “full kms” mode where the kernel manages everything.

v3d is the videocore 3D driver for the standard mesa/linux 3D stack that runs on the CPU, in contrast to the legacy 3D driver which runs on the VPU and avoids all the usual linux mechanisms.

I presume vc4 is in the name, because when the overlay was named it was the only version of videocore that the Pi had. Even though the overlay is used for both vc4 and vc6 nowadays.

I haven’t had any real issues with it since. I just got a 7" touchscreen for it yesterday. Before that I was testing the multi-monitor with a tv and regular monitor. It all just seems to work.

1 Like

I am not saying this needed to exist, but it does now…
UB in a 7" form factor: (and works quite well - uptime 6+ days already)