games/RetroArch: Updated for version 1.7.6.

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
Hunter Sezen 2019-02-09 00:22:54 +07:00 committed by Willy Sudiarto Raharjo
parent 769b67704c
commit eb94f40eda
No known key found for this signature in database
GPG key ID: 887B8374D7333381
6 changed files with 170 additions and 92 deletions

View file

@ -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:

View file

@ -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:

View file

@ -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

View file

@ -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=""

View file

@ -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
View 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