diff options
author | Hunter Sezen <orbea@fredslev.dk> | 2019-02-09 00:22:54 +0700 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2019-02-09 00:22:54 +0700 |
commit | eb94f40eda901a0c4f77d4f71649db2d9ebfea65 (patch) | |
tree | a099ab2f77bb3ee5b01f8dca7fb23a03bae4c83e | |
parent | 769b67704cac2da051df8411cbff65efa1c2cc38 (diff) |
games/RetroArch: Updated for version 1.7.6.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r-- | games/RetroArch/README | 38 | ||||
-rw-r--r-- | games/RetroArch/README.SLACKWARE | 4 | ||||
-rw-r--r-- | games/RetroArch/RetroArch.SlackBuild | 38 | ||||
-rw-r--r-- | games/RetroArch/RetroArch.info | 6 | ||||
-rw-r--r-- | games/RetroArch/kms.patch | 65 | ||||
-rw-r--r-- | games/RetroArch/menu.patch | 111 |
6 files changed, 170 insertions, 92 deletions
diff --git a/games/RetroArch/README b/games/RetroArch/README index e2c154b6f3f4..24f8c993a9dd 100644 --- a/games/RetroArch/README +++ b/games/RetroArch/README @@ -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,13 +44,26 @@ 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 -Alternatively pulseaudio can be disabled later in RetroArch's -configuration. +The Qt5 frontend can be disabled with: + QT=no ./RetroArch.SlackBuild -Note: Wayland support requires mesa to be rebuilt with Wayland support, -using the following configure parameters. +The materialui menu driver can be disabled with: + GLUI=no ./RetroArch.SlackBuild - --with-egl-platforms=x11,drm,wayland +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. 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 diff --git a/games/RetroArch/README.SLACKWARE b/games/RetroArch/README.SLACKWARE index ecf96b2be2e8..4267849c6a65 100644 --- a/games/RetroArch/README.SLACKWARE +++ b/games/RetroArch/README.SLACKWARE @@ -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: diff --git a/games/RetroArch/RetroArch.SlackBuild b/games/RetroArch/RetroArch.SlackBuild index 892174ec358b..0c4881c5301e 100644 --- a/games/RetroArch/RetroArch.SlackBuild +++ b/games/RetroArch/RetroArch.SlackBuild @@ -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 diff --git a/games/RetroArch/RetroArch.info b/games/RetroArch/RetroArch.info index 41b1b5508e2b..157033347aba 100644 --- a/games/RetroArch/RetroArch.info +++ b/games/RetroArch/RetroArch.info @@ -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="" diff --git a/games/RetroArch/kms.patch b/games/RetroArch/kms.patch deleted file mode 100644 index 28ebb1e15e43..000000000000 --- a/games/RetroArch/kms.patch +++ /dev/null @@ -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; diff --git a/games/RetroArch/menu.patch b/games/RetroArch/menu.patch new file mode 100644 index 000000000000..65a341539e2f --- /dev/null +++ b/games/RetroArch/menu.patch @@ -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 |