The Raspberry Pi 4 is quite an interesting piece of hardware. It is a single-board computer (SBC) with a fairly decent CPU of 4x ARM A72 cores. Think of mid-2010’s era smartphones. It is paired with a Broadcom VideoCore VI GPU that is clocked at 500MHz.
As a Server
I installed an ARM 64-bit Ubuntu 20.04 Server image to try to host some stuff on it. It worked suprisingly well! Some things I tried to host was a NextCloud instance via an Ubuntu snap and a static-site hosted with Nginx. As the tasks were relatively light, the Raspberry Pi 4 and its 4 CPU cores handled all these things like a champ.
As a Desktop
This is were it gets a little tricky. In order to use a computer as a good desktop, it has to be smooth. For things to be smooth on screen, there must be some degree of graphics hardware-acceleration. Unfortunately, the GPU just isn’t up to snuff in the graphics department.
In order for there to be graphics acceleration, a special kernel built for the Raspberry Pi 4 must be used. This is found in the Raspberry Pi OS Linux distro. Other Linux distros lack this special kernel module found in the Raspberry Pi OS for graphics. However, even after installing the Raspberry Pi OS (64-bit), I found that web-browsers like Firefox and Chromium were nigh-unusable. It is just too janky to be used as an effective web-browsing machine.
What makes things worse is that video hardware-acceleration is basically non-existent in the desktop. What makes this particularly frustrating is that the built-in VideoCore GPU does have dedicated video-decode blocks for H264 and HEVC codecs! Hence all video playback is done via CPU decode only, which limits video to 720p playback. I believe that the 32-bit OS supports video-decode acceleration using some obscure decoder (OMX), but it still doesn’t solve the earlier issues of inherent slowness of graphical programs.
I believe that the Raspberry Pi 4 is not suitable for desktop use. It was meant as an educational / tinkerer project platform, not a desktop replacement computer.
Final Thoughts
I initially bought the Raspberry Pi 4 to tinker with it. Thus far, my tinkering has been constrained purely to software projects. I believe that is a real pity as the GPIO pins allows for unlimited input and output accessories. I could log readings from various sensors (temperature, humidity, air quality etc.), or I could have a signboard displaying random strings based on the time of the day.
But even so, it worked well as a server for a few months before I moved all my server hosting stuff to a remote VPS. My experience with it as a desktop was frankly not good as I just couldn’t get it to work well despite trying everything I could to optimize it. But for what it is, its actually quite good value for a computer under a hundred (SGD) dollars.