Bug 252192 - [NEW PORT] emulators/libretro-reicast: Standalone port of reicast to libretro emulator
Summary: [NEW PORT] emulators/libretro-reicast: Standalone port of reicast to libretro...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Neel Chauhan
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-12-27 06:50 UTC by Timothy Beyer
Modified: 2022-05-19 17:45 UTC (History)
5 users (show)

See Also:


Attachments
emulators_libretro-reicast.shar (7.86 KB, text/plain)
2020-12-27 06:50 UTC, Timothy Beyer
no flags Details
emulators_libretro-reicast.shar (8.96 KB, text/plain)
2021-07-14 05:14 UTC, Timothy Beyer
no flags Details
[PATCH / NEW PORT] emulators_libretro-reicast.diff (build with poudriere) (9.92 KB, patch)
2022-05-17 05:16 UTC, Timothy Beyer
beyert: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Timothy Beyer 2020-12-27 06:50:07 UTC
Created attachment 220985 [details]
emulators_libretro-reicast.shar

Created new port for the reicast libretro core, which compiles properly, but I think has issues on my Intel based GPUs that I have tried thus far.  I am releasing it anyway, along with a port for reicast itself in case it works well with other GPUs, because I consider it useful to have a working Sega Dreamcast emulator on FreeBSD.

So far, I've tested it with Mars Matrix, which is emulated accurately when it works.  When it doesn't work, I have to restart Xorg, but this may just be an issue with my GPU driver.

Sorry to just sit on this port for several months, but I wanted to test it carefully.

Tested with Retroarch 1.9.0 on FreeBSD 12.1-RELEASE:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=252189
Comment 1 Timothy Beyer 2020-12-27 06:57:10 UTC
I would like to clarify that I originally tested this patch with Retroarch 1.8.5, but when issues with my Intel GPU seemed to come up, I tried it against my update to Retroarch 1.9.0 (see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=252189 for a patch).
Comment 2 Timothy Beyer 2020-12-27 07:32:27 UTC
I forgot to mention that I personally can only get this to run properly with the Dynarec option disabled, but even so, ran at full speed on the game that I tried (it likely wasn't affected as most of Mars Matrix is 2D, but in either case, I would like to get it to a state where it works with Dynarec enabled).  I can talk to the reicast team to find out why this is necessary, as well as why it even with this fix is still so unstable on my machines with Intel graphics that I have tried thus far.

Ultimately, I thought that this should be submitted, because it may work better on other graphics cards (further, the Intel driver on -CURRENT may work much better), and also in case anyone else can improve on this port.
Comment 3 Daniel Menelkir 2021-07-07 12:27:59 UTC
Any progress on this?
Comment 4 Timothy Beyer 2021-07-14 05:14:38 UTC
Created attachment 226442 [details]
emulators_libretro-reicast.shar

(In reply to Daniel Menelkir from comment #3)
I updated the shar file to compile on newer versions of FreeBSD, and it is now the most recent version, 20201231 (sorry for sitting on this for over a month).  Also included is a preliminary pkg-message to make installation a bit easier.

Both native reicast and libretro-reicast still require dynarec to be disabled on my machine, although this may not be the case on all machines.

I also ported libretro-flycast, which works with dynarec and also Sega NAOMI arcade platform.  I'll release that port soon, among many other emulators.
Comment 5 Timothy Beyer 2021-07-15 04:30:38 UTC
In case anyone is interested, here is my port of the core libretro-flycast, which also supports NAOMI platform and works with dynarec at present:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=257170

I am interested in both emulators.
Comment 6 Max Brazhnikov freebsd_committer freebsd_triage 2021-07-15 09:16:15 UTC
Back to the pool.
Comment 7 Timothy Beyer 2022-05-17 05:16:18 UTC
Created attachment 233992 [details]
[PATCH / NEW PORT] emulators_libretro-reicast.diff (build with poudriere)

This is a higher quality git-formatted patch that was tested with poudriere, although I don't believe there were any issues with the prior version
Comment 8 Neel Chauhan freebsd_committer freebsd_triage 2022-05-19 17:43:41 UTC
Committed!
Comment 9 commit-hook freebsd_committer freebsd_triage 2022-05-19 17:45:10 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=ecfbdd7758518157884cc9d4b3fb81acc592dea3

commit ecfbdd7758518157884cc9d4b3fb81acc592dea3
Author:     Timothy Beyer <beyert_freebsd@fastmail.net>
AuthorDate: 2022-05-17 03:53:46 +0000
Commit:     Neel Chauhan <nc@FreeBSD.org>
CommitDate: 2022-05-19 17:43:57 +0000

    emulators/libretro-reicast: New port: Standalone port of reicast to libretro emulator

    PR:     252192

 emulators/Makefile                                 |  1 +
 emulators/libretro-reicast/Makefile (new)          | 46 ++++++++++++++++++++++
 emulators/libretro-reicast/distinfo (new)          |  3 ++
 .../files/patch-CMakeLists.txt (new)               | 11 ++++++
 ...tch-libswirl_gui_gui__settings__about.cpp (new) | 25 ++++++++++++
 .../files/patch-libswirl_linux-dist_main.cpp (new) | 10 +++++
 .../files/patch-libswirl_linux_common.cpp (new)    | 42 ++++++++++++++++++++
 .../files/patch-reicast_cmake_config.cmake (new)   | 16 ++++++++
 emulators/libretro-reicast/pkg-descr (new)         |  3 ++
 emulators/libretro-reicast/pkg-message (new)       | 37 +++++++++++++++++
 10 files changed, 194 insertions(+)