Merge pull request #680 from brooksytech/dev

Set Duckstation SA to use wayland & vulkan, add ECM, bump DolphinSA
This commit is contained in:
Brooksytech 2022-10-28 14:56:29 -07:00 committed by GitHub
commit fd29144308
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 57 additions and 39 deletions

View file

@ -0,0 +1,13 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2022-present BrooksyTech (https://github.com/brooksytech)
PKG_NAME="ecm"
PKG_VERSION="v5.84.0"
PKG_ARCH="any"
PKG_LICENSE="GPLv3"
PKG_SITE="https://github.com/KDE/extra-cmake-modules"
PKG_URL="$PKG_SITE/archive/$PKG_VERSION.tar.gz"
PKG_SHORTDESC="KDE Extra CMake Modules"
PKG_TOOLCHAIN="cmake"
PKG_CMAKE_OPTS_TARGET+=" -DBUILD_TESTING=OFF -DBUILD_HTML_DOCS=OFF -DBUILD_MAN_DOCS=OFF -DBUILD_QTHELP_DOCS=OFF"

View file

@ -10,7 +10,7 @@ case ${DEVICE} in
RG552|handheld)
PKG_SITE="https://github.com/dolphin-emu/dolphin"
PKG_URL="${PKG_SITE}.git"
PKG_VERSION="9222956acdfb6a0526b6fdada4aeaa936de9fcd1"
PKG_VERSION="1d86a48db658e5ba7c65629c984e5ba111656da0"
PKG_PATCH_DIRS+=" new"
;;
*)

View file

@ -3,7 +3,7 @@
PKG_NAME="duckstationsa"
PKG_LICENSE="GPLv3"
PKG_DEPENDS_TARGET="toolchain SDL2 nasm:host pulseaudio openssl libidn2 nghttp2 zlib curl libevdev"
PKG_DEPENDS_TARGET="toolchain SDL2 nasm:host pulseaudio openssl libidn2 nghttp2 zlib curl libevdev ecm"
PKG_SITE="https://github.com/stenzek/duckstation"
PKG_URL="${PKG_SITE}.git"
PKG_SHORTDESC="Fast PlayStation 1 emulator for x86-64/AArch32/AArch64 "
@ -29,12 +29,18 @@ if [ "${OPENGLES_SUPPORT}" = yes ]; then
PKG_CMAKE_OPTS_TARGET+=" -DUSE_X11=OFF \
-DUSE_DRMKMS=ON \
-DENABLE_EGL=ON \
-DUSE_MALI=OFF"
-DUSE_MALI=OFF \
-DENABLE_VULKAN=OFF"
fi
if [ "${DISPLAYSERVER}" = "wl" ]; then
PKG_DEPENDS_TARGET+=" wayland ${WINDOWMANAGER} xorg-server xrandr libXi"
PKG_CMAKE_OPTS_TARGET+=" -DUSE_X11=ON"
PKG_CMAKE_OPTS_TARGET+=" -DUSE_X11=OFF -DUSE_WAYLAND=ON"
fi
if [ "${VULKAN_SUPPORT}" = "yes" ]; then
PKG_DEPENDS_TARGET+=" vulkan-loader vulkan-headers"
PKG_CMAKE_OPTS_TARGET+=" -DENABLE_VULKAN=ON"
fi
pre_configure_target() {
@ -47,8 +53,6 @@ pre_configure_target() {
-DUSE_SDL2=ON \
-DENABLE_CHEEVOS=ON \
-DUSE_FBDEV=OFF \
-DUSE_WAYLAND=OFF \
-DENABLE_VULKAN=OFF
-DUSE_EVDEV=ON"
}

View file

@ -1,33 +0,0 @@
diff --git a/src/frontend-common/fullscreen_ui.cpp b/src/frontend-common/fullscreen_ui.cpp
index ce53e69f..fc0b24d5 100644
--- a/src/frontend-common/fullscreen_ui.cpp
+++ b/src/frontend-common/fullscreen_ui.cpp
@@ -244,6 +244,7 @@ static void DoChangeDiscFromFile();
static void DoChangeDisc();
static void DoRequestExit();
static void DoToggleFullscreen();
+static void EnableDoToggleFullscreen();
static void DoCheatsMenu();
static void DoToggleAnalogMode();
@@ -1038,6 +1039,11 @@ void FullscreenUI::DoToggleFullscreen()
Host::RunOnCPUThread([]() { Host::SetFullscreen(!Host::IsFullscreen()); });
}
+void FullscreenUI::EnableDoToggleFullscreen()
+{
+ Host::SetFullscreen(true);
+}
+
//////////////////////////////////////////////////////////////////////////
// Landing Window
//////////////////////////////////////////////////////////////////////////
@@ -1050,6 +1056,8 @@ void FullscreenUI::SwitchToLanding()
void FullscreenUI::DrawLandingWindow()
{
+ EnableDoToggleFullscreen();
+
BeginFullscreenColumns(nullptr, 0.0f, true);
if (BeginFullscreenColumnWindow(0.0f, -710.0f, "logo", UIPrimaryDarkColor))

View file

@ -0,0 +1,34 @@
diff --git a/src/frontend-common/platform_misc_unix.cpp b/src/frontend-common/platform_misc_unix.cpp
index 1f7ae9ec..e0487476 100644
--- a/src/frontend-common/platform_misc_unix.cpp
+++ b/src/frontend-common/platform_misc_unix.cpp
@@ -24,12 +24,12 @@ static bool SetScreensaverInhibitX11(bool inhibit, const WindowInfo& wi)
char* argv[4] = {command.GetWriteableCharArray(), operation.GetWriteableCharArray(), id.GetWriteableCharArray(),
nullptr};
pid_t pid;
- int res = posix_spawnp(&pid, "xdg-screensaver", nullptr, nullptr, argv, environ);
- if (res != 0)
- {
- Log_ErrorPrintf("posix_spawnp() failed: %d", res);
- return false;
- }
+ //int res = posix_spawnp(&pid, "xdg-screensaver", nullptr, nullptr, argv, environ);
+ //if (res != 0)
+ //{
+ // Log_ErrorPrintf("posix_spawnp() failed: %d", res);
+ // return false;
+ //}
return true;
}
@@ -95,8 +95,8 @@ bool FrontendCommon::PlaySoundAsync(const char* path)
pid_t pid;
// Since we set SA_NOCLDWAIT in Qt, we don't need to wait here.
- int res = posix_spawnp(&pid, cmdname, nullptr, nullptr, const_cast<char**>(argv), environ);
- return (res == 0);
+// int res = posix_spawnp(&pid, cmdname, nullptr, nullptr, const_cast<char**>(argv), environ);
+// return (res == 0);
#else
return false;
#endif