mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2026-09-18 02:40:11 +00:00
Update instructions for Ubuntu 26.04 LTS
+55
-48
@@ -14,65 +14,73 @@
|
||||
|
||||
Libraries will silently fall back to their vendored counterpart if they cannot be found on the system.
|
||||
|
||||
| Dependency | Vendored | Version | Note | Debian / Ubuntu | Fedora | Arch | Alpine |
|
||||
| :----------------: | :------: | :------: | ---- | ----------------------------------------------------------- | ------------------ | --------------- | ------------------------------- |
|
||||
| **Kernel Headers** | ⬜ | | | `linux-libc-dev` | `kernel-headers` | `linux-headers` | `linux-headers` |
|
||||
| **fmt** | ✅ | >=10.1 | | `libfmt-dev` | `fmt-devel` | `fmt` | `fmt-dev` |
|
||||
| **glslang** | ✅ | >=15.0 | | `glslang-tools` `glslang-dev` | `glslang-devel` | `glslang` | `glslang-dev` `spirv-tools-dev` |
|
||||
| **pugixml** | ✅ | | | `libpugixml-dev` | `pugixml-devel` | `pugixml` | `pugixml-dev` |
|
||||
| **enet** | ✅ | >=1.3.18 | | `libenet-dev` | `enet-devel` | `enet` | `enet-dev` |
|
||||
| **xxhash** | ✅ | >=0.8.2 | | `libxxhash-dev` | `xxhash-devel` | `xxhash` | `xxhash-dev` |
|
||||
| **bzip2** | ✅ | | | `libbz2-dev` | `bzip2-devel` | `bzip2` | `bzip2-dev` |
|
||||
| **lzma** | ✅ | | | `liblzma-dev` | `xz-devel` | `xz` | `xz-dev` |
|
||||
| **zstd** | ✅ | >=1.4.0 | | `libzstd-dev` | `libzstd-devel` | `zstd` | `zstd-dev` |
|
||||
| **zlib** | ✅ | >=1.3.1 | | `zlib1g-dev` | `zlib-devel` | `zlib-ng` | `zlib-dev` |
|
||||
| **minizip-ng** | ✅ | >=4.0.4 | | [Missing](https://github.com/zlib-ng/minizip-ng/issues/358) | `minizip-ng-devel` | `minizip-ng` | `minizip-ng-dev` |
|
||||
| **lzo** | ✅ | | | `liblzo2-dev` | `lzo-devel` | `lzo` | `lzo-dev` |
|
||||
| **lz4** | ✅ | >=1.8 | | `liblz4-dev` | `lz4-devel` | `lz4` | `lz4-dev` |
|
||||
| **spng** | ✅ | | | `libspng-dev` | `libspng-devel` | `libspng` | `libspng-dev` |
|
||||
| **libusb** | ✅ | | | `libusb-1.0-0-dev` | `libusb1-devel` | `libusb` | `libusb-dev` |
|
||||
| **curl** | ✅ | | | `libcurl4-openssl-dev` or `libcurl4-gnutls-dev` | `libcurl-devel` | `curl` | `curl-dev` |
|
||||
| **hidapi** | ✅ | | | `libhidapi-dev` | `hidapi-devel` | `hidapi` | `hidapi-dev` |
|
||||
| Dependency | Vendored | Version | Note | Debian / Ubuntu | Fedora | Arch | Alpine |
|
||||
| :----------------: | :------: | :------: | ---- | --------------------------------------------------------------------------------------------------------- | ------------------ | --------------- | ------------------------------- |
|
||||
| **Kernel Headers** | ⬜ | | | `linux-libc-dev` | `kernel-headers` | `linux-headers` | `linux-headers` |
|
||||
| **fmt** | ✅ | >=10.1 | | `libfmt-dev` | `fmt-devel` | `fmt` | `fmt-dev` |
|
||||
| **glslang** | ✅ | >=15.0 | | `glslang-tools` `glslang-dev` | `glslang-devel` | `glslang` | `glslang-dev` `spirv-tools-dev` |
|
||||
| **pugixml** | ✅ | | | `libpugixml-dev` | `pugixml-devel` | `pugixml` | `pugixml-dev` |
|
||||
| **enet** | ✅ | >=1.3.18 | | `libenet-dev` | `enet-devel` | `enet` | `enet-dev` |
|
||||
| **xxhash** | ✅ | >=0.8.2 | | `libxxhash-dev` | `xxhash-devel` | `xxhash` | `xxhash-dev` |
|
||||
| **bzip2** | ✅ | | | `libbz2-dev` | `bzip2-devel` | `bzip2` | `bzip2-dev` |
|
||||
| **lzma** | ✅ | | | `liblzma-dev` | `xz-devel` | `xz` | `xz-dev` |
|
||||
| **zstd** | ✅ | >=1.4.0 | | `libzstd-dev` | `libzstd-devel` | `zstd` | `zstd-dev` |
|
||||
| **zlib** | ✅ | >=1.3.1 | | `zlib1g-dev` | `zlib-devel` | `zlib-ng` | `zlib-dev` |
|
||||
| **minizip-ng** | ✅ | >=4.0.4 | | `libminizip-ng-dev` In testing on [Debian](https://packages.debian.org/search?keywords=libminizip-ng-dev) | `minizip-ng-devel` | `minizip-ng` | `minizip-ng-dev` |
|
||||
| **lzo** | ✅ | | | `liblzo2-dev` | `lzo-devel` | `lzo` | `lzo-dev` |
|
||||
| **lz4** | ✅ | >=1.8 | | `liblz4-dev` | `lz4-devel` | `lz4` | `lz4-dev` |
|
||||
| **spng** | ✅ | | | `libspng-dev` | `libspng-devel` | `libspng` | `libspng-dev` |
|
||||
| **libusb** | ✅ | | | `libusb-1.0-0-dev` | `libusb1-devel` | `libusb` | `libusb-dev` |
|
||||
| **curl** | ✅ | | | `libcurl4-openssl-dev` or `libcurl4-gnutls-dev` | `libcurl-devel` | `curl` | `curl-dev` |
|
||||
| **hidapi** | ✅ | | | `libhidapi-dev` | `hidapi-devel` | `hidapi` | `hidapi-dev` |
|
||||
|
||||
### Optional Dependencies
|
||||
|
||||
| Dependency | Vendored | Version | Note | Debian / Ubuntu | Fedora | Arch | Alpine |
|
||||
| :------------: | :------: | :----------: | --------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
|
||||
| **Qt6** | ⬜ | >=6.0 | Only optional if `-DENABLE_HEADLESS=ON` is set. | `qt6-base-dev` `qt6-base-private-dev` `qt6-svg-dev` | `qt6-qtbase-devel` `qt6-qtbase-private-devel` `qt6-qtsvg-devel` | `qt6-base` `qt6-svg` | `qt6-qtbase-dev` `qt6-qtsvg-dev` |
|
||||
| **OpenGL** | ⬜ | | | `libgl1-mesa-dev` | `mesa-libGL-devel` | `libglvnd` | `glfw-dev` |
|
||||
| **x11** | ⬜ | | | `libx11-dev` `libxrandr-dev` `libxi-dev` | `libX11-devel` `libXrandr-devel` `libXi-devel` | `libx11` `libxrandr` `libxi` | `libx11-dev` `libxrandr-dev` `libxi-dev` |
|
||||
| **PkgConfig** | ⬜ | | | `pkg-config` | `pkgconf-pkg-config` | `pkgconf` | `pkgconf` |
|
||||
| **egl** | ⬜ | | Disable missing warnings with `-DENABLE_EGL=OFF`. | `libegl1-mesa-dev` | `mesa-libEGL-devel` | `libglvnd` | `mesa-egl` |
|
||||
| **FFmpeg** | ⬜ | | Disable missing warnings with `-DENCODE_FRAMEDUMPS=OFF`. | `libavcodec-dev` `libavformat-dev` `libavutil-dev` `libswresample-dev` `libswscale-dev` | `libavcodec-free-devel` `libavformat-free-devel` `libavutil-free-devel` `libswresample-free-devel` `libswscale-free-devel` | `ffmpeg` | `ffmpeg-dev` |
|
||||
| **libudev** | ⬜ | | Only optional if `-DENABLE_HWDB=OFF` and `DENABLE_EVDEV=OFF` are set. | `libudev-dev` or `libeudev-dev` | `systemd-devel` | `systemd-libs` | `eudev-dev` |
|
||||
| **libevdev** | ⬜ | | Only optional if `-DENABLE_EVDEV=OFF` is set. | `libevdev-dev` | `libevdev-devel` | `libevdev` | `libevdev-dev` |
|
||||
| **SDL** | ✅ | >=3.2.0 | Disable with `-DENABLE_SDL=OFF`. | `libsdl3-dev` | `SDL3-devel` | `sdl3` | `sdl3-dev` |
|
||||
| **cubeb** | ✅ | | Disable with `-DENABLE_CUBEB=OFF`. | `libcubeb-dev` | `cubeb-devel` | `cubeb` (Only in AUR) | Not in the repos |
|
||||
| **SFML** | ✅ | >=3.0 | | ~~`libsfml-dev`~~ Version 3.x currently not available on [Debian](https://packages.debian.org/libsfml-dev) and [Ubuntu](https://packages.ubuntu.com/libsfml-dev). | ~~`SFML-devel`~~ Version 3.x [currently not available](https://bugzilla.redhat.com/show_bug.cgi?id=2312363) | `sfml` | ~~`sfml-dev`~~ Version 3.x [Currently not available](https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/85247) |
|
||||
| **miniupnpc** | ✅ | >=1.6 | Disable with `-DUSE_UPNP=OFF`. | `libminiupnpc-dev` | `miniupnpc-devel` | `miniupnpc` | `miniupnpc-dev` |
|
||||
| **mbedtls** | ✅ | >=2.0, <=3.0 | | ~~`libmbedtls-dev`~~ MbedTLS 2.x is no longer shipped from Debian Trixie forward and Ubuntu 25.04 forward. | ~~`mbedtls-devel`~~ MbedTLS 2.x is no longer shipped from Fedora 42 forward. | `mbedtls2` | `mbedtls2-dev` |
|
||||
| **iconv** | ✅ | >=1.14 | | Built-in | Built-in | `libiconv` | Built-in |
|
||||
| **mgba** | ✅ | | Disable with `-DUSE_MGBA=OFF` or `DENABLE_HEADLESS=ON`. | ~~`libmgba-dev`~~ Newer MGBA versions are currently broken with Dolphin. | Not in the repos | ~~`libmgba`~~ Newer MGBA versions are currently broken with Dolphin. | ~~`libmgba-dev`~~ Newer MGBA versions are currently broken with Dolphin. |
|
||||
| **systemd** | ⬜ | | | `libsystemd-dev` | `systemd-devel` | `systemd-libs` | N/A |
|
||||
| **gtest** | ✅ | | Disable with `-DENABLE_TESTS=OFF`. | `libgtest-dev` | `gtest-devel` | `gtest` | `gtest-dev` |
|
||||
| **ALSA** | ⬜ | | Disable with `-DENABLE_ALSA=OFF`. | `libasound2-dev` | `alsa-lib-devel` | `alsa-lib` | `alsa-lib-dev` |
|
||||
| **PulseAudio** | ⬜ | | Disable with `-DENABLE_PULSEAUDIO=OFF`. | `libpulse-dev` | `pulseaudio-libs-devel` | `libpulse` | `pulseaudio-dev` |
|
||||
| **LLVM** | ⬜ | | Disable with `-DENABLE_LLVM=OFF`. | `llvm-dev` | `llvm-devel` | `llvm` | ~~`llvm-dev`~~ Broken packaging |
|
||||
| **BlueZ** | ⬜ | | Disable with `-ENABLE_BLUEZ=OFF`. | `libbluetooth-dev` | `bluez-libs-devel` | `bluez-libs` | `bluez-dev` |
|
||||
| **gettext** | ⬜ | | | `gettext` | `gettext` | `gettext` | `gettext` |
|
||||
| Dependency | Vendored | Version | Note | Debian / Ubuntu | Fedora | Arch | Alpine |
|
||||
| :------------: | :------: | :----------: | --------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
|
||||
| **Qt6** | ⬜ | >=6.0 | Only optional if `-DENABLE_HEADLESS=ON` is set. | `qt6-base-dev` `qt6-base-private-dev` `qt6-svg-dev` | `qt6-qtbase-devel` `qt6-qtbase-private-devel` `qt6-qtsvg-devel` | `qt6-base` `qt6-svg` | `qt6-qtbase-dev` `qt6-qtsvg-dev` |
|
||||
| **OpenGL** | ⬜ | | | `libgl1-mesa-dev` | `mesa-libGL-devel` | `libglvnd` | `glfw-dev` |
|
||||
| **x11** | ⬜ | | | `libx11-dev` `libxrandr-dev` `libxi-dev` | `libX11-devel` `libXrandr-devel` `libXi-devel` | `libx11` `libxrandr` `libxi` | `libx11-dev` `libxrandr-dev` `libxi-dev` |
|
||||
| **PkgConfig** | ⬜ | | | `pkg-config` | `pkgconf-pkg-config` | `pkgconf` | `pkgconf` |
|
||||
| **egl** | ⬜ | | Disable missing warnings with `-DENABLE_EGL=OFF`. | `libegl1-mesa-dev` | `mesa-libEGL-devel` | `libglvnd` | `mesa-egl` |
|
||||
| **FFmpeg** | ⬜ | | Disable missing warnings with `-DENCODE_FRAMEDUMPS=OFF`. | `libavcodec-dev` `libavformat-dev` `libavutil-dev` `libswresample-dev` `libswscale-dev` | `libavcodec-free-devel` `libavformat-free-devel` `libavutil-free-devel` `libswresample-free-devel` `libswscale-free-devel` | `ffmpeg` | `ffmpeg-dev` |
|
||||
| **libudev** | ⬜ | | Only optional if `-DENABLE_HWDB=OFF` and `DENABLE_EVDEV=OFF` are set. | `libudev-dev` or `libeudev-dev` | `systemd-devel` | `systemd-libs` | `eudev-dev` |
|
||||
| **libevdev** | ⬜ | | Only optional if `-DENABLE_EVDEV=OFF` is set. | `libevdev-dev` | `libevdev-devel` | `libevdev` | `libevdev-dev` |
|
||||
| **SDL** | ✅ | >=3.2.0 | Disable with `-DENABLE_SDL=OFF`. | `libsdl3-dev` | `SDL3-devel` | `sdl3` | `sdl3-dev` |
|
||||
| **cubeb** | ✅ | | Disable with `-DENABLE_CUBEB=OFF`. | `libcubeb-dev` | `cubeb-devel` | `cubeb` (Only in AUR) | Not in the repos |
|
||||
| **SFML** | ✅ | >=3.0 | | `libsfml-dev` Version 3.x currently not available on [Debian](https://packages.debian.org/libsfml-dev). | ~~`SFML-devel`~~ Version 3.x [currently not available](https://bugzilla.redhat.com/show_bug.cgi?id=2312363) | `sfml` | ~~`sfml-dev`~~ Version 3.x [Currently not available](https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/85247) |
|
||||
| **miniupnpc** | ✅ | >=1.6 | Disable with `-DUSE_UPNP=OFF`. | `libminiupnpc-dev` | `miniupnpc-devel` | `miniupnpc` | `miniupnpc-dev` |
|
||||
| **mbedtls** | ✅ | >=2.0, <=3.0 | | ~~`libmbedtls-dev`~~ MbedTLS 2.x is no longer shipped from Debian Trixie forward and Ubuntu 25.04 forward. | ~~`mbedtls-devel`~~ MbedTLS 2.x is no longer shipped from Fedora 42 forward. | `mbedtls2` | `mbedtls2-dev` |
|
||||
| **iconv** | ✅ | >=1.14 | | Built-in | Built-in | `libiconv` | Built-in |
|
||||
| **mgba** | ✅ | | Disable with `-DUSE_MGBA=OFF` or `DENABLE_HEADLESS=ON`. | ~~`libmgba-dev`~~ Newer MGBA versions are currently broken with Dolphin. | Not in the repos | ~~`libmgba`~~ Newer MGBA versions are currently broken with Dolphin. | ~~`libmgba-dev`~~ Newer MGBA versions are currently broken with Dolphin. |
|
||||
| **systemd** | ⬜ | | | `libsystemd-dev` | `systemd-devel` | `systemd-libs` | N/A |
|
||||
| **gtest** | ✅ | | Disable with `-DENABLE_TESTS=OFF`. | `libgtest-dev` | `gtest-devel` | `gtest` | `gtest-dev` |
|
||||
| **ALSA** | ⬜ | | Disable with `-DENABLE_ALSA=OFF`. | `libasound2-dev` | `alsa-lib-devel` | `alsa-lib` | `alsa-lib-dev` |
|
||||
| **PulseAudio** | ⬜ | | Disable with `-DENABLE_PULSEAUDIO=OFF`. | `libpulse-dev` | `pulseaudio-libs-devel` | `libpulse` | `pulseaudio-dev` |
|
||||
| **LLVM** | ⬜ | | Disable with `-DENABLE_LLVM=OFF`. | `llvm-dev` | `llvm-devel` | `llvm` | ~~`llvm-dev`~~ Broken packaging |
|
||||
| **BlueZ** | ⬜ | | Disable with `-ENABLE_BLUEZ=OFF`. | `libbluetooth-dev` | `bluez-libs-devel` | `bluez-libs` | `bluez-dev` |
|
||||
| **gettext** | ⬜ | | | `gettext` | `gettext` | `gettext` | `gettext` |
|
||||
|
||||
### System-Specific Instructions
|
||||
|
||||
#### Debian / Ubuntu
|
||||
|
||||
Ubuntu users of versions prior to 25.04 may need alternative sources to meet minimum version requirements:
|
||||
Ubuntu users of these versions may need alternative flags or sources to meet minimum version requirements:
|
||||
|
||||
25.04 and older:
|
||||
|
||||
- SDL: [PPA](https://launchpad.net/~hrzhu/+archive/ubuntu/sdl3-backport) OR `-DUSE_SYSTEM_SDL3=OFF`
|
||||
- FMT: [PPA](https://launchpad.net/~trldp/+archive/ubuntu/libfmt) OR `-DUSE_SYSTEM_FMT=OFF`
|
||||
- ENET: `-DUSE_SYSTEM_ENET=OFF`
|
||||
- ZLIB: `-DUSE_SYSTEM_ZLIB=OFF`
|
||||
|
||||
CMake Flags: `-DUSE_SYSTEM_MINIZIP-NG=OFF -DUSE_SYSTEM_SFML=OFF -DUSE_SYSTEM_MBEDTLS=OFF -DUSE_SYSTEM_LIBMGBA=OFF`
|
||||
25.10 and older:
|
||||
|
||||
- minizip-ng: `-DUSE_SYSTEM_MINIZIP-NG=OFF`
|
||||
- SFML: `-DUSE_SYSTEM_SFML=OFF`
|
||||
|
||||
Ubuntu CMake Flags: `-DUSE_SYSTEM_MBEDTLS=OFF -DUSE_SYSTEM_LIBMGBA=OFF`
|
||||
Debian CMake Flags: `-DUSE_SYSTEM_MINIZIP-NG=OFF -DUSE_SYSTEM_SFML=OFF -DUSE_SYSTEM_MBEDTLS=OFF -DUSE_SYSTEM_LIBMGBA=OFF`
|
||||
|
||||
<details>
|
||||
|
||||
@@ -122,7 +130,7 @@ apt install \
|
||||
# zlib
|
||||
zlib1g-dev \
|
||||
# minizip-ng
|
||||
## Not packaged yet (but soon on Debian)
|
||||
libminizip-ng-dev \
|
||||
# lzo
|
||||
liblzo2-dev \
|
||||
# lz4
|
||||
@@ -134,8 +142,7 @@ apt install \
|
||||
# libusb
|
||||
libusb-1.0-0-dev \
|
||||
# SFML
|
||||
## libsfml-dev \
|
||||
## SFML 3.0 is not yet shipped on Debian and Ubuntu
|
||||
libsfml-dev \
|
||||
# MiniUPNPC
|
||||
libminiupnpc-dev \
|
||||
# MbedTLS
|
||||
|
||||
Reference in New Issue
Block a user