Docker simplifies the setup process by providing a consistent development environment. It allows you to build and run the project without manually installing dependencies. Currently provided Dockerfile.ubuntu.2404 supports Ubuntu 24.04 as the base operating system.
- Docker: Ensure Docker is installed on your machine. Follow the official documentation for installation instructions.
- Display Server: This guide supports both X11 and Wayland display servers for GUI applications.
- Tested Configuration: These instructions were tested on Ubuntu 24.04 running on WSL2 on Windows 11.
-
Enable GUI Support
Depending on your display server, follow the appropriate steps:
-
For X11: Allow the Docker container to access your X server:
xhost +local:root
-
For Wayland: Allow the Docker container to access your Wayland socket:
sudo chmod a+rw /run/user/$(id -u)/wayland-0
-
-
Build the Docker Image
Build the Docker image using the provided Dockerfile:
sudo docker build -t openage -f packaging/docker/devenv/Dockerfile.ubuntu.2404 .
-
Run the Docker Container
Start the Docker container with the appropriate configuration for your display server:
-
For X11:
docker run -it \ -e DISPLAY=$DISPLAY \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -v $HOME/.Xauthority:/root/.Xauthority \ --network host openage
-
For Wayland:
docker run -it \ -e XDG_RUNTIME_DIR=/tmp \ -e QT_QPA_PLATFORM=wayland \ -e WAYLAND_DISPLAY=$WAYLAND_DISPLAY \ -v $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY:/tmp/$WAYLAND_DISPLAY \ --user=$(id -u):$(id -g) \ --network host openage
-
-
Follow the Regular Setup
Once inside the container, follow the regular setup described in the Development chapter. You can skip dependency installation since the Docker image already includes all required dependencies.
- X11 vs. Wayland: Ensure you know which display server your system is using. Most modern Linux distributions default to Wayland, but X11 is still widely used.
- Permissions: For Wayland, you may need to adjust permissions for the Wayland socket (
/run/user/$(id -u)/wayland-0
) to allow Docker access. - GUI Applications: These configurations enable GUI applications to run inside the Docker container.
By following these steps, you can build and run the openage
project in a Dockerized environment with support X11 or Wayland display servers.