mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-21 19:42:24 +01:00
games/RetroArch: Updated for version 1.7.6.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
parent
769b67704c
commit
eb94f40eda
6 changed files with 170 additions and 92 deletions
|
@ -18,16 +18,23 @@ anyone to use.
|
|||
RetroArch will require at least one of the libretro cores to play any
|
||||
games.
|
||||
|
||||
Optional dependencies:
|
||||
ffmpeg jack-audio-connection-kit libsixel libxkbcommon mbedtls
|
||||
miniupnpc nvidia-cg-toolkit OpenAL python3 qt5 SDL2 vulkansdk
|
||||
wayland-egl wayland-protocols
|
||||
|
||||
Note: Wayland support requires both wayland-egl and wayland-protocols to
|
||||
be installed. Instead of installing wayland-egl mesa can be rebuilt with
|
||||
Wayland support, using the following configure parameters.
|
||||
|
||||
--with-egl-platforms=x11,drm,wayland
|
||||
|
||||
To build debugging symbols for RetroArch use:
|
||||
DEBUG=yes ./RetroArch.SlackBuild
|
||||
|
||||
If building debugging symbols asan can also be built:
|
||||
DEBUG=yes ASAN=yes ./RetroArch.SlackBuild
|
||||
|
||||
Optional dependencies:
|
||||
ffmpeg jack-audio-connection-kit libsixel libxkbcommon miniupnpc
|
||||
nvidia-cg-toolkit OpenAL python3 qt5 SDL2 vulkansdk wayland
|
||||
|
||||
Discord integration can be enabled with:
|
||||
DISCORD=yes
|
||||
|
||||
|
@ -37,14 +44,27 @@ Python3 support for shaders will need to be enabled with:
|
|||
If pulseaudio is installed it can be disabled during the build with:
|
||||
PULSE=no ./RetroArch.SlackBuild
|
||||
|
||||
The Qt5 frontend can be disabled with:
|
||||
QT=no ./RetroArch.SlackBuild
|
||||
|
||||
The materialui menu driver can be disabled with:
|
||||
GLUI=no ./RetroArch.SlackBuild
|
||||
|
||||
The ozone menu driver can be disabled with:
|
||||
OZONE=no ./RetroArch.SlackBuild
|
||||
|
||||
The rgui menu driver can be disabled with:
|
||||
RGUI=no ./RetroArch.SlackBuild
|
||||
|
||||
The xmb menu driver can be disabled with:
|
||||
XMB=no ./RetroArch.SlackBuild
|
||||
|
||||
All of the menu drivers can be disabled with:
|
||||
MENU=no ./RetroArch.SlackBuild
|
||||
|
||||
Alternatively pulseaudio can be disabled later in RetroArch's
|
||||
configuration.
|
||||
|
||||
Note: Wayland support requires mesa to be rebuilt with Wayland support,
|
||||
using the following configure parameters.
|
||||
|
||||
--with-egl-platforms=x11,drm,wayland
|
||||
|
||||
Retroarch optionally supports using OpenGL ES 2 and OpenGL ES 3 instead
|
||||
of OpenGL which will require video card and driver support. This can be
|
||||
done by building RetroArch with:
|
||||
|
|
|
@ -5,7 +5,9 @@ libretro slackbuilds. The buildbot can be used with:
|
|||
|
||||
BUILDBOT=1 ./RetroArch.SlackBuild
|
||||
|
||||
To change this after installing edit '~/.config/retroarch/retroarch'.
|
||||
To change this after installing edit:
|
||||
|
||||
~/.config/retroarch/retroarch.cfg
|
||||
|
||||
To enable the buildbot:
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
# Slackware build script for RetroArch
|
||||
|
||||
# Copyright 2016-2018 Hunter Sezen California, USA
|
||||
# Copyright 2016-2019 Hunter Sezen California, USA
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use of this script, with or without modification, is
|
||||
|
@ -23,8 +23,8 @@
|
|||
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
PRGNAM=RetroArch
|
||||
VERSION=${VERSION:-1.7.5}
|
||||
BUILD=${BUILD:-2}
|
||||
VERSION=${VERSION:-1.7.6}
|
||||
BUILD=${BUILD:-1}
|
||||
TAG=${TAG:-_SBo}
|
||||
|
||||
if [ -z "$ARCH" ]; then
|
||||
|
@ -69,18 +69,22 @@ find -L . \
|
|||
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
|
||||
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
|
||||
|
||||
lib=
|
||||
|
||||
if [ "${DEBUG:=0}" != 0 ]; then
|
||||
[ "${ASAN:=}" != '' ] && ASAN=address
|
||||
DEBUG=1
|
||||
case "${ASAN:=}" in
|
||||
'' ) : ;;
|
||||
thread ) ASAN=thread ;;
|
||||
* ) ASAN=address ;;
|
||||
esac
|
||||
RELEASE=debug
|
||||
SLKCFLAGS="$(printf %s "$SLKCFLAGS" | sed 's/-O2/-O0 -g/')"
|
||||
lib="${lib} --enable-debug"
|
||||
else
|
||||
ASAN=
|
||||
RELEASE=release
|
||||
fi
|
||||
|
||||
lib=
|
||||
|
||||
[ "${DISCORD:-0}" = 0 ] && lib="${lib} --disable-discord"
|
||||
|
||||
if [ "${GLES:-0}" != 0 ]; then
|
||||
|
@ -92,6 +96,7 @@ fi
|
|||
pkg-config --exists flac && lib="${lib} --disable-builtinflac"
|
||||
pkg-config --exists libsixel && lib="${lib} --enable-sixel"
|
||||
|
||||
[ -d /usr/include/mbedtls ] && lib="${lib} --disable-builtinmbedtls"
|
||||
[ -d /usr/include/miniupnpc ] && lib="${lib} --disable-builtinminiupnpc"
|
||||
|
||||
if [ "${PYTHON:-0}" != 0 ]; then
|
||||
|
@ -102,7 +107,13 @@ if [ "${PYTHON:-0}" != 0 ]; then
|
|||
fi
|
||||
fi
|
||||
|
||||
[ "${MENU:-yes}" != yes ] && lib="${lib} --disable-menu"
|
||||
[ "${PULSE:-yes}" != yes ] && lib="${lib} --disable-pulse"
|
||||
[ "${QT:-yes}" != yes ] && lib="${lib} --disable-qt"
|
||||
[ "${GLUI:-yes}" != yes ] && lib="${lib} --disable-materialui"
|
||||
[ "${OZONE:-yes}" != yes ] && lib="${lib} --disable-ozone"
|
||||
[ "${RGUI:-yes}" != yes ] && lib="${lib} --disable-rgui"
|
||||
[ "${XMB:-yes}" != yes ] && lib="${lib} --disable-xmb"
|
||||
|
||||
# Disable downloading cores with the online updater
|
||||
# https://github.com/libretro/RetroArch/issues/3237
|
||||
|
@ -123,11 +134,10 @@ sed -e "s|# audio_filter_dir =|audio_filter_dir = ${filter_dir}/audio|" \
|
|||
-e "$SED_CORE;$SED_INFO;$SED_MENU" \
|
||||
-i retroarch.cfg
|
||||
|
||||
# Fix KMS with OpenGL.
|
||||
# https://github.com/libretro/RetroArch/commit/5898f3e5d22b930a1050a59b61e98ecd07dd6977
|
||||
# https://github.com/libretro/RetroArch/issues/7119
|
||||
# https://github.com/libretro/RetroArch/pull/7708
|
||||
patch -p1 < $CWD/kms.patch
|
||||
# Fix --disable-menu (Again).
|
||||
# https://github.com/libretro/RetroArch/commit/762151758d0704394699fe3462ad0505e2cf4070
|
||||
# https://github.com/libretro/RetroArch/pull/8170
|
||||
patch -p1 < $CWD/menu.patch
|
||||
|
||||
# Set $lib to a portable array
|
||||
eval "set -- $lib"
|
||||
|
@ -144,7 +154,7 @@ CXXFLAGS="$SLKCFLAGS" \
|
|||
--build=$ARCH-slackware-linux \
|
||||
"$@"
|
||||
|
||||
make GL_DEBUG=$DEBUG VULKAN_DEBUG=$DEBUG SANITIZER=$ASAN
|
||||
make SANITIZER=$ASAN
|
||||
make install DESTDIR=$PKG
|
||||
|
||||
for filter in audio video; do
|
||||
|
@ -166,7 +176,7 @@ done
|
|||
|
||||
mv $PKG/etc/retroarch.cfg $PKG/etc/retroarch.cfg.new
|
||||
|
||||
if [ $DEBUG = 0 ]; then
|
||||
if [ "$DEBUG" = 0 ]; then
|
||||
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" |
|
||||
grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
|
||||
fi
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
PRGNAM="RetroArch"
|
||||
VERSION="1.7.5"
|
||||
VERSION="1.7.6"
|
||||
HOMEPAGE="https://www.libretro.com/"
|
||||
DOWNLOAD="https://github.com/libretro/RetroArch/releases/download/v1.7.5/RetroArch-1.7.5.tar.xz"
|
||||
MD5SUM="6d4247679a99a691fd280f5dfc6b1db9"
|
||||
DOWNLOAD="https://github.com/libretro/RetroArch/releases/download/v1.7.6/RetroArch-1.7.6.tar.xz"
|
||||
MD5SUM="1c241b2d3908a794137c538457d9175a"
|
||||
DOWNLOAD_x86_64=""
|
||||
MD5SUM_x86_64=""
|
||||
REQUIRES=""
|
||||
|
|
|
@ -1,65 +0,0 @@
|
|||
From 5898f3e5d22b930a1050a59b61e98ecd07dd6977 Mon Sep 17 00:00:00 2001
|
||||
From: orbea <orbea@fredslev.dk>
|
||||
Date: Thu, 6 Dec 2018 08:31:01 -0800
|
||||
Subject: [PATCH] Fix KMS with OpenGL.
|
||||
|
||||
All credit for this patch goes to dtsarr.
|
||||
|
||||
Fixes https://github.com/libretro/RetroArch/issues/7119
|
||||
---
|
||||
gfx/common/egl_common.c | 41 ++++++++++++++++++++++++++++++++++++++++-
|
||||
1 file changed, 40 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gfx/common/egl_common.c b/gfx/common/egl_common.c
|
||||
index f3c579af21..ee7bca84b6 100644
|
||||
--- a/gfx/common/egl_common.c
|
||||
+++ b/gfx/common/egl_common.c
|
||||
@@ -329,8 +329,47 @@ bool egl_init_context(egl_ctx_data_t *egl,
|
||||
|
||||
RARCH_LOG("[EGL]: EGL version: %d.%d\n", *major, *minor);
|
||||
|
||||
- if (!eglChooseConfig(egl->dpy, attrib_ptr, &egl->config, 1, n) || *n != 1)
|
||||
+ EGLint count = 0;
|
||||
+ EGLint matched = 0;
|
||||
+ EGLConfig *configs;
|
||||
+ int config_index = -1;
|
||||
+
|
||||
+ if (!eglGetConfigs(egl->dpy, NULL, 0, &count) || count < 1)
|
||||
+ {
|
||||
+ RARCH_ERR("[EGL]: No cofigs to choose from.\n");
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ configs = malloc(count * sizeof *configs);
|
||||
+ if (!configs) return false;
|
||||
+
|
||||
+ if (!eglChooseConfig(egl->dpy, attrib_ptr, configs, count, &matched) || !matched)
|
||||
+ {
|
||||
+ RARCH_ERR("[EGL]: No EGL configs with appropriate attributes.\n");
|
||||
return false;
|
||||
+ }
|
||||
+
|
||||
+ int i;
|
||||
+ EGLint id;
|
||||
+
|
||||
+ for (i = 0; i < count; ++i)
|
||||
+ {
|
||||
+ if (!eglGetConfigAttrib(egl->dpy, configs[i], EGL_NATIVE_VISUAL_ID, &id))
|
||||
+ continue;
|
||||
+
|
||||
+ if (id == GBM_FORMAT_XRGB8888) break;
|
||||
+ }
|
||||
+
|
||||
+ if (id != GBM_FORMAT_XRGB8888)
|
||||
+ {
|
||||
+ RARCH_ERR("[EGL]: No EGL configs with format XRGB8888\n");
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ config_index = i;
|
||||
+ if (config_index != -1) egl->config = configs[config_index];
|
||||
+
|
||||
+ free(configs);
|
||||
|
||||
egl->major = g_egl_major;
|
||||
egl->minor = g_egl_minor;
|
111
games/RetroArch/menu.patch
Normal file
111
games/RetroArch/menu.patch
Normal file
|
@ -0,0 +1,111 @@
|
|||
From 762151758d0704394699fe3462ad0505e2cf4070 Mon Sep 17 00:00:00 2001
|
||||
From: orbea <orbea@fredslev.dk>
|
||||
Date: Mon, 4 Feb 2019 08:20:34 -0800
|
||||
Subject: [PATCH] Fix --disable-menu (Again).
|
||||
|
||||
---
|
||||
command.c | 1 +
|
||||
config.def.h | 7 +++----
|
||||
configuration.c | 3 +++
|
||||
driver.c | 1 +
|
||||
managers/cheat_manager.c | 1 +
|
||||
managers/core_option_manager.h | 2 ++
|
||||
6 files changed, 11 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/command.c b/command.c
|
||||
index fb617da1a2..4958167f00 100644
|
||||
--- a/command.c
|
||||
+++ b/command.c
|
||||
@@ -91,6 +91,7 @@
|
||||
#include "ui/ui_companion_driver.h"
|
||||
#include "tasks/task_content.h"
|
||||
#include "tasks/tasks_internal.h"
|
||||
+#include "gfx/video_driver.h"
|
||||
#include "list_special.h"
|
||||
|
||||
#include "core.h"
|
||||
diff --git a/config.def.h b/config.def.h
|
||||
index 1515ab3fa9..ce2f85c97b 100644
|
||||
--- a/config.def.h
|
||||
+++ b/config.def.h
|
||||
@@ -372,8 +372,9 @@ static unsigned menu_shader_pipeline = 1;
|
||||
static unsigned menu_shader_pipeline = 2;
|
||||
#endif
|
||||
|
||||
-static bool show_advanced_settings = false;
|
||||
-static unsigned rgui_color_theme = RGUI_THEME_CLASSIC_GREEN;
|
||||
+static bool show_advanced_settings = false;
|
||||
+static unsigned rgui_color_theme = RGUI_THEME_CLASSIC_GREEN;
|
||||
+static unsigned rgui_thumbnail_downscaler = RGUI_THUMB_SCALE_POINT;
|
||||
|
||||
#else
|
||||
static bool default_block_config_read = false;
|
||||
@@ -754,8 +755,6 @@ static const unsigned menu_timedate_style = 5;
|
||||
|
||||
static const bool xmb_vertical_thumbnails = false;
|
||||
|
||||
-static unsigned rgui_thumbnail_downscaler = RGUI_THUMB_SCALE_POINT;
|
||||
-
|
||||
#ifdef IOS
|
||||
static const bool ui_companion_start_on_boot = false;
|
||||
#else
|
||||
diff --git a/configuration.c b/configuration.c
|
||||
index ac3d2d7502..0cc7860cd2 100644
|
||||
--- a/configuration.c
|
||||
+++ b/configuration.c
|
||||
@@ -34,6 +34,7 @@
|
||||
|
||||
#include "file_path_special.h"
|
||||
#include "audio/audio_driver.h"
|
||||
+#include "gfx/video_driver.h"
|
||||
#include "input/input_driver.h"
|
||||
#include "configuration.h"
|
||||
#include "content.h"
|
||||
@@ -1661,8 +1662,10 @@ static struct config_uint_setting *populate_settings_uint(settings_t *settings,
|
||||
SETTING_UINT("dpi_override_value", &settings->uints.menu_dpi_override_value, true, menu_dpi_override_value, false);
|
||||
SETTING_UINT("menu_thumbnails", &settings->uints.menu_thumbnails, true, menu_thumbnails_default, false);
|
||||
SETTING_UINT("menu_timedate_style", &settings->uints.menu_timedate_style, true, menu_timedate_style, false);
|
||||
+#ifdef HAVE_RGUI
|
||||
SETTING_UINT("rgui_menu_color_theme", &settings->uints.menu_rgui_color_theme, true, rgui_color_theme, false);
|
||||
SETTING_UINT("rgui_thumbnail_downscaler", &settings->uints.menu_rgui_thumbnail_downscaler, true, rgui_thumbnail_downscaler, false);
|
||||
+#endif
|
||||
#ifdef HAVE_LIBNX
|
||||
SETTING_UINT("split_joycon_p1", &settings->uints.input_split_joycon[0], true, 0, false);
|
||||
SETTING_UINT("split_joycon_p2", &settings->uints.input_split_joycon[1], true, 0, false);
|
||||
diff --git a/driver.c b/driver.c
|
||||
index 5881d1a63f..f788e59882 100644
|
||||
--- a/driver.c
|
||||
+++ b/driver.c
|
||||
@@ -32,6 +32,7 @@
|
||||
|
||||
#include "audio/audio_driver.h"
|
||||
#include "camera/camera_driver.h"
|
||||
+#include "gfx/video_driver.h"
|
||||
#include "record/record_driver.h"
|
||||
#include "location/location_driver.h"
|
||||
#include "wifi/wifi_driver.h"
|
||||
diff --git a/managers/cheat_manager.c b/managers/cheat_manager.c
|
||||
index a3277a4be5..cfd69f3619 100644
|
||||
--- a/managers/cheat_manager.c
|
||||
+++ b/managers/cheat_manager.c
|
||||
@@ -18,6 +18,7 @@
|
||||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
+#include <math.h>
|
||||
|
||||
#include <file/config_file.h>
|
||||
#include <file/file_path.h>
|
||||
diff --git a/managers/core_option_manager.h b/managers/core_option_manager.h
|
||||
index a7e2744d39..60dbe0fa4b 100644
|
||||
--- a/managers/core_option_manager.h
|
||||
+++ b/managers/core_option_manager.h
|
||||
@@ -23,6 +23,8 @@
|
||||
#include <retro_common_api.h>
|
||||
#include <lists/string_list.h>
|
||||
|
||||
+#include "../gfx/video_driver.h"
|
||||
+
|
||||
RETRO_BEGIN_DECLS
|
||||
|
||||
struct core_option
|
Loading…
Reference in a new issue