WARNINGThis article is translated by AI and may contain a serious mistake.
I took the plunge and migrated from Windows to Void Linux.
The setup basically follows the guides available online, but as of the time of writing, some parts don’t work as-is, so I’m recording what I did for future reference.
Environment
My environment is roughly as follows:
- CPU: AMD
- GPU: Nvidia
- OS: Void Linux
- DE: KDE Plasma 6
- Graphics Platform: Wayland
As of the time of writing, Wayland and Nvidia GPUs don’t play well together, or so it seems—carelessly installing it causes graphics to break after login, which was a struggle.
Setting up the Desktop Environment
Starting from the state after running void-installer.
I referenced the following:
Add optional repos:
sudo xbps-install void-repo-nonfree void-repo-multilib void-repo-multilib-nonfreesudo xbps-install -SuAdd necessary packages (adjust as needed):
sudo xbps-install kde-prisma kde-baseapps xorg-minimal xorg-server-devel xrdb xbacklight nvidia xdg-user-dirs xdg-utils xtools micro NetworkManager git vim kate preload rsyncI have no particular ideology, so I want to install proprietary drivers, but just installing the nvidia package isn’t enough—some additional configuration is needed.
sudo vim /etc/default/grubAdd nvidia-drm.modeset=1 to GRUB_CMDLINE_LINUX_DEFAULT. After editing, update GRUB:
sudo update-grubNext, add the following to /etc/dracut.conf.d/nvidia.conf:
add_drivers+=" nvidia nvidia_modeset nvidia_uvm nvidia_drm "Regenerate initramfs:
sudo dracut -fEnable SDDM and D-Bus services:
sudo ln -s /etc/sv/dbus /var/service/sudo ln -s /etc/sv/sddm /var/service/After rebooting, you should be able to use KDE + Wayland.
sudo rebootThe Nvidia setup worked without special configuration on X11, but it’s 2025—using X11 instead of Wayland felt wrong, so I went through a lot of trial and error.
Audio Issues
For audio, use PipeWire instead of PulseAudio.
PipeWire was already installed when I set up the environment above, but if it’s not there, install it as needed:
sudo xbps-install pipewire wireplumberThe following documentation has detailed information on the subsequent setup.
Set up the session manager and configuration for PipeWire-incompatible applications:
mkdir -p /etc/pipewire/pipewire.conf.dln -s /usr/share/examples/wireplumber/10-wireplumber.conf /etc/pipewire/pipewire.conf.d/mkdir -p /etc/pipewire/pipewire.conf.dln -s /usr/share/examples/pipewire/20-pipewire-pulse.conf /etc/pipewire/pipewire.conf.d/Register PipeWire applications as autostart applications on the KDE side, and you’re done.
Japanese Environment
Set up fonts and Japanese input environment.
Choose fonts as you like. Here, I went with the safe choice of Noto fonts.
sudo xbps-install noto-fonts-cjk noto-fonts-emojiFor Japanese input, you’ll likely use fcitx or ibus with mozc, but in my environment, fcitx wouldn’t properly load the input method no matter how much I fiddled with it, so I used ibus.
sudo xbps-install -S ibus ibus-mozcSet up the usual stuff:
cat > ~/.config/plasma-workspace/env/ibus.sh << 'EOF'#!/bin/shexport GTK_IM_MODULE=ibusexport QT_IM_MODULE=ibusexport XMODIFIERS=@im=ibusEOF
chmod +x ~/.config/plasma-workspace/env/ibus.shAlso address the Chinese font issue (etc/fonts/local.conf):
<?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd"><fontconfig> <alias> <family>serif</family> <prefer> <family>Noto Serif CJK JP</family> </prefer> </alias> <alias> <family>sans-serif</family> <prefer> <family>Noto Sans CJK JP</family> </prefer> </alias> <alias> <family>monospace</family> <prefer> <family>Noto Sans Mono CJK JP</family> </prefer> </alias></fontconfig>Done
Now just use it however you like.
This time I went with Void Linux based on DistroWatch’s ranking, but if I get bored, I’d like to try Garuda or Endeavour.
I haven’t fully set up my development environment yet, so I’ll write more if anything comes up.