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)))
 
(111 intermediate revisions by 47 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===
 
====14.10 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 libwxgtk3.0-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>
 
====From 12.04 to 14.04 ====
''Follow this for Ubuntu 12.04 (LTS), 12.10, 13.04, 13.10 or 14.04 (LTS).''<br>
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 by executing:
 
<code>dolphin-emu</code>
 
The same action can be done graphically from within some desktop environments, such as Unity's ''Dash'' menu on Ubuntu.<br>
If the prefix was changed in step 3 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 ==
This addendum lists the dependencies to build Dolphin.
 
===Build Dependencies===
These packages must be installed before building Dolphin.
* git
* cmake
* gcc
* wx2.9-headers (wx3.0-headers recommended)
* libwxbase2.8-dev
* libwxgtk2.8-dev
* libgtk2.0-dev
* libxext-dev
* libreadline-dev
 
===Optional dependencies===
{| class="wikitable"
! Package !! Service
|-
| libasound-dev
| for alsa sound backend
|-
| libpulse-dev
| for pulseaudio sound backend
|-
| libao-dev
| for ao sound backend
|-
| libopenal-dev
| for openal sound backend
|-
| libavcodec-dev
| for dumping frames in AVI format
|-
| libavformat-dev
| for dumping frames in AVI format
|-
| libswscale-dev
| for dumping frames in AVI format
|-
| liblzo2-dev
| if not found will be built statically
|-
| libsdl1.2-dev
| if not found will be built statically
|-
| libsoil-dev
| if not found will be built statically
|-
| libsfml-dev
| if not found will be built statically
|-
| libbluetooth-dev
| for real wiimotes
|-
| libxrandr-dev
| for switching desktop resolution in fullscreen mode
|}
 
== Addendum B ==
Scipts for building Dolphin.
 
=== General purpose script ===
This script checks for Dolphin's source code, downloads it or updates it, then compiles it and finally installs it. It is somewhat interactive and distro-independent.<br>
It '''will not''' install any of the dependencies listed above, and will fail if any of them are missing. Install manually as described at [[#Step 1 - Installing the Dependencies|the first step]].<br>
Licence: [http://www.gnu.org/licenses/gpl-2.0.html GNU General Public Licence v2] or (at your option) any later version of the GPL.<br>
<pre>
#!/bin/bash
 
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
getdolphin() {
echo 'Downloading Dolphin...'
git clone https://github.com/dolphin-emu/dolphin.git
}
updatedolphin() {
cd $DIR/dolphin-emu
echo 'Updating the local repository...'
git pull origin
}
build() {
cmake $DIR/dolphin-emu
make
}
updatedolphin || getdolphin
mkdir $DIR/build
cd $DIR/build
build && echo 'Compiled succesfully.' || exit
echo 'Proceeding to the installation; press Enter to continue or Ctrl+C to cancel.'
read
if [ $(whoami) == "root" ];
then
make install
else
sudo make install
fi
</pre>
 
Instructions:
 
Put this script in any directory, prefferably a subdirectory of the Home directory, such as <code>~/.scripts/dolphin</code><br>
Within this directory, the script will create two subdirectories, ''dolphin-emu'' and ''build''. It must remain in this directory to work.<br>
Execute the script from anywhere, by running <code>sh /path/to/the/script.sh</code>, where /path/to/the/script.sh is replaced with the actual path to the script.<br>
The script will download Dolphin's source, or update it if it has already been downloaded once. After building it, the script will install it. This requires root privileges. After the installation, the script exits, and Dolphin can be used. Note that the process is very fast and simple after the first time. Using a [http://askubuntu.com/a/17538 bash alias] to execute the script by running a custom command such as <code>dolphin-update</code> is recommended.
 
[[Category:Tutorials]]

Latest revision as of 05:07, 5 January 2024

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