aboutsummaryrefslogtreecommitdiff
path: root/build/my-pi-desktop/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'build/my-pi-desktop/index.html')
-rw-r--r--build/my-pi-desktop/index.html122
1 files changed, 122 insertions, 0 deletions
diff --git a/build/my-pi-desktop/index.html b/build/my-pi-desktop/index.html
new file mode 100644
index 0000000..f41278a
--- /dev/null
+++ b/build/my-pi-desktop/index.html
@@ -0,0 +1,122 @@
+<!doctype html>
+<html lang="en" id="top">
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <link rel="icon" href="data:,">
+ <title>My Raspberry Pi Desktop</title>
+ <link href="https://bt.ht/atom.xml" type="application/atom+xml" rel="alternate" title="Atom feed for blog posts" />
+ <style>*{box-sizing:border-box;}body{font-family:sans-serif;margin:0 auto;max-width:650px;padding:1rem;}img{max-width:100%;}pre{overflow:auto;}table{text-align:left;width:100%;}</style>
+</head>
+
+<nav>
+ <a href="#menu">Menu &darr;</a>
+</nav>
+
+<main>
+<h1>My Raspberry Pi Desktop</h1>
+<p>2020-09-02</p>
+<p>I use a Raspberry Pi 4 as my personal daily driver and it's pretty great. I know these types of devices tend to be used for smaller pet-projects or fun experiments, but I thought I would share my experience using one as my main computer. Hopefully this can be a solid guide to help others who might be interested in creating a similar setup.</p>
+<p>My desktop Pi working away on a regular morning:</p>
+<p><figure>
+ <img src="/public/images/rpi-desktop.webp" alt="Raspberry Pi 4 desktop">
+ <figcaption>The final Raspberry Pi desktop in all it's glory. (<a href="/public/images/rpi-desktop.webp">direct link to image</a>)</figcaption>
+</figure></p>
+<h2>Table of Contents</h2>
+<ol>
+<li><a href="#use-case">My Use Case</a></li>
+<li><a href="#hardware">The Hardware</a></li>
+<li><a href="#software">The Software</a></li>
+<li><a href="#stats">Performance &amp; Stats</a></li>
+</ol>
+<p><h2 id="use-case">My Use Case</h2></p>
+<p>I'm a web designer and developer by trade. Therefore, I require a decent amount of functionality from my computer - more than just simple web browsing and document editing. When I first set out testing if the RPi4 <em>could</em> become my main device, I was surprised at how capable the hardware / software was at running all my required applications. My workload comprises of:</p>
+<ul>
+<li>Using Github/Gitlab to pull/push repos, open PRs, etc</li>
+<li>Run SSG (Jekyll mostly) locally for testing</li>
+<li>Run multiple WordPress instances locally</li>
+<li>Edit design files (Photoshop, Illustrator, direct SVGs)</li>
+<li>Simple web chat / email</li>
+</ul>
+<p>Basic stuff, but I was originally doubtful of the RPi4 to be able to handle it all smoothly. I'm happy to say I was wrong.</p>
+<p><h2 id="hardware">The Hardware</h2></p>
+<p>The following hardware list is what I use specifically for my intended use case. I'm also a sucker for having cool looking SBC builds. By no means is this the "best setup" for everyone - I'm sure other combinations of gear might better suit your own personal needs.</p>
+<blockquote><p><strong>Note</strong>: products in the hardware section are Amazon affiliate links</p>
+</blockquote>
+<ul>
+<li><a href="https://amzn.to/33BAVn2" target="_blank">Raspberry Pi 4</a></li>
+<li><a href="https://amzn.to/3nu55Aq" target="_blank">X857 V1.0 mSATA SSD Shield Expansion Board</a> (I'm using the X856)</li>
+<li><a href="https://amzn.to/3jEgWd5" target="_blank">128GB mSATA SSD</a></li>
+<li><a href="https://amzn.to/3nqeJUK" target="_blank">Acrylic Case with Heatsinks &amp; Fan</a></li>
+<li><a href="https://amzn.to/34w60I1" target="_blank">Raspberry Pi Keyboard & Mouse</a></li>
+<li><a href="https://amzn.to/3jDKLdT" target="_blank">21.5" Acer Monitor</a></li>
+</ul>
+<p><h2 id="software">The Software</h2></p>
+<p>The 32-bit version of Raspberry Pi OS ('Debian Buster' at the time of writing) is my OS of choice. Stable, reliable, and officially supported by the RPi community. It does the job.</p>
+<p>The Pi has been overclocked to 2GHz in order to squeeze just a <em>little</em> extra out of the hardware. This has caused zero issues.</p>
+<p>I'm also booting directly from the mSATA SSD (via USB booting) instead of relying on a slower microSD card. You can find tons of tutorials online on how to do the same, but I would recommend this one: <a href="https://www.tomshardware.com/how-to/boot-raspberry-pi-4-usb">How to Boot Raspberry Pi 4 From a USB SSD or Flash Drive</a></p>
+<p>After that, I simply installed my required apps / configs (where applicable):</p>
+<ul>
+<li>Chromium (<em>preinstalled</em>)</li>
+<li>Firefox ESR</li>
+<li>Pale Moon</li>
+<li>Code OSS</li>
+<li>Terminal (<em>preinstalled</em>)</li>
+<li>Libre Office Suite</li>
+<li>Evolution</li>
+<li>Figma (Web - no install needed)</li>
+<li>Apache2 / MySQL</li>
+<li>Blueman (helpful GUI for bluetooth)</li>
+</ul>
+<p>What my plain desktop looks like:</p>
+<p><figure>
+ <img src="/public/images/rpi-desktop-screenshot.webp" alt="Raspberry Pi 4 desktop and wallpaper">
+ <figcaption>My very basic Raspberry Pi desktop/wallpaper view. (<a href="/public/images/rpi-desktop-screenshot.webp">direct link to image</a>)</figcaption>
+</figure></p>
+<p><h2 id="stats">Performance &amp; Stats</h2></p>
+<p>Using this build day-to-day, I can honestly say I don't hit any hiccups or lag at all. Multiple applications and WordPress instances are running in the background, while 10-15 tabs are open in the Chromium browser. The little Pi just chugs along without breaking a sweat.</p>
+<p>My average CPU temperature sits around 51&amp;deg; (with heatsinks &amp; fan active) while CPU usage never really cranks past 90% during even "intensive" processes.</p>
+<p>Since <em>actual</em> data speaks louder than anecdotal chit-chat, I performed a very simple read/write test on my mSATA SSD.</p>
+<p>First, clear the cache to avoid conflicting data:</p>
+<pre><code>sync; echo 3 | sudo tee /proc/sys/vm/drop_caches
+</code></pre>
+<h3>Write</h3>
+<p>Write script run:</p>
+<pre><code>dd if=/dev/zero of=~/test.tmp bs=500K count=1024
+</code></pre>
+<p>Write output:</p>
+<pre><code>524288000 bytes (524 MB, 500 MiB) copied, 1.95478 s, 268 MB/s
+</code></pre>
+<h3>Read</h3>
+<p>Read script:</p>
+<pre><code>dd if=~/test.tmp of=/dev/null bs=500K count=1024
+</code></pre>
+<p>Read output:</p>
+<pre><code>524288000 bytes (524 MB, 500 MiB) copied, 0.770993 s, 680 MB/s
+</code></pre>
+<p>This gives a total read/write value of: <strong>268 MB / 680 MB</strong> per second. Compare that to average microSD card speeds floating around <strong>22 MB / 170MB</strong> per second and you can see (and feel) the massive speed difference. Things are just snappier.</p>
+<p><strong>Note</strong>: Obviously extremely high-end (read: expensive) microSD cards <em>might</em> hit read/write speeds similar to that of an SSD. The issue is that you are more likely to corrupt or reach end-of-life with a microSD card - hence why I don't recommend them.</p>
+<h2>Final Thoughts</h2>
+<p>I love that I can use a fairly cheap Raspberry Pi 4 as my main, personal desktop. Of course, some people might roll their eyes at this build and say, "why not just get a cheaper, more powerful laptop off eBay?". To that I would respond: <em>you're missing the point</em>. </p>
+<p>It was fun to put together this simple desktop. The fact that it runs fast and stable enough to be my daily driver is a great bonus. If this build interests you at all, I highly recommend giving it a go.</p>
+<footer role="contentinfo">
+ <h2>Menu Navigation</h2>
+ <ul id="menu">
+ <li><a href="/">Home</a></li>
+ <li><a href="/projects">Projects</a></li>
+ <li><a href="/uses">Uses</a></li>
+ <li><a href="/wiki">Wiki</a></li>
+ <li><a href="/resume">Resume</a></li>
+ <li><a href="/colophon">Colophon</a></li>
+ <li><a href="/now">Now</a></li>
+ <li><a href="/donate">Donate</a></li>
+ <li><a href="/atom.xml">RSS</a></li>
+ <li><a href="#top">&uarr; Top of the page</a></li>
+ </ul>
+ <small>
+ Built with <a href="https://git.sr.ht/~bt/barf">barf</a>. <br>
+ Maintained with ♥ for the web. <br>
+ Proud supporter of <a href="https://usefathom.com/ref/DKHJVX">Fathom</a> &amp; <a href="https://nextdns.io/?from=74d3p3h8">NextDNS</a>. <br>
+ The content for this site is <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>.<br> The <a href="https://git.sr.ht/~bt/bt.ht">code for this site</a> is <a href="https://git.sr.ht/~bt/bt.ht/tree/master/item/LICENSE">MIT</a>.
+ </small>
+</footer> \ No newline at end of file