How to install Dolphin emulator

Hi all,

I’m a complete n00b to Opensuse. I just came straight to 12.2 from Ubuntu. I need to install a gamecube emulator - Dolphin.

I see that there is a repository holding the rpm for this.

https://build.opensuse.org/package/show?package=dolphin-emu&project=home%3ARedDwarf%3ANonFree

but how do I add this repo and install dolphin?

Any help would be greatly appreciated. Thanks!

Hi
Use the package search feature here;
http://software.opensuse.org/package/dolphin-emu

Select the one-click and it will add the repository for you… I would
recommend you uncheck the bot to remain subscribed, you can always
re-enable if there is an update.


Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 12.2 (x86_64) Kernel 3.4.6-2.10-desktop
up 1 day 21:18, 6 users, load average: 0.20, 0.25, 0.23
CPU Intel i5 CPU M520@2.40GHz | Intel Arrandale GPU

…or you could use ‘zypper’. Become root with

su -

then add the repo (called RedDwarf say)

zypper ar http://download.opensuse.org/repositories/home:/RedDwarf:/NonFree/openSUSE_12.2/ RedDwarf

Now install dolphin-emu

zypper in dolphin-emu

I usually just compile dolphin-emu and it works fine. Though I will test this rpm package. :slight_smile:

Edit: You need the development (2.9) version of wx to install this. I am guessing this: http://software.opensuse.org/package/libwx_baseu-2_9-4-stl

Package seems to suffer from the libav frameskipping bug. Might be better off compiling it yourself if you use frameskipping.

home:RedDwarf:whatever depends on home:RedDwarf, home:RedDwarf:NonFree included. 1-Click should handle this automatically.

Or just report the bug to me so I can fix it. What’s “the libav frameskipping bug”?

Hi RedDwarf, didn’t know you were on here. Awesome packages dude. Love dolphin-emu. Anyway, its something wrong with the ffmpeg implementation in some revisions of dolphin-emu. It causes the game to go to 0 fps every time someone enables frame skipping. I have a patch for it but I think its already fixed upstream. I didnt try to assume to say packages weren’t good. :slight_smile:

Edit: You are right one click install handles installing just fine. No problems otherwise, and obviously the frame skip thing isnt your fault.


--- dolphin-emu/Source/Core/VideoCommon/Src/AVIDump.cpp    2012-03-05 12:47:54.000000000 -0500
+++ dolphin-emu/Source/Core/VideoCommon/Src/AVIDump.cpp    2012-03-05 13:13:32.000000000 -0500
@@ -211,6 +211,7 @@
 extern "C" {
 #include <libavcodec/avcodec.h>
 #include <libavformat/avformat.h>
 #include <libswscale/swscale.h>
+#include <libavutil/mathematics.h>
 }
 
 AVFormatContext *s_FormatContext = NULL;

I guess is this -> 94e49c50440f - dolphin-emu - Dolphin, a Gamecube / Wii / Triforce Emulator - Google Project Hosting

I updated it to the latest version and created a package in home:RedDwarf:NonFree:multimedia with ffmpeg/libav support.

Got it in my zypper up. Tested and frame skipping is working! Great job thank you.

Keep in mind that I don’t use the it. And since they don’t do a lot of official releases I don’t update it very often (even if updating it is just a matter of executing: osc service disabledrun && osc ci -m “New version”).
Until they start using GLSL instead of (the non “free”) Cg it’s not going to be in the main repository. So the support will not improve that way neither.

If somebody needs an update… write to my (public) openSUSE mail address or open a bug report assigned to me.

Hello.
I’ve been a Dolphin-emu user as well for quite some time, and as soon as I saw this thread I felt kind of a good relief.

First, it’s been a while since I don’t use it on Linux, since last time I installed it from source it ran awfully choppy and slow compared to Windows and in the Dolphin-emu forums they said it was unfortunately normal on Linux. I even had long conversations via PM with a user from the community here, but we both ended with almost the same results. My rig is: Dell Inspiron 1520, Core 2 Duo T7700 2.4 GHz, 4 Gb RAM DDR2, Nvidia GeForce 8600m GT (yes, now a bit crappy laptop, but enough to finish some GC and Wii games at least on Windows). Currently using openSUSE 12.2 x86_64 GNOME 3.4.

I didn’t know there was a rpm package now in a repo, guess I’ll definitely try it eventually. However, since I usually use the latest SVN’s for fixes, I’d like to try compiling again. But it seems the dependency list has changed a bit, not to mention that when I was first able to compile with the old list it was a real long pain finding the openSUSE equivalents of the Ubuntu packages. Could you help me with the dependency packages list you used to successfully compile Dolphin?

Indeed they don’t do many official releases, in fact they are quite sporadic, however in my very humble experience I’ve noted there can be important fixes/changes from revision to revision…

The package continues being the best option. For any customization osc is your friend.

But if you’re still afraid of it

Obviously the package has the list of dependencies.

$ osc cat home:RedDwarf:NonFree/dolphin-emu/dolphin-emu.spec | fgrep BuildRequires
BuildRequires:  cg-devel
BuildRequires:  cmake >= 2.6
BuildRequires:  gcc-c++
BuildRequires:  libSOIL-devel
BuildRequires:  lzo-devel
BuildRequires:  sfml-devel
BuildRequires:  wxWidgets-devel >= 2.9.3
BuildRequires:  zlib-devel
BuildRequires:  pkgconfig(alsa)
BuildRequires:  pkgconfig(bluez)
BuildRequires:  pkgconfig(gl)
BuildRequires:  pkgconfig(glew)
BuildRequires:  pkgconfig(glu)
BuildRequires:  pkgconfig(gtk+-2.0)
BuildRequires:  pkgconfig(libpng)
BuildRequires:  pkgconfig(libpulse)
BuildRequires:  pkgconfig(portaudio-2.0)
BuildRequires:  pkgconfig(sdl)
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(xrandr)
BuildRequires:  pkgconfig(libavcodec) >= 53.5.0
BuildRequires:  pkgconfig(libavformat) >= 53.2.0
BuildRequires:  pkgconfig(libavutil) >= 51.7.0
BuildRequires:  pkgconfig(libswscale) >= 2.0.0

Sorry for highjacking, but I had never heard about this , and it sounds very interesting. However, how do I connect my wiimote receiver to the computer?

Through its only connection: Bluetooth.

Thanks for that! Though it dampens a little my curiosity (since I’ ve got none of those on my computers).

They are not expensive -> Amazon.co.uk: Products tagged with bluetooth dongle

@RedDwarf:

Thanks for your help. Though, after a second search, I think I found the new dependency list. Looked for the rpm equivalents and obtained this (and posted respective doubts in bold letters):

git
cmake
gcc-c++
Cg-devel
Glew-devel **(1.7? there's no 1.5...)**
GTK2-devel
wxWidgets-devel
WxGTK-devel **(no longer exists?)**
WxGTK-gl **(no longer exists?)**
libSDL-devel
libao-devel
libxrandr-devel
libXext-devel
libpulse-devel
readline-devel **(use version 5 or 6?)**
bluez-devel or libbluetooth **(which one?)**
lzo-devel
openal-soft-devel
zlib-devel **(really necessary?)**
libasound2-devel **(no -devel package found...)**
libavcodec52-devel **(no -devel package found...)**
libavformat52-devel **(no -devel package found...)**
libswscale0-devel **(no -devel package found...)**
libavutil-devel **(really necessary?)**
libSOIL **(nowhere to be found...)**
sfml **(nowhere to be found...)**

Though indeed similar, it’s a bit different to the package’s dependency list, besides I don’t know what “pkgconfig” means…
Also, in Dolphin’s dependency list, there are some dependencies marked as “will be built statically if not found”, such as sfml and libSOIL. What does it means?

By the way, my repo list is:

#  | Alias                         | Nombre                             | Activado | Actualizar | Prioridad | Tipo   | URI                                                                      | Servicio
---+-------------------------------+------------------------------------+----------+------------+-----------+--------+--------------------------------------------------------------------------+---------
 1 | Ciencia                       | Ciencia                            | Si       | Si         |   99      | rpm-md | [Index of /repositories/science/openSUSE_12.2](http://download.opensuse.org/repositories/science/openSUSE_12.2/)         |         
 2 | Nvidia                        | Nvidia                             | Si       | Si         |   99      | rpm-md | ftp://download.nvidia.com/opensuse/12.2/                                 |         
 3 | Packman                       | Packman                            | Si       | Si         |   99      | rpm-md | [Index of /suse/openSUSE_12.2/](http://packman.inode.at/suse/openSUSE_12.2/)                              |         
 4 | download.opensuse.org-Wine    | Wine                               | Si       | Si         |   99      | rpm-md | [Index of /repositories/Emulators:/Wine/openSUSE_12.2](http://download.opensuse.org/repositories/Emulators:/Wine/openSUSE_12.2/) |         
 5 | download.opensuse.org-mozilla | Mozilla                            | Si       | Si         |   99      | rpm-md | [Index of /repositories/mozilla/openSUSE_12.2](http://download.opensuse.org/repositories/mozilla/openSUSE_12.2/)         |         
 6 | openSUSE-12.2-1.6             | openSUSE-12.2-1.6                  | Si       | No         |   99      | yast2  | cd:///?devices=/dev/disk/by-id/ata-TSSTcorp_DVD+_-RW_TS-L632D,/dev/sr0   |         
 7 | opensuse-guide.org-repo       | Libdvdcss                          | Si       | Si         |   99      | rpm-md | http://opensuse-guide.org/repo/12.2/                                     |         
 8 | repo-debug                    | openSUSE-12.2-Debug                | No       | Si         |   99      | NONE   | [Index of /debug/distribution/12.2/repo/oss](http://download.opensuse.org/debug/distribution/12.2/repo/oss/)           |         
 9 | repo-debug-update             | openSUSE-12.2-Update-Debug         | No       | Si         |   99      | NONE   | [Index of /debug/update/12.2](http://download.opensuse.org/debug/update/12.2/)                          |         
10 | repo-debug-update-non-oss     | openSUSE-12.2-Update-Debug-Non-Oss | No       | Si         |   99      | NONE   | [Index of /debug/update/12.2-non-oss](http://download.opensuse.org/debug/update/12.2-non-oss/)                  |         
11 | repo-non-oss                  | openSUSE-12.2-Non-Oss              | Si       | Si         |   99      | yast2  | [Index of /distribution/12.2/repo/non-oss](http://download.opensuse.org/distribution/12.2/repo/non-oss/)             |         
12 | repo-oss                      | openSUSE-12.2-Oss                  | Si       | Si         |   99      | yast2  | [Index of /distribution/12.2/repo/oss](http://download.opensuse.org/distribution/12.2/repo/oss/)                 |         
13 | repo-source                   | openSUSE-12.2-Source               | No       | Si         |   99      | NONE   | [Index of /source/distribution/12.2/repo/oss](http://download.opensuse.org/source/distribution/12.2/repo/oss/)          |         
14 | repo-update                   | openSUSE-12.2-Update               | Si       | Si         |   99      | rpm-md | [Index of /update/12.2](http://download.opensuse.org/update/12.2/)                                |         
15 | repo-update-non-oss           | openSUSE-12.2-Update-Non-Oss       | Si       | Si         |   99      | rpm-md | [Index of /update/12.2-non-oss](http://download.opensuse.org/update/12.2-non-oss/)                        |

Finally, do you know what SVN revision your rpm package would be?

Thanks for your attention again.

Most of those are mentioned in dolphin-emu cmake. You will want ffmpeg-devel (libav) because it enables frame skipping. Sfml/Soil I think is in education repo. Use the obs search to find them. Try building dolphin from latest git and it should show you what you need and why for the most part. (Going to build right now since I want to enable -O3 and do some benchmarks on dolphin) :slight_smile:

So should I use the dependency list I posted or the one from RedDwarf’s rpm package?
And what does “will be statically built if not found” mean from Dolphin dependency list site? Dependencies with this comment are marked as “optional” for some reason, and sfml and libsoil are among them.

Also, on another point, does Dolphin runs slower on Linux than Windows for you, or is it just my rig (mentioned in previous post)?

I have not used windows for as long as I can remember, but I am sure you can test the directx vs opengl backends. The developers say directx is faster but less accurate than opengl. On my low end system (intel gpu, 2x intel @ 2.2ghz) dolphin runs most games quickly enough to be playable.

As for the dependencies. How much are truly optional I dunno but I know most of the sound backends are. I usually only build the alsa and pulse backends. Though statically I believe the dolphin source has stuff like wxwidgets in the source so if it does not find it on your system it will use the internal devel stuff to build. I used wx as an example because dolphin depends on a devel version of wx that is not in the main repositories of most distros. Rather than find it I just build it statically off the dolphin source and it works fine. Generally unless there are problems you should want to use the systems version of the libs and not the internal ones.