Building Dolphin on Linux: Difference between revisions

From Dolphin Emulator Wiki
Jump to navigation Jump to search
m (Protected "Building Dolphin on Linux": High traffic page: Page currently linked in the guides section from the main website. If you want to add new content, please to that directly on the corresponding GitHub page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)))
 
(119 intermediate revisions by 48 users not shown)
Line 1: Line 1:
Only binaries for [http://distrowatch.com/search.php?basedon=Ubuntu Ubuntu-based] distributions are available on [https://dolphin-emu.org/download/ Dolphin's download page], so users of other distros have to Dolphin from source. Dolphin is compatible with 64 bit Linux distributions. This is a guide to compiling Dolphin using the cmake build system.
This page has been moved to GitHub. '''[https://github.com/dolphin-emu/dolphin/wiki/Building-for-Linux Click here to be redirected]'''.
 
If looking for help installing on Ubuntu-based distros, such as ''Linux Mint'', ''Elementary OS'', ''Zorin OS'', ''Bodhi Linux'', ''Deepin'', ''Linux Lite'', ''Pinguy OS'', ''Kubuntu'', ''Xubuntu'', ''Lubuntu'', ''Ubuntu GNOME'', ''Edubuntu'', ''Ubuntu Studio'' or ''Mythbuntu'', see [[Installing Dolphin#Ubuntu]].
 
== Step 1 - Installing the Dependencies ==
===Ubuntu===
====12.04 and newer====
Install all necessary packages by running the following command:
 
<code>sudo apt-get install cmake git g++ wx2.8-headers libwxbase2.8-dev libwxgtk2.8-dev libgtk2.0-dev libsdl1.2-dev libxrandr-dev libxext-dev libao-dev libasound2-dev libpulse-dev libbluetooth-dev libreadline-gplv2-dev libavcodec-dev libavformat-dev libswscale-dev libsdl2-dev libusb-1.0-0-dev</code>
 
====11.10====
If you are still using such an old release, consider upgrading.
Run the following to install the dependencies:
 
<code>sudo apt-get install cmake git g++ wx2.8-headers libwxbase2.8-dev libwxgtk2.8-dev libgtk2.0-dev libsdl1.2-dev libxrandr-dev libxext-dev libao-dev libasound2-dev libpulse-dev libbluetooth-dev libreadline5-dev libavcodec-dev libavformat-dev libswscale-dev</code>
 
===Other Linux Distributions===
If running a distribution without apt, see the build dependencies in [[#Addendum A - dependencies|Addendum A]] for a list of packages needed to install.
 
== Step 2 - Get the Dolphin Repository ==
Install git if it's not already installed:
*for apt-based distros (eg Ubuntu, Debian, Linux Mint): <code>sudo apt-get install git</code>
*for rpm-based distros (eg Red Hat, Fedora, SUSE): <code>sudo yum install git</code>
*for pacman-based distros (eg Arch Linux): <code>sudo pacman -S git</code>
 
Get a local copy of the dolphin-emu repository:
 
<code>git clone https://github.com/dolphin-emu/dolphin.git dolphin-emu</code>
 
Change to the directory created.
 
<code>cd ./dolphin-emu</code>
 
To update the local copy in the future without repeating the whole process, run <code>git pull origin</code> within the <code>dolphin-emu</code> directory and proceed to the following steps.
 
== Step 3 - Building Dolphin ==
Create a build subdirectory, and change into it. The name ''Build'' is used in this example.
 
<code>mkdir Build && cd Build</code>
 
Configure the build.
 
<code>cmake ..</code>
 
Optionally you can change the install prefix by adding "-D CMAKE_INSTALL_PREFIX=/new/path". Note that this path does not need to be absolute. cmake will complete it to its absolute equivalent. The default prefix is "/usr". This means that the executable will be installed as "/usr/bin/dolphin-emu", the plugins will be installed into "/usr/lib/dolphin-emu", and the shared data files will be installed into "/usr/share/dolphin-emu".
 
From here build and install in the standard make way.
 
<code>make
 
sudo make install</code>
 
Note that superuser privileges are needed for <code>make install</code>.
 
To have the "local" build setup from the deprecated scons build configure the build with the following command.
 
<code>cmake -Dbindir=../Binary/Linux -Ddatadir=../Binary/Linux  ..</code>
 
== Step 4 - Run Dolphin! ==
Run Dolphin from anywhere by typing:
 
<code>dolphin-emu</code>
 
If the prefix changed and $prefix/bin is not in the path, then precede this with the path to the executable.
 
== FAQ ==
*'''Where can I get help?'''
 
Go to the [http://forums.dolphin-emu.org/ forums]. Lots of Dolphin users use Linux, and they are very experienced with this process.
 
*'''My build failed, but I did nothing wrong!'''
 
Most of the time, any problems in the build process are due to user error. It's understandable, it is a complicated process and can be quite daunting for a first timer. But sometimes even with everything right, triple checked, and it's still not working. It's rare, but sometimes a build will just be bugged. But many of Dolphin devs are Linux users, so just wait a day or so, and it will be sorted out.
 
*'''I want a PKGBUILD!'''
 
Here is [https://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/dolphin-emu a PKGBUILD for the stable branch]. For the master branch, see [https://aur.archlinux.org/packages/do/dolphin-emu-git/PKGBUILD this PKGBUILD] (in pkgver=4.0.rxxxx.7222eb1 replace "xxxx" with the number of the desired revision). Other PKGBUILDs can be found on the [https://aur.archlinux.org/ Arch User Repository].
 
== Addendum A - dependencies ==
This addendum lists the dependencies to build Dolphin.
 
* Build Dependencies
* git
* cmake
* g++
* wx2.9-headers (wx3.0-headers work too, and are perhaps preferred!)
* libwxbase2.8-dev
* libwxgtk2.8-dev
* libgtk2.0-dev
* libbluetooth-dev (optional, for real wiimotes)
* libxrandr-dev (optional, for switching desktop resolution in fullscreen mode)
* libxext-dev
* libreadline-dev
* libasound-dev (optional, for alsa sound backend)
* libpulse-dev (optional, for pulseaudio sound backend)
* libao-dev (optional, for ao sound backend)
* libopenal-dev (optional, for openal sound backend)
* libavcodec-dev (optional, for dumping frames in AVI format)
* libavformat-dev (optional, for dumping frames in AVI format)
* libswscale-dev (optional, for dumping frames in AVI format)
* liblzo2-dev (optional, if not found will be built statically)
* libsdl1.2-dev (optional, if not found will be built statically)
* libsoil-dev (optional, if not found will be built statically)
* libsfml-dev (optional, if not found will be built statically)
 
[[Category:Tutorials]]

Latest revision as of 04:07, 5 January 2024

This page has been moved to GitHub. Click here to be redirected.