How to virtualise Discord for MUSLcels

Tags: discord

🧊 Virtualizing Discord for the average SOYdev who uses Discord

In this blog I decided to do some community service like the sensible nigger I am, in this case, demonstrating my humility and best intentions for the Linux community, I do what nobody does, which is being helpful, this tutorial will help anyone willing to virtualise electron apps like Discord or Spotify in an easy reproducible way across systems, while this approach appears bloated to the suckless minimalistic shill, there is no simpler way of doing this that doesn't imply complexity or bloat.

What you get in return?

  • The latest version of Discord, always (because Arch repos are up to date asf), without using Arch Linux with SOYstemd
  • Same setup for all Linux systems, BSD systems are not supported because they don't have Linux cgroups, ie no docker
  • No retarded daemons necessary, because we are using podman
  • The only way to get proprietary garbage to run on MUSL-based distros

🛠️ Requirements

Before we begin, you will need to install:

  • distrobox and podman
  • A container image registry like docker.io or ghcr.io (edit /etc/containers/registries.conf)
  • A working Wayland installation (Xorg is bloated garbage)

1. Install Distrobox

Use your package manager. For Void Linux:

doas xbps-install -Syu distrobox

if you're still using sudo you're stupid and you should exit this blog immediately, if I see you running glibc I will ban your IP personally

Other distros will vary — check their respective package indexes.

2. Set up Podman and Registries

Install Podman:

doas xbps-install -S podman

Edit /etc/containers/registries.conf and add some registries if not present:

[[registry]]
location = "docker.io"

[[registry]]
location = "ghcr.io"

[[registry]]
location = "quay.io"

Then verify Podman works by running a hello world

3. Create a Container

We use Arch Linux for its up-to-date packages:

distrobox create -n pkg -i archlinux:latest

> Note: Don’t specify a custom home path — it may cause Discord’s file dialogs to open in the wrong location.

4. Wayland Users Only

If you're on Wayland, make sure you have XWayland installed:

doas xbps-install -S xorg-server-xwayland

On other distros, it might be called xorg-xwayland.

Without it, DBus might mysteriously break. Shout out to the retards who designed DBus

5. Enter the Container

Let Distrobox handle setup:

distrobox enter pkg

This shit might sometimes randomly break, just try it out a few times with different images different names and different setups, might even be worth trying different distros

6. Install Required Libraries

Audio:

sudo pacman -Syu pulseaudio pipewire alsa-lib opus

Video (eg: NVIDIA):

sudo pacman -Syu mesa mesa-dri nouveau

Core Discord dependencies:

sudo pacman -Syu glibc alsa-lib gcc-libs dconf libnotify nspr nss libxss libxtst

> dconf replaces gconf which is deprecated.

> Note: libc++ might also be required. It’s in the AUR:

> yay -S libc++ or use your preferred AUR helper.

> you should be able to install something from the AUR unless you are a retard

7. Install Discord

Simply: sudo pacman -Syu discord

If you prefer to build from AUR, you can, but the regular core package should work fine, if you want the latest patches from the react junior devs who work underpaid at Discord headquarters in the USA (stands for United SOYdev alliance) then you may install discord-canary.

8. Optional: Emoji + Language Fonts

Install emoji fonts on the host so they appear inside the app:

doas xbps-install -S noto-fonts-emoji

You may also want fonts for your language (e.g. Japanese, Korean, etc).

9. Export Discord as a Native App

Inside the container:

distrobox-export --app Discord

This creates a .desktop file you can launch from your application menu.

10. Alias for Fast Access

Locate the .desktop file — typically: ~/.local/share/applications/pkg-discord.desktop

Then, alias it in your shell config to something more readable like discord, then your window manager's keybindings will start recognizing it

💡 Bonus: Works for Spotify too

Just install spotify-launcher inside the container the same way. Works identically.

🧃 Troubleshooting

  • Verify DBus and XWayland are working, ie you're running a DBus session globally and locally.
  • Verify elogind is working

If nothing else works and you're a useless nigger who is not intelligent enough to troubleshoot such a simple install: E-Mail me personally at [email protected]. I don't reply to messages in Discord because I am perma banned from more than 30 different accounts (yes, banned by Discord & I am personally warned by Discord's employees to not use their platform).

BONUS

Look at this retarded SOYdev that doesn't know how to properly say therefore in Latin

The punchline is that this retard owns the Zig Discord server, from where I was banned, I am hopeless with these idiots.

Though I walk through the Silicon Valley of darkness, I will fear no evil.

Psalm 23:4