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
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).
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.
Any progress on this?
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.
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.
Back to the pool.
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
Committed!
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(+)