Using a Raspberry Pi 4 for a Day: A MacBook Pro Replacement Experience

Click on the top “Rookie Learns Python” to select the “Star” public account

Super invincible dry goods pushed to you at the first time!!!

This article is authorized to be reproduced by Machine Heart (WeChat public account: almosthuman2014), and secondary reproduction is prohibited.

Participants: Zhang Qian, Dan Jiang, Xiao Zhou

Organized by Machine Heart

About two weeks ago, the Raspberry Pi 4 announced its latest upgrade: a new 8GB memory version priced at $75. Is this new Raspberry Pi really that appealing? To answer this question, a YouTuber named Jeff Geerling came up with a bold idea: on a workday, unplug his MacBook Pro and plug in the newly purchased 8GB Raspberry Pi 4 as his main work computer to see what it feels like after a day.

Using a Raspberry Pi 4 for a Day: A MacBook Pro Replacement Experience

We know that a workday is not just about blogging or writing code remotely. If it were just that, any Chromebook, tablet, or cheap old laptop would suffice. In addition to these, the workday content referred to by Jeff Geerling also includes:
  • Using dedicated apps to browse Twitter;

  • Using Slack (the memory used by Slack is more than most other applications that Jeff Geerling runs combined at any given time);

  • Recording and editing audio and video;

  • Using Docker, Ansible, and Kubernetes to implement some infrastructure automation.

He recorded the entire process in a video uploaded to YouTube, which has garnered over ten thousand views.
After a day, Jeff Geerling found that if your daily work involves a lot of command line work, programming, using git, and occasionally browsing the internet, Raspberry Pi OS is indeed a cost-effective choice. However, using it as a real work computer is still a bit painful, so he gave up on this idea after a day (originally planned to stick it out for a few more days).
He wrote down the steps of his day in a blog, let’s experience it together.
Jeff Geerling: A Day Replacing MacBook Pro with 8GB Raspberry Pi

Using a Raspberry Pi 4 for a Day: A MacBook Pro Replacement Experience

Step 1: Plugging in the Device
The primary task of the day was to unplug the MacBook Pro from my CalDigit TS3 Plus Thunderbolt 3 hub and figure out how to plug everything needed into the Raspberry Pi.
I plugged in an AmazonBasics powered USB 3.0 hub into the Raspberry Pi. I chose a powered hub to prevent the Raspberry Pi’s internal bus from powering all devices, which include:
  • A Kensington 240 GB SSD in an Inateck USB 3.0 SATA enclosure.

  • Apple Magic Keyboard.

  • Apple Magic Trackpad.

  • Behringer U-Phoria USB 3.0 audio interface.

  • Logitech C920 webcam.

You might not realize how much messy cables can arise when switching computers.

Using a Raspberry Pi 4 for a Day: A MacBook Pro Replacement Experience

I plugged in the official Raspberry Pi 4 USB-C power supply and a micro HDMI to HDMI adapter that was plugged into my LG 4K 27-inch monitor, then waited for the Raspberry Pi to boot up!
Step 2: Reconfiguration
The first thing I did was spend nearly 30 minutes figuring out how to achieve consistent font sizes for 4K quality across all applications and system controls (at 30Hz, the Raspberry Pi cannot output 60Hz via its HDMI connection).
The settings in the appearance preferences seemed to apply to some window chrome and buttons but not to applications themselves. Therefore, at 4K resolution, when I increased the font size, the main window text of the file manager became readable. However, to make file names and other lists readable, I had to go into the file manager settings and increase the font size there.
Next, I enabled the “Pixel Doubling” feature, so that the original 1 pixel would be constructed in 2×2 pixel blocks, making all content exactly double the size, allowing the Raspberry Pi to run on the 4K display.
If you want to play games or watch videos, this is sufficient, although there will be some slight tearing when watching videos at 4K settings. Other content on the computer will be presented at 1080p resolution.
Finally, after a long setup process, I decided to stick with the original 1080p resolution, even though it made my monitor look a bit outdated. I did this to:
  • Reduce the load on the Raspberry Pi’s GPU (thus less tearing);

  • Allow the Raspberry Pi’s GPU to apply anti-aliasing;

  • Permit a 60Hz refresh rate, making it more comfortable for my eyes when watching 60fps videos.

During this time, I also had to give up using the Apple Magic Trackpad because even after adjusting many settings, the tracking was not very precise. It felt like the trackpad was drunk.
I plugged it directly into the Raspberry Pi but still encountered the same issue. So I switched to an old Logitech mouse I used in the office, which worked better.
Step 3: Workflow and Apps
I started looking for alternatives to the apps I use daily, with mixed results. Chromium is a decent browser and works fine. VSCodium is a good code editor that can replace my favorite Sublime Text 3. Sublime Text 3 has a Linux version but is not compatible with ARM64, which is a problem many apps face.
I tried to compile Dropbox on Pi OS beta but failed. So I installed Rclone to achieve many goals.

Using a Raspberry Pi 4 for a Day: A MacBook Pro Replacement Experience

In terms of command line interface, Pi OS Terminal is sufficient.
For chatting, Pidgin and LimeChat work well on the Raspberry Pi.
At this point, aside from not being able to find pre-built arm64 Docker images for some of my projects, I was able to smoothly do many open source and basic tasks.
However, I also encountered many new problems.
Step 4: Discovering Issues
At this point, I discovered a problem: many small things that can be done on a Mac cannot be done on the Raspberry Pi, or the process is quite cumbersome.
For example, I quickly browse dozens of RSS feeds every morning using Reeder. To do this, I had to use a painful Web UI because I couldn’t find a Feedly reader that could be compiled on ARM 64.
And generally, people often use Twitter. On the Raspberry Pi, you can install Cawbird, but there are two problems: 1) it frequently encounters transient errors during use; 2) it must be installed using Snap, so… you have to install snapd first and then restart the Raspberry Pi.
Let’s not discuss the Snap issues here. What I want to express is that for all the software I want to use, I have to spend a lot of time finding versions that can run on Linux, and then narrow it down to “running on Linux ARM64.””>
I usually need to spend a few minutes compiling the source code and placing shortcuts in the system to directly open the programs.
Step 5: Multimedia Functionality is Hard to Achieve
After a day, I wondered if I could do some audio and video work and create a “day experience” video on the Raspberry Pi.
However, I ran into problems right at the start. I couldn’t get the audio and video devices to work properly.
I opened Zoom, which recognized the Logitech C920 webcam as a video source, but I couldn’t select the microphone as an audio source. I saw the Behringer USB audio interface, but selecting it still resulted in no sound.
I tried BlueJeans but didn’t see the camera or microphone; the only option was to “join by phone.” But when I clicked that option, the BlueJeans interface locked up, and I had to refresh the interface!
Google Hangouts Meet recognized the webcam for video but also had no audio.
Later I listed my audio playback devices using aplay -l, and the Behringer interface appeared. arecord also listed the webcam and Behringer as valid input devices:
$ arecord --list-devices
**** List of CAPTURE Hardware Devices ****
card 2: U192k [UMC202HD 192k], device 0: USB Audio [USB Audio]
 Subdevices: 1/1
 Subdevice #0: subdevice #0
card 3: C920 [HD Pro Webcam C920], device 0: USB Audio [USB Audio]
 Subdevices: 1/1
 Subdevice #0: subdevice #0
So I spent 30 minutes trying to record using either the webcam’s microphone or the Behringer audio interface. After several attempts, the following two effective FFmpeg commands emerged:
# Gets sound and video from the webcam:
$ ffmpeg -ar 44100 -ac 2 -f alsa -i hw:3,0 -f v4l2 -codec:v h264 -framerate 30 -video_size 1920x1080 -itsoffset 0.5 -i /dev/video0 -copyinkf -codec:v copy -codec:a aac -ab 128k -g 10 -f mp4 test.mp4

# Sound from Behringer, video from webcam:
ffmpeg -ar 44100 -ac 2 -f alsa -acodec pcm_s32le -i hw:2,0 -f v4l2 -codec:v h264 -framerate 30 -video_size 1920x1080 -itsoffset 0.5 -i /dev/video0 -copyinkf -codec:v copy -codec:a aac -ab 128k -g 10 -f mp4 test-webcam-audio.mp4
One more thing to note about recording video: the Raspberry Pi’s processor cannot transcode and encode 1080p in real-time. Fortunately, the Logitech C920 has built-in hardware H.264 encoding, allowing you to extract streams directly from the camera and save them to disk without rendering.
However, if I were using another camera without a built-in encoder, the Raspberry Pi would only be able to record at 5-8 fps at 1080p/30fps. If I set it to 480p/30fps, the Raspberry Pi would record well and save it in mp4 format.
For pure audio recording, I tried gnome-audio-recorder, but it couldn’t even start recording or find any audio sources, only showing an error message “Unable to set the pipeline to recording state.”
Conclusion
After all this, is the 8GB Raspberry Pi 4 worth picking up? The author’s conclusion is: if you want to use it as a general-purpose computer, then definitely not. But for some people, this Raspberry Pi has its unique advantages.
If your computer use mainly involves browsers, code editors, and command lines (such as backend web development, infrastructure development, writing blogs, etc.), then the 8GB Raspberry Pi 4 is completely sufficient. Even if you open a bunch of tabs, Chromium runs well.
All costs add up to about $250, including keyboard, mouse, monitor, external SSD, plus the $75 Raspberry Pi, which is still advantageous compared to low-end Chromebooks or old laptops. The author mentions that he is considering using the Raspberry Pi 4 as his child’s first computer.
However, if you frequently use media editing software like Final Cut Pro or iMovie, it’s recommended to save up for a MacBook Pro. At least, there are currently no similar tools that run well on the Raspberry Pi unless you’re willing to sacrifice usability and stability.
The author states that he may increasingly use the Raspberry Pi in server applications, as the cost-effectiveness and energy efficiency of the Raspberry Pi have improved with each generation, even rivaling much more expensive computers under certain workloads.
But he does not believe this year is the “year of the Linux desktop.” He states that for mainstream users, “Linux on the desktop” will always be a thing of 20 years later, just like nuclear fusion.
Original link: https://www.jeffgeerling.com/blog/2020/i-replaced-my-macbook-pro-raspberry-pi-4-8gb-day


Recommended Reading:
Huawei, Alibaba, Tencent off-duty hours exposed: all the glamour comes with overtime.
Wow! NASA open-sourced Mars rover on GitHub.

This GitHub repo went viral, gaining 9,000 stars! Just ten lines of Python code can generate a GUI.
Wow! GitHub can be played like this!



Long press for 2 seconds, input: 【Welfare】
Send selected Python books and videos.

Click here to enter Rookie Learns Python Bilibili base camp.







































Leave a Comment

×