From bf69037e6cc0a07435251b2c7891f1626173ed88 Mon Sep 17 00:00:00 2001 From: David Barbion Date: Mon, 24 May 2021 21:37:35 +0200 Subject: [PATCH] feat: replace Moonlight embedded with Moonlight QT --- CHANGELOG.md | 1 + Config.in | 1 + configs/recalbox-odroidxu4_defconfig | 10 ++++- configs/recalbox-rpi1_defconfig | 10 ++++- configs/recalbox-rpi2_defconfig | 10 ++++- configs/recalbox-rpi3_defconfig | 10 ++++- configs/recalbox-rpi4_defconfig | 10 ++++- configs/recalbox-x86_64_defconfig | 5 ++- configs/recalbox-x86_defconfig | 5 ++- package/moonlight-qt/Config.in | 24 ++++++++++++ package/moonlight-qt/moonlight-qt.mk | 38 +++++++++++++++++++ .../recalbox-romfs-moonlight/Config.in | 2 +- 12 files changed, 118 insertions(+), 8 deletions(-) create mode 100644 package/moonlight-qt/Config.in create mode 100644 package/moonlight-qt/moonlight-qt.mk diff --git a/CHANGELOG.md b/CHANGELOG.md index fc7a86e60f..c50157a453 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ All notable changes to this project will be documented in this file. - Add libretro-mupen64plus-nx for x86 and x86_64 (#1407) - Change repo + bump swanstation (#1744) +- Replace Moonlight embedded with Moonlight QT (#1628) ## [7.2.2-Beta1] - Fix build instructions in README.md diff --git a/Config.in b/Config.in index 23402b066c..9d12ef1471 100644 --- a/Config.in +++ b/Config.in @@ -22,6 +22,7 @@ menu "Recalbox" source "$BR2_EXTERNAL_RECALBOX_PATH/package/mali-opengles-sdk/Config.in" source "$BR2_EXTERNAL_RECALBOX_PATH/package/mali-t62x/Config.in" source "$BR2_EXTERNAL_RECALBOX_PATH/package/moonlight-embedded/Config.in" + source "$BR2_EXTERNAL_RECALBOX_PATH/package/moonlight-qt/Config.in" source "$BR2_EXTERNAL_RECALBOX_PATH/package/nvidia-driver-390-recalbox/Config.in" source "$BR2_EXTERNAL_RECALBOX_PATH/package/nvidia-driver-440-recalbox/Config.in" source "$BR2_EXTERNAL_RECALBOX_PATH/package/nvidia-driver-460-recalbox/Config.in" diff --git a/configs/recalbox-odroidxu4_defconfig b/configs/recalbox-odroidxu4_defconfig index 822510a3f6..ff240d2ef9 100644 --- a/configs/recalbox-odroidxu4_defconfig +++ b/configs/recalbox-odroidxu4_defconfig @@ -124,6 +124,14 @@ BR2_PACKAGE_SDL2_OPENGLES=y BR2_PACKAGE_QT5=y BR2_PACKAGE_QT5BASE_GUI=y BR2_PACKAGE_QT5BASE_WIDGETS=y +BR2_PACKAGE_QT5BASE_DEFAULT_QPA="eglfs" +BR2_PACKAGE_QT5BASE_EGLFS=y +BR2_PACKAGE_QT5BASE_FONTCONFIG=y +BR2_PACKAGE_QT5BASE_LINUXFB=y +BR2_PACKAGE_QT5BASE_OPENGL_LIB=y +BR2_PACKAGE_QT5BASE_GIF=y +BR2_PACKAGE_QT5BASE_JPEG=y +BR2_PACKAGE_QT5BASE_PNG=y BR2_PACKAGE_B43_FIRMWARE=y BR2_PACKAGE_UX500_FIRMWARE=y BR2_PACKAGE_WILC1000_FIRMWARE=y @@ -192,7 +200,7 @@ BR2_PACKAGE_VIM=y BR2_PACKAGE_UBOOT_XU4=y # BR2_TARGET_ROOTFS_TAR is not set BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_MOONLIGHT_EMBEDDED=y +BR2_PACKAGE_MOONLIGHT_QT=y BR2_PACKAGE_RECALBOX_CONFIGGEN=y BR2_PACKAGE_RECALBOX_MANAGER2=y BR2_PACKAGE_RECALBOX_SYSTEM=y diff --git a/configs/recalbox-rpi1_defconfig b/configs/recalbox-rpi1_defconfig index 565701e623..00d37ff4b7 100644 --- a/configs/recalbox-rpi1_defconfig +++ b/configs/recalbox-rpi1_defconfig @@ -119,6 +119,14 @@ BR2_PACKAGE_SDL2_OPENGLES=y BR2_PACKAGE_QT5=y BR2_PACKAGE_QT5BASE_GUI=y BR2_PACKAGE_QT5BASE_WIDGETS=y +BR2_PACKAGE_QT5BASE_DEFAULT_QPA="eglfs" +BR2_PACKAGE_QT5BASE_EGLFS=y +BR2_PACKAGE_QT5BASE_FONTCONFIG=y +BR2_PACKAGE_QT5BASE_LINUXFB=y +BR2_PACKAGE_QT5BASE_OPENGL_LIB=y +BR2_PACKAGE_QT5BASE_GIF=y +BR2_PACKAGE_QT5BASE_JPEG=y +BR2_PACKAGE_QT5BASE_PNG=y BR2_PACKAGE_XKEYBOARD_CONFIG=y BR2_PACKAGE_RPI_BT_FIRMWARE=y BR2_PACKAGE_RPI_WIFI_FIRMWARE=y @@ -190,7 +198,7 @@ BR2_TARGET_ROOTFS_SQUASHFS4_LZO=y # BR2_TARGET_ROOTFS_TAR is not set BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_DPI_PIZERO_GPICASE=y -BR2_PACKAGE_MOONLIGHT_EMBEDDED=y +BR2_PACKAGE_MOONLIGHT_QT=y BR2_PACKAGE_PWM_AUDIO_PI_ZERO=y BR2_PACKAGE_PWM_AUDIO_PIZERO_GPICASE=y BR2_PACKAGE_PYTHON_RPI_GPIO=y diff --git a/configs/recalbox-rpi2_defconfig b/configs/recalbox-rpi2_defconfig index ebafce4e24..ef7390ec28 100644 --- a/configs/recalbox-rpi2_defconfig +++ b/configs/recalbox-rpi2_defconfig @@ -119,6 +119,14 @@ BR2_PACKAGE_SDL2_OPENGLES=y BR2_PACKAGE_QT5=y BR2_PACKAGE_QT5BASE_GUI=y BR2_PACKAGE_QT5BASE_WIDGETS=y +BR2_PACKAGE_QT5BASE_DEFAULT_QPA="eglfs" +BR2_PACKAGE_QT5BASE_EGLFS=y +BR2_PACKAGE_QT5BASE_FONTCONFIG=y +BR2_PACKAGE_QT5BASE_LINUXFB=y +BR2_PACKAGE_QT5BASE_OPENGL_LIB=y +BR2_PACKAGE_QT5BASE_GIF=y +BR2_PACKAGE_QT5BASE_JPEG=y +BR2_PACKAGE_QT5BASE_PNG=y BR2_PACKAGE_B43_FIRMWARE=y BR2_PACKAGE_RPI_FIRMWARE=y BR2_PACKAGE_UX500_FIRMWARE=y @@ -193,7 +201,7 @@ BR2_PACKAGE_VIM=y # BR2_TARGET_ROOTFS_TAR_XZ is not set BR2_TARGET_ROOTFS_TAR=n BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_MOONLIGHT_EMBEDDED=y +BR2_PACKAGE_MOONLIGHT_QT=y BR2_PACKAGE_PYTHON_RPI_GPIO=y BR2_PACKAGE_RASPI_GPIO=y BR2_PACKAGE_RECALBOX_CONFIGGEN=y diff --git a/configs/recalbox-rpi3_defconfig b/configs/recalbox-rpi3_defconfig index 68cfeb860e..86f8951012 100644 --- a/configs/recalbox-rpi3_defconfig +++ b/configs/recalbox-rpi3_defconfig @@ -119,6 +119,14 @@ BR2_PACKAGE_SDL2_OPENGLES=y BR2_PACKAGE_QT5=y BR2_PACKAGE_QT5BASE_GUI=y BR2_PACKAGE_QT5BASE_WIDGETS=y +BR2_PACKAGE_QT5BASE_DEFAULT_QPA="eglfs" +BR2_PACKAGE_QT5BASE_EGLFS=y +BR2_PACKAGE_QT5BASE_FONTCONFIG=y +BR2_PACKAGE_QT5BASE_LINUXFB=y +BR2_PACKAGE_QT5BASE_OPENGL_LIB=y +BR2_PACKAGE_QT5BASE_GIF=y +BR2_PACKAGE_QT5BASE_JPEG=y +BR2_PACKAGE_QT5BASE_PNG=y BR2_PACKAGE_RPI_BT_FIRMWARE=y BR2_PACKAGE_RPI_WIFI_FIRMWARE=y BR2_PACKAGE_DBUS_CPP=y @@ -190,7 +198,7 @@ BR2_PACKAGE_VIM=y BR2_TARGET_ROOTFS_TAR=n BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_GUICHAN=y -BR2_PACKAGE_MOONLIGHT_EMBEDDED=y +BR2_PACKAGE_MOONLIGHT_QT=y BR2_PACKAGE_PYTHON_RPI_GPIO=y BR2_PACKAGE_RASPI_GPIO=y BR2_PACKAGE_RECALBOX_CONFIGGEN=y diff --git a/configs/recalbox-rpi4_defconfig b/configs/recalbox-rpi4_defconfig index f0a261372d..a0e08d181b 100644 --- a/configs/recalbox-rpi4_defconfig +++ b/configs/recalbox-rpi4_defconfig @@ -124,6 +124,14 @@ BR2_PACKAGE_SDL2_OPENGLES=y BR2_PACKAGE_QT5=y BR2_PACKAGE_QT5BASE_GUI=y BR2_PACKAGE_QT5BASE_WIDGETS=y +BR2_PACKAGE_QT5BASE_DEFAULT_QPA="eglfs" +BR2_PACKAGE_QT5BASE_EGLFS=y +BR2_PACKAGE_QT5BASE_FONTCONFIG=y +BR2_PACKAGE_QT5BASE_LINUXFB=y +BR2_PACKAGE_QT5BASE_OPENGL_LIB=y +BR2_PACKAGE_QT5BASE_GIF=y +BR2_PACKAGE_QT5BASE_JPEG=y +BR2_PACKAGE_QT5BASE_PNG=y BR2_PACKAGE_RPI_BT_FIRMWARE=y BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y BR2_PACKAGE_RPI_FIRMWARE_X=y @@ -192,7 +200,7 @@ BR2_PACKAGE_VIM=y # BR2_TARGET_ROOTFS_TAR is not set BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_GUICHAN=y -BR2_PACKAGE_MOONLIGHT_EMBEDDED=y +BR2_PACKAGE_MOONLIGHT_QT=y BR2_PACKAGE_PYTHON_RPI_GPIO=y BR2_PACKAGE_RASPI_GPIO=y BR2_PACKAGE_RECALBOX_CONFIGGEN=y diff --git a/configs/recalbox-x86_64_defconfig b/configs/recalbox-x86_64_defconfig index e35ffa1e1c..049a77013c 100644 --- a/configs/recalbox-x86_64_defconfig +++ b/configs/recalbox-x86_64_defconfig @@ -146,6 +146,9 @@ BR2_PACKAGE_QT5=y BR2_PACKAGE_QT5BASE_GUI=y BR2_PACKAGE_QT5BASE_WIDGETS=y BR2_PACKAGE_QT5BASE_DEFAULT_QPA="xcb" +BR2_PACKAGE_QT5BASE_GIF=y +BR2_PACKAGE_QT5BASE_JPEG=y +BR2_PACKAGE_QT5BASE_PNG=y BR2_PACKAGE_XORG7=y BR2_PACKAGE_XSERVER_XORG_SERVER=y BR2_PACKAGE_XAPP_SETXKBMAP=y @@ -268,7 +271,7 @@ BR2_PACKAGE_VIM=y # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_GRUB2=y BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_MOONLIGHT_EMBEDDED=y +BR2_PACKAGE_MOONLIGHT_QT=y BR2_PACKAGE_RECALBOX_BOOTIA32=y BR2_PACKAGE_RECALBOX_CONFIGGEN=y BR2_PACKAGE_RECALBOX_INITRAMFS=y diff --git a/configs/recalbox-x86_defconfig b/configs/recalbox-x86_defconfig index 5e9804f0e4..09e04ea14a 100644 --- a/configs/recalbox-x86_defconfig +++ b/configs/recalbox-x86_defconfig @@ -141,6 +141,9 @@ BR2_PACKAGE_QT5=y BR2_PACKAGE_QT5BASE_GUI=y BR2_PACKAGE_QT5BASE_WIDGETS=y BR2_PACKAGE_QT5BASE_DEFAULT_QPA="xcb" +BR2_PACKAGE_QT5BASE_GIF=y +BR2_PACKAGE_QT5BASE_JPEG=y +BR2_PACKAGE_QT5BASE_PNG=y BR2_PACKAGE_XORG7=y BR2_PACKAGE_XSERVER_XORG_SERVER=y BR2_PACKAGE_XAPP_SETXKBMAP=y @@ -262,7 +265,7 @@ BR2_TARGET_ROOTFS_SQUASHFS4_LZO=y # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_GRUB2=y BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_MOONLIGHT_EMBEDDED=y +BR2_PACKAGE_MOONLIGHT_QT=y BR2_PACKAGE_NVIDIA_DRIVER_390_RECALBOX=y BR2_PACKAGE_NVIDIA_DRIVER_390_RECALBOX_CUDA=y BR2_PACKAGE_NVIDIA_DRIVER_390_RECALBOX_MODULE=y diff --git a/package/moonlight-qt/Config.in b/package/moonlight-qt/Config.in new file mode 100644 index 0000000000..67170e48c8 --- /dev/null +++ b/package/moonlight-qt/Config.in @@ -0,0 +1,24 @@ +config BR2_PACKAGE_MOONLIGHT_QT + bool "moonlight-qt" + depends on (BR2_PACKAGE_HAS_LIBGLES || BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL) + depends on BR2_PACKAGE_HAS_UDEV + select BR2_PACKAGE_OPUS + select BR2_PACKAGE_OPUS_FIXED_POINT + select BR2_PACKAGE_EXPAT + select BR2_PACKAGE_LIBEVDEV + select BR2_PACKAGE_AVAHI + select BR2_PACKAGE_ALSA_LIB + select BR2_PACKAGE_PULSEAUDIO + select BR2_PACKAGE_LIBCURL + select BR2_PACKAGE_LIBCEC + select BR2_PACKAGE_FFMPEG + select BR2_PACKAGE_SDL2 + select BR2_PACKAGE_LIBENET + select BR2_PACKAGE_RECALBOX_ROMFS_MOONLIGHT + select BR2_PACKAGE_QT5SVG + select BR2_PACKAGE_QT5QUICKCONTROLS2 + select BR2_PACKAGE_OPENSSL + help + GameStream client for PCs (Windows, Mac, Linux, + and Steam Link) + https://github.com/moonlight-stream/moonlight-qt diff --git a/package/moonlight-qt/moonlight-qt.mk b/package/moonlight-qt/moonlight-qt.mk new file mode 100644 index 0000000000..c7cae17f97 --- /dev/null +++ b/package/moonlight-qt/moonlight-qt.mk @@ -0,0 +1,38 @@ +################################################################################ +# +# moonlight-qt +# +################################################################################ + +MOONLIGHT_QT_VERSION = v3.1.3 +MOONLIGHT_QT_SITE = https://github.com/moonlight-stream/moonlight-qt.git +MOONLIGHT_QT_SITE_METHOD = git +MOONLIGHT_QT_GIT_SUBMODULES=y +MOONLIGHT_QT_DEPENDENCIES = opus expat libevdev avahi alsa-lib udev libcurl libcec ffmpeg sdl2 libenet \ + qt5quickcontrols2 qt5svg pulseaudio openssl +MOONLIGHT_QT_LICENSE = GPL-3.0 +MOONLIGHT_QT_LICENSE_FILES = LICENSE + +MOONLIGHT_QT_CONF_OPTS = CONFIG+=embedded CONFIG+=release PREFIX=$(STAGING_DIR)/usr + +ifeq ($(BR2_PACKAGE_HAS_LIBEGL),y) +MOONLIGHT_QT_DEPENDENCIES += libegl +endif + +ifeq ($(BR2_PACKAGE_HAS_GLES),y) +MOONLIGHT_QT_DEPENDENCIES += libgles +endif + +ifeq ($(BR2_PACKAGE_HAS_GL),y) +MOONLIGHT_QT_DEPENDENCIES += libgl +endif + +ifeq ($(BR2_PACKAGE_LIBAMCODEC),y) +MOONLIGHT_QT_DEPENDENCIES += libamcodec +endif + +ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) +MOONLIGHT_QT_DEPENDENCIES += rpi-userland +endif + +$(eval $(qmake-package)) diff --git a/package/recalbox-romfs/recalbox-romfs-moonlight/Config.in b/package/recalbox-romfs/recalbox-romfs-moonlight/Config.in index 3eb8f203ac..365f7ddb75 100644 --- a/package/recalbox-romfs/recalbox-romfs-moonlight/Config.in +++ b/package/recalbox-romfs/recalbox-romfs-moonlight/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_RECALBOX_ROMFS_MOONLIGHT bool "recalbox-romfs-moonlight" select BR2_PACKAGE_RECALBOX_ROMS - depends on BR2_PACKAGE_MOONLIGHT_EMBEDDED + depends on (BR2_PACKAGE_MOONLIGHT_EMBEDDED || BR2_PACKAGE_MOONLIGHT_QT) help share_init/roms and xml for moonlight -- GitLab