My Personal Computing Setup

I’ve been using Ubuntu and Windows dual-booted for years now. It was because of a few awesome classmates and mentors in college that I got interested in Linux. Since then, I’ve explored various ways of configuring this. And there are many small blogs related to this on my personal blog — mrsauravsahu.tech/blog. Now let’s discuss how I’ve setup my machine. From hardware to software.

Note: Throughout this blog, there are terms that could interest you, so I’ve marked them with inline code-blocks. 😉

Hardware

Back in 2018 I built my first machine. It was a great exercise, and took me a while to see what is compatible with what other hardware components. But I remember using sites like pcpartpicker to help me make sure parts worked with each other. I bought my PC case online as I didn't want to carry it from the market. 😂

I bought the rest of the components from the famous SP Road in Bangalore, trying to haggle my way through. Went there with a couple of my friends as we were all building PCs. So, here’s my hardware breakdown.

2018 PC Build Parts list

+--------------+-----------------------------------------------+
| Part | Item Bought |
+--------------+-----------------------------------------------+
| CPU | AMD Ryzen 5 2600X |
| Motherboard | MSI Gaming Plus X370 |
| GPU | ZOTAC GeForce GTX 1070Ti 8GB DDR5 |
| RAM | G.SKILL 8GB Ripjaws V Series DDR4 2666MHz * 2 |
| Power Supply | Thermaltake LITEPOWER 650W |
| SSD | GIGABYTE SSD 240GB |
| HDD | 3TB (2TB + 1TB) - Various Manufacturers |
| Case | Corsair Spec-01 Carbide Series |
+--------------+-----------------------------------------------+

Software

So, as mentioned I have dual booted Linux and Windows. To make sure this works, I needed to partition my harddrive in a way that Windows and Ubuntu can be installed.

When dual booting, it is always best to install Windows first and then any flavor of Linux. This way grub stays installed — and you can choose to boot Windows or Linux when starting your machine. Otherwise, Windows will add the Windows Boot Manager, which recognizes only Windows OSs, so you’ll have to reinstall grub again, manually.

Windows tends to be slower on HDDs so I used my 240GB SSD to create the C Drive where Windows is installed. I still use Windows, mainly for gaming. Many consider using Windows as a dev is a sin. But I’d say this, when I’m on Windows, I’m a consumer. I enjoy games and consuming media and Linux has a long way to go, but anyway, back to the topic.

For Linux, I have a more intricate system.

  • First, I create a smaller (150GB-ish) partition in an HDD to house the OS install itself. So this is the / root directory and has the Ubuntu install. Ubuntu uses Ext4 format.
  • Second, another partition where I can store some files which I’d like to access from both Windows and Ubuntu, so this had to be formatted with FAT32
  • Because at some point, I’d like to test out other Linux distros, I created another partition, which is mounted at /home in Linux. Now that I think about it, it could've been formatted in FAT32 but yeah, this is where user specific files live so you can switch between Linux flavors. Also, if my Ubuntu installation goes corrupt for some reason, my user files will still be safe.

The Linux Distro I use — Ubuntu

Again, almost everything related to Linux is a little minefield, but I’ve always preferred Ubuntu. I understand that there a gazillion distros out there. I’ve tried Fedora, Linux Mint and a little bit of lubuntu but Ubuntu is the one for me.

What I like about Ubuntu

  • Its ubiquity — Ubuntu is one of the most popular Linux distros, so finding support is too easy. There are many distros which derive from Ubuntu so they basically add to the community as well. Getting support from forums is really easy. It’s quite unlikely that the error you’re facing hasn’t been encountered by someone else.
  • Its release cycle — Ubuntu releases new versions on a semi-annual basis and LTS support every two years I believe. It keeps my machine updated and I always appreciate a little UI facelift
  • Snapcraft — this is a new software packaging solution that works on most of the major Linux distros so I can switch to a different distro, if required
  • Desktop Manager — I used to love the Unity Desktop Manager, sad to see it go, but Gnome Display Manager (GDM) is growing on me. And it can be tweaked pretty easily, thanks to tweak tool

It does have its issues

  • There are small UI glitches here and there, but I think it’s related to GDM.
  • This is more of an issue with Linux in general, but NVidia doesn’t have open source drivers. I see proprietary drivers being used. It’s not an issue right now, but at some point when Vulkan picks up, and Steam becomes mainstream on Linux, I hope Mesa Drivers become available and are easy to setup - I haven't been able to set it up.

So, that is pretty much how I’ve setup my personal machine. Let me know in the comments if you have built your machine or are planning to, it’d be fun! Later 😁

— Saurav

Opinions are my own. Full Stack Engineer. CEO of “it was just working 🤷‍♂️”