Installation Guide
Get DWN running on your system in just a few minutes.
Requirements
DWN requires X11 and a few common libraries. Most Linux distributions include these by default.
Required Dependencies
| Library | Purpose | Package (Debian/Ubuntu) |
|---|---|---|
| libX11 | X Window System client library | libx11-dev |
| libXext | X extensions library | libxext-dev |
| libXinerama | Multi-monitor support | libxinerama-dev |
| libXrandr | Display configuration | libxrandr-dev |
| libXft | Font rendering | libxft-dev |
| fontconfig | Font configuration | libfontconfig1-dev |
| libdbus-1 | D-Bus for notifications | libdbus-1-dev |
| libcurl | AI features (optional) | libcurl4-openssl-dev |
Quick Installation
The fastest way to get started. Our build system auto-detects your distribution.
Clone the Repository
Download the latest source code from GitHub.
git clone https://github.com/dwn/dwn.git
cd dwn
Install Dependencies
Automatically install required packages for your distribution.
make deps
Supports Debian, Ubuntu, Fedora, Arch, openSUSE, and Void Linux.
Build DWN
Compile the window manager with optimizations.
make
Install System-wide
Install the binary to your system PATH.
sudo make install
Default location: /usr/local/bin/dwn. Override with PREFIX=/custom/path make install
Configure Your Session
Add DWN to your X session startup.
exec dwn
Distribution-Specific Instructions
Debian / Ubuntu / Linux Mint
# Install dependencies
sudo apt update
sudo apt install -y \
build-essential \
libx11-dev \
libxext-dev \
libxinerama-dev \
libxrandr-dev \
libxft-dev \
libfontconfig1-dev \
libdbus-1-dev \
libcurl4-openssl-dev \
pkg-config
# Build and install
git clone https://github.com/dwn/dwn.git
cd dwn
make
sudo make install
Fedora / RHEL / CentOS
# Install dependencies
sudo dnf install -y \
gcc \
make \
libX11-devel \
libXext-devel \
libXinerama-devel \
libXrandr-devel \
libXft-devel \
fontconfig-devel \
dbus-devel \
libcurl-devel \
pkg-config
# Build and install
git clone https://github.com/dwn/dwn.git
cd dwn
make
sudo make install
Arch Linux / Manjaro
# Install dependencies
sudo pacman -S --needed \
base-devel \
libx11 \
libxext \
libxinerama \
libxrandr \
libxft \
fontconfig \
dbus \
curl \
pkg-config
# Build and install
git clone https://github.com/dwn/dwn.git
cd dwn
make
sudo make install
An AUR package dwn-git may also be available:
yay -S dwn-git
Void Linux
# Install dependencies
sudo xbps-install -S \
base-devel \
libX11-devel \
libXext-devel \
libXinerama-devel \
libXrandr-devel \
libXft-devel \
fontconfig-devel \
dbus-devel \
libcurl-devel \
pkg-config
# Build and install
git clone https://github.com/dwn/dwn.git
cd dwn
make
sudo make install
Session Setup
Configure your display manager or xinit to start DWN.
Using xinit / startx
For minimal setups using startx:
# Optional: set display settings
xrandr --output DP-1 --mode 2560x1440
# Optional: set wallpaper
feh --bg-fill ~/wallpaper.jpg
# Start DWN
exec dwn
Then run startx from a TTY.
Using a Display Manager
Create a desktop entry for GDM, LightDM, etc:
[Desktop Entry]
Name=DWN
Comment=DWN Window Manager
Exec=dwn
Type=Application
DesktopNames=DWN
DWN will appear in your display manager's session menu.
Testing in a Nested X Server
Test DWN without leaving your current session using Xephyr.
Using make run
The easiest way to test DWN safely:
# Make sure Xephyr is installed
# Debian/Ubuntu: sudo apt install xserver-xephyr
# Fedora: sudo dnf install xorg-x11-server-Xephyr
# Arch: sudo pacman -S xorg-server-xephyr
# Run DWN in a nested window
make run
This opens a 1280x720 window running DWN. Perfect for experimenting with configuration changes.
Manual Xephyr Setup
For more control over the test environment:
# Start Xephyr on display :1
Xephyr :1 -screen 1920x1080 &
# Run DWN on that display
DISPLAY=:1 ./dwn
# Open a terminal in the test environment
DISPLAY=:1 xterm &
Post-Installation
Create Configuration Directory
DWN will create this automatically on first run, but you can set it up in advance:
mkdir -p ~/.config/dwn
Run the Interactive Tutorial
Once DWN is running, press Super + T to start the built-in tutorial that will teach you all the essential shortcuts.
View All Shortcuts
Press Super + S to see a complete list of keyboard shortcuts.
Customize Your Setup
See the Configuration Guide to personalize DWN to your liking.
Troubleshooting
This error means DWN can't connect to an X server. Make sure:
- You're running from a TTY with
startx, not from within another X session - The DISPLAY environment variable is set correctly
- X server is installed and working (
Xorg -configureto test)
Install pkg-config for your distribution:
sudo apt install pkg-config # Debian/Ubuntu
sudo dnf install pkg-config # Fedora
sudo pacman -S pkg-config # Arch
Make sure you have the development packages installed, not just the runtime libraries.
On Debian/Ubuntu, install packages ending with -dev.
Run make deps to auto-install everything.
Check for conflicts with other programs grabbing keys:
- Make sure no other window manager is running
- Check if compositor (like picom) is grabbing keys
- Verify keyboard layout is correct with
setxkbmap
DWN uses Xft for font rendering. Install some good fonts:
sudo apt install fonts-dejavu fonts-liberation # Debian/Ubuntu
sudo dnf install dejavu-fonts-all liberation-fonts # Fedora
You can configure the font in ~/.config/dwn/config.
Installation Complete?
Learn how to use DWN effectively with our documentation.