“I adore my C64”#

Check this out, I refreshed the C64(x) mini-ITX system that I’ve had for years to run Omarchy, and ended up creating a C64 theme for it that I thought I’d share (why not?). This mid-2000s-era system is setup to evoke fond memories of the ’80s, when a friend’s Commodore 64 gave me my first taste of home computing. From the sounds of the disk drive seeking, to the SID chip soundwaves, I was enamoured by it all, and it likely triggered my passion and direction in life towards technology of many kinds.

Before continuing, consider changing the site theme to “C64” via for those bonus nostalgia feels.

Anyway, enough blabbering. If you’re here for the Omarchy theme, take a peek just below, and read on if you wanted to check out more.


The theme includes some extras as well:

  • Optional GTK theme
  • bashrc additions
  • C64 screensaver ASCII
  • Nine backgrounds

Installation details#

Use the built-in tool from the terminal: omarchy-theme-install https://github.com/scar45/omarchy-c64-theme

- or -

Copy https://github.com/scar45/omarchy-c64-theme, open the main Omarchy menu and select Install -> Style -> Theme, then paste the URL.

For more details, check README.md at the Sauce on Github

Running Omarchy on the C64(x)#

Your first question might be, how well does Omarchy run on such a legacy system? Since it’s Arch-based, and lean from the get-go (with selectable profiles for package install options), it runs like a beaut. Granted it’s a hobby project, so I only really fart around with light browsing/chat/email workflows, but put it this way, I haven’t had to wait on the system for anything aside from 5-10s launching Chromium.

This goes to say that if you haven’t tried Omarchy yet, and are a bit hesitant to install it on your primary system but you have some old hardware lying around, you should give it a shot! It’s a great way to get started with Linux, even if jumping into a more advanced window manager like Hyprland. Don’t fret if this is the case, as Omarchy has some great documentation and resources for getting started.

Using Omarchy at 480p resolution on this CRT monitor isn’t actually all that bad - I used to run Xubuntu with XFCE which worked quite well, but the tiling window manager here, along with virtual desktops, works better for such a small screen. It can’t run at higher resolutions on the CRT because the definition degrades past 480p quite a bit, not to mention this integrated GPU wouldn’t prefer to push more pixels.

Hardware#

This system has evolved from the very first iteration when the C64x was released (check one the box photos below for the launch-day specs). I think I’ve got a good 2 upgrade overhauls in it so far. Here’s where it’s at now (less than humble!):

System (Current Specs)#

  • Intel Celeron N3050 (dual-core) @ 2.16 GHz
  • 4GB DDR3 SODIMM Memory
  • Samsung 840 PRO 256gb SATA SSD
    • contains Omarchy install
  • Samsung 850 EVO 250gb SATA SSD
    • contains Batocera install
  • Samsung 250gb mSATA SSD
    • contains old Xubuntu install (deactivated)

Other#

  • Commodore 1702 CRT monitor (15khz)
    • Brilliant image quality after all these years
  • HDMI-to-SVGA adapter
  • Custom SVGA cable to split luma and chroma for the 1702 monitor
  • Runs at 720x480p

CRT purists reading this article may cringe at the generic HDMI-to-SVGA adapter I used. Yes, this is a cheapo part from Amazon, but it works just fine for my purposes, and I can’t find a reason to change it at this point for such a fun seldomly-used project.

Dualbootin’#

Limine is the default bootloader, and allows you to easily configure OS profiles for dual-booting, with the bonus of vast configuration options available. More info on configuring Limine can be found on the ArchWiki (as per usual), but here’s my humble config for those two Samsung SSDs, one containing Omarchy, and the other, Batocera. Custom tailor it to your needs if you wanted to try it yourself by using system-specific GUIDs for your own disk/partitions (wallpaper linked below too).

The default config is at /boot/EFI/limine/limine.conf.

Open preview of limine.conf
timeout: 10
term_margin: 8
term_margin_gradient: 40
wallpaper: batocera-arch-dualboot-16x9.png

/Batocera
protocol: linux
path: guid(00000000-0000-0000-0000-000000000000):/boot/linux
module_path: guid(00000000-0000-0000-0000-000000000000):/boot/initrd.gz
cmdline: label=BATOCERA console=tty3 quiet loglevel=0 vt.global_cursor_default=0 rootfstype=fat32

/Arch Linux (Omarchy)
protocol: linux
path: boot():/vmlinuz-linux
module_path: boot():/initramfs-linux.img
cmdline: cryptdevice=PARTUUID=00000000-0000-0000-0000-000000000000:root root=/dev/mapper/root zswap.enabled=0 rw rootfstype=ext4 video=720x480@60

Wallpaper (16:9 and 4:3)#

I have Batocera boot by default because my Omarchy installation is LUKS-encrypted, so the system will always boot to a ready-to-use OS with no intervention. Just a personal preference I suppose…

Bonus Bit: Batocera#

You may have noted the dual-SATA SSD setup as mentioned above, as one contains an install of Batocera for retrogaming. It’s an absolute solid, well-developed Linux distro dedicated to retro emulation using the EmulationStation + RetroArch stack, along with many different utilities and preset configs. Highly recommended and I could go on and on about how to build a solid setup, but that probably warrants its own separate post.

That said, it’s more than awesome to have a retro-modern C64 to dink around on, then boot over to a polished retro-gaming experience through Batocera. It’s the best of both worlds in such a cool form factor.

Conclusion#

Omarchy is awesome, the C64 is a timeless classic, retro-gaming will live forever, and if you build anything crazy like this, I’d love to see it. Cheers, and thanks for reading!

Star on GitHub Share on X