mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 17:59:20 -04:00
emulators/ares: Update 139.20240825 → 140
Release note: https://ares-emu.net/news/ares-v140-released Starting with version v140, emulators/ares will track release versions instead of development versions. The port applies an upstreamed patch to version v140, which resolves the issues with NVIDIA GPUs. This obsoletes the NVIDIA port option. PR: 281221
This commit is contained in:
parent
f83207b8a2
commit
f162675ecb
5 changed files with 17 additions and 46 deletions
|
@ -1,7 +1,17 @@
|
|||
PORTNAME= ares
|
||||
DISTVERSION= 139.20240825
|
||||
DISTVERSIONPREFIX= v
|
||||
DISTVERSION= 140
|
||||
CATEGORIES= emulators
|
||||
|
||||
# committed upstream, remove with next version update
|
||||
# * contains 'unbreak FreeBSD build'
|
||||
# https://github.com/Themaister/Granite/pull/135
|
||||
# * contains 'NVIDIA fix'
|
||||
# https://github.com/ares-emulator/ares/issues/1547
|
||||
# https://github.com/Themaister/Granite/issues/133
|
||||
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${PORTNAME}/commit/
|
||||
PATCHFILES= 7135646c447ab7eb3eff18132dbddf7dc03135fa.patch:-p1
|
||||
|
||||
MAINTAINER= bsdcode@disroot.org
|
||||
COMMENT= Multi-system emulator
|
||||
WWW= https://ares-emu.net
|
||||
|
@ -13,7 +23,6 @@ USES= compiler:c++17-lang gmake gnome localbase:ldflags pkgconfig \
|
|||
xorg
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= ares-emulator
|
||||
GH_TAGNAME= efb7f61
|
||||
USE_GNOME= gtksourceview3
|
||||
USE_XORG= x11 xext xrandr
|
||||
|
||||
|
@ -29,7 +38,7 @@ MAKE_ARGS= compiler=${CC} \
|
|||
symbols=false \
|
||||
threaded=true
|
||||
|
||||
OPTIONS_DEFINE= DEBUG DOCS HOTKEYS NVIDIA OPENMP SHADER
|
||||
OPTIONS_DEFINE= DEBUG DOCS HOTKEYS OPENMP SHADER
|
||||
OPTIONS_DEFAULT= A26 ALSA AO CV FC GB GBA GLX MD MS MSX MYVISION N64 NG \
|
||||
NGP OPENAL OPENMP OSS PCE PERFORMANCE PS1 SDLAUDIO \
|
||||
SDLINPUT SFC SG SHADER SPEC UDEV UHID WS XLIB XVIDEO
|
||||
|
@ -56,7 +65,6 @@ MYVISION_DESC= My Vision
|
|||
N64_DESC= Nintendo 64
|
||||
NGP_DESC= Neo Geo Pocket
|
||||
NG_DESC= Neo Geo (AES/MVS)
|
||||
NVIDIA_DESC= Apply shader cache workaround (implies ${NVIDIA_IMPLIES})
|
||||
PCE_DESC= PC-Engine / TurboGrafx
|
||||
PERFORMANCE_DESC= Faster but less accurate
|
||||
PROFILE_DESC=
|
||||
|
@ -112,15 +120,11 @@ N64_RUN_DEPENDS= ${LOCALBASE}/lib/libvulkan.so:graphics/vulkan-loader
|
|||
N64_MAKE_ARGS= cores+=n64 \
|
||||
vulkan=true
|
||||
N64_MAKE_ARGS_OFF= vulkan=false
|
||||
N64_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-ares_n64_vulkan_parallel-rdp_util_timer.cpp
|
||||
|
||||
NGP_MAKE_ARGS= cores+=ngp
|
||||
|
||||
NG_MAKE_ARGS= cores+=ng
|
||||
|
||||
NVIDIA_IMPLIES= N64
|
||||
NVIDIA_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-ares_n64_vulkan_parallel-rdp_vulkan_device.cpp
|
||||
|
||||
OPENAL_USES= openal
|
||||
OPENAL_MAKE_ARGS= ruby+=audio.openal
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
TIMESTAMP = 1724663853
|
||||
SHA256 (ares-emulator-ares-139.20240825-efb7f61_GH0.tar.gz) = 8d4a410b9141399ec0d592edc34ca8dd35d582a87cae3f4ec5fdacc8a1c3c64e
|
||||
SIZE (ares-emulator-ares-139.20240825-efb7f61_GH0.tar.gz) = 50956365
|
||||
TIMESTAMP = 1725355457
|
||||
SHA256 (ares-emulator-ares-v140_GH0.tar.gz) = 126464881ca1111a46627cb299516f60ad076bf3015da0b9325d6cac14339f4d
|
||||
SIZE (ares-emulator-ares-v140_GH0.tar.gz) = 50954599
|
||||
SHA256 (7135646c447ab7eb3eff18132dbddf7dc03135fa.patch) = 8a33c760618adf6bcd90894a2002d1aa60ef1cd68458980c341d2175881381a5
|
||||
SIZE (7135646c447ab7eb3eff18132dbddf7dc03135fa.patch) = 11018024
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
https://github.com/Themaister/Granite/pull/135
|
||||
|
||||
--- ares/n64/vulkan/parallel-rdp/util/timer.cpp.orig 2024-07-28 10:49:58 UTC
|
||||
+++ ares/n64/vulkan/parallel-rdp/util/timer.cpp
|
||||
@@ -107,7 +107,7 @@ int64_t get_current_time_nsecs()
|
||||
return int64_t(double(li.QuadPart) * static_qpc_freq.inv_freq);
|
||||
#else
|
||||
struct timespec ts = {};
|
||||
-#ifdef ANDROID
|
||||
+#if defined(ANDROID) || defined(__FreeBSD__)
|
||||
constexpr auto timebase = CLOCK_MONOTONIC;
|
||||
#else
|
||||
constexpr auto timebase = CLOCK_MONOTONIC_RAW;
|
|
@ -1,13 +0,0 @@
|
|||
https://github.com/Themaister/Granite/issues/133
|
||||
|
||||
--- ares/n64/vulkan/parallel-rdp/vulkan/device.cpp.orig 2024-08-11 00:29:27 UTC
|
||||
+++ ares/n64/vulkan/parallel-rdp/vulkan/device.cpp
|
||||
@@ -874,7 +874,7 @@ void Device::init_workarounds()
|
||||
workarounds.emulate_event_as_pipeline_barrier = true;
|
||||
}
|
||||
|
||||
- if (ext.driver_id == VK_DRIVER_ID_NVIDIA_PROPRIETARY && gpu_props.driverVersion < VK_VERSION_MAJOR(535))
|
||||
+ if (ext.driver_id == VK_DRIVER_ID_NVIDIA_PROPRIETARY)
|
||||
{
|
||||
LOGW("Disabling pipeline cache control.\n");
|
||||
workarounds.broken_pipeline_cache_control = true;
|
|
@ -9,15 +9,6 @@ Users are encouraged to compile the port on their systems with
|
|||
|
||||
This can improve the performance of demanding cores like the N64.
|
||||
|
||||
NVIDIA GPU users with versions >= 535 of the x11/nvidia-driver could encounter
|
||||
crashes or freezes while using the N64 core, see
|
||||
https://github.com/ares-emulator/ares/issues/1547 and
|
||||
https://github.com/Themaister/Granite/issues/133. As a workaround either try to
|
||||
compile the port with the NVIDIA option set (recommended), or disable the NVIDIA
|
||||
shader disk cache at startup with
|
||||
|
||||
$ __GL_SHADER_DISK_CACHE=0 ares
|
||||
|
||||
The port provides the HOTKEYS option. This applies an inofficial patch which
|
||||
locks all hotkey execution in the unpaused state of the emulator. This can be a
|
||||
convenience for gamepad-only users who want to assign hotkey actions to gamepad
|
||||
|
|
Loading…
Add table
Reference in a new issue