Installing DeSmuME from source on Linux
(Added 'Enabling SSE2 Extensions') |
|||
Line 1: | Line 1: | ||
== Supported compilers == | == Supported compilers == | ||
On the Linux platform, only the GCC compiler and toolchain is supported. | On the Linux platform, only the GCC compiler and toolchain is supported. | ||
− | |||
== Pre-requisites == | == Pre-requisites == | ||
Line 40: | Line 39: | ||
If you want to use offscreen mesa instead of gtkglext as alternative 3d engine use the ./configure --enable-osmesa instead of just ./configure. | If you want to use offscreen mesa instead of gtkglext as alternative 3d engine use the ./configure --enable-osmesa instead of just ./configure. | ||
− | |||
== Install desmume from svn == | == Install desmume from svn == | ||
Line 63: | Line 61: | ||
If you want to use offscreen mesa instead of gtkglext as alternative 3d engine use the ./configure --enable-osmesa instead of just ./configure. | If you want to use offscreen mesa instead of gtkglext as alternative 3d engine use the ./configure --enable-osmesa instead of just ./configure. | ||
+ | |||
+ | == Enabling SSE2 Extensions == | ||
+ | If you want to enable SSE2 extensions on Linux, you should set the C compiler and C++ compiler options to enable '-mfpmath=sse'. You can do this by setting the CFLAGS and CXXFLAGS variables like shown below before running './configure' : | ||
+ | |||
+ | CFLAGS='-march=native -mfpmath=sse' CXXFLAGS='-march=native -mfpmath=sse' | ||
+ | |||
+ | You may need to set the '-march=native' for example because by default, gcc under 32-bit Debian builds code that works on the 486 (which doesn't support SSE). |
Revision as of 19:46, 4 November 2009
Contents |
Supported compilers
On the Linux platform, only the GCC compiler and toolchain is supported.
Pre-requisites
The Linux version of desmume comes in source code form only, and if your distribution does not package it or is packaging an old version you will have to compile the sources yourself. In order to compile desmume from a source tarball you'll need at least these packages:
gcc make libglib2 libgtk2 libglade gettext libsdl zlib intltool agg libasound
If you're compiling from svn, you'll need those one as well:
autoconf automake
If you want 3d engines alternatives to software rasterizer you may install libgtkglext or libosmesa.
On debian you should have all the requirements installed with this command:
sudo apt-get install build-essential autoconf automake libgtk2.0-dev libglu1-mesa-dev libsdl1.2-dev libglade2-dev libgtkglext1-dev gettext zlib1g-dev libosmesa6-dev intltool agg-devel libasound-dev
desmume requires libgtk 2.8 or higher.
Install desmume from source tarball
Go to http://desmume.org/download/ to check out the latest version of desmume available. At the time of writing the latest stable release of desmume is 0.9.4.
Download the tarball and extract it:
- wget http://prdownloads.sourceforge.net/desmume/desmume-0.9.4.tar.gz?download
- tar xvzf desmume-0.9.4.tar.gz
Enter the desmume directory and build the source:
- cd desmume-0.9.4
- ./configure
- make
- sudo make install
If you are not using sudo the last command needs to be run as the 'root' user.
If you want to use offscreen mesa instead of gtkglext as alternative 3d engine use the ./configure --enable-osmesa instead of just ./configure.
Install desmume from svn
You need subversion to checkout latest unreleased version of desmume. On debian you can install it with:
sudo apt-get install subversion
Once you have subversion installed and checked you have the svn command type:
svn co https://desmume.svn.sourceforge.net/svnroot/desmume/trunk/desmume desmume
Enter the desmume directory and build the source:
- cd desmume
- ./autogen.sh
- ./configure
- make
- sudo make install
If you have updated your svn tree with 'svn update', then be sure to run the 'make clean' command before you start.
If you want to use offscreen mesa instead of gtkglext as alternative 3d engine use the ./configure --enable-osmesa instead of just ./configure.
Enabling SSE2 Extensions
If you want to enable SSE2 extensions on Linux, you should set the C compiler and C++ compiler options to enable '-mfpmath=sse'. You can do this by setting the CFLAGS and CXXFLAGS variables like shown below before running './configure' :
CFLAGS='-march=native -mfpmath=sse' CXXFLAGS='-march=native -mfpmath=sse'
You may need to set the '-march=native' for example because by default, gcc under 32-bit Debian builds code that works on the 486 (which doesn't support SSE).