Since the first time that Raspberry Pi gets popular, people had one question in their head: Can I use this thing as a desktop replacement?
For Raspberry Pi Zero and Zero 2, the answer to this question was a hard no because of lack of RAM.
For the Raspberry Pi 3 and one whole gigabyte of RAM of it, the answer to this question became “If you are enthusiastic enough and find a way to run an OS which is optimized as hell, maybe. But generally no.”
Raspberry Pi 4 came out with a powerful CPU and plenty of RAM options. Thanks to its popularity, the platform started to be supported by a great community. This community helps the platform to get supported by various operating systems. We can give Ubuntu to Android or even Chromium OS as examples.
If we go back to the question “Can I use this thing as a desktop replacement?”, in this post we are going to be looking for an answer for it. First things first, we need to determine what should we expect from a desktop experience:
The platform (with hardware and software) should be able to provide:
- A stable and usable experience. (Acceptable animations, launch times, installation process)
- A decent web performance (Google Docs, Netflix, YouTube, Emails, social media)
- A sufficient range of app choices (Document edit, take notes, image edit)
Providing basic development infrastructure is a big plus, we all know you didn’t buy an RPi 4 to watch YouTube on it.
In this post, we are going to try to find a good desktop experience with Raspberry Pi and FydeOS.
It is a Chromium-based, China-originated OS. You can find more information here: https://fydeos.io/
Let’s get started.
1. Download the .img file
Here is the link to the download page: https://fydeos.io/download/device/rpi4-fydeos
Go download it from the mirror of your preference and extract it from the .xz archive again with the tool of your preference.
2. Flash to the Micro SD card
Open Balena Etcher (You can download it from here) and select the .img file that you have extracted as the image, and select the Micro SD card as the target storage.
3. Boot up!
Put the Micro SD card into the Raspberry Pi and connect it to a screen, mouse, and keyboard.
As soon as it boots up, a setup process starts. Select your language and follow the instructions.
FydeOS requires you to have a Fyde account and a phone number bound with it. To validate your phone number, you need to use their Telegram bot with the Telegram app. (In this step, you are giving any information to the Fyde at your own risk. I cannot tell anything about the security and privacy of their infrastructure or their policies, please read all the notices carefully while installing.)
When the installation is completed, we can see the Chromium browser is open on the desktop with the Bing search engine. You can change it from the Chromium settings as you do it on Chrome if you wish.
4. Expand file system
Since the image that we have flashed is 8 GB, the file system has this amount of space (including system, etc.) We need to expand the file system to be able to use all the space that our Micro SD card can offer.
I have used this answer from a GitHub issue: https://github.com/FydeOS/chromium_os-raspberry_pi/issues/10#issuecomment-682280368
The command is below:
sudo /usr/sbin/expand-partition.sh --dst /dev/mmcblk0p1
As you can see that the available space is around 24.9 GBs
5. Let’s Check the Web Apps!
Let’s start with an easy one, does GMail work? Yes.
What about the Twitter?
Google Docs is working just fine too.
YouTube can play 1080p videos without any issues (I also tried with Bluetooth headphones, and it is working without any issues)
Netflix allows me to watch too. When you first open any video it drops a couple of frames but after a couple of seconds it gets a lot better and the experience becomes the same with a regular computer.
The web experience looks more than promising. It is crisp, and it doesn’t have any DRM or compatibility issues.
6. Use Android apps as a part of the desktop experience.
Since we are using a Chromium-based OS, one of its advantages is it can run Android apps. There is a preinstalled app called “Store” in the application tray of the operating system. This is where you can find Chrome Web Apps (Yes you can install them as applications on Chromium OS) and Android apps! Not all the Play store is here of course but the number of choices is pretty sufficient for a regular desktop user.
To be able to use Android apps on the FydeOS, you need to navigate into the Settings and below the Apps section, you should be able to see the “Manage Android Preferences” entry. When you click it, it will guide you to set up the Android subsystem and open the Android settings app as below.
This is the FydeOS Web Store app. You can navigate to the “Android Apps” page from the side menu.
Let’s get started with a document edit app. WPS Editor is a widely used document editor, and it runs without any issues.
I also installed Autodesk Sketchbook and it is responsive. Of course, the mouse is not the best way to interact with this app.
Image viewer that comes preinstalled is more than enough for a desktop user, it gives abilities like cropping, marking, color adjustments and rotating.
I installed the Color Note app as a note-taking app. The OS can run it OK, but I don’t find it very useful, so I suggest you to get Keep Chrome App from the store’s web section or use web clients of your favorite note-taking app.
7. I tried to install Open GApps but…
There is a section in the “Store” app called “Made by FydeOS” and there is a “Configure Open GApps” utility in that section.
It gets the job done well, it downloads and installs the Open GApps to the Android subsystem without errors.
When you reboot at the end of the process, you can see the Play Store icon, and it launches well too.
But when you try to Sign In to your Google account, the app will not allow you to get started because this particular build of the OS is not Play Protect certified. Hope this gets solved in the future and we can be able to use the Play Store on FydeOS.
8. What about the Linux Subsystem?
As we know there is a Linux Subsystem included in the Chromium OS and Fyde OS has the same.
Go to the Settings > Developer > Linux Developer Environment > Turn On
Choose a username for Linux Subsystem and set the size on disk.
It will take a while.
After this process, you should be able to see a “Terminal” app in the application tray and when you launch it you should be able to access the Linux Subsystem through this terminal.
9. We have Linux, why not VS Code?
We can install VS Code and make some basic development on it. Go to the VS Code Download page and download the ARM 64 version of the .deb file.
In the files, open the file location and right-click on the .deb file, and select “Install with Lınux”.
Now you should be able to see it in the application menu.
Open it up and install your plugins to get started.
Write a piece of code to test the installation and run it with the run button on the top right.
Of course, as all the Raspberry Pi Desktop usage targeting Operating Systems, this one has a couple of issues too.
- When you open an Android app there will be awkward shapes, but they will go away in a couple of seconds.
- When you turn on the Night Light from the settings, the wireless mouse will start responding delayed and the usability definitely decreases.
- When you try to resize Android apps, sometimes they may encounter rendering issues, and you will need to restart them.
- While the mouse receiver is connected to the USB 3.0 port, connecting a USB thumbstick to the other 3.0 port can cause to stop the mouse input. When you put one of them on 3.0 and one of the 2.0 there is no problem
- As we talked about it in section 7, there is no Open GApps yet.
While I was trying all these installations and tests, I haven’t encountered a memory issue (I used the 4 GB version of the RPi 4B), or the system is not crashed. The boot speed and launch speeds of the apps are depended on the Micro SD card speed, so using a faster card (or maybe a USB SATA SSD) may definitely improve the overall fluency but this configuration is completely usable.
With the wide app choices of Android and Linux subsystems and Chrome Web Store apps, this platform definitely has a solid ecosystem. If you are looking for a decent desktop experience and some tinkering opportunity with some development tools with a Raspberry Pi, FydeOS is definitely an option that you should consider.