NEW: emulators/dolphin - GameCube and Wii emulator

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

NEW: emulators/dolphin - GameCube and Wii emulator

Thomas Frohwein-2
Hi,

Please find attached a port of dolphin. Dolphin is an emulator for
GameCube and Wii consoles. It supports various gamecontrollers and is
optimized for dual-core use.

It runs GameCube and Wii ROMs well on my limited testing with a handful
of them. Performance-wise there's mild stuttering in games that make
heavy use of shaders, otherwise running quite well on i3-7100 (with HT
disabled).

A few notes about the port:
- ONLY_FOR_ARCHS=amd64 was in the original draft and I kept it - reason
  seems to be that other archs likely won't be powerful enough
- Requires USE_WXNEEDED, unless building with '-DENABLE_GENERIC=ON'
  which disables all JITs, but then is unplayably slow
- No releases available since 2016 ("Nobody on the project really cares
  about stable releases. It's too much of a burden to care")
- Only works with the builtin soundtouch because of a similar issue as
  with citra. In addition, builtin soundtouch errors out during build
  when disabling audio/pulseaudio.
- Needs a large datasize, up to ~16GB (allocated at startup and then
  reduced to what's actually needed).
- Qt5 is used for the GUI because theres no wxWidgets3 available yet,
  but Qt5 GUI is experimental and at least on OpenBSD causes a bus
  error on exit (not present with dolphin-emu-nogui).

Original draft was by bentley@, picked up by me from openbsd-wip.

ok?

dolphin.tgz (10K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: NEW: emulators/dolphin - GameCube and Wii emulator

Jordan Geoghegan
Love it! Thanks for porting this! I'm gonna try and get some time to get
my spare i5 workstation moved over to the latest current so I can play
with it and put Dolphin through its paces. Thanks for all your work on
improving the OpenBSD gaming scene!

Cheers,
Jordan


On 06/19/18 00:11, Thomas Frohwein wrote:

> Hi,
>
> Please find attached a port of dolphin. Dolphin is an emulator for
> GameCube and Wii consoles. It supports various gamecontrollers and is
> optimized for dual-core use.
>
> It runs GameCube and Wii ROMs well on my limited testing with a handful
> of them. Performance-wise there's mild stuttering in games that make
> heavy use of shaders, otherwise running quite well on i3-7100 (with HT
> disabled).
>
> A few notes about the port:
> - ONLY_FOR_ARCHS=amd64 was in the original draft and I kept it - reason
>    seems to be that other archs likely won't be powerful enough
> - Requires USE_WXNEEDED, unless building with '-DENABLE_GENERIC=ON'
>    which disables all JITs, but then is unplayably slow
> - No releases available since 2016 ("Nobody on the project really cares
>    about stable releases. It's too much of a burden to care")
> - Only works with the builtin soundtouch because of a similar issue as
>    with citra. In addition, builtin soundtouch errors out during build
>    when disabling audio/pulseaudio.
> - Needs a large datasize, up to ~16GB (allocated at startup and then
>    reduced to what's actually needed).
> - Qt5 is used for the GUI because theres no wxWidgets3 available yet,
>    but Qt5 GUI is experimental and at least on OpenBSD causes a bus
>    error on exit (not present with dolphin-emu-nogui).
>
> Original draft was by bentley@, picked up by me from openbsd-wip.
>
> ok?

Reply | Threaded
Open this post in threaded view
|

Re: NEW: emulators/dolphin - GameCube and Wii emulator

Thomas Frohwein-2
In reply to this post by Thomas Frohwein-2
> Please find attached a port of dolphin. Dolphin is an emulator for

> GameCube and Wii consoles. It supports various gamecontrollers and is
> optimized for dual-core use.
>
> It runs GameCube and Wii ROMs well on my limited testing with a handful
> of them. Performance-wise there's mild stuttering in games that make
> heavy use of shaders, otherwise running quite well on i3-7100 (with HT
> disabled).
>
> A few notes about the port:
> - ONLY_FOR_ARCHS=amd64 was in the original draft and I kept it - reason
>   seems to be that other archs likely won't be powerful enough
> - Requires USE_WXNEEDED, unless building with '-DENABLE_GENERIC=ON'
>   which disables all JITs, but then is unplayably slow
> - No releases available since 2016 ("Nobody on the project really cares
>   about stable releases. It's too much of a burden to care")
> - Only works with the builtin soundtouch because of a similar issue as
>   with citra. In addition, builtin soundtouch errors out during build
>   when disabling audio/pulseaudio.
> - Needs a large datasize, up to ~16GB (allocated at startup and then
>   reduced to what's actually needed).
> - Qt5 is used for the GUI because theres no wxWidgets3 available yet,
>   but Qt5 GUI is experimental and at least on OpenBSD causes a bus
>   error on exit (not present with dolphin-emu-nogui).
>
> Original draft was by bentley@, picked up by me from openbsd-wip.
>
> ok?
There was temporary confusion as to why dolphin was running on some
machines, but not on others.

It turns out that I had an old Dolphin.ini still present where Fastmem
was disabled while dolphin enables it now by default. Fastmem uses
unsafe, but fast memory operations in the JIT that are bound to trigger
SIGSEGV in some cases and the intention is apparently that dolphin
catches those and then applies the slower usual memory access. I
haven't heard of this being an issue on other platforms, but it causes a
segfault on OpenBSD.

This new draft fixes this by disabling fastmem by default. It's probably
best to remove stray dolphin-emu directories in ~/.config and
~/.local/share before using this port.

I wouldn't have found the issue with fastmem without the testing by
bentley@, Ryan Freeman, and anthk_ (on #openbsd-gaming on freenode).

Another hint: sound works with cubeb (in the audio settings).

dolphin.tgz (11K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: NEW: emulators/dolphin - GameCube and Wii emulator

Anthony J. Bentley-4
Thomas Frohwein writes:
> This new draft fixes this by disabling fastmem by default.

Nice!

Do you think you could split dolphin-emu and dolphin-emu-nogui into
multi_packages? The version in openbsd-wip is that way, and at least
a couple of in-tree emulators (mgba and gambatte). It would be nice
to do the same for desmume and citra too.

Reply | Threaded
Open this post in threaded view
|

Re: NEW: emulators/dolphin - GameCube and Wii emulator

Thomas Frohwein-2
On Wed, Jun 27, 2018 at 02:56:04AM -0600, Anthony J. Bentley wrote:
> Do you think you could split dolphin-emu and dolphin-emu-nogui into
> multi_packages?

Hi,

I added MULTI_PACKAGES to dolphin and switched to a newer GitHub commit.

Some other changes:

- Disabled Discord plugin that was recently added by upstream because
  to the best of my knowledge, there's no discord client for OpenBSD.
- removed this:

.if ${PROPERTIES:Mclang}                                                                            
cWANTLIB +=     c++abi                                                                              
.endif

 because this is already taken care of by ${COMPILER_LIBCXX}.

I've set @tag in the PLIST* files. I'm getting this in portcheck:

in -main: missing @exec of gtk-update-icon-cache for icon theme hicolor                            
in -main: missing @unexec-delete of gtk-update-icon-cache for icon theme hicolor

My guess is that portcheck doesn't fully account for the existence of
@tag yet?

As with the previous version, a bus error is triggered when closing the
GUI. This doesn't occur with dolphin-emu-nogui. Tested and working.

Thanks again to bentley@ for additional input.

ok?

dolphin.tgz (11K) Download Attachment