mirror of
https://github.com/libretro/Lakka-LibreELEC.git
synced 2025-04-01 10:08:52 +00:00
Fix recording/streaming in Lakka 4.x builds Few other minor fixes..... (#1617)
* Add Xvideo Extension Support * Fix moonlight dependencies * Fix retroarch recording/streaming. * Fix melonds for tegra210 builds
This commit is contained in:
committed by
Tomáš Kelemen (vudiq)
parent
57ab31843d
commit
f6f6a2a455
packages
lakka
libretro_cores
retroarch_base/retroarch
multimedia
x11/lib/libXv
projects/L4T/devices/Switch/patches/retroarch
@ -3,7 +3,7 @@ PKG_VERSION="20d2d77d219613a2809fa9afe9606f6cf3be2aa0"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="https://github.com/rock88/moonlight-libretro"
|
||||
PKG_URL="${PKG_SITE}.git"
|
||||
PKG_DEPENDS_TARGET="toolchain ffmpeg opus cairo"
|
||||
PKG_DEPENDS_TARGET="toolchain ffmpeg opus cairo curl"
|
||||
PKG_LONGDESC="Moonlight-libretro is a port of Moonlight Game Streaming Project for RetroArch platform."
|
||||
|
||||
if [ "${PROJECT}" = "L4T" -a "${DEVICE}" = "Switch" ]; then
|
||||
|
@ -0,0 +1,25 @@
|
||||
diff -Naur melonds-1ad65728476d7b9594c4ff91a1ba60460a0a30e7/Makefile melonds-1ad65728476d7b9594c4ff91a1ba60460a0a30e7-2/Makefile
|
||||
--- melonds-1ad65728476d7b9594c4ff91a1ba60460a0a30e7/Makefile 2022-02-23 05:16:02.377658636 +0100
|
||||
+++ melonds-1ad65728476d7b9594c4ff91a1ba60460a0a30e7-2/Makefile 2022-02-23 05:27:31.772948432 +0100
|
||||
@@ -240,7 +240,20 @@
|
||||
HAVE_OPENGLES3 = 1
|
||||
HAVE_THREADS = 1
|
||||
JIT_ARCH = aarch64
|
||||
-
|
||||
+
|
||||
+# Tegra210
|
||||
+else ifeq ($(platform), tegra210)
|
||||
+ EXT ?= so
|
||||
+ CPUFLAGS += -march=armv8-a -mtune=cortex-a57 -mtp=soft -mcpu=cortex-a57+crc+fp+simd
|
||||
+ HAVE_NEON = 1
|
||||
+ TARGET := $(TARGET_NAME)_libretro.$(EXT)
|
||||
+ fpic := -fPIC
|
||||
+ SHARED := -shared -Wl,--version-script=$(CORE_DIR)/link.T -Wl,--no-undefined
|
||||
+ LIBS += -lpthread -lGL -lrt
|
||||
+ HAVE_OPENGL = 1
|
||||
+ HAVE_THREADS = 1
|
||||
+ JIT_ARCH = aarch64
|
||||
+
|
||||
# Odroid C4
|
||||
else ifeq ($(platform), odroidc4)
|
||||
EXT ?= so
|
@ -66,7 +66,7 @@ if [ "${DISPLAYSERVER}" != "no" ]; then
|
||||
fi
|
||||
|
||||
if [ "${DISPLAYSERVER}" = "x11" ]; then
|
||||
PKG_DEPENDS_TARGET+=" libXxf86vm"
|
||||
PKG_DEPENDS_TARGET+=" libXxf86vm libXv"
|
||||
PKG_CONFIGURE_OPTS_TARGET+=" --enable-x11"
|
||||
else
|
||||
PKG_CONFIGURE_OPTS_TARGET+=" --disable-x11"
|
||||
@ -134,6 +134,8 @@ pre_make_target() {
|
||||
CFLAGS+=" -I${SYSROOT_PREFIX}/usr/include/interface/vcos/pthreads \
|
||||
-I${SYSROOT_PREFIX}/usr/include/interface/vmcs_host/linux"
|
||||
fi
|
||||
CFLAGS=${CFLAGS/"-Os"/"-O2"}
|
||||
CFLAGS=${CFLAGS/"-O3"/"-O2"}
|
||||
}
|
||||
|
||||
make_target() {
|
||||
|
@ -6,6 +6,9 @@ PKG_NAME="ffmpeg"
|
||||
PKG_LICENSE="LGPLv2.1+"
|
||||
PKG_SITE="https://ffmpeg.org"
|
||||
PKG_DEPENDS_TARGET="toolchain zlib bzip2 gnutls speex"
|
||||
if [ "${DISTRO}" = "Lakka" ]; then
|
||||
PKG_DEPENDS_TARGET+=" libx264 lame rtmpdump"
|
||||
fi
|
||||
PKG_LONGDESC="FFmpeg is a complete, cross-platform solution to record, convert and stream audio and video."
|
||||
PKG_BUILD_FLAGS="-gold"
|
||||
|
||||
@ -128,6 +131,109 @@ pre_configure_target() {
|
||||
}
|
||||
|
||||
configure_target() {
|
||||
CONFIG_OPTIONS_STANDARD_FFMPEG="--disable-static \
|
||||
--enable-shared \
|
||||
--enable-gpl \
|
||||
--disable-version3 \
|
||||
--enable-logging \
|
||||
--disable-doc \
|
||||
${PKG_FFMPEG_DEBUG} \
|
||||
--enable-pic \
|
||||
--enable-optimizations \
|
||||
--disable-extra-warnings \
|
||||
--disable-programs \
|
||||
--enable-avdevice \
|
||||
--enable-avcodec \
|
||||
--enable-avformat \
|
||||
--enable-swscale \
|
||||
--enable-postproc \
|
||||
--enable-avfilter \
|
||||
--disable-devices \
|
||||
--enable-pthreads \
|
||||
--enable-network \
|
||||
--enable-gnutls --disable-openssl \
|
||||
--disable-gray \
|
||||
--enable-swscale-alpha \
|
||||
--disable-small \
|
||||
--enable-dct \
|
||||
--enable-fft \
|
||||
--enable-mdct \
|
||||
--enable-rdft \
|
||||
--disable-crystalhd \
|
||||
${PKG_FFMPEG_V4L2} \
|
||||
${PKG_FFMPEG_VAAPI} \
|
||||
${PKG_FFMPEG_VDPAU} \
|
||||
${PKG_FFMPEG_RPI} \
|
||||
--enable-runtime-cpudetect \
|
||||
--disable-hardcoded-tables \
|
||||
--disable-encoders \
|
||||
--enable-encoder=ac3 \
|
||||
--enable-encoder=aac \
|
||||
--enable-encoder=wmav2 \
|
||||
--enable-encoder=mjpeg \
|
||||
--enable-encoder=png \
|
||||
${PKG_FFMPEG_HWACCEL} \
|
||||
--disable-muxers \
|
||||
--enable-muxer=spdif \
|
||||
--enable-muxer=adts \
|
||||
--enable-muxer=asf \
|
||||
--enable-muxer=ipod \
|
||||
--enable-muxer=mpegts \
|
||||
--enable-demuxers \
|
||||
--enable-parsers \
|
||||
--enable-bsfs \
|
||||
--enable-protocol=http \
|
||||
--disable-indevs \
|
||||
--disable-outdevs \
|
||||
--enable-filters \
|
||||
--disable-avisynth \
|
||||
--enable-bzlib \
|
||||
--disable-lzma \
|
||||
--disable-alsa \
|
||||
--disable-frei0r \
|
||||
--disable-libopencore-amrnb \
|
||||
--disable-libopencore-amrwb \
|
||||
--disable-libopencv \
|
||||
--disable-libdc1394 \
|
||||
--disable-libfreetype \
|
||||
--disable-libgsm \
|
||||
--disable-libmp3lame \
|
||||
--disable-libopenjpeg \
|
||||
--disable-librtmp \
|
||||
${PKG_FFMPEG_AV1} \
|
||||
--enable-libspeex \
|
||||
--disable-libtheora \
|
||||
--disable-libvo-amrwbenc \
|
||||
--disable-libvorbis \
|
||||
--disable-libvpx \
|
||||
--disable-libx264 \
|
||||
--disable-libxavs \
|
||||
--disable-libxvid \
|
||||
--enable-zlib \
|
||||
--enable-asm \
|
||||
--disable-altivec \
|
||||
${PKG_FFMPEG_FPU} \
|
||||
--disable-symver \
|
||||
${PKG_FFMPEG_NVV4L2}"
|
||||
|
||||
if [ "${DISTRO}" = "Lakka" ]; then
|
||||
CONFIG_OPTIONS_STANDARD_FFMPEG=${CONFIG_OPTIONS_STANDARD_FFMPEG/"--disable-encoders "/"--enable-encoders "}
|
||||
CONFIG_OPTIONS_STANDARD_FFMPEG=${CONFIG_OPTIONS_STANDARD_FFMPEG/"--enable-encoder=ac3 "/""}
|
||||
CONFIG_OPTIONS_STANDARD_FFMPEG=${CONFIG_OPTIONS_STANDARD_FFMPEG/"--enable-encoder=aac "/""}
|
||||
CONFIG_OPTIONS_STANDARD_FFMPEG=${CONFIG_OPTIONS_STANDARD_FFMPEG/"--enable-encoder=wmav2 "/""}
|
||||
CONFIG_OPTIONS_STANDARD_FFMPEG=${CONFIG_OPTIONS_STANDARD_FFMPEG/"--enable-encoder=mjpeg "/""}
|
||||
CONFIG_OPTIONS_STANDARD_FFMPEG=${CONFIG_OPTIONS_STANDARD_FFMPEG/"--enable-encoder=png "/""}
|
||||
CONFIG_OPTIONS_STANDARD_FFMPEG=${CONFIG_OPTIONS_STANDARD_FFMPEG/"--disable-muxers "/"--enable-muxers "}
|
||||
CONFIG_OPTIONS_STANDARD_FFMPEG=${CONFIG_OPTIONS_STANDARD_FFMPEG/"--enable-muxer=spdif "/""}
|
||||
CONFIG_OPTIONS_STANDARD_FFMPEG=${CONFIG_OPTIONS_STANDARD_FFMPEG/"--enable-muxer=adts "/""}
|
||||
CONFIG_OPTIONS_STANDARD_FFMPEG=${CONFIG_OPTIONS_STANDARD_FFMPEG/"--enable-muxer=asf "/""}
|
||||
CONFIG_OPTIONS_STANDARD_FFMPEG=${CONFIG_OPTIONS_STANDARD_FFMPEG/"--enable-muxer=ipod "/""}
|
||||
CONFIG_OPTIONS_STANDARD_FFMPEG=${CONFIG_OPTIONS_STANDARD_FFMPEG/"--enable-muxer=mpegts "/""}
|
||||
CONFIG_OPTIONS_STANDARD_FFMPEG=${CONFIG_OPTIONS_STANDARD_FFMPEG/"--disable-libmp3lame "/"--enable-libmp3lame "}
|
||||
CONFIG_OPTIONS_STANDARD_FFMPEG=${CONFIG_OPTIONS_STANDARD_FFMPEG/"--disable-librtmp "/"--enable-librtmp "}
|
||||
CONFIG_OPTIONS_STANDARD_FFMPEG=${CONFIG_OPTIONS_STANDARD_FFMPEG/"--disable-libx264 "/"--enable-libx264 "}
|
||||
fi
|
||||
|
||||
./configure --prefix="/usr" \
|
||||
--cpu="${TARGET_CPU}" \
|
||||
--arch="${TARGET_ARCH}" \
|
||||
@ -147,91 +253,8 @@ configure_target() {
|
||||
--extra-cflags="${CFLAGS} ${EXTRA_CFLAGS}" \
|
||||
--extra-ldflags="${LDFLAGS}" \
|
||||
--extra-libs="${PKG_FFMPEG_LIBS}" \
|
||||
--disable-static \
|
||||
--enable-shared \
|
||||
--enable-gpl \
|
||||
--disable-version3 \
|
||||
--enable-logging \
|
||||
--disable-doc \
|
||||
${PKG_FFMPEG_DEBUG} \
|
||||
--enable-pic \
|
||||
--pkg-config="${TOOLCHAIN}/bin/pkg-config" \
|
||||
--enable-optimizations \
|
||||
--disable-extra-warnings \
|
||||
--disable-programs \
|
||||
--enable-avdevice \
|
||||
--enable-avcodec \
|
||||
--enable-avformat \
|
||||
--enable-swscale \
|
||||
--enable-postproc \
|
||||
--enable-avfilter \
|
||||
--disable-devices \
|
||||
--enable-pthreads \
|
||||
--enable-network \
|
||||
--enable-gnutls --disable-openssl \
|
||||
--disable-gray \
|
||||
--enable-swscale-alpha \
|
||||
--disable-small \
|
||||
--enable-dct \
|
||||
--enable-fft \
|
||||
--enable-mdct \
|
||||
--enable-rdft \
|
||||
--disable-crystalhd \
|
||||
${PKG_FFMPEG_V4L2} \
|
||||
${PKG_FFMPEG_VAAPI} \
|
||||
${PKG_FFMPEG_VDPAU} \
|
||||
${PKG_FFMPEG_RPI} \
|
||||
--enable-runtime-cpudetect \
|
||||
--disable-hardcoded-tables \
|
||||
--disable-encoders \
|
||||
--enable-encoder=ac3 \
|
||||
--enable-encoder=aac \
|
||||
--enable-encoder=wmav2 \
|
||||
--enable-encoder=mjpeg \
|
||||
--enable-encoder=png \
|
||||
${PKG_FFMPEG_HWACCEL} \
|
||||
--disable-muxers \
|
||||
--enable-muxer=spdif \
|
||||
--enable-muxer=adts \
|
||||
--enable-muxer=asf \
|
||||
--enable-muxer=ipod \
|
||||
--enable-muxer=mpegts \
|
||||
--enable-demuxers \
|
||||
--enable-parsers \
|
||||
--enable-bsfs \
|
||||
--enable-protocol=http \
|
||||
--disable-indevs \
|
||||
--disable-outdevs \
|
||||
--enable-filters \
|
||||
--disable-avisynth \
|
||||
--enable-bzlib \
|
||||
--disable-lzma \
|
||||
--disable-alsa \
|
||||
--disable-frei0r \
|
||||
--disable-libopencore-amrnb \
|
||||
--disable-libopencore-amrwb \
|
||||
--disable-libopencv \
|
||||
--disable-libdc1394 \
|
||||
--disable-libfreetype \
|
||||
--disable-libgsm \
|
||||
--disable-libmp3lame \
|
||||
--disable-libopenjpeg \
|
||||
--disable-librtmp \
|
||||
${PKG_FFMPEG_AV1} \
|
||||
--enable-libspeex \
|
||||
--disable-libtheora \
|
||||
--disable-libvo-amrwbenc \
|
||||
--disable-libvorbis \
|
||||
--disable-libvpx \
|
||||
--disable-libx264 \
|
||||
--disable-libxavs \
|
||||
--disable-libxvid \
|
||||
--enable-zlib \
|
||||
--enable-asm \
|
||||
--disable-altivec \
|
||||
${PKG_FFMPEG_FPU} \
|
||||
--disable-symver \
|
||||
${PKG_FFMPEG_NVV4L2}
|
||||
${CONFIG_OPTIONS_STANDARD_FFMPEG}
|
||||
}
|
||||
|
||||
post_makeinstall_target() {
|
||||
|
15
packages/multimedia/libx264/package.mk
Normal file
15
packages/multimedia/libx264/package.mk
Normal file
@ -0,0 +1,15 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||
PKG_NAME="libx264"
|
||||
PKG_VERSION="6d10612ab0007f8f60dd2399182efd696da3ffe4"
|
||||
PKG_LICENSE="Videolan(?)"
|
||||
PKG_SITE="https://code.videolan.org/videolan/x264"
|
||||
PKG_URL="${PKG_SITE}".git
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_LONGDESC="Software based x264 decoder/encoder"
|
||||
PKG_TOOLCHAIN="configure"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--cross-prefix=${TARGET_PREFIX} \
|
||||
--sysroot=${SYSROOT_PREFIX} \
|
||||
--disable-asm"
|
30
packages/x11/lib/libXv/package.mk
Normal file
30
packages/x11/lib/libXv/package.mk
Normal file
@ -0,0 +1,30 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="libXv"
|
||||
PKG_VERSION="1.0.11"
|
||||
PKG_SHA256="11c7e47bed737c8fa01741d1dba4d39a523ded25dd5f3d47f516a0c62dbc450a"
|
||||
PKG_LICENSE="OSS"
|
||||
PKG_SITE="http://www.x.org/"
|
||||
PKG_URL="https://github.com/freedesktop/xorg-libXv/archive/refs/tags/${PKG_NAME}-${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain util-macros libX11 libXfixes libXext"
|
||||
PKG_LONGDESC="LibXv provides an X video extension to the X protocol."
|
||||
PKG_BUILD_FLAGS="+pic"
|
||||
PKG_TOOLCHAIN="autotools"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared \
|
||||
--enable-malloc0returnsnull \
|
||||
--disable-silent-rules \
|
||||
--disable-docs \
|
||||
--disable-specs \
|
||||
--without-xmlto \
|
||||
--without-fop \
|
||||
--without-xsltproc \
|
||||
--without-asciidoc \
|
||||
--with-gnu-ld"
|
||||
|
||||
|
||||
if [ "${PROJECT}" = "L4T" ]; then
|
||||
PKG_CONFIGURE_OPTS_TARGET="${PKG_CONFIGURE_OPTS_TARGET/--disable-shared/--enable-shared}"
|
||||
fi
|
1205
projects/L4T/devices/Switch/patches/retroarch/01-Update-ffmpeg-support-for-5.x-versions.patch
Normal file
1205
projects/L4T/devices/Switch/patches/retroarch/01-Update-ffmpeg-support-for-5.x-versions.patch
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user