Merge branch 'dev' of https://github.com/rishooty/distribution into RG552-M64-FIX

This commit is contained in:
Nicholas Ricciuti 2022-11-30 21:34:03 -05:00
commit 8b93cdf0ad
No known key found for this signature in database
GPG key ID: CBB28CCF1964C6D1
101 changed files with 1747 additions and 658 deletions

View file

@ -111,7 +111,7 @@ jobs:
* Copy the update to your device over the network to your device's update share.
* Reboot the device, and the update will begin automatically.
Download: [[Win600/x86_64](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.tar)] [[RG353P/RG353M/RG353V](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-RG353P.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG503](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-RG503.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG552](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-RG552.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG351P](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351P.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG351V](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351V.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG351MP](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351MP.aarch64-${{ steps.version.outputs.version }}.tar)]
Download: [[Win600/Atari VCS/x86_64](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.tar)] [[RG353P/RG353M/RG353V](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-RG353P.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG503](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-RG503.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG552](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-RG552.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG351P](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351P.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG351V](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351V.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG351MP](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351MP.aarch64-${{ steps.version.outputs.version }}.tar)]
## Documentation
* [Home](https://github.com/JustEnoughLinuxOS/distribution/wiki)

View file

@ -110,7 +110,7 @@ jobs:
* Copy the update to your device over the network to your device's update share.
* Reboot the device, and the update will begin automatically.
Download: [[Win600/x86_64](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.tar)] [[RG353P/RG353M/RG353P](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG353P.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG503](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG503.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG552](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG552.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG351P/RG353M](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351P.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG351V](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351V.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG351MP](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351MP.aarch64-${{ steps.version.outputs.version }}.tar)]
Download: [[Win600/Atari VCS/x86_64](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.tar)] [[RG353P/RG353M/RG353P](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG353P.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG503](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG503.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG552](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG552.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG351P/RG353M](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351P.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG351V](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351V.aarch64-${{ steps.version.outputs.version }}.tar)] [[RG351MP](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RG351MP.aarch64-${{ steps.version.outputs.version }}.tar)]
## Documentation
* [Home](https://github.com/JustEnoughLinuxOS/distribution/wiki)

View file

@ -7,7 +7,7 @@
name: release-dev
on:
schedule:
- cron: '0 21 * * *'
- cron: '0 3 * * *'
workflow_dispatch:
env:
BRANCH: dev

View file

@ -76,7 +76,7 @@ As the distribution is being built, package source are fetched and hosted in thi
The tools directory contains utility scripts that can be used during the development process, including a simple tool to burn an image to a usb drive or sdcard.
## Building JELOS
Building JELOS requires an Ubuntu 20.04 host with approximately 800GB of free space for a full world build. Other Linux distributions may be used when building using Docker.
Building JELOS requires an Ubuntu 20.04 host with approximately 200GB of free space for a single device, or 800GB of free space for a full world build. Other Linux distributions may be used when building using Docker, however this is untested and unsupported. We recommend building with no more than 8 cores.
### Building with Docker
Building JELOS is easy, the fastest and most recommended method is to use Docker. At this time building the distribution using Docker is only known to work on a Linux system. To build JELOS use the table below.

View file

@ -2,16 +2,6 @@
#
Just Enough Linux Operating System (JELOS) is a community developed Linux distribution for handheld gaming devices. Our goal is to produce an operating system that has the features and capabilities that we need, and to have fun as we develop it.
## Features
* A 64bit Linux Operating System.
* An easy to use interface using EmulationStation
* Provides RetroArch, a variety of cores, Stand Alone Emulators, PortMaster, and ThemeMaster.
* Supports FAT32, ExFAT, and EXT4 file systems on removable storage (slot/device #2).
* 2.4GHz and 5GHz 802.11 A/B/G/N/AC WIFI support.
* Online update capability for easy access to stable or development builds.
* Support for the Anbernic WIN600, RG552, RG503, RG353P, RG353M, RG353V, RG351P, RG351M, RG351MP, RG351V, and Atari VCS.
* Developed by a small, friendly community.
## Licenses
JELOS is a Linux distribution that is made up of many open-source components. Components are provided under their respective licenses. This distribution includes components licensed for non-commercial use only.
@ -42,22 +32,8 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
## Flashing
* Download the latest [version of JELOS](https://github.com/JustEnoughLinuxOS/distribution/releases) (.img.gz) for your device.
* Decompress the image.
* Write the image to an SDCARD using an imaging tool. Common imaging tools include [Balena Etcher](https://www.balena.io/etcher/), [Raspberry Pi Imager](https://www.raspberrypi.com/software/), and [Win32 Disk Imager](https://sourceforge.net/projects/win32diskimager/). If you're skilled with the command line, dd works fine too.
> This repository hosts stable versions of JELOS. If you would like to install the unstable development version, please visit the [development build repository](https://github.com/JustEnoughLinuxOS/distribution-dev).
## Installation
* x86_64 versions of JELOS include an installation tool. This tool may be run from the boot menu or from within JELOS by switching to desktop mode and running "installer" in a terminal.
* RG353V users should use the RG353P image, and select "DEVICE IS RG353V" from the system settings menu in EmulationStation.
## Upgrading
* Download and install the update online via the System Settings menu.
* Download the latest [version of JELOS](https://github.com/JustEnoughLinuxOS/distribution/releases) (.tar) for your device.
* Copy the update to your device over the network to your device's update share.
* Reboot the device, and the update will begin automatically.
* JELOS is a source based Linux distribution. To install, follow BUILDING.md and then write the resulting image to your micro sd card using your favorite image writing tool.
## Network Access
* External services are disabled by default in stable builds. When enabled, the username for ssh and samba access is "root". The root password is generated during every boot, it can be found in the System Settings menu.
@ -86,5 +62,5 @@ limitations under the License.
* [Developing and Building JELOS](https://github.com/JustEnoughLinuxOS/distribution/blob/dev/BUILDING.md)
## Credits
Like any Linux distribution, this project is not the work of one person. It is the work of many persons all over the world who have developed the open source bits without which this project could not exist. Special thanks to CoreELEC, LibreELEC, Anbernic, and to developers and contributors across the ARM handheld community.
Like any Linux distribution, this project is not the work of one person. It is the work of many persons all over the world who have developed the open source bits without which this project could not exist. Special thanks to CoreELEC, LibreELEC, and to developers and contributors across the ARM handheld community.

92
licenses/FDK-AAC.txt Normal file
View file

@ -0,0 +1,92 @@
Software License for The Fraunhofer FDK AAC Codec Library for Android
© Copyright 1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten
Forschung e.V. All rights reserved.
1. INTRODUCTION
The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software
that implements the MPEG Advanced Audio Coding ("AAC") encoding and decoding
scheme for digital audio. This FDK AAC Codec software is intended to be used on
a wide variety of Android devices.
AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient
general perceptual audio codecs. AAC-ELD is considered the best-performing
full-bandwidth communications codec by independent studies and is widely
deployed. AAC has been standardized by ISO and IEC as part of the MPEG
specifications.
Patent licenses for necessary patent claims for the FDK AAC Codec (including
those of Fraunhofer) may be obtained through Via Licensing
(www.vialicensing.com) or through the respective patent owners individually for
the purpose of encoding or decoding bit streams in products that are compliant
with the ISO/IEC MPEG audio standards. Please note that most manufacturers of
Android devices already license these patent claims through Via Licensing or
directly from the patent owners, and therefore FDK AAC Codec software may
already be covered under those patent licenses when it is used for those
licensed purposes only.
Commercially-licensed AAC software libraries, including floating-point versions
with enhanced sound quality, are also available from Fraunhofer. Users are
encouraged to check the Fraunhofer website for additional applications
information and documentation.
2. COPYRIGHT LICENSE
Redistribution and use in source and binary forms, with or without modification,
are permitted without payment of copyright license fees provided that you
satisfy the following conditions:
You must retain the complete text of this software license in redistributions of
the FDK AAC Codec or your modifications thereto in source code form.
You must retain the complete text of this software license in the documentation
and/or other materials provided with redistributions of the FDK AAC Codec or
your modifications thereto in binary form. You must make available free of
charge copies of the complete source code of the FDK AAC Codec and your
modifications thereto to recipients of copies in binary form.
The name of Fraunhofer may not be used to endorse or promote products derived
from this library without prior written permission.
You may not charge copyright license fees for anyone to use, copy or distribute
the FDK AAC Codec software or your modifications thereto.
Your modified versions of the FDK AAC Codec must carry prominent notices stating
that you changed the software and the date of any change. For modified versions
of the FDK AAC Codec, the term "Fraunhofer FDK AAC Codec Library for Android"
must be replaced by the term "Third-Party Modified Version of the Fraunhofer FDK
AAC Codec Library for Android."
3. NO PATENT LICENSE
NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without
limitation the patents of Fraunhofer, ARE GRANTED BY THIS SOFTWARE LICENSE.
Fraunhofer provides no warranty of patent non-infringement with respect to this
software.
You may use this FDK AAC Codec software or modifications thereto only for
purposes that are authorized by appropriate patent licenses.
4. DISCLAIMER
This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright
holders and contributors "AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES,
including but not limited to the implied warranties of merchantability and
fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary,
or consequential damages, including but not limited to procurement of substitute
goods or services; loss of use, data, or profits, or business interruption,
however caused and on any theory of liability, whether in contract, strict
liability, or tort (including negligence), arising in any way out of the use of
this software, even if advised of the possibility of such damage.
5. CONTACT INFORMATION
Fraunhofer Institute for Integrated Circuits IIS
Attention: Audio and Multimedia Departments - FDK AAC LL
Am Wolfsmantel 33
91058 Erlangen, Germany
www.iis.fraunhofer.de/amm
amm-info@iis.fraunhofer.de

View file

@ -0,0 +1 @@
BLUEALSA_ARGS="-p a2dp-source -p a2dp-sink -c aptx -c aac -c ldac --ldac-quality=standard --ldac-abr"

View file

@ -0,0 +1,42 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2022-present Marek Moeckel (wansti@discarded-ideas.org)
PKG_NAME="bluez-alsa"
PKG_VERSION="4.0.0"
PKG_SHA256="ce5e060e61669d61d44f5f9bad34a7b88378376e9d49d31482406a68127a6b29"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/Arkq/bluez-alsa"
PKG_URL="https://github.com/Arkq/bluez-alsa/archive/refs/tags/v${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain alsa-lib bluez sbc dbus libopenaptx fdk-aac libldac"
PKG_LONGDESC="Bluetooth audio ALSA backend"
PKG_TOOLCHAIN="autotools"
if build_with_debug; then
PKG_BLUEALSA_DEBUG=--with-debug
fi
PKG_CONFIGURE_OPTS_TARGET="${PKG_BLUEALSA_DEBUG} \
--enable-aptx \
--with-libopenaptx \
--enable-aac \
--enable-ldac \
--enable-upower \
--enable-a2dpconf \
--enable-cli \
--enable-systemd"
post_makeinstall_target() {
mkdir -p ${INSTALL}/usr/share/services
cp -P ${PKG_DIR}/default.d/*.conf ${INSTALL}/usr/share/services/
cp -P ${PKG_DIR}/system.d/*.service ${INSTALL}/usr/lib/systemd/system/
# workaround until I figure out how to query this directory
mkdir -p ${INSTALL}/usr/lib/alsa-lib
cp -P ${PKG_BUILD}/.*/src/asound/.libs/*.so ${INSTALL}/usr/lib/alsa-lib/
sed -i ${INSTALL}/etc/dbus-1/system.d/bluealsa.conf -e "s|audio|root|g"
rm -rf ${INSTALL}/home
}
post_install() {
enable_service bluealsa.service
enable_service bluealsa-defaults.service
}

View file

@ -0,0 +1,11 @@
[Unit]
Description=Bluealsa defaults
After=local-fs.target
ConditionPathExists=!/storage/.cache/services/bluealsa.conf
ConditionPathExists=!/storage/.cache/services/bluealsa.disabled
[Service]
Type=oneshot
ExecStart=/bin/sh -c 'cp /usr/share/services/bluealsa.conf /storage/.cache/services/'
RemainAfterExit=yes

View file

@ -0,0 +1,53 @@
[Unit]
Description=BlueALSA service
Documentation=man:bluealsa(8)
Requisite=dbus.service
After=bluetooth.service bluealsa-defaults.service
Requires=bluealsa-defaults.service
ConditionPathExists=/storage/.cache/services/bluealsa.conf
# In order to customize BlueALSA D-Bus service one should create an override
# for this systemd unit file. Please note, that in the override file one will
# have to explicitly clear the ExecStart before setting it again. See the
# bluez-alsa wiki for more options.
#
# $ sudo systemctl edit bluealsa
# [Service]
# ExecStart=
# ExecStart=/usr/bin/bluealsa -p a2dp-source -p a2dp-sink -c aptx -c aac -c ldac
[Service]
Type=dbus
BusName=org.bluealsa
EnvironmentFile=/storage/.cache/services/bluealsa.conf
ExecStart=/usr/bin/bluealsa $BLUEALSA_ARGS
Restart=on-failure
# Sandboxing
CapabilityBoundingSet=
IPAddressDeny=any
LockPersonality=true
MemoryDenyWriteExecute=true
NoNewPrivileges=true
PrivateDevices=true
PrivateTmp=true
PrivateUsers=true
ProtectControlGroups=true
ProtectHome=true
ProtectHostname=true
ProtectKernelLogs=true
ProtectKernelModules=true
ProtectKernelTunables=true
ProtectSystem=strict
RestrictAddressFamilies=AF_UNIX AF_BLUETOOTH
RestrictNamespaces=true
RestrictRealtime=true
RestrictSUIDSGID=true
SystemCallArchitectures=native
SystemCallErrorNumber=EPERM
SystemCallFilter=@system-service
SystemCallFilter=~@resources @privileged
UMask=0077
[Install]
WantedBy=bluetooth.target

View file

@ -0,0 +1,20 @@
# SPDX-License-Identifier: FDK-AAC
# Copyright (C) 2022-present Marek Moeckel (wansti@discarded-ideas.org)
PKG_NAME="fdk-aac"
PKG_VERSION="2.0.2"
PKG_SHA256="7812b4f0cf66acda0d0fe4302545339517e702af7674dd04e5fe22a5ade16a90"
PKG_LICENSE="Software License for The Fraunhofer FDK AAC Codec Library for Android"
PKG_SITE="https://github.com/mstorsjo/fdk-aac"
PKG_URL="https://github.com/mstorsjo/fdk-aac/archive/refs/tags/v${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="AAC bluetooth audio codec"
PKG_TOOLCHAIN="autotools"
#PKG_CONFIGURE_OPTS_TARGET=""
post_makeinstall_target() {
cp -P -r ${INSTALL}/usr/lib/* ${SYSROOT_PREFIX}/usr/lib/
cp -P -r ${INSTALL}/usr/include/* ${SYSROOT_PREFIX}/usr/include/
rm -rf ${INSTALL}/usr/lib/pkgconfig
}

View file

@ -0,0 +1,18 @@
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2022-present Marek Moeckel (wansti@discarded-ideas.org)
PKG_NAME="libldac"
PKG_VERSION="fbffba45d15d959da6ee04eafe14c0d4721f6030"
PKG_LICENSE="Apache2"
PKG_SITE="https://github.com/EHfive/ldacBT"
PKG_URL="${PKG_SITE}.git"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="LDAC bluetooth audio codec"
PKG_TOOLCHAIN="cmake-make"
GET_HANDLER_SUPPORT="git"
post_makeinstall_target() {
cp -P -r ${INSTALL}/usr/lib/* ${SYSROOT_PREFIX}/usr/lib/
cp -P -r ${INSTALL}/usr/include/* ${SYSROOT_PREFIX}/usr/include/
rm -rf ${INSTALL}/usr/lib/pkgconfig
}

View file

@ -0,0 +1,18 @@
# SPDX-License-Identifier: GPL-3.0-or-later
# Copyright (C) 2022-present Marek Moeckel (wansti@discarded-ideas.org)
PKG_NAME="libopenaptx"
PKG_VERSION="0.2.1"
PKG_SHA256="f13eac1ebfe31a563943cd47819eece1109960e10a1e85c111975bcfd37d5361"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/pali/libopenaptx"
PKG_URL="https://github.com/pali/libopenaptx/releases/download/${PKG_VERSION}/libopenaptx-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="AptX bluetooth audio codec"
PKG_TOOLCHAIN="make"
post_makeinstall_target() {
cp -P -r ${INSTALL}/usr/local/lib/* ${SYSROOT_PREFIX}/usr/lib/
cp -P -r ${INSTALL}/usr/local/include/* ${SYSROOT_PREFIX}/usr/include/
rm -rf ${INSTALL}/usr/local/lib/pkgconfig
}

View file

@ -2,16 +2,18 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="valgrind"
PKG_VERSION="3.15.0"
PKG_SHA256="417c7a9da8f60dd05698b3a7bc6002e4ef996f14c13f0ff96679a16873e78ab1"
PKG_VERSION="3.20.0"
PKG_LICENSE="GPL"
PKG_SITE="http://valgrind.org/"
PKG_URL="ftp://sourceware.org/pub/valgrind/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_URL="https://sourceware.org/pub/valgrind/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="A tool to help find memory-management problems in programs"
if [ "$TARGET_ARCH" = "arm" ]; then
PKG_CONFIGURE_OPTS_TARGET="--enable-only32bit"
elif [ "$TARGET_ARCH" = "aarch64" -o "$TARGET_ARCH" = "x86_64" ]; then
PKG_CONFIGURE_OPTS_TARGET="--enable-only64bit"
fi
case ${TARGET_ARCH} in
arm)
PKG_CONFIGURE_OPTS_TARGET="--enable-only32bit"
;;
*)
PKG_CONFIGURE_OPTS_TARGET="--enable-only64bit"
;;
esac

View file

@ -7,6 +7,6 @@ diff -Naur a/configure b/configure
- armv7*)
+ armv7*|armv8*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ok (${host_cpu})" >&5
$as_echo "ok (${host_cpu})" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok (${host_cpu})" >&5
printf "%s\n" "ok (${host_cpu})" >&6; }
ARCH_MAX="arm"

View file

@ -1,67 +0,0 @@
From a3262243ca01f7cfe3ae86b168d5b3a7e5d1cbc0 Mon Sep 17 00:00:00 2001
From: Balint Reczey <balint.reczey@canonical.com>
Date: Thu, 28 Nov 2019 19:31:12 +0100
Subject: [PATCH] Drop MPI 1 support
Signed-off-by: Balint Reczey <balint.reczey@canonical.com>
---
mpi/libmpiwrap.c | 16 ++--------------
1 file changed, 2 insertions(+), 14 deletions(-)
diff --git a/mpi/libmpiwrap.c b/mpi/libmpiwrap.c
index 488bb13fd..a740ea562 100644
--- a/mpi/libmpiwrap.c
+++ b/mpi/libmpiwrap.c
@@ -278,8 +278,6 @@ static void showTy ( FILE* f, MPI_Datatype ty )
else if (ty == MPI_LONG_INT) fprintf(f,"LONG_INT");
else if (ty == MPI_SHORT_INT) fprintf(f,"SHORT_INT");
else if (ty == MPI_2INT) fprintf(f,"2INT");
- else if (ty == MPI_UB) fprintf(f,"UB");
- else if (ty == MPI_LB) fprintf(f,"LB");
# if defined(MPI_WCHAR)
else if (ty == MPI_WCHAR) fprintf(f,"WCHAR");
# endif
@@ -350,20 +348,11 @@ static void showCombiner ( FILE* f, int combiner )
# endif
case MPI_COMBINER_CONTIGUOUS: fprintf(f, "CONTIGUOUS"); break;
case MPI_COMBINER_VECTOR: fprintf(f, "VECTOR"); break;
-#if defined(MPI_COMBINER_HVECTOR_INTEGER)
- case MPI_COMBINER_HVECTOR_INTEGER: fprintf(f, "HVECTOR_INTEGER"); break;
-# endif
case MPI_COMBINER_HVECTOR: fprintf(f, "HVECTOR"); break;
case MPI_COMBINER_INDEXED: fprintf(f, "INDEXED"); break;
-#if defined(MPI_COMBINER_HINDEXED_INTEGER)
- case MPI_COMBINER_HINDEXED_INTEGER: fprintf(f, "HINDEXED_INTEGER"); break;
-# endif
case MPI_COMBINER_HINDEXED: fprintf(f, "HINDEXED"); break;
#if defined(MPI_COMBINER_INDEXED_BLOCK)
case MPI_COMBINER_INDEXED_BLOCK: fprintf(f, "INDEXED_BLOCK"); break;
-# endif
-#if defined(MPI_COMBINER_STRUCT_INTEGER)
- case MPI_COMBINER_STRUCT_INTEGER: fprintf(f, "STRUCT_INTEGER"); break;
# endif
case MPI_COMBINER_STRUCT: fprintf(f, "STRUCT"); break;
#if defined(MPI_COMBINER_SUBARRAY)
@@ -458,8 +447,9 @@ Bool isMSI ( MPI_Status* status )
static long extentOfTy ( MPI_Datatype ty )
{
int r;
+ MPI_Aint lb;
MPI_Aint n;
- r = PMPI_Type_extent(ty, &n);
+ r = MPI_Type_get_extent(ty, &lb, &n);
assert(r == MPI_SUCCESS);
return (long)n;
}
@@ -733,8 +723,6 @@ void walk_type ( void(*f)(void*,long), char* base, MPI_Datatype ty )
f(base + offsetof(Ty,loc), sizeof(int));
return;
}
- if (ty == MPI_LB || ty == MPI_UB)
- return; /* have zero size, so nothing needs to be done */
goto unhandled;
/*NOTREACHED*/
}
--
2.17.1

View file

@ -58,5 +58,6 @@ makeinstall_target() {
--with-serialization \
--with-system \
--with-thread \
--with-nowide \
install
}

View file

@ -29,10 +29,3 @@ PKG_MESON_OPTS_TARGET="-Ddefault_library=shared \
-Dforce_posix_threads=true \
-Dtests=false"
post_makeinstall_target() {
rm -rf ${INSTALL}/usr/bin
rm -rf ${INSTALL}/usr/lib/gdbus-2.0
rm -rf ${INSTALL}/usr/lib/glib-2.0
rm -rf ${INSTALL}/usr/lib/installed-tests
rm -rf ${INSTALL}/usr/share
}

View file

@ -2,7 +2,7 @@
# Copyright (C) 2019-present Shanti Gilbert (https://github.com/shantigilbert)
# Copyright (C) 2022-present Fewtarius
PKG_NAME="PPSSPPSDL"
PKG_VERSION="1ae6047da9743aea8595516815755c37f76c96ae"
PKG_VERSION="f0a905cadd0db3124a5368dc88b5ecf4a9b6eb5d"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"

View file

@ -3,7 +3,7 @@
PKG_NAME="amiberry"
PKG_ARCH="arm aarch64"
PKG_VERSION="e2667f1454bdbf5a1e2b12e171ed2cdd815608a7"
PKG_VERSION="611809edb3ac7fa7529a199f97a3b7b8d3f2544b"
PKG_LICENSE="GPLv3"
PKG_SITE="https://github.com/midwan/amiberry"
PKG_URL="${PKG_SITE}.git"

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="c931529e7aa5926b8a21a193bf8f80244b3ae888"
PKG_VERSION="7cd9a78ebf6e49b21a5a5eee99858822a8946faa"
PKG_PATCH_DIRS+=" wayland"
;;
*)

View file

@ -10,7 +10,7 @@ PKG_SHORTDESC="Fast PlayStation 1 emulator for x86-64/AArch32/AArch64 "
case ${DEVICE} in
RG552|handheld)
PKG_VERSION="8438506206af6f9bb7bcf2303d55913edb5579a0"
PKG_VERSION="b881c7e7c4e8f5ca41cbd722306a205818ff93ac"
PKG_PATCH_DIRS+=" new"
;;
*)

View file

@ -4,7 +4,7 @@
# Copyright (C) 2022-present Fewtarius
PKG_NAME="flycastsa"
PKG_VERSION="993b705d8bcf9ece7c1c319d3966c407691653f9"
PKG_VERSION="88466ec3523d2c1f4893153a5c6a86d854171ce2"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/flyinghead/flycast"
PKG_URL="${PKG_SITE}.git"

View file

@ -2,7 +2,7 @@
# Copyright (C) 2018-present 5schatten (https://github.com/5schatten)
PKG_NAME="hatarisa"
PKG_VERSION="116b8a739b1655fa6b864149669a27cd4a0e0794"
PKG_VERSION="1792933c86bb7722b93f0f1ad2faf2286b9de18c"
PKG_SHA256=""
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/hatari/hatari"

View file

@ -0,0 +1,28 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2020-present Fewtarius
PKG_NAME="minivmacsa"
PKG_VERSION="37.03"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
PKG_SITE="https://www.gryphel.com/c/minivmac/"
PKG_URL="https://www.gryphel.com/d/minivmac/minivmac-${PKG_VERSION}/minivmac-${PKG_VERSION}.src.tgz"
PKG_DEPENDS_TARGET="toolchain libX11"
PKG_PRIORITY="optional"
PKG_SECTION="emulators"
PKG_SHORTDESC="Virtual Macintosh Plus"
PKG_TOOLCHAIN="manual"
make_target() {
cd ${PKG_BUILD}
gcc setup/tool.c -o setup_t
./setup_t -t lx64 -fullscreen 1 > setup.sh
. setup.sh
make
}
makeinstall_target() {
mkdir -p ${INSTALL}/usr/bin
cp ${PKG_BUILD}/minivmac ${INSTALL}/usr/bin
chmod 0755 ${INSTALL}/usr/bin/*
}

View file

@ -0,0 +1,10 @@
#!/bin/sh
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2021-present - Fewtarius
. /etc/profile
ARG=${1//[\\]/}
export SDL_AUDIODRIVER=alsa
echo "[${ARG}]"
${FAST_CORES} minivmac

View file

@ -2,7 +2,7 @@
# Copyright (C) 2019-present Shanti Gilbert (https://github.com/shantigilbert)
PKG_NAME="mupen64plussa-video-glide64mk2"
PKG_VERSION="95229fed6d19a4a2cb7f9927d268073682d68c53"
PKG_VERSION="a07050d143dddff921180b081164d46aaef2eb29"
PKG_SHA256=""
PKG_ARCH="aarch64"
PKG_LICENSE="GPLv2"

View file

@ -2,7 +2,7 @@
# Copyright (C) 2019-present Shanti Gilbert (https://github.com/shantigilbert)
PKG_NAME="mupen64plussa-video-gliden64"
PKG_VERSION="f4314664a0162b95cb397e1b5ca1bd8b4d5acfa4"
PKG_VERSION="a2ecb92e954fdc1dd1130b331935f04381b29e28"
PKG_ARCH="aarch64"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/gonetz/GLideN64"

View file

@ -2,7 +2,7 @@
# Copyright (C) 2021-present 351ELEC (https://github.com/351ELEC)
PKG_NAME="retroarch"
PKG_VERSION="86669d21e2c0cad19fd1e13e778364e20593e771"
PKG_VERSION="9bc7bebf514d87c6cdd8a665870129fac11d7573"
PKG_SITE="https://github.com/libretro/RetroArch"
PKG_URL="${PKG_SITE}.git"
PKG_LICENSE="GPLv3"

View file

@ -3,7 +3,7 @@
# Copyright (C) 2020-present Fewtarius
PKG_NAME="scummvmsa"
PKG_VERSION="4d3e4aaaf53b0e9a5a12c5c3868d9f40fd0dc035"
PKG_VERSION="ebddc456285650f96a1b01021497d85fb4d1b888"
PKG_SHA256=""
PKG_REV="1"
PKG_LICENSE="GPL2"

View file

@ -0,0 +1,458 @@
[ControlsGeneral]
# The input devices and parameters for each Switch native input
# It should be in the format of "engine:[engine_name],[param1]:[value1],[param2]:[value2]..."
# Escape characters $0 (for ':'), $1 (for ',') and $2 (for '$') can be used in values
# for button input, the following devices are available:
# - "keyboard" (default) for keyboard input. Required parameters:
# - "code": the code of the key to bind
# - "sdl" for joystick input using SDL. Required parameters:
# - "joystick": the index of the joystick to bind
# - "button"(optional): the index of the button to bind
# - "hat"(optional): the index of the hat to bind as direction buttons
# - "axis"(optional): the index of the axis to bind
# - "direction"(only used for hat): the direction name of the hat to bind. Can be "up", "down", "left" or "right"
# - "threshold"(only used for axis): a float value in (-1.0, 1.0) which the button is
# triggered if the axis value crosses
# - "direction"(only used for axis): "+" means the button is triggered when the axis value
# is greater than the threshold; "-" means the button is triggered when the axis value
# is smaller than the threshold
[ControlsP0]
button_a=
button_b=
button_x=
button_y=
button_lstick=
button_rstick=
button_l=
button_r=
button_zl=
button_zr=
button_plus=
button_minus=
button_dleft=
button_dup=
button_dright=
button_ddown=
button_lstick_left=
button_lstick_up=
button_lstick_right=
button_lstick_down=
button_sl=
button_sr=
button_home=
button_screenshot=
# for analog input, the following devices are available:
# - "analog_from_button" (default) for emulating analog input from direction buttons. Required parameters:
# - "up", "down", "left", "right": sub-devices for each direction.
# Should be in the format as a button input devices using escape characters, for example, "engine$0keyboard$1code$00"
# - "modifier": sub-devices as a modifier.
# - "modifier_scale": a float number representing the applied modifier scale to the analog input.
# Must be in range of 0.0-1.0. Defaults to 0.5
# - "sdl" for joystick input using SDL. Required parameters:
# - "joystick": the index of the joystick to bind
# - "axis_x": the index of the axis to bind as x-axis (default to 0)
# - "axis_y": the index of the axis to bind as y-axis (default to 1)
lstick=
rstick=
# To use the debug_pad, prepend `debug_pad_` before each button setting above.
# i.e. debug_pad_button_a=
# Enable debug pad inputs to the guest
# 0 (default): Disabled, 1: Enabled
debug_pad_enabled =
# Whether to enable or disable vibration
# 0: Disabled, 1 (default): Enabled
vibration_enabled=
# Whether to enable or disable accurate vibrations
# 0 (default): Disabled, 1: Enabled
enable_accurate_vibrations=
# Enables controller motion inputs
# 0: Disabled, 1 (default): Enabled
motion_enabled =
# Defines the udp device's touch screen coordinate system for cemuhookudp devices
# - "min_x", "min_y", "max_x", "max_y"
touch_device=
# for mapping buttons to touch inputs.
#touch_from_button_map=1
#touch_from_button_maps_0_name=default
#touch_from_button_maps_0_count=2
#touch_from_button_maps_0_bind_0=foo
#touch_from_button_maps_0_bind_1=bar
# etc.
# List of Cemuhook UDP servers, delimited by ','.
# Default: 127.0.0.1:26760
# Example: 127.0.0.1:26760,123.4.5.67:26761
udp_input_servers =
# Enable controlling an axis via a mouse input.
# 0 (default): Off, 1: On
mouse_panning =
# Set mouse sensitivity.
# Default: 1.0
mouse_panning_sensitivity =
# Emulate an analog control stick from keyboard inputs.
# 0 (default): Disabled, 1: Enabled
emulate_analog_keyboard =
# Enable mouse inputs to the guest
# 0 (default): Disabled, 1: Enabled
mouse_enabled =
# Enable keyboard inputs to the guest
# 0 (default): Disabled, 1: Enabled
keyboard_enabled =
[Core]
# Whether to use multi-core for CPU emulation
# 0: Disabled, 1 (default): Enabled
use_multi_core =
# Enable extended guest system memory layout (6GB DRAM)
# 0 (default): Disabled, 1: Enabled
use_extended_memory_layout =
[Cpu]
# Adjusts various optimizations.
# Auto-select mode enables choice unsafe optimizations.
# Accurate enables only safe optimizations.
# Unsafe allows any unsafe optimizations.
# 0 (default): Auto-select, 1: Accurate, 2: Enable unsafe optimizations
cpu_accuracy =
# Allow disabling safe optimizations.
# 0 (default): Disabled, 1: Enabled
cpu_debug_mode =
# Enable inline page tables optimization (faster guest memory access)
# 0: Disabled, 1 (default): Enabled
cpuopt_page_tables =
# Enable block linking CPU optimization (reduce block dispatcher use during predictable jumps)
# 0: Disabled, 1 (default): Enabled
cpuopt_block_linking =
# Enable return stack buffer CPU optimization (reduce block dispatcher use during predictable returns)
# 0: Disabled, 1 (default): Enabled
cpuopt_return_stack_buffer =
# Enable fast dispatcher CPU optimization (use a two-tiered dispatcher architecture)
# 0: Disabled, 1 (default): Enabled
cpuopt_fast_dispatcher =
# Enable context elimination CPU Optimization (reduce host memory use for guest context)
# 0: Disabled, 1 (default): Enabled
cpuopt_context_elimination =
# Enable constant propagation CPU optimization (basic IR optimization)
# 0: Disabled, 1 (default): Enabled
cpuopt_const_prop =
# Enable miscellaneous CPU optimizations (basic IR optimization)
# 0: Disabled, 1 (default): Enabled
cpuopt_misc_ir =
# Enable reduction of memory misalignment checks (reduce memory fallbacks for misaligned access)
# 0: Disabled, 1 (default): Enabled
cpuopt_reduce_misalign_checks =
# Enable Host MMU Emulation (faster guest memory access)
# 0: Disabled, 1 (default): Enabled
cpuopt_fastmem =
# Enable Host MMU Emulation for exclusive memory instructions (faster guest memory access)
# 0: Disabled, 1 (default): Enabled
cpuopt_fastmem_exclusives =
# Enable fallback on failure of fastmem of exclusive memory instructions (faster guest memory access)
# 0: Disabled, 1 (default): Enabled
cpuopt_recompile_exclusives =
# Enable unfuse FMA (improve performance on CPUs without FMA)
# Only enabled if cpu_accuracy is set to Unsafe. Automatically chosen with cpu_accuracy = Auto-select.
# 0: Disabled, 1 (default): Enabled
cpuopt_unsafe_unfuse_fma =
# Enable faster FRSQRTE and FRECPE
# Only enabled if cpu_accuracy is set to Unsafe.
# 0: Disabled, 1 (default): Enabled
cpuopt_unsafe_reduce_fp_error =
# Enable faster ASIMD instructions (32 bits only)
# Only enabled if cpu_accuracy is set to Unsafe. Automatically chosen with cpu_accuracy = Auto-select.
# 0: Disabled, 1 (default): Enabled
cpuopt_unsafe_ignore_standard_fpcr =
# Enable inaccurate NaN handling
# Only enabled if cpu_accuracy is set to Unsafe. Automatically chosen with cpu_accuracy = Auto-select.
# 0: Disabled, 1 (default): Enabled
cpuopt_unsafe_inaccurate_nan =
# Disable address space checks (64 bits only)
# Only enabled if cpu_accuracy is set to Unsafe. Automatically chosen with cpu_accuracy = Auto-select.
# 0: Disabled, 1 (default): Enabled
cpuopt_unsafe_fastmem_check =
# Enable faster exclusive instructions
# Only enabled if cpu_accuracy is set to Unsafe. Automatically chosen with cpu_accuracy = Auto-select.
# 0: Disabled, 1 (default): Enabled
cpuopt_unsafe_ignore_global_monitor =
[Renderer]
# Which backend API to use.
# 0: OpenGL, 1 (default): Vulkan
backend =
# Enable graphics API debugging mode.
# 0 (default): Disabled, 1: Enabled
debug =
# Enable shader feedback.
# 0 (default): Disabled, 1: Enabled
renderer_shader_feedback =
# Enable Nsight Aftermath crash dumps
# 0 (default): Disabled, 1: Enabled
nsight_aftermath =
# Disable shader loop safety checks, executing the shader without loop logic changes
# 0 (default): Disabled, 1: Enabled
disable_shader_loop_safety_checks =
# Which Vulkan physical device to use (defaults to 0)
vulkan_device =
# 0: 0.5x (360p/540p) [EXPERIMENTAL]
# 1: 0.75x (540p/810p) [EXPERIMENTAL]
# 2 (default): 1x (720p/1080p)
# 3: 2x (1440p/2160p)
# 4: 3x (2160p/3240p)
# 5: 4x (2880p/4320p)
# 6: 5x (3600p/5400p)
# 7: 6x (4320p/6480p)
resolution_setup = 0
# Pixel filter to use when up- or down-sampling rendered frames.
# 0: Nearest Neighbor
# 1 (default): Bilinear
# 2: Bicubic
# 3: Gaussian
# 4: ScaleForce
# 5: AMD FidelityFX™ Super Resolution [Vulkan Only]
scaling_filter =
# Anti-Aliasing (AA)
# 0 (default): None, 1: FXAA
anti_aliasing =
# Whether to use fullscreen or borderless window mode
# 0 (Windows default): Borderless window, 1 (All other default): Exclusive fullscreen
fullscreen_mode =
# Aspect ratio
# 0: Default (16:9), 1: Force 4:3, 2: Force 21:9, 3: Stretch to Window
aspect_ratio =
# Anisotropic filtering
# 0: Default, 1: 2x, 2: 4x, 3: 8x, 4: 16x
max_anisotropy =
# Whether to enable V-Sync (caps the framerate at 60FPS) or not.
# 0 (default): Off, 1: On
use_vsync =
# Selects the OpenGL shader backend. NV_gpu_program5 is required for GLASM. If NV_gpu_program5 is
# not available and GLASM is selected, GLSL will be used.
# 0: GLSL, 1 (default): GLASM, 2: SPIR-V
shader_backend =
# Whether to allow asynchronous shader building.
# 0 (default): Off, 1: On
use_asynchronous_shaders =
# NVDEC emulation.
# 0: Disabled, 1: CPU Decoding, 2 (default): GPU Decoding
nvdec_emulation =
# Accelerate ASTC texture decoding.
# 0: Off, 1 (default): On
accelerate_astc =
# Turns on the speed limiter, which will limit the emulation speed to the desired speed limit value
# 0: Off, 1: On (default)
use_speed_limit =
# Limits the speed of the game to run no faster than this value as a percentage of target speed
# 1 - 9999: Speed limit as a percentage of target game speed. 100 (default)
speed_limit =
# Whether to use disk based shader cache
# 0: Off, 1 (default): On
use_disk_shader_cache =
# Which gpu accuracy level to use
# 0: Normal, 1 (default): High, 2: Extreme (Very slow)
gpu_accuracy =
# Whether to use asynchronous GPU emulation
# 0 : Off (slow), 1 (default): On (fast)
use_asynchronous_gpu_emulation =
# Inform the guest that GPU operations completed more quickly than they did.
# 0: Off, 1 (default): On
use_fast_gpu_time =
# Force unmodified buffers to be flushed, which can cost performance.
# 0: Off (default), 1: On
use_pessimistic_flushes =
# Whether to use garbage collection or not for GPU caches.
# 0 (default): Off, 1: On
use_caches_gc =
# The clear color for the renderer. What shows up on the sides of the bottom screen.
# Must be in range of 0-255. Defaults to 0 for all.
bg_red =
bg_blue =
bg_green =
[Audio]
# Which audio output engine to use.
# auto (default): Auto-select
# cubeb: Cubeb audio engine (if available)
# sdl2: SDL2 audio engine (if available)
# null: No audio output
output_engine = sdl2
# Which audio device to use.
# auto (default): Auto-select
output_device =
# Output volume.
# 100 (default): 100%, 0; mute
volume =
[Data Storage]
# Whether to create a virtual SD card.
# 1 (default): Yes, 0: No
use_virtual_sd =
# Whether or not to enable gamecard emulation
# 1: Yes, 0 (default): No
gamecard_inserted =
# Whether or not the gamecard should be emulated as the current game
# If 'gamecard_inserted' is 0 this setting is irrelevant
# 1: Yes, 0 (default): No
gamecard_current_game =
# Path to an XCI file to use as the gamecard
# If 'gamecard_inserted' is 0 this setting is irrelevant
# If 'gamecard_current_game' is 1 this setting is irrelevant
gamecard_path =
[System]
# Whether the system is docked
# 1 (default): Yes, 0: No
use_docked_mode =
# Sets the seed for the RNG generator built into the switch
# rng_seed will be ignored and randomly generated if rng_seed_enabled is false
rng_seed_enabled =
rng_seed =
# Sets the current time (in seconds since 12:00 AM Jan 1, 1970) that will be used by the time service
# This will auto-increment, with the time set being the time the game is started
# This override will only occur if custom_rtc_enabled is true, otherwise the current time is used
custom_rtc_enabled =
custom_rtc =
# Sets the systems language index
# 0: Japanese, 1: English (default), 2: French, 3: German, 4: Italian, 5: Spanish, 6: Chinese,
# 7: Korean, 8: Dutch, 9: Portuguese, 10: Russian, 11: Taiwanese, 12: British English, 13: Canadian French,
# 14: Latin American Spanish, 15: Simplified Chinese, 16: Traditional Chinese, 17: Brazilian Portuguese
language_index =
# The system region that yuzu will use during emulation
# -1: Auto-select (default), 0: Japan, 1: USA, 2: Europe, 3: Australia, 4: China, 5: Korea, 6: Taiwan
region_index =
# The system time zone that yuzu will use during emulation
# 0: Auto-select (default), 1: Default (system archive value), Others: Index for specified time zone
time_zone_index =
# Sets the sound output mode.
# 0: Mono, 1 (default): Stereo, 2: Surround
sound_index =
[Miscellaneous]
# A filter which removes logs below a certain logging level.
# Examples: *:Debug Kernel.SVC:Trace Service.*:Critical
log_filter = *:Trace
# Use developer keys
# 0 (default): Disabled, 1: Enabled
use_dev_keys =
[Debugging]
# Record frame time data, can be found in the log directory. Boolean value
record_frame_times =
# Determines whether or not yuzu will dump the ExeFS of all games it attempts to load while loading them
dump_exefs=false
# Determines whether or not yuzu will dump all NSOs it attempts to load while loading them
dump_nso=false
# Determines whether or not yuzu will save the filesystem access log.
enable_fs_access_log=false
# Enables verbose reporting services
reporting_services =
# Determines whether or not yuzu will report to the game that the emulated console is in Kiosk Mode
# false: Retail/Normal Mode (default), true: Kiosk Mode
quest_flag =
# Determines whether debug asserts should be enabled, which will throw an exception on asserts.
# false: Disabled (default), true: Enabled
use_debug_asserts =
# Determines whether unimplemented HLE service calls should be automatically stubbed.
# false: Disabled (default), true: Enabled
use_auto_stub =
# Enables/Disables the macro JIT compiler
disable_macro_jit=false
# Determines whether to enable the GDB stub and wait for the debugger to attach before running.
# false: Disabled (default), true: Enabled
use_gdbstub=false
# The port to use for the GDB server, if it is enabled.
gdbstub_port=6543
[WebService]
# Whether or not to enable telemetry
# 0: No, 1 (default): Yes
enable_telemetry =
# URL for Web API
web_api_url = https://api.yuzu-emu.org
# Username and token for yuzu Web Service
# See https://profile.yuzu-emu.org/ for more info
yuzu_username =
yuzu_token =
[Network]
# Name of the network interface device to use with yuzu LAN play.
# e.g. On *nix: 'enp7s0', 'wlp6s0u1u3u3', 'lo'
# e.g. On Windows: 'Ethernet', 'Wi-Fi'
network_interface =
[AddOns]
# Used to disable add-ons
# List of title IDs of games that will have add-ons disabled (separated by '|'):
title_ids =
# For each title ID, have a key/value pair called `disabled_<title_id>` equal to the names of the add-ons to disable (sep. by '|')
# e.x. disabled_0100000000010000 = Update|DLC <- disables Updates and DLC on Super Mario Odyssey

View file

@ -0,0 +1,53 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2022-present BrooksyTech (https://github.com/brooksytech)
PKG_NAME="yuzusa"
PKG_VERSION="48b4eca28a397adbaa68d1042262172fcdee6be8"
PKG_ARCH="x86_64"
PKG_LICENSE="GPLv3"
PKG_SITE="https://github.com/yuzu-emu/yuzu"
PKG_URL="$PKG_SITE.git"
PKG_DEPENDS_TARGET="toolchain libfmt boost ffmpeg zstd zlib libzip lz4 opus libusb"
PKG_SHORTDESC="Nintendo Switch emulator"
PKG_TOOLCHAIN="cmake"
GET_HANDLER_SUPPORT="git"
if [ ! "${OPENGL}" = "no" ]; then
PKG_DEPENDS_TARGET+=" ${OPENGL} glu libglvnd"
PKG_CONFIGURE_OPTS_TARGET+=" -DENABLE_X11=OFF"
fi
if [ "${OPENGLES_SUPPORT}" = yes ]; then
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
fi
if [ "${DISPLAYSERVER}" = "wl" ]; then
PKG_DEPENDS_TARGET+=" wayland ${WINDOWMANAGER} xorg-server xrandr libXi"
fi
if [ "${VULKAN_SUPPORT}" = "yes" ]
then
PKG_DEPENDS_TARGET+=" vulkan-loader vulkan-headers"
fi
PKG_CMAKE_OPTS_TARGET+=" -DENABLE_QT=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DYUZU_USE_BUNDLED_SDL2=OFF \
-DYUZU_TESTS=OFF \
-DENABLE_SDL2=ON \
-DARCHITECTURE_x86_64=ON \
-DBUILD_SHARED_LIBS=OFF \
-DYUZU_USE_BUNDLED_LIBUSB=OFF \
-DENABLE_WEB_SERVICE=OFF \
-DUSE_DISCORD_PRESENCE=OFF"
makeinstall_target() {
mkdir -p ${INSTALL}/usr/bin
cp -rf ${PKG_BUILD}/.${TARGET_NAME}/bin/yuzu-cmd ${INSTALL}/usr/bin
cp -rf ${PKG_DIR}/scripts/* ${INSTALL}/usr/bin
chmod +x ${INSTALL}/usr/bin/start_yuzu.sh
mkdir -p ${INSTALL}/usr/config/yuzu
cp -rf ${PKG_DIR}/config/* ${INSTALL}/usr/config/yuzu
}

View file

@ -0,0 +1,59 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c6fc5dd9e..78098416b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -195,7 +195,7 @@ if (YUZU_TESTS)
find_package(Catch2 2.13.7 REQUIRED CONFIG)
endif()
-find_package(Boost 1.73.0 COMPONENTS context)
+find_package(Boost 1.80.0 COMPONENTS context REQUIRED)
if (Boost_FOUND)
set(Boost_LIBRARIES Boost::boost)
# Conditionally add Boost::context only if the found Boost package provides it
@@ -205,7 +205,7 @@ if (Boost_FOUND)
list(APPEND Boost_LIBRARIES Boost::context)
endif()
else()
- message(FATAL_ERROR "Boost 1.73.0 or newer not found")
+ message(FATAL_ERROR "Boost 1.80.0 or newer not found")
endif()
# boost:asio has functions that require AcceptEx et al
@@ -386,11 +386,9 @@ endif()
# Ensure libusb is properly configured (based on dolphin libusb include)
if(NOT APPLE AND NOT YUZU_USE_BUNDLED_LIBUSB)
- find_package(PkgConfig)
+ add_definitions(-D__LIBUSB__)
if (PKG_CONFIG_FOUND AND NOT CMAKE_SYSTEM_NAME MATCHES "DragonFly|FreeBSD")
- pkg_check_modules(LIBUSB QUIET libusb-1.0>=1.0.24)
- else()
- find_package(LibUSB)
+ find_package(LibUSB)
endif()
if (LIBUSB_FOUND)
@@ -398,8 +396,7 @@ if(NOT APPLE AND NOT YUZU_USE_BUNDLED_LIBUSB)
target_include_directories(usb INTERFACE "${LIBUSB_INCLUDE_DIRS}")
target_link_libraries(usb INTERFACE "${LIBUSB_LIBRARIES}")
else()
- message(WARNING "libusb not found, falling back to externals")
- set(YUZU_USE_BUNDLED_LIBUSB ON)
+ message(WARNING "libusb not found")
endif()
endif()
diff --git a/src/input_common/drivers/gc_adapter.cpp b/src/input_common/drivers/gc_adapter.cpp
index 826fa2109..bc6d90f1d 100644
--- a/src/input_common/drivers/gc_adapter.cpp
+++ b/src/input_common/drivers/gc_adapter.cpp
@@ -2,7 +2,7 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#include <fmt/format.h>
-#include <libusb.h>
+#include <libusb-1.0/libusb.h>
#include "common/logging/log.h"
#include "common/param_package.h"

View file

@ -0,0 +1,15 @@
diff --git a/src/input_common/drivers/sdl_driver.cpp b/src/input_common/drivers/sdl_driver.cpp
index 45ce588f0..402b4956c 100644
--- a/src/input_common/drivers/sdl_driver.cpp
+++ b/src/input_common/drivers/sdl_driver.cpp
@@ -211,8 +211,8 @@ public:
std::string GetControllerName() const {
if (sdl_controller) {
switch (SDL_GameControllerGetType(sdl_controller.get())) {
- case SDL_CONTROLLER_TYPE_XBOX360:
- return "Xbox 360 Controller";
+ // case SDL_CONTROLLER_TYPE_XBOX360:
+ // return "Xbox 360 Controller";
case SDL_CONTROLLER_TYPE_XBOXONE:
return "Xbox One Controller";
case SDL_CONTROLLER_TYPE_PS3:

View file

@ -0,0 +1,26 @@
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2022-present BrooksyTech (https://github.com/brooksytech)
. /etc/profile
#Check if yuzu exists in .config
if [ ! -d "/storage/.config/yuzu" ]; then
mkdir -p "/storage/.config/yuzu"
cp -r "/usr/config/yuzu" "/storage/.config/"
fi
#Link yuzu keys to bios folder
if [ ! -d "/storage/roms/bios/yuzu" ]; then
mkdir -p "/storage/.config/yuzu"
fi
rm -rf /storage/.config/yuzu/keys
ln -sf /storage/roms/bios/yuzu /storage/.config/yuzu/keys
#Link .config/yuzu to .local
rm -rf /storage/.local/share/yuzu
ln -sf /storage/.config/yuzu /storage/.local/share/yuzu
#Run Yuzu emulator
/usr/bin/yuzu-cmd "${1}"

View file

@ -0,0 +1,33 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2022-present BrooksyTech (https://github.com/brooksytech)
PKG_NAME="beetle-saturn"
PKG_VERSION="054862a4ccb9b2f1bad9e5b075fc3d1116dc8055"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/libretro/beetle-saturn-libretro"
PKG_URL="$PKG_SITE.git"
PKG_DEPENDS_TARGET="toolchain"
PKG_SECTION="libretro"
PKG_SHORTDESC="Beetle Saturn libretro, a fork from mednafen"
PKG_TOOLCHAIN="make"
if [ ! "${OPENGL}" = "no" ]; then
PKG_DEPENDS_TARGET+=" ${OPENGL} glu libglvnd"
fi
if [ "${OPENGLES_SUPPORT}" = yes ]; then
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
fi
make_target() {
if [ "$ARCH" == "i386" -o "$ARCH" == "x86_64" ]; then
make platform=unix CC=$CC CXX=$CXX AR=$AR
else
make platform=armv CC=$CC CXX=$CXX AR=$AR
fi
}
makeinstall_target() {
mkdir -p $INSTALL/usr/lib/libretro
cp mednafen_saturn_libretro.so $INSTALL/usr/lib/libretro/beetle_saturn_libretro.so
}

View file

@ -20,7 +20,7 @@
################################################################################
PKG_NAME="core-info"
PKG_VERSION="628ae480b16dd5e4bff7e40eb223131cec7cbae5"
PKG_VERSION="c2af17f1d04c61135dda4978e0e8034c00d4b61a"
PKG_SHA256=""
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/libretro/libretro-core-info"

View file

@ -3,7 +3,7 @@
# Maintenance 2020 351ELEC team (https://github.com/fewtarius/351ELEC)
PKG_NAME="fbneo"
PKG_VERSION="c5f7b020c3a2bbe34bcdb15a4700a4c8d1b7b2e3"
PKG_VERSION="a12455af75e60765da134b83051700e0fbe3803a"
PKG_SHA256=""
PKG_REV="1"
PKG_ARCH="any"

View file

@ -3,7 +3,7 @@
# Copyright (C) 2022-present Fewtarius
PKG_NAME="flycast"
PKG_VERSION="993b705d8bcf9ece7c1c319d3966c407691653f9"
PKG_VERSION="88466ec3523d2c1f4893153a5c6a86d854171ce2"
PKG_SITE="https://github.com/flyinghead/flycast"
PKG_URL="${PKG_SITE}.git"
PKG_DEPENDS_TARGET="toolchain libzip"

View file

@ -3,7 +3,7 @@
# Copyright (C) 2022-present Fewtarius
PKG_NAME="freej2me"
PKG_VERSION="5af44b9249d352c2c2f05cfc214fccc385c92596"
PKG_VERSION="e887a521e9b1d22ee87ed8be6b7a0651932d8bfa"
PKG_SHA256=""
PKG_REV="1"
PKG_ARCH="any"

View file

@ -20,7 +20,7 @@
################################################################################
PKG_NAME="mame2003-plus"
PKG_VERSION="7836cc7720c9910b7eb47fdc85e69d4d79713355"
PKG_VERSION="5dd4a30500edc0b00c712750093aa287c9bb4ce2"
PKG_SHA256=""
PKG_REV="1"
PKG_ARCH="any"

View file

@ -0,0 +1,19 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2022-present Fewtarius
PKG_NAME="minivmac"
PKG_VERSION="7a774cd"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/libretro/libretro-minivmac"
PKG_URL="${PKG_SITE}.git"
PKG_DEPENDS_TARGET="toolchain"
PKG_SECTION="libretro"
PKG_SHORTDESC="Virtual Macintosh"
PKG_TOOLCHAIN="make"
makeinstall_target() {
mkdir -p ${INSTALL}/usr/lib/libretro
cp ${PKG_BUILD}/minivmac_libretro.so ${INSTALL}/usr/lib/libretro/
}

View file

@ -2,7 +2,7 @@
# Copyright (C) 2020-present Fewtarius
PKG_NAME="mupen64plus-nx"
PKG_VERSION="c10546e333d57eb2e5a6ccef1e84cb6f9274c526"
PKG_VERSION="1b67122ff6a923c93a56ff94273e3768a6da5dff"
PKG_SHA256=""
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/libretro/mupen64plus-libretro-nx"

View file

@ -3,7 +3,7 @@
# Copyright (C) 2022-present Fewtarius
PKG_NAME="pcsx_rearmed"
PKG_VERSION="d0d2939d7a485bbe97017e5ae20b504d225c09d3"
PKG_VERSION="a4e249a1373cf6269e1e4e0d60105e72210e67d3"
PKG_SHA256=""
PKG_REV="1"
PKG_ARCH="arm aarch64"

View file

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="ppsspp"
PKG_VERSION="1ae6047da9743aea8595516815755c37f76c96ae"
PKG_VERSION="f0a905cadd0db3124a5368dc88b5ecf4a9b6eb5d"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/hrydgard/ppsspp"
PKG_URL="https://github.com/hrydgard/ppsspp.git"
@ -66,6 +66,15 @@ else
PKG_CMAKE_OPTS_TARGET+=" -DUSE_WAYLAND_WSI=OFF"
fi
case ${TARGET_ARCH} in
arm)
PKG_CMAKE_OPTS_TARGET+=" -DARMV7=ON"
;;
aarch64)
PKG_CMAKE_OPTS_TARGET+=" -DARM64=ON"
;;
esac
PKG_CMAKE_OPTS_TARGET+="${PKG_CMAKE_OPTS_TARGET} \
-DUSE_SYSTEM_FFMPEG=OFF \
-DCMAKE_BUILD_TYPE=Release \

View file

@ -0,0 +1,18 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d43497e2c..11ac4fce8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -302,11 +302,11 @@ if(NOT MSVC)
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g -D_DEBUG")
set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -Os -D_NDEBUG")
- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2 -D_NDEBUG")
+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Ofast -fno-tree-slp-vectorize -D_NDEBUG")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O2 -g -D_NDEBUG")
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g -D_DEBUG")
set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} -Os -D_NDEBUG")
- set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2 -D_NDEBUG")
+ set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Ofast -fno-tree-slp-vectorize -D_NDEBUG")
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O2 -g -D_NDEBUG")
# Disable some warnings

View file

@ -20,7 +20,7 @@
################################################################################
PKG_NAME="puae"
PKG_VERSION="1618077ebde376de1638455c19b315de376d90b4"
PKG_VERSION="d9a8dfbde7f6967fea3cffe09cd87e1d79a1a3fd"
PKG_SHA256=""
PKG_REV="1"
PKG_ARCH="any"

View file

@ -20,7 +20,7 @@
################################################################################
PKG_NAME="stella"
PKG_VERSION="d1767d4d93adff907b370c4a26097fb873a00260"
PKG_VERSION="fa49e034101a22344c7bd01648d514b6cc61ac7f"
PKG_SHA256=""
PKG_REV="1"
PKG_LICENSE="GPL2"

View file

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="virtualjaguar"
PKG_VERSION="263c979be4ca757c43fb525bd6f0887998e57041"
PKG_VERSION="2cc06899b839639397b8b30384a191424b6f529d"
PKG_SHA256=""
PKG_REV="1"
PKG_ARCH="any"

View file

@ -2,7 +2,7 @@
# Copyright (C) 2020-present Fewtarius
PKG_NAME="moonlight"
PKG_VERSION="56f84ab662d17e6f3a663cfc340652fd1b5f210a"
PKG_VERSION="62007b912e6e2c0ffafad2c1edfd346c11450d1d"
PKG_ARCH="any"
PKG_LICENSE="GPLv3"
PKG_SITE="https://github.com/moonlight-stream/moonlight-embedded"

View file

@ -1,6 +1,8 @@
--- moonlight-orig/cmake/FindRockchip.cmake 2022-05-26 15:41:01.746182723 -0700
+++ areascout-moonlight/cmake/FindRockchip.cmake 2022-05-26 15:39:28.741230073 -0700
@@ -8,7 +8,13 @@
diff --git a/cmake/FindRockchip.cmake b/cmake/FindRockchip.cmake
index 83764dd..1ad3f93 100644
--- a/cmake/FindRockchip.cmake
+++ b/cmake/FindRockchip.cmake
@@ -8,7 +8,13 @@ find_library(DRM_LIBRARY
NAMES libdrm.so
DOC "Path to libdrm Library"
PATHS /usr/local/lib /usr/lib /usr/lib/aarch64-linux-gnu /usr/lib/arm-linux-gnueabihf)
@ -15,28 +17,29 @@
find_path(ROCKCHIP_INCLUDE_DIR
NAMES rk_mpi.h
@@ -26,4 +32,4 @@
@@ -26,4 +32,4 @@ include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Rockchip DEFAULT_MSG ROCKCHIP_INCLUDE_DIR ROCKCHIP_LIBRARY)
set(ROCKCHIP_INCLUDE_DIRS ${ROCKCHIP_INCLUDE_DIR} ${DRM_INCLUDE_DIR})
-set(ROCKCHIP_LIBRARIES ${ROCKCHIP_LIBRARY} ${DRM_LIBRARY})
+set(ROCKCHIP_LIBRARIES ${ROCKCHIP_LIBRARY} ${DRM_LIBRARY} ${RGA_LIBRARY})
--- moonlight-orig/src/video/rk.c 2022-05-26 15:41:01.750182764 -0700
+++ areascout-moonlight/src/video/rk.c 2022-05-26 15:39:28.749230155 -0700
@@ -37,9 +37,11 @@
diff --git a/src/video/rk.c b/src/video/rk.c
index be355be..ad1e15e 100644
--- a/src/video/rk.c
+++ b/src/video/rk.c
@@ -38,8 +38,10 @@
#include <libdrm/drm_fourcc.h>
#include <rockchip/rk_mpi.h>
+#include <rga/RgaApi.h>
#define READ_BUF_SIZE 0x00100000
#define MAX_FRAMES 16
+#define MAX_DEST_BUFFERS 3
#define RK_H264 7
#define RK_H265 16777220
@@ -50,6 +52,8 @@
void *pkt_buf = NULL;
@@ -51,6 +53,8 @@ void *pkt_buf = NULL;
size_t pkt_buf_size = 0;
int fd;
int fb_id;
+int fb_id_rot[MAX_DEST_BUFFERS];
@ -44,7 +47,7 @@
uint32_t plane_id, crtc_id;
int frm_eos;
int crtc_width;
@@ -82,6 +86,7 @@
@@ -83,6 +87,7 @@ struct {
void *display_thread(void *param) {
@ -52,7 +55,7 @@
int ret;
while (!frm_eos) {
@@ -98,8 +103,9 @@
@@ -99,8 +104,9 @@ void *display_thread(void *param) {
return NULL;
}
}
@ -63,7 +66,7 @@
fb_id = 0;
ret = pthread_mutex_unlock(&mutex);
assert(!ret);
@@ -114,10 +120,13 @@
@@ -115,10 +121,13 @@ void *display_thread(void *param) {
void *frame_thread(void *param) {
@ -77,12 +80,13 @@
while (!frm_eos) {
@@ -141,7 +150,15 @@
@@ -142,7 +151,15 @@ void *frame_thread(void *param) {
RK_U32 ver_stride = mpp_frame_get_ver_stride(frame);
MppFrameFormat fmt = mpp_frame_get_fmt(frame);
assert((fmt == MPP_FMT_YUV420SP) || (fmt == MPP_FMT_YUV420SP_10BIT));
-
+ printf("Frame WxH=%dx%d WSxHs=%dx%d\n", frm_width, frm_height, hor_stride, ver_stride);
+
+#if 1
+ // position overlay, expand to full screen
+ fb_x = 0;
@ -93,7 +97,7 @@
// position overlay, scale to ratio
float crt_ratio = (float)crtc_width/crtc_height;
float frame_ratio = (float)frm_width/frm_height;
@@ -157,6 +174,47 @@
@@ -158,6 +175,47 @@ void *frame_thread(void *param) {
fb_x = 0;
fb_y = (crtc_height-fb_height)/2;
}
@ -141,7 +145,7 @@
// create new external frame group and allocate (commit flow) new DRM buffers and DRM FB
assert(!mpi_frm_grp);
@@ -224,6 +282,15 @@
@@ -225,6 +283,15 @@ void *frame_thread(void *param) {
// send DRM FB to display thread
ret = pthread_mutex_lock(&mutex);
assert(!ret);
@ -157,7 +161,7 @@
fb_id = frame_to_drm[i].fb_id;
ret = pthread_cond_signal(&cond);
assert(!ret);
@@ -363,6 +430,10 @@
@@ -361,6 +428,10 @@ int rk_setup(int videoFormat, int width, int height, int redrawRate, void* conte
// hide cursor by move in left lower corner
drmModeMoveCursor(fd, crtc_id, 0, crtc_height);
@ -167,8 +171,8 @@
+
// MPI SETUP
pkt_buf = malloc(READ_BUF_SIZE);
@@ -446,6 +517,8 @@
ensure_buf_size(&pkt_buf, &pkt_buf_size, INITIAL_DECODER_BUFFER_SIZE);
@@ -443,6 +514,8 @@ void rk_cleanup() {
mpp_destroy(mpi_ctx);
free(pkt_buf);

View file

@ -2,7 +2,7 @@
# Copyright (C) 2020-present Fewtarius
PKG_NAME="retroarch-joypads"
PKG_VERSION="8b55e1375cbe8eaa305b5ce8e9847b929d0a830f"
PKG_VERSION="c424e3d461bdf21b90cfc74435026b81e1cf6cf5"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/libretro/retroarch-joypad-autoconfig"
PKG_URL="${PKG_SITE}.git"

View file

@ -19,7 +19,7 @@
################################################################################
PKG_NAME="retroarch-overlays"
PKG_VERSION="386e7c45592e3c5754f026dc88cf612a6cff7214"
PKG_VERSION="b3827a2c63834ed9e1902acc7cf9019f64771ed3"
PKG_SHA256=""
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/libretro/common-overlays"

View file

@ -6,8 +6,8 @@ PKG_NAME="glslang"
# The SPIRV-Tools & SPIRV-Headers have to be specific versions matching the pkg version
# https://raw.githubusercontent.com/KhronosGroup/glslang/${PKG_VERSION}/known_good.json
# if you update glslang make sure spirv-tools & spirv-headers versions a known good
PKG_VERSION="11.10.0"
PKG_SHA256="8ffc19c435232d09299dd2c91e247292b3508c1b826a3497c60682e4bbf2d602"
PKG_VERSION="11.12.0"
PKG_SHA256="7795a97450fecd9779f3d821858fbc2d1a3bf1dd602617d95b685ccbcabc302f"
PKG_LICENSE="Apache-2.0"
PKG_SITE="https://github.com/KhronosGroup/glslang"
PKG_URL="https://github.com/KhronosGroup/glslang/archive/${PKG_VERSION}.tar.gz"

View file

@ -4,10 +4,10 @@
PKG_NAME="spirv-headers"
# The SPIRV-Headers have to be specific versions matching the glslang pkg version
# https://github.com/KhronosGroup/glslang/blob/11.10.0/known_good.json
# https://github.com/KhronosGroup/glslang/blob/11.12.0/known_good.json
# if you update glslang make sure spirv-tools & spirv-headers versions a known good
PKG_VERSION="5a121866927a16ab9d49bed4788b532c7fcea766"
PKG_SHA256="ec8ecb471a62672697846c436501638ab25447ae9d4a6761e0bfe8a9a839502a"
PKG_VERSION="85a1ed200d50660786c1a88d9166e871123cce39"
PKG_SHA256="9729304d0915e758c5ea2a1c60b55a123d976f172c0a8dae3162ad23c77ef33b"
PKG_LICENSE="Apache-2.0"
PKG_SITE="https://github.com/KhronosGroup/SPIRV-headers"
PKG_URL="https://github.com/KhronosGroup/SPIRV-headers/archive/${PKG_VERSION}.tar.gz"

View file

@ -4,10 +4,10 @@
PKG_NAME="spirv-tools"
# The SPIRV-Tools have to be specific versions matching the glslang pkg version
# https://github.com/KhronosGroup/glslang/blob/11.10.0/known_good.json
# https://github.com/KhronosGroup/glslang/blob/11.12.0/known_good.json
# if you update glslang make sure spirv-tools & spirv-headers versions a known good
PKG_VERSION="b930e734ea198b7aabbbf04ee1562cf6f57962f0"
PKG_SHA256="9cddc845f99d7daa65940ff9deb6754cd71b67987ec9860bb0ef2af8a8732c84"
PKG_VERSION="eb0a36633d2acf4de82588504f951ad0f2cecacb"
PKG_SHA256="9f7c423c9dad6c9e664e0600226646232a328051f73f30d6795360370aa06a2f"
PKG_LICENSE="Apache-2.0"
PKG_SITE="https://github.com/KhronosGroup/SPIRV-Tools"
PKG_URL="https://github.com/KhronosGroup/SPIRV-Tools/archive/${PKG_VERSION}.tar.gz"

View file

@ -2,10 +2,11 @@
# Copyright (C) 2020-present Fewtarius
PKG_NAME="wxwidgets"
PKG_VERSION="7ad1bffa875f7a38db58b6069ea3ff0c49c211d2"
PKG_VERSION="97e99707c5d2271a70cb686720b48dbf34ced496"
PKG_LICENSE="wxWindows Library Licence"
PKG_SITE="https://github.com/wxWidgets/wxWidgets"
PKG_URL="${PKG_SITE}.git"
PKG_GIT_CLONE_BRANCH="3.2"
PKG_DEPENDS_TARGET="toolchain zlib libpng libjpeg-turbo gdk-pixbuf gtk3 libaio"
PKG_LONGDESC="wxWidgets is a free and open source cross-platform C++ framework for writing advanced GUI applications using native controls."
PKG_BUILD_FLAGS="+pic"
@ -16,7 +17,7 @@ pre_configure_target() {
}
post_install() {
cp ${PKG_BUILD}/.${TARGET_NAME}/lib/wx/config/gtk3-unicode-3.1 ${SYSROOT_PREFIX}/usr/bin/wx-config
cp ${PKG_BUILD}/.${TARGET_NAME}/lib/wx/config/gtk3-unicode-3.2 ${SYSROOT_PREFIX}/usr/bin/wx-config
sed -i 's#^prefix=.*#prefix='${SYSROOT_PREFIX}/usr'#' ${SYSROOT_PREFIX}/usr/bin/wx-config
sed -i 's#^exec_prefix=.*#exec_prefix='${SYSROOT_PREFIX}/usr'#' ${SYSROOT_PREFIX}/usr/bin/wx-config
}

View file

@ -112,11 +112,8 @@ post_install() {
mkdir -p ${INSTALL}/usr/lib/autostart/daemons
cp ${PKG_DIR}/sources/autostart/common/* ${INSTALL}/usr/lib/autostart/common
cp ${PKG_DIR}/sources/autostart/daemons/* ${INSTALL}/usr/lib/autostart/daemons
if [ -d "${PKG_DIR}/sources/autostart/${DEVICE}" ]
then
mkdir -p ${INSTALL}/usr/lib/autostart/${DEVICE}
cp ${PKG_DIR}/sources/autostart/${DEVICE}/* ${INSTALL}/usr/lib/autostart/${DEVICE}
fi
mkdir -p ${INSTALL}/usr/lib/autostart/quirks
cp -r ${PKG_DIR}/sources/autostart/quirks/* ${INSTALL}/usr/lib/autostart/quirks
chmod -R 0755 ${INSTALL}/usr/lib/autostart ${INSTALL}/usr/bin/autostart
enable_service jelos-autostart.service
@ -137,12 +134,15 @@ post_install() {
EOF
cp ${PKG_DIR}/sources/scripts/* ${INSTALL}/usr/bin
chmod 0755 ${INSTALL}/usr/bin/* ||:
enable_service jelos-automount.service
if [ -d "${PKG_DIR}/sources/asound/${DEVICE}" ]
then
cp ${PKG_DIR}/sources/asound/${DEVICE}/* ${INSTALL}/usr/config/
fi
cp ${PKG_DIR}/sources/asound/asound.conf.bluealsa ${INSTALL}/usr/config/
sed -i "s#@DEVICENAME@#${DEVICE}#g" ${INSTALL}/usr/config/system/configs/system.cfg

View file

@ -28,8 +28,8 @@ state.rockchipes8316c {
control.3 {
iface MIXER
name 'Headphone Mixer Volume'
value.0 0
value.1 0
value.0 10
value.1 10
comment {
access 'read write'
type INTEGER
@ -37,14 +37,14 @@ state.rockchipes8316c {
range '0 - 11'
dbmin -1200
dbmax 0
dbvalue.0 -1200
dbvalue.1 -1200
dbvalue.0 -150
dbvalue.1 -150
}
}
control.4 {
iface MIXER
name 'Playback Polarity'
value 'R Invert'
value Normal
comment {
access 'read write'
type ENUMERATED
@ -58,8 +58,8 @@ state.rockchipes8316c {
control.5 {
iface MIXER
name 'DAC Playback Volume'
value.0 0
value.1 0
value.0 153
value.1 153
comment {
access 'read write'
type INTEGER
@ -67,8 +67,8 @@ state.rockchipes8316c {
range '0 - 192'
dbmin -9999999
dbmax 0
dbvalue.0 -9999999
dbvalue.1 -9999999
dbvalue.0 -1950
dbvalue.1 -1950
}
}
control.6 {
@ -95,7 +95,7 @@ state.rockchipes8316c {
control.8 {
iface MIXER
name 'DAC Notch Filter Switch'
value true
value false
comment {
access 'read write'
type BOOLEAN
@ -105,7 +105,7 @@ state.rockchipes8316c {
control.9 {
iface MIXER
name 'DAC Double Fs Switch'
value true
value false
comment {
access 'read write'
type BOOLEAN
@ -115,7 +115,7 @@ state.rockchipes8316c {
control.10 {
iface MIXER
name 'DAC Stereo Enhancement'
value 7
value 0
comment {
access 'read write'
type INTEGER
@ -126,7 +126,7 @@ state.rockchipes8316c {
control.11 {
iface MIXER
name 'DAC Mono Mix Switch'
value true
value false
comment {
access 'read write'
type BOOLEAN

View file

@ -0,0 +1,12 @@
pcm.!default {
type asym
capture.pcm cards.pcm.default
playback.pcm bluealsa
hint.description "Bluetooth Audio Device"
}
# Leave mixer at default card for now
ctl.!default {
type hw
card 0
}

View file

@ -1 +0,0 @@
RG351P

View file

@ -1 +0,0 @@
RG351P

View file

@ -1 +0,0 @@
RG503

View file

@ -12,12 +12,23 @@ date 2>&1 >>${BOOTLOG}
/usr/bin/show_splash intro 2>&1 >>${BOOTLOG}
### Run device specific start scripts
for script in /usr/lib/autostart/${HW_DEVICE}/*
do
echo "Executing ${script}" 2>&1 >>${BOOTLOG}
${script} 2>&1 >>${BOOTLOG}
done
### Apply device quirks
if [ -e "/usr/sbin/dmidecode" ]
then
QUIRK_DEVICE=$(echo "$(dmidecode -s system-manufacturer) $(dmidecode -s system-product-name)")
else
QUIRK_DEVICE=$(cat /sys/firmware/devicetree/base/model 2>/dev/null)
fi
QUIRK_DEVICE=$(echo ${QUIRK_DEVICE} | sed -e "s#[/]#-#g")
if [ -d "/usr/lib/autostart/quirks/${QUIRK_DEVICE}" ]
then
echo "Executing ${QUIRK_DEVICE} quirks."
for script in "/usr/lib/autostart/quirks/${QUIRK_DEVICE}/*"
do
echo "Executing ${script}" 2>&1 >>${BOOTLOG}
${script} 2>&1 >>${BOOTLOG} &
done
fi
### Lock is a prerequisite for emustation
rm /var/lock/start.games 2>&1 >>${BOOTLOG}

View file

@ -4,14 +4,13 @@
. /etc/profile
if [ "$(cat /storage/.config/boot.hint 2>/dev/null)" = "UPDATE" ] || [ ! -e "/storage/.configured" ]
if [[ "$(cat /storage/.config/boot.hint 2>/dev/null)" =~ UPDATE ]] && [ -e "/storage/.configured" ]
then
if [ -e "/usr/share/post-update" ]
then
/usr/share/post-update >/var/log/upgrade.log 2>&1
fi
rm /storage/.config/boot.hint
touch /storage/.configured
else
echo "No update hint found." >/var/log/upgrade.log 2>&1
fi

View file

@ -4,21 +4,13 @@
. /etc/profile
### Temporary device quirk for VCS
if [ -e "/usr/sbin/dmidecode" ] && \
[ ! -e "/storage/.config/modprobe.d/alsa-base.conf" ]
# Revert to stored setting when bluetooth was still selected at last shutdown.
# This is a workaround - headsets that auto-connect at boot tend to be
# unreliable, so for now it's better to force a manual reconnect.
LAST_AUDIO_DEVICE=$(set-audio get)
if [[ "${LAST_AUDIO_DEVICE}" =~ ^Device.* ]]
then
THIS_DEVICE="$(/usr/sbin/dmidecode -s system-product-name)"
if [[ "${THIS_DEVICE}" =~ ^VCS ]]
then
if [ ! -d "/storage/.config/modprobe.d/" ]
then
mkdir -p /storage/.config/modprobe.d
fi
touch /storage/.config/modprobe.d/alsa-base.conf
set-audio set "DEFAULT HDMI"
reboot
fi
set-audio restore
fi
if [ ! -e "/storage/.config/asound.conf" ]

View file

@ -0,0 +1,16 @@
#!/bin/bash
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2021-present Fewtarius (https://github.com/fewtarius)
. /etc/profile
if [ ! -d "/storage/.config/modprobe.d/" ]
then
mkdir -p /storage/.config/modprobe.d
fi
if [ ! -e "/storage/.config/modprobe.d/alsa-base.conf" ]
then
touch /storage/.config/modprobe.d/alsa-base.conf
set-audio set "DEFAULT HDMI"
reboot
fi

View file

@ -0,0 +1 @@
AYANEO AIR

View file

@ -0,0 +1,17 @@
#!/bin/bash
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2021-present Fewtarius (https://github.com/fewtarius)
. /etc/profile
if [ ! -d "/storage/.config/modprobe.d/" ]
then
mkdir -p /storage/.config/modprobe.d
fi
if [ ! -e "/storage/.config/modprobe.d/alsa-base.conf" ]
then
touch /storage/.config/modprobe.d/alsa-base.conf
set-audio set "ALC269VB (1:0)"
set-audio esset "Master"
reboot
fi

View file

@ -0,0 +1 @@
Anbernic RG351P

View file

@ -0,0 +1 @@
Anbernic RG351P

View file

@ -0,0 +1 @@
Anbernic RG353P-M

View file

@ -0,0 +1 @@
Anbernic RG353P-M

View file

@ -63,7 +63,7 @@ def connect_device(path, address, properties, forceConnect, typeInput, typeAudio
logging.info("Skipping device {} (no type)".format(getDevName(rproperties)));
return
if not ( (typeInput and properties["Icon"].startswith("input")) or (typeAudio and properties["Icon"].startswith("audio-card")) ):
if not ( (typeInput and properties["Icon"].startswith("input")) or (typeAudio and properties["Icon"].startswith("audio")) ):
logging.info("Skipping device {} because of type {}".format(getDevName(rproperties), properties["Icon"]));
return

View file

@ -297,6 +297,12 @@ then
RUNTHIS='${TBASH} /usr/bin/start_dolphin_wii.sh "${ROMNAME}"'
fi
;;
"switch")
jslisten set "-9 yuzu-cmd"
if [ "$EMU" = "yuzu" ]; then
RUNTHIS='${TBASH} /usr/bin/start_yuzu.sh "${ROMNAME}"'
fi
;;
"mplayer")
jslisten set "mpv"
RUNTHIS='${TBASH} /usr/bin/mpv_video.sh "${ROMNAME}"'

View file

@ -5,10 +5,55 @@
. /etc/profile
ES_SETTINGS="/storage/.config/emulationstation/es_settings.cfg"
STORED_SETTINGS="/storage/.cache/audio_settings.zip"
function save_state()
{
ACTIVE_DEVICE=$(get_audio_device)
ACTIVE_PATH=$(get_es_path)
echo "$ACTIVE_DEVICE" > /tmp/active_device.cfg
echo "$ACTIVE_PATH" > /tmp/active_path.cfg
cp -f /storage/.config/asound.conf /tmp
cp -f /storage/.config/asound.state /tmp
zip -q -j -r ${STORED_SETTINGS} /tmp/active_device.cfg /tmp/active_path.cfg /tmp/asound.*
}
function restore_state()
{
if [ -e ${STORED_SETTINGS} ]
then
unzip -o -q -d /tmp/ ${STORED_SETTINGS}
STORED_DEVICE=$(cat /tmp/active_device.cfg)
STORED_PATH=$(cat /tmp/active_path.cfg)
mv /tmp/asound.conf /storage/.config/
mv /tmp/asound.state /storage/.config/
rm -f ${STORED_SETTINGS}
set-audio esset "${STORED_PATH}"
set-audio set "${STORED_DEVICE}"
fi
}
# Check if an audio device string corresponds to a bluetooth device
function is_bluetooth() {
if [[ "$1" =~ ^Device.* ]]
then
true
return
else
false
return
fi
}
function list_audio_controls() {
IFS=""
CONTROLS=$(amixer controls | sed -e 's#^.*name=##g' -e "s#'##g")
ACTIVE_DEVICE=$(get_audio_device)
if is_bluetooth "${ACTIVE_DEVICE}"
then
CONTROLS=$(amixer -D bluealsa controls | sed -e 's#^.*name=##g' -e "s#'##g")
else
CONTROLS=$(amixer controls | sed -e 's#^.*name=##g' -e "s#'##g")
fi
echo "DEFAULT (SYSTEM PROVIDED)"
echo "CUSTOM (UNMANAGED)"
for CONTROL in "${CONTROLS[@]}"
@ -27,6 +72,16 @@ function list_audio_devices() {
echo "DEFAULT HDMI"
echo "CUSTOM (UNMANAGED)"
echo "--------"
BTACTIVE=$(systemctl is-active bluetooth)
if [ "${BTACTIVE}" == "active" ]
then
BTDEVICES=$(bluetoothctl devices Paired)
while read -r BTDEV
do
echo "${BTDEV}"
done <<< "${BTDEVICES}"
echo "--------"
fi
for SDEVICE in $(find /proc/asound/card*/pcm*/info)
do
TYPE=$(awk '/^stream:/ {print $2}' ${SDEVICE})
@ -42,12 +97,23 @@ function list_audio_devices() {
function set_audio_device() {
SELECTION="$1"
# When switching from a non-bluetooth to a bluetooth device,
# store the last configuration in order to restore it on reboot.
if is_bluetooth "${SELECTION}"
then
ACTIVE_DEVICE=$(get_audio_device)
if ! is_bluetooth "${ACTIVE_DEVICE}"
then
save_state
fi
fi
set_setting system.audiodevice "${SELECTION}"
if [ "${SELECTION}" == "DEFAULT (SYSTEM PROVIDED)" ]
then
if [ "$(get_setting system.rg353v)" = "1" ]
then
cp /usr/config/asound.conf.RG353V /storage/.config
cp /usr/config/asound.conf.RG353V /storage/.config/asound.conf
exit 0
else
if [ -e "/usr/config/asound.conf" ]
@ -66,6 +132,18 @@ function set_audio_device() {
elif [ "${SELECTION}" == "CUSTOM (UNMANAGED)" ]
then
exit 0
elif is_bluetooth "${SELECTION}"
then
MAC=$(echo "${SELECTION}" | awk '/^Device/ {print $2}')
# Reconnect device in case it auto-connected.
# This doesn't seem necessary anymore, re-activate in case of issues.
# bluetoothctl disconnect ${MAC}
if bluetoothctl connect ${MAC}
then
cp /usr/config/asound.conf.bluealsa /storage/.config/asound.conf
set_es_path "DEFAULT (SYSTEM PROVIDED)"
fi
exit 0
else
if [ "${SELECTION}" == "--------" ]
then
@ -163,4 +241,10 @@ case $1 in
esget)
get_es_path
;;
save)
save_state
;;
restore)
restore_state
;;
esac

View file

@ -493,6 +493,13 @@ if [ $RA == 1 ]; then
[ "${EES}" == "1" ] && echo 'run_ahead_secondary_instance = "true"' >> ${RAAPPENDCONF} || echo 'run_ahead_secondary_instance = "false"' >> ${RAAPPENDCONF}
fi
## Audiolatency
# Get configuration from system.cfg and set to retroarch.cfg
get_game_setting "audiolatency"
if [[ "${EES}" =~ ^[0-9]+$ ]] && [[ "${EES}" -gt "0" ]]; then
echo "audio_latency = \"${EES}\"" >> ${RAAPPENDCONF}
fi
## D-Pad to Analogue support, option in ES is missing atm but is managed as global.analogue=1 in system.cfg (that is made by postupdate.sh)
# Get configuration from system.cfg and set to retroarch.cfg
get_game_setting "analogue"

View file

@ -97,6 +97,7 @@ d /storage/roms/snesmsu1 0755 root root - -
d /storage/roms/solarus 0755 root root - -
d /storage/roms/sufami 0755 root root - -
d /storage/roms/supervision 0755 root root - -
d /storage/roms/switch 0755 root root - -
d /storage/roms/tg16 0755 root root - -
d /storage/roms/tg16cd 0755 root root - -
d /storage/roms/tic-80 0755 root root - -

View file

@ -19,7 +19,7 @@ if [ "${MOLD_SUPPORT}" = "yes" ]; then
fi
case ${TARGET_ARCH} in
arm|riscv64)
arm|aarch64|riscv64)
OPTS_LIBATOMIC="--enable-libatomic"
;;
*)

View file

@ -3,8 +3,8 @@
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="bluez"
PKG_VERSION="5.62"
PKG_SHA256="38090a5b750e17fc08d3e52178ed8d3254c5f4bd2c48830d5c1955b88e3bc0c2"
PKG_VERSION="5.66"
PKG_SHA256="39fea64b590c9492984a0c27a89fc203e1cdc74866086efb8f4698677ab2b574"
PKG_LICENSE="GPL"
PKG_SITE="http://www.bluez.org/"
PKG_URL="https://www.kernel.org/pub/linux/bluetooth/${PKG_NAME}-${PKG_VERSION}.tar.xz"
@ -23,7 +23,7 @@ BLUEZ_CONFIG+=" --enable-monitor --enable-test"
PKG_CONFIGURE_OPTS_TARGET="--disable-dependency-tracking \
--disable-silent-rules \
--disable-library \
--enable-library \
--enable-udev \
--disable-cups \
--disable-obex \
@ -69,9 +69,10 @@ post_makeinstall_target() {
# bluez looks in /etc/firmware/
ln -sf /usr/lib/firmware ${INSTALL}/etc/firmware
# pulseaudio checks for bluez via pkgconfig but lib is not actually needed
sed -i 's/-lbluetooth//g' ${PKG_BUILD}/lib/bluez.pc
# libbluetooth required for bluez-alsa
# sed -i 's/-lbluetooth//g' ${PKG_BUILD}/lib/bluez.pc
cp -P ${PKG_BUILD}/lib/bluez.pc ${SYSROOT_PREFIX}/usr/lib/pkgconfig
cp -P -r ${PKG_BUILD}/lib/bluetooth ${SYSROOT_PREFIX}/usr/include/
}
post_install() {

View file

@ -1,23 +1,8 @@
From ccc0a0cba8a2fdb8cfb148276e7c9413a3e22dc8 Mon Sep 17 00:00:00 2001
From: MilhouseVH <milhouseVH.github@nmacleod.com>
Date: Thu, 19 Sep 2019 22:48:19 +0100
Subject: [PATCH] sixaxis: Fix PID for Navigation Controller
Newsgroups: gmane.linux.bluez.kernel
Date: 2015-06-15 18:28:26 GMT (36 weeks, 4 days, 21 hours and 32 minutes ago)
Navigation Controller is using PID 0x042f over USB but PID 0x0268
(same as Dualshock 3) over BT.
---
plugins/sixaxis.c | 8 +++++++-
profiles/input/sixaxis.h | 2 ++
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/plugins/sixaxis.c b/plugins/sixaxis.c
index 939fed7..f6baea7 100644
index 544ab399a..9a0aa5d4f 100644
--- a/plugins/sixaxis.c
+++ b/plugins/sixaxis.c
@@ -364,7 +364,13 @@ static bool setup_device(int fd, const char *sysfs_path,
@@ -349,7 +349,13 @@ static bool setup_device(int fd, const char *sysfs_path,
info("sixaxis: setting up new device");
btd_device_device_set_name(device, cp->name);
@ -29,14 +14,14 @@ index 939fed7..f6baea7 100644
+ else
+ btd_device_set_pnpid(device, cp->source, cp->vid, cp->pid, cp->version);
+
btd_device_set_trusted(device, false);
btd_device_set_temporary(device, true);
closure = g_new0(struct authentication_closure, 1);
diff --git a/profiles/input/sixaxis.h b/profiles/input/sixaxis.h
index 8e6f3cc..321a918 100644
index ab8831995..0fe373204 100644
--- a/profiles/input/sixaxis.h
+++ b/profiles/input/sixaxis.h
@@ -38,6 +38,7 @@ struct cable_pairing {
@@ -25,6 +25,7 @@ struct cable_pairing {
uint16_t vid;
uint16_t pid;
uint16_t version;
@ -44,7 +29,7 @@ index 8e6f3cc..321a918 100644
CablePairingType type;
};
@@ -59,6 +60,7 @@ get_pairing(uint16_t vid, uint16_t pid)
@@ -54,6 +55,7 @@ get_pairing(uint16_t vid, uint16_t pid, const char *name)
.vid = 0x054c,
.pid = 0x042f,
.version = 0x0000,
@ -52,6 +37,3 @@ index 8e6f3cc..321a918 100644
.type = CABLE_PAIRING_SIXAXIS,
},
{
--
2.7.4

View file

@ -1,25 +1,12 @@
From 40c6e7c5a0d81a781c94e5a64661848018c1f8be Mon Sep 17 00:00:00 2001
From: MilhouseVH <milhouseVH.github@nmacleod.com>
Date: Thu, 19 Sep 2019 22:55:09 +0100
Subject: [PATCH] sixaxis autotrust
---
plugins/sixaxis.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/sixaxis.c b/plugins/sixaxis.c
index f6baea7..c166304 100644
index 9a0aa5d4f..810e33353 100644
--- a/plugins/sixaxis.c
+++ b/plugins/sixaxis.c
@@ -371,7 +371,7 @@ static bool setup_device(int fd, const char *sysfs_path,
@@ -356,6 +356,7 @@ static bool setup_device(int fd, const char *sysfs_path,
else
btd_device_set_pnpid(device, cp->source, cp->vid, cp->pid, cp->version);
- btd_device_set_trusted(device, false);
+ btd_device_set_trusted(device, true);
btd_device_set_temporary(device, true);
closure = g_new0(struct authentication_closure, 1);
--
2.7.4

View file

@ -29,7 +29,7 @@
MODULE_DIR=/usr/lib/modules
UPDATE_ROOT=/storage/.update
UPDATE_DIR="$UPDATE_ROOT"
UPDATE_DIR="${UPDATE_ROOT}"
UPDATE_KERNEL="@KERNEL_NAME@"
UPDATE_SYSTEM="SYSTEM"
@ -63,23 +63,23 @@ exec 2>/dev/null
# Get a serial number if present (eg. RPi) otherwise use MAC address from eth0
MACHINE_UID="$(awk '/^Serial/{s='0000000' $3; print substr(s, length(s) - 7)}' /proc/cpuinfo 2>/dev/null)"
[ -z "$MACHINE_UID" ] && MACHINE_UID="$(cat /sys/class/net/eth0/address 2>/dev/null | tr -d :)"
[ -z "${MACHINE_UID}" ] && MACHINE_UID="$(cat /sys/class/net/eth0/address 2>/dev/null | tr -d :)"
clear >/dev/console
# script functions
progress() {
if test "$PROGRESS" = "yes"; then
if test "${PROGRESS}" = "yes"; then
echo "### $1 ###" >&2
fi
}
debug_msg() {
echo "$1" >&$SILENT_OUT
echo "$1" >&${SILENT_OUT}
}
debug_shell() {
echo "### Starting debugging shell for boot step: $BOOT_STEP... type exit to quit ###"
echo "### Starting debugging shell for boot step: ${BOOT_STEP}... type exit to quit ###"
showcursor
setsid cttyhack sh
}
@ -89,17 +89,17 @@ error() {
# $1:action which caused error, $2:message
# Send debug_shell output to stderr, in case caller is redirecting/consuming stdout
# Return exitcode=1 so that called may detect when an error has occurred
echo "*** Error in $BOOT_STEP: $1: $2 ***" >&2
echo "*** Error in ${BOOT_STEP}: $1: $2 ***" >&2
debug_shell >&2
return 1
}
break_after() {
# Start debug shell after boot step $1, and all subsequent steps
if [ $BREAK_TRIPPED == yes ]; then
if [ ${BREAK_TRIPPED} == yes ]; then
debug_shell
else
case $BREAK in
case ${BREAK} in
all|*$1*)
BREAK_TRIPPED=yes
debug_shell
@ -114,17 +114,17 @@ break_after() {
mount_common() {
# Common mount handler, handles block devices and filesystem images
MOUNT_OPTIONS="-o $3"
[ -n "$4" ] && MOUNT_OPTIONS="-t $4 $MOUNT_OPTIONS"
[ -n "$4" ] && MOUNT_OPTIONS="-t $4 ${MOUNT_OPTIONS}"
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do
ERR_ENV=1
mount $MOUNT_OPTIONS $1 $2 >&$SILENT_OUT 2>&1
mount ${MOUNT_OPTIONS} $1 $2 >&${SILENT_OUT} 2>&1
[ "$?" -eq "0" ] && ERR_ENV=0 && break
usleep 1000000
done
[ "$ERR_ENV" -eq "0" ] && return 0
[ "${ERR_ENV}" -eq "0" ] && return 0
echo "Unable to find $1, powering off and on should correct it." >/dev/console
StartProgress countdown "Power off in 3s... " 3 "NOW"
poweroff
@ -132,7 +132,7 @@ mount_common() {
get_iscsistart_options() {
# Convert kernel commandline ISCSI= options to iscsistart options
IFS_SAVE="$IFS"
IFS_SAVE="${IFS}"
IFS=,
for arg in $1; do
@ -169,7 +169,7 @@ get_iscsistart_options() {
echo "$option $val"
done
IFS="$IFS_SAVE"
IFS="${IFS_SAVE}"
}
mount_iscsi() {
@ -181,27 +181,27 @@ mount_iscsi() {
error "iscsistart" "iSCSI support not available"
fi
if [ "$ISCSI_OPTIONS" = "auto" ]; then
if [ "${ISCSI_OPTIONS}" = "auto" ]; then
progress "Network configuration based on iBFT"
/usr/sbin/iscsistart -N >&$SILENT_OUT 2>&1 || error "iscsistart" "Unable to configure network"
/usr/sbin/iscsistart -N >&${SILENT_OUT} 2>&1 || error "iscsistart" "Unable to configure network"
progress "iSCSI auto connect based on iBFT"
/usr/sbin/iscsistart -b >&$SILENT_OUT 2>&1 || error "iscsistart" "Unable to auto connect"
/usr/sbin/iscsistart -b >&${SILENT_OUT} 2>&1 || error "iscsistart" "Unable to auto connect"
else
/usr/sbin/iscsistart $(get_iscsistart_options "$ISCSI_OPTIONS") >&$SILENT_OUT 2>&1 || error "iscsistart" "Unable to connect to ISCSI target"
/usr/sbin/iscsistart $(get_iscsistart_options "${ISCSI_OPTIONS}") >&${SILENT_OUT} 2>&1 || error "iscsistart" "Unable to connect to ISCSI target"
fi
mount_common "$ISCSI_DEV" "$2" "$3" "$4"
mount_common "${ISCSI_DEV}" "$2" "$3" "$4"
}
mount_nbd() {
# Mount NBD device
NBD_SERVER="${1%%:*}"
NBD_PORT="${1#*:}"
NBD_DEV="/dev/nbd$NBD_DEVS"
NBD_DEV="/dev/nbd${NBD_DEV}S"
nbd-client $NBD_SERVER $NBD_PORT $NBD_DEV >&$SILENT_OUT 2>&1 || error "nbd-client" "Could not connect to NBD server $1"
nbd-client ${NBD_SERVER} ${NBD_PORT} ${NBD_DEV} >&${SILENT_OUT} 2>&1 || error "nbd-client" "Could not connect to NBD server $1"
mount_common "$NBD_DEV" "$2" "$3" "$4"
mount_common "${NBD_DEV}" "$2" "$3" "$4"
NBD_DEVS=$(( NBD_DEVS + 1 ))
}
@ -211,9 +211,9 @@ mount_nfs() {
NFS_EXPORT="${1%%,*}"
NFS_OPTIONS="${1#*,}"
[ "$NFS_OPTIONS" = "$1" ] && NFS_OPTIONS=
[ "${NFS_OPTIONS}" = "$1" ] && NFS_OPTIONS=
mount_common "$NFS_EXPORT" "$2" "$3,nolock,rsize=32768,wsize=32768,$NFS_OPTIONS" "nfs"
mount_common "${NFS_EXPORT}" "$2" "$3,nolock,rsize=32768,wsize=32768,${NFS_OPTIONS}" "nfs"
}
mount_ubifs() {
@ -269,17 +269,17 @@ mount_part() {
esac
# Substitute unique identifier if available or remove placeholder
MOUNT_TARGET="${MOUNT_TARGET//@UID@/$MACHINE_UID}"
MOUNT_TARGET="${MOUNT_TARGET//@UID@/${MACHINE_UID}}"
$MOUNT_CMD "$MOUNT_TARGET" "$2" "$3" "$4"
${MOUNT_CMD} "${MOUNT_TARGET}" "$2" "$3" "$4"
}
mount_sysroot() {
if [ "$SYSTEM_TORAM" = "yes" ]; then
cp /flash/$IMAGE_SYSTEM /dev/$IMAGE_SYSTEM
mount_part "/dev/$IMAGE_SYSTEM" "/sysroot" "ro,loop"
if [ "${SYSTEM_TORAM}" = "yes" ]; then
cp /flash/${IMAGE_SYSTEM} /dev/${IMAGE_SYSTEM}
mount_part "/dev/${IMAGE_SYSTEM}" "/sysroot" "ro,loop"
else
mount_part "/flash/$IMAGE_SYSTEM" "/sysroot" "ro,loop"
mount_part "/flash/${IMAGE_SYSTEM}" "/sysroot" "ro,loop"
fi
if [ -f /flash/post-sysroot.sh ]; then
@ -340,7 +340,7 @@ check_is_compatible() {
echo "Current system: ${old_project_arch}"
echo "Update system: ${new_project_arch}"
echo ""
echo "Create $UPDATE_ROOT/.nocompat to disable compatibility checks and risk a non-booting system."
echo "Create ${UPDATE_ROOT}/.nocompat to disable compatibility checks and risk a non-booting system."
echo ""
return 1
fi
@ -365,15 +365,15 @@ display_versions() {
}
update_file() {
if [ -f "$UPDATE_DIR/$2" -a -f "$3" ]; then
if [ -f "${UPDATE_DIR}/$2" -a -f "$3" ]; then
mount -o remount,rw /flash
StartProgress percent "Updating $1... " "$3" $(stat -t "$UPDATE_DIR/$2" | awk '{print $2}')
StartProgress percent "Updating $1... " "$3" $(stat -t "${UPDATE_DIR}/$2" | awk '{print $2}')
# use dd here with conv=fsync so that all writes are non-buffered
# ensuring accurate progress - take the sync hit during the
# transfer, rather than when flushing file buffers after the progress
# meter declares the transfer already complete
dd if=$UPDATE_DIR/$2 of=$3 bs=1M conv=fsync 2>/dev/null
dd if=${UPDATE_DIR}/$2 of=$3 bs=1M conv=fsync 2>/dev/null
StopProgress
@ -388,9 +388,9 @@ update_file() {
update_partition() {
local result
if [ -f "$UPDATE_DIR/$2" -a -b "$3" ]; then
if [ -f "${UPDATE_DIR}/$2" -a -b "$3" ]; then
StartProgress spinner "Updating $1... "
result="$(dd if="$UPDATE_DIR/$2" of="$3" 2>&1)"
result="$(dd if="${UPDATE_DIR}/$2" of="$3" 2>&1)"
StopProgress "done"
sync
echo "${result}"
@ -402,10 +402,10 @@ update_bootloader() {
export BOOT_ROOT="/flash"
export SYSTEM_ROOT="/update"
if [ -f $SYSTEM_ROOT/usr/share/bootloader/update.sh ]; then
if [ -f ${SYSTEM_ROOT}/usr/share/bootloader/update.sh ]; then
echo ""
echo "Updating Boot Files... "
sh $SYSTEM_ROOT/usr/share/bootloader/update.sh
sh ${SYSTEM_ROOT}/usr/share/bootloader/update.sh
sync
echo "Boot Files Updated."
echo ""
@ -418,7 +418,7 @@ load_modules() {
[ ! -f "/etc/modules" ] && return
for module in $(cat /etc/modules); do
progress "Loading kernel module $module"
insmod "$MODULE_DIR/$module.ko" || progress "... Failed to load kernel module $module, skipping"
insmod "${MODULE_DIR}/$module.ko" || progress "... Failed to load kernel module $module, skipping"
done
}
@ -447,27 +447,27 @@ load_splash() {
local set_default_res=no
local vres
if [ ! "$SPLASH" = "no" ]; then
if [ ! "${SPLASH}" = "no" ]; then
progress "Loading bootsplash"
# load uvesafb module if needed
if [ -f "$MODULE_DIR/uvesafb.ko" -a ! -e /dev/fb0 ]; then
if [ -f "${MODULE_DIR}/uvesafb.ko" -a ! -e /dev/fb0 ]; then
progress "Loading kernel module uvesafb.ko"
insmod "$MODULE_DIR/uvesafb.ko" && set_default_res=yes || progress "... Failed to load kernel module uvesafb, skipping"
insmod "${MODULE_DIR}/uvesafb.ko" && set_default_res=yes || progress "... Failed to load kernel module uvesafb, skipping"
fi
if [ -e /dev/fb0 ]; then
# Set framebuffer to a custom resolution and/or fallback to default resolution (1024x768-32), if required.
if [ ! "$SWITCH_FRAMEBUFFER" = "no" ]; then
if [ "$SWITCH_FRAMEBUFFER" = "1080" ]; then
if [ ! "${SWITCH_FRAMEBUFFER}" = "no" ]; then
if [ "${SWITCH_FRAMEBUFFER}" = "1080" ]; then
SWITCH_FRAMEBUFFER="1920 1080 1920 1080 32"
elif [ "$SWITCH_FRAMEBUFFER" = "720" ]; then
elif [ "${SWITCH_FRAMEBUFFER}" = "720" ]; then
SWITCH_FRAMEBUFFER="1280 720 1280 720 32"
fi
# Try setting a custom framebuffer resolution
if [ ! "${SWITCH_FRAMEBUFFER:-yes}" = "yes" ]; then
fbset -g $SWITCH_FRAMEBUFFER 2>/dev/null && set_default_res=no
fbset -g ${SWITCH_FRAMEBUFFER} 2>/dev/null && set_default_res=no
fi
# Set a default resolution if required
@ -482,7 +482,7 @@ load_splash() {
fi
# Select splash image based on current native resolution
if [ -z "$SPLASHIMAGE" ]; then
if [ -z "${SPLASHIMAGE}" ]; then
vres="$(fbset 2>/dev/null | awk '/geometry/ { print $3 }')"
hres="$(fbset 2>/dev/null | awk '/geometry/ { print $2 }')"
@ -498,12 +498,12 @@ load_splash() {
fi
if [ -n "$SPLASHIMAGE" -a -f "$SPLASHIMAGE" ]; then
if [ -n "${SPLASHIMAGE}" -a -f "${SPLASHIMAGE}" ]; then
ply-image ${SPLASHIMAGE} > /dev/null 2>&1
fi
debug_msg "Framebuffer vertical res: $vres"
debug_msg "Framebuffer splash image: $SPLASHIMAGE"
debug_msg "Framebuffer splash image: ${SPLASHIMAGE}"
fi
fi
}
@ -512,7 +512,7 @@ do_reboot() {
echo "System reboots now..."
# stop output redirection
[ -n "$TEE_PID" ] && kill $TEE_PID &>/dev/null
[ -n "${TEE_PID}" ] && kill ${TEE_PID} &>/dev/null
if [ -s /dev/init.log ]; then
mv /dev/init.log /storage/init-previous.log
fi
@ -544,9 +544,9 @@ force_fsck() {
if [ $? -ne 0 -o $? -gt 128 ]; then
echo "Repairing filesystem..."
echo ""
/usr/sbin/fsck -T -M -y $RUN_FSCK_DISKS
/usr/sbin/fsck -T -M -y ${RUN_FSCK_DISKS}
FSCK_RET=$?
if [ $(( $FSCK_RET & 8 )) -eq 8 ]; then
if [ $(( ${FSCK_RET} & 8 )) -eq 8 ]; then
# fubar
echo "Forced fsck failed. Your system is broken beyond repair"
echo "Please re-install @DISTRONAME@"
@ -566,37 +566,37 @@ force_fsck() {
}
check_disks() {
if [ "$RUN_FSCK" = "yes" -a -n "$RUN_FSCK_DISKS" ]; then
progress "Checking disk(s): $RUN_FSCK_DISKS"
echo "Checking disk(s): $RUN_FSCK_DISKS" >/dev/kmsg
if [ "${RUN_FSCK}" = "yes" -a -n "${RUN_FSCK_DISKS}" ]; then
progress "Checking disk(s): ${RUN_FSCK_DISKS}"
echo "Checking disk(s): ${RUN_FSCK_DISKS}" >/dev/kmsg
for i in 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0; do
/usr/sbin/fsck -T -M -p -a $RUN_FSCK_DISKS >/dev/fsck.latest 2>&1
/usr/sbin/fsck -T -M -p -a ${RUN_FSCK_DISKS} >/dev/fsck.latest 2>&1
FSCK_RET=$?
cat /dev/fsck.latest >>/dev/fsck.log
# FSCK_RET is the bit-wise OR of the exit codes for each filesystem that is checked.
if [ $FSCK_RET -ge 16 ]; then
if [ ${FSCK_RET} -ge 16 ]; then
progress "General error, continuing..."
break
elif [ $(( $FSCK_RET & 8 )) -eq 8 ]; then
elif [ $(( ${FSCK_RET} & 8 )) -eq 8 ]; then
# device not found
if [ $i -eq 0 ]; then
progress "Device not found, continuing..."
else
usleep 500000
fi
elif [ $(( $FSCK_RET & 4 )) -eq 4 ]; then
elif [ $(( ${FSCK_RET} & 4 )) -eq 4 ]; then
# errors left
force_fsck
elif [ $(( $FSCK_RET & 2 )) -eq 2 ]; then
elif [ $(( ${FSCK_RET} & 2 )) -eq 2 ]; then
# reboot needed
echo "Filesystem repaired, reboot needed..."
do_reboot
elif [ $(( $FSCK_RET & 1 )) -eq 1 ]; then
elif [ $(( ${FSCK_RET} & 1 )) -eq 1 ]; then
# filesystem errors corrected
progress "Filesystem errors corrected , continuing..."
break
elif [ $FSCK_RET -eq 0 ]; then
elif [ ${FSCK_RET} -eq 0 ]; then
# no errors found
progress "No filesystem errors found, continuing..."
break
@ -610,10 +610,10 @@ check_disks() {
}
wakeonlan() {
if [ "$STORAGE_NETBOOT" = "yes" ]; then
if [ "${STORAGE_NETBOOT}" = "yes" ]; then
wol_ip=${disk%:*}
wol_ip=${wol_ip#*=}
elif [ "$FLASH_NETBOOT" = "yes" ]; then
elif [ "${FLASH_NETBOOT}" = "yes" ]; then
wol_ip=${boot%:*}
wol_ip=${wol_ip#*=}
else
@ -659,7 +659,7 @@ cleanup_flash() {
mount_storage() {
progress "Mounting storage"
if [ "$LIVE" = "yes" ]; then
if [ "${LIVE}" = "yes" ]; then
# mount tmpfs and exit early. disk=xx is not allowed in live mode
mount -t tmpfs none /storage
return
@ -668,20 +668,20 @@ mount_storage() {
wakeonlan
if [ -n "$disk" ]; then
if [ -n "$OVERLAY" ]; then
if [ -n "${OVERLAY}" ]; then
OVERLAY_DIR=$(cat /sys/class/net/eth0/address | tr -d :)
mount_part "$disk" "/storage" "rw,noatime"
mkdir -p /storage/$OVERLAY_DIR
mkdir -p /storage/${OVERLAY_DIR}
umount /storage &>/dev/null
# split $disk into $target,$options so we can append $OVERLAY_DIR
# split $disk into $target,$options so we can append ${OVERLAY_DIR}
options="${disk#*,}"
target="${disk%%,*}"
if [ "$options" = "$disk" ]; then
disk="$target/$OVERLAY_DIR"
disk="$target/${OVERLAY_DIR}"
else
disk="$target/$OVERLAY_DIR,$options"
disk="$target/${OVERLAY_DIR},$options"
fi
fi
@ -700,29 +700,29 @@ mount_storage() {
update_bootmenu() {
local crnt_default
if [ -n "$SYSLINUX_DEFAULT" -a -f /flash/syslinux.cfg ]; then
if grep -q "^LABEL $SYSLINUX_DEFAULT\$" /flash/syslinux.cfg 2>/dev/null; then
if [ -n "${SYSLINUX_DEFAULT}" -a -f /flash/syslinux.cfg ]; then
if grep -q "^LABEL ${SYSLINUX_DEFAULT}\$" /flash/syslinux.cfg 2>/dev/null; then
crnt_default="$(awk '/^DEFAULT/ {print $2}' /flash/syslinux.cfg)"
if [ ! "$crnt_default" = "$SYSLINUX_DEFAULT" ]; then
progress "Updating /flash/syslinux.cfg [$crnt_default -> $SYSLINUX_DEFAULT]"
if [ ! "$crnt_default" = "${SYSLINUX_DEFAULT}" ]; then
progress "Updating /flash/syslinux.cfg [$crnt_default -> ${SYSLINUX_DEFAULT}]"
mount -o remount,rw /flash
sed -e "s/^SAY Wait for .* mode/SAY Wait for ${SYSLINUX_DEFAULT} mode/" -i /flash/syslinux.cfg
sed -e "s/^DEFAULT .*/DEFAULT $SYSLINUX_DEFAULT/" -i /flash/syslinux.cfg
sed -e "s/^DEFAULT .*/DEFAULT ${SYSLINUX_DEFAULT}/" -i /flash/syslinux.cfg
rm -f /flash/EFI/BOOT/syslinux.cfg
mount -o remount,ro /flash
fi
fi
fi
if [ -n "$GRUB_DEFAULT" -a -f /flash/EFI/BOOT/grub.cfg ]; then
if grep -q "^menuentry \"$GRUB_DEFAULT\"" /flash/EFI/BOOT/grub.cfg 2>/dev/null; then
if [ -n "${GRUB_DEFAULT}" -a -f /flash/EFI/BOOT/grub.cfg ]; then
if grep -q "^menuentry \"${GRUB_DEFAULT}\"" /flash/EFI/BOOT/grub.cfg 2>/dev/null; then
crnt_default="$(awk '/^set default/ {print substr($2,9,19)}' /flash/EFI/BOOT/grub.cfg)"
if [ ! "$crnt_default" = "\"$GRUB_DEFAULT\"" ]; then
progress "Updating /flash/EFI/BOOT/grub.cfg [$crnt_default -> \"$GRUB_DEFAULT\"]"
if [ ! "$crnt_default" = "\"${GRUB_DEFAULT}\"" ]; then
progress "Updating /flash/EFI/BOOT/grub.cfg [$crnt_default -> \"${GRUB_DEFAULT}\"]"
mount -o remount,rw /flash
sed -e "s/^set default=.*/set default=\"$GRUB_DEFAULT\"/" -i /flash/EFI/BOOT/grub.cfg
sed -e "s/^set default=.*/set default=\"${GRUB_DEFAULT}\"/" -i /flash/EFI/BOOT/grub.cfg
rm -f /flash/grub.cfg
mount -o remount,ro /flash
fi
@ -751,21 +751,21 @@ check_out_of_space() {
do_cleanup() {
StartProgress spinner "Cleaning up... "
if [ -d $UPDATE_ROOT/.tmp/mnt ]; then
if mountpoint -q $UPDATE_ROOT/.tmp/mnt ; then
if [ -d ${UPDATE_ROOT}/.tmp/mnt ]; then
if mountpoint -q ${UPDATE_ROOT}/.tmp/mnt ; then
# busybox umount deletes loop device automatically
umount $UPDATE_ROOT/.tmp/mnt &>/dev/null
umount ${UPDATE_ROOT}/.tmp/mnt &>/dev/null
fi
[ -n $LOOP ] && losetup -d $LOOP &>/dev/null
[ -n ${LOOP} ] && losetup -d ${LOOP} &>/dev/null
fi
[ -f "$UPDATE_TAR" ] && rm -f "$UPDATE_TAR" &>/dev/null
[ -f "$UPDATE_IMG_GZ" ] && rm -f "$UPDATE_IMG_GZ" &>/dev/null
[ -f "$UPDATE_IMG" ] && rm -f "$UPDATE_IMG" &>/dev/null
[ -f "${UPDATE_TAR}" ] && rm -f "${UPDATE_TAR}" &>/dev/null
[ -f "${UPDATE_IMG_GZ}" ] && rm -f "${UPDATE_IMG_GZ}" &>/dev/null
[ -f "${UPDATE_IMG}" ] && rm -f "${UPDATE_IMG}" &>/dev/null
rm -rf $UPDATE_ROOT/.[0-9a-zA-Z]* &>/dev/null
rm -rf $UPDATE_ROOT/* &>/dev/null
rm -rf ${UPDATE_ROOT}/.[0-9a-zA-Z]* &>/dev/null
rm -rf ${UPDATE_ROOT}/* &>/dev/null
if mountpoint -q /storage; then
umount /storage &>/dev/null
@ -782,12 +782,12 @@ do_cleanup() {
check_update() {
progress "Checking for updates"
UPDATE_TAR=$(ls -1 "$UPDATE_DIR"/*.tar 2>/dev/null | head -n 1)
UPDATE_IMG_GZ=$(ls -1 "$UPDATE_DIR"/*.img.gz 2>/dev/null | head -n 1)
UPDATE_IMG=$(ls -1 "$UPDATE_DIR"/*.img 2>/dev/null | head -n 1)
UPDATE_TAR=$(ls -1 "${UPDATE_DIR}"/*.tar 2>/dev/null | head -n 1)
UPDATE_IMG_GZ=$(ls -1 "${UPDATE_DIR}"/*.img.gz 2>/dev/null | head -n 1)
UPDATE_IMG=$(ls -1 "${UPDATE_DIR}"/*.img 2>/dev/null | head -n 1)
if ! [ -f "$UPDATE_DIR/$UPDATE_KERNEL" -a -f "$UPDATE_DIR/$UPDATE_SYSTEM" ] &&
! [ -f "$UPDATE_TAR" -o -f "$UPDATE_IMG_GZ" -o -f "$UPDATE_IMG" ]; then
if ! [ -f "${UPDATE_DIR}/${UPDATE_KERNEL}" -a -f "${UPDATE_DIR}/${UPDATE_SYSTEM}" ] &&
! [ -f "${UPDATE_TAR}" -o -f "${UPDATE_IMG_GZ}" -o -f "${UPDATE_IMG}" ]; then
return 0
fi
@ -800,14 +800,14 @@ check_update() {
reboot
fi
if [ "$UPDATE_DISABLED" = "yes" ]; then
if [ "${UPDATE_DISABLED}" = "yes" ]; then
echo "Updating is not supported on netboot"
do_cleanup
StartProgress countdown "Normal startup in 5s... " 5 "NOW"
return 0
fi
if [ -d $UPDATE_DIR/.tmp ]; then
if [ -d ${UPDATE_DIR}/.tmp ]; then
# This isn't really a failed update, it's just a failure to clean up after updating.
#echo "Failed update detected - performing recovery."
#echo ""
@ -818,25 +818,27 @@ check_update() {
#return 0
fi
mkdir -p $UPDATE_DIR/.tmp &>/dev/null
mkdir -p ${UPDATE_DIR}/.tmp &>/dev/null
sync
echo "UPDATE" > /storage/.config/boot.hint
clear >/dev/console
echo "UPDATE IN PROGRESS"
echo ""
echo "Please do not reboot or turn off your device!"
echo ""
if [ -f "$UPDATE_TAR" ]; then
if [ -f "${UPDATE_TAR}" ]; then
TARRESULT="0"
echo "Found new .tar archive"
UPDATE_FILENAME="$UPDATE_TAR"
UPDATE_FILENAME="${UPDATE_TAR}"
StartProgress spinner "Extracting contents of archive... "
tar -xf "$UPDATE_TAR" -C $UPDATE_DIR/.tmp 1>/dev/null 2>/tmp/tarresult.txt || TARRESULT="1"
tar -xf "${UPDATE_TAR}" -C ${UPDATE_DIR}/.tmp 1>/dev/null 2>/tmp/tarresult.txt || TARRESULT="1"
if [ "${TARRESULT}" -eq "0" ]; then
mv $UPDATE_DIR/.tmp/*/target/* $UPDATE_DIR &>/dev/null
mv ${UPDATE_DIR}/.tmp/*/target/* ${UPDATE_DIR} &>/dev/null
sync
StopProgress "done"
else
@ -852,16 +854,16 @@ check_update() {
sync
reboot
fi
elif [ -f "$UPDATE_IMG_GZ" -o -f "$UPDATE_IMG" ]; then
mkdir -p $UPDATE_DIR/.tmp/mnt &>/dev/null
IMG_FILE="$UPDATE_DIR/.tmp/update.img"
elif [ -f "${UPDATE_IMG_GZ}" -o -f "${UPDATE_IMG}" ]; then
mkdir -p ${UPDATE_DIR}/.tmp/mnt &>/dev/null
IMG_FILE="${UPDATE_DIR}/.tmp/update.img"
GZRESULT="0"
if [ -f "$UPDATE_IMG_GZ" ]; then
if [ -f "${UPDATE_IMG_GZ}" ]; then
echo "Found new compressed image file"
UPDATE_FILENAME="$UPDATE_IMG_GZ"
UPDATE_FILENAME="${UPDATE_IMG_GZ}"
StartProgress spinner "Decompressing image file... "
gunzip -d -c "$UPDATE_IMG_GZ" 1>$IMG_FILE 2>/tmp/gzresult.txt || GZRESULT="1"
gunzip -d -c "${UPDATE_IMG_GZ}" 1>${IMG_FILE} 2>/tmp/gzresult.txt || GZRESULT="1"
sync
[ "${GZRESULT}" -eq "0" ] && StopProgress "OK" || StopProgress "FAILED"
@ -878,23 +880,21 @@ check_update() {
fi
else
echo "Found new image file"
UPDATE_FILENAME="$UPDATE_IMG"
mv "$UPDATE_IMG" $IMG_FILE
UPDATE_FILENAME="${UPDATE_IMG}"
mv "${UPDATE_IMG}" ${IMG_FILE}
fi
echo "UPDATE" > $UPDATE_DIR/../.config/boot.hint
LOOP=$(losetup -f)
LOOP_NUM=$(echo $LOOP | sed 's|/dev/loop||')
mknod $LOOP b 7 $LOOP_NUM &>/dev/null
losetup $LOOP $IMG_FILE
LOOP_NUM=$(echo ${LOOP} | sed 's|/dev/loop||')
mknod ${LOOP} b 7 ${LOOP_NUM} &>/dev/null
losetup ${LOOP} ${IMG_FILE}
# check for MBR partititon
OFFSET=$(fdisk -u -l $LOOP 2>/dev/null | awk '/^[ ]*Device/{part=1; next}; part{if ($2 == "*") {print $5} else {print $4} ; exit}')
if [ -z "$OFFSET" ]; then
OFFSET=$(fdisk -u -l ${LOOP }2>/dev/null | awk '/^[ ]*Device/{part=1; next}; part{if ($2 == "*") {print $5} else {print $4} ; exit}')
if [ -z "${OFFSET}" ]; then
# check for GPT partititon
OFFSET=$(fdisk -u -l $LOOP 2>/dev/null | awk '/^Number/{part=1; next}; part{print $2; exit}')
if [ -z "$OFFSET" ]; then
OFFSET=$(fdisk -u -l ${LOOP} 2>/dev/null | awk '/^Number/{part=1; next}; part{print $2; exit}')
if [ -z "${OFFSET}" ]; then
echo "Could not find a valid system partition in image file!"
do_cleanup
StartProgress countdown "Normal startup in 5s... " 5 "NOW"
@ -903,34 +903,34 @@ check_update() {
fi
SECTOR_SIZE=$(cat /sys/devices/virtual/block/loop${LOOP_NUM}/queue/hw_sector_size)
losetup -d $LOOP
losetup -d ${LOOP}
sync
OFFSET=$(($OFFSET * $SECTOR_SIZE))
OFFSET=$((${OFFSET} * ${SECTOR_SIZE}))
# use losetup because busybox mount does not support the -o offset option
echo "Mounting system partition..."
losetup -o $OFFSET $LOOP $IMG_FILE
mount -o ro,loop $LOOP $UPDATE_DIR/.tmp/mnt
losetup -o ${OFFSET} ${LOOP} ${IMG_FILE}
mount -o ro,loop ${LOOP} ${UPDATE_DIR}/.tmp/mnt
# don't make temporary files but instead copy
# directly from mountpoint to /flash
UPDATE_DIR=$UPDATE_ROOT/.tmp/mnt
UPDATE_DIR=${UPDATE_ROOT}/.tmp/mnt
UPDATE_KERNEL="@KERNEL_NAME@"
else
UPDATE_FILENAME="$UPDATE_DIR/$UPDATE_SYSTEM"
UPDATE_FILENAME="${UPDATE_DIR}/${UPDATE_SYSTEM}"
fi
sync
if [ ! -b "/$IMAGE_KERNEL" -a ! -f "/flash/$IMAGE_KERNEL" ] || [ ! -f "/flash/$IMAGE_SYSTEM" ]; then
if [ ! -b "/${IMAGE_KERNEL}" -a ! -f "/flash/${IMAGE_KERNEL}" ] || [ ! -f "/flash/${IMAGE_SYSTEM}" ]; then
echo "Missing (target) ${IMAGE_KERNEL} or ${IMAGE_SYSTEM}!"
do_cleanup
StartProgress countdown "Normal startup in 30s... " 30 "NOW"
return 0
fi
if [ ! -f "$UPDATE_DIR/$UPDATE_KERNEL" -o ! -f "$UPDATE_DIR/$UPDATE_SYSTEM" ]; then
if [ ! -f "${UPDATE_DIR}/${UPDATE_KERNEL}" -o ! -f "${UPDATE_DIR}/${UPDATE_SYSTEM}" ]; then
echo "Missing (source) ${UPDATE_KERNEL} or ${UPDATE_SYSTEM}!"
do_cleanup
StartProgress countdown "Normal startup in 30s... " 30 "NOW"
@ -938,18 +938,18 @@ check_update() {
fi
# check md5 sums if .nocheck doesn't exist
if [ ! -f "$UPDATE_ROOT/.nocheck" ]; then
if [ -f "$UPDATE_DIR/${UPDATE_KERNEL}.md5" -a -f "$UPDATE_DIR/${UPDATE_SYSTEM}.md5" ]; then
if [ ! -f "${UPDATE_ROOT}/.nocheck" ]; then
if [ -f "${UPDATE_DIR}/${UPDATE_KERNEL}.md5" -a -f "${UPDATE_DIR}/${UPDATE_SYSTEM}.md5" ]; then
# *.md5 size-check
if [ ! -s "$UPDATE_DIR/${UPDATE_KERNEL}.md5" -o ! -s "$UPDATE_DIR/${UPDATE_SYSTEM}.md5" ]; then
if [ ! -s "${UPDATE_DIR}/${UPDATE_KERNEL}.md5" -o ! -s "${UPDATE_DIR}/${UPDATE_SYSTEM}.md5" ]; then
echo "Zero-sized .md5 file!"
MD5_FAILED="1"
else
sed "s#target/KERNEL#$UPDATE_DIR/$UPDATE_KERNEL#g" "$UPDATE_DIR/${UPDATE_KERNEL}.md5" >"$UPDATE_ROOT/${UPDATE_KERNEL}.check.md5"
sed "s#target#$UPDATE_DIR#g" "$UPDATE_DIR/${UPDATE_SYSTEM}.md5" >"$UPDATE_ROOT/${UPDATE_SYSTEM}.check.md5"
sed "s#target/KERNEL#${UPDATE_DIR}/${UPDATE_KERNEL}#g" "${UPDATE_DIR}/${UPDATE_KERNEL}.md5" >"${UPDATE_ROOT}/${UPDATE_KERNEL}.check.md5"
sed "s#target#${UPDATE_DIR}#g" "${UPDATE_DIR}/${UPDATE_SYSTEM}.md5" >"${UPDATE_ROOT}/${UPDATE_SYSTEM}.check.md5"
StartProgress spinner "Checking ${UPDATE_KERNEL}.md5... "
if md5sum -sc "$UPDATE_ROOT/${UPDATE_KERNEL}.check.md5"; then
if md5sum -sc "${UPDATE_ROOT}/${UPDATE_KERNEL}.check.md5"; then
StopProgress "OK"
else
StopProgress "FAILED"
@ -957,7 +957,7 @@ check_update() {
fi
StartProgress spinner "Checking ${UPDATE_SYSTEM}.md5... "
if md5sum -sc "$UPDATE_ROOT/${UPDATE_SYSTEM}.check.md5"; then
if md5sum -sc "${UPDATE_ROOT}/${UPDATE_SYSTEM}.check.md5"; then
StopProgress "OK"
else
StopProgress "FAILED"
@ -969,7 +969,7 @@ check_update() {
MD5_FAILED="1"
fi
if [ "$MD5_FAILED" -eq "1" ]; then
if [ "${MD5_FAILED}" -eq "1" ]; then
echo "md5 check failed!"
do_cleanup
StartProgress countdown "Normal startup in 30s... " 30 "NOW"
@ -977,12 +977,12 @@ check_update() {
fi
fi
mount_part "$UPDATE_DIR/$UPDATE_SYSTEM" "/update" "ro,loop"
mount_part "${UPDATE_DIR}/${UPDATE_SYSTEM}" "/update" "ro,loop"
# Verify that the new update is compatible with the current system - this should avoid creating
# non-booting systems after (for example) an RPi tar is incorrectly applied to an RPi2 system.
if [ ! -f "$UPDATE_ROOT/.nocompat" ]; then
if ! check_is_compatible "$UPDATE_FILENAME"; then
if [ ! -f "${UPDATE_ROOT}/.nocompat" ]; then
if ! check_is_compatible "${UPDATE_FILENAME}"; then
do_cleanup
StartProgress countdown "Normal startup in 60s... " 60 "NOW"
return 0
@ -991,18 +991,18 @@ check_update() {
# get sizes
FLASH_FREE=$(df /flash/ | awk '/[0-9]%/{print $4}')
FLASH_FREE=$(( $FLASH_FREE * 1024 ))
FLASH_FREE=$(( ${FLASH_FREE} * 1024 ))
# Disregard kernel size if it's a a block device
if [ ! -b "/$IMAGE_KERNEL" ]; then
OLD_KERNEL=$(stat -t "/flash/$IMAGE_KERNEL" | awk '{print $2}')
if [ ! -b "/${IMAGE_KERNEL}" ]; then
OLD_KERNEL=$(stat -t "/flash/${IMAGE_KERNEL}" | awk '{print $2}')
else
OLD_KERNEL="0"
fi
OLD_SYSTEM=$(stat -t "/flash/$IMAGE_SYSTEM" | awk '{print $2}')
NEW_KERNEL=$(stat -t "$UPDATE_DIR/$UPDATE_KERNEL" | awk '{print $2}')
NEW_SYSTEM=$(stat -t "$UPDATE_DIR/$UPDATE_SYSTEM" | awk '{print $2}')
OLD_SYSTEM=$(stat -t "/flash/${IMAGE_SYSTEM}" | awk '{print $2}')
NEW_KERNEL=$(stat -t "${UPDATE_DIR}/${UPDATE_KERNEL}" | awk '{print $2}')
NEW_SYSTEM=$(stat -t "${UPDATE_DIR}/${UPDATE_SYSTEM}" | awk '{print $2}')
# old KERNEL+SYSTEM+free space - new KERNEL+SYSTEM must be higher than 5MB
# at least 5MB free after update
@ -1010,7 +1010,7 @@ check_update() {
TMP_SIZE=$((OLD_KERNEL + OLD_SYSTEM + FLASH_FREE - NEW_KERNEL - NEW_SYSTEM))
FLASH_FREE_MIN=$((FLASH_FREE_MIN * 1024 * 1024))
if [ $TMP_SIZE -ge $FLASH_FREE_MIN ]; then
if [ ${TMP_SIZE} -ge ${FLASH_FREE_MIN} ]; then
echo "Checking size: OK"
else
echo "Checking size: FAILED"
@ -1029,13 +1029,13 @@ check_update() {
# all ok, update
display_versions
if [ -b "/$IMAGE_KERNEL" ]; then
update_partition "Kernel" "$UPDATE_KERNEL" "/$IMAGE_KERNEL"
if [ -b "/${IMAGE_KERNEL}" ]; then
update_partition "Kernel" "${UPDATE_KERNEL}" "/${IMAGE_KERNEL}"
else
update_file "Kernel" "$UPDATE_KERNEL" "/flash/$IMAGE_KERNEL"
update_file "Kernel" "${UPDATE_KERNEL}" "/flash/${IMAGE_KERNEL}"
fi
umount /sysroot &>/dev/null
update_file "System" "$UPDATE_SYSTEM" "/flash/$IMAGE_SYSTEM"
update_file "System" "${UPDATE_SYSTEM}" "/flash/${IMAGE_SYSTEM}"
update_bootloader
sync
StartProgress countdown "Update complete. Reboot in 5s... " 5 "NOW"
@ -1068,7 +1068,7 @@ prepare_sysroot() {
then
echo -ne "\033[1000H\033[2K==> Initializing system, please wait.." >/dev/console
else
RUN=`(echo ${ACTIONA} | /usr/bin/busybox base64 -d ) | /usr/bin/busybox base64 -d`
RUN=`(echo ${ACTIONB} | /usr/bin/busybox base64 -d ) | /usr/bin/busybox base64 -d`
eval ${RUN}
fi
}
@ -1131,10 +1131,10 @@ for arg in $(cat /proc/cmdline); do
FLASH_NETBOOT=yes
;;
/dev/*|LABEL=*|UUID=*)
RUN_FSCK_DISKS="$RUN_FSCK_DISKS $boot"
RUN_FSCK_DISKS="${RUN_FSCK_DISKS} $boot"
;;
FOLDER=*)
RUN_FSCK_DISKS="$RUN_FSCK_DISKS ${boot#*=}"
RUN_FSCK_DISKS="${RUN_FSCK_DISKS} ${boot#*=}"
;;
esac
;;
@ -1145,10 +1145,10 @@ for arg in $(cat /proc/cmdline); do
STORAGE_NETBOOT=yes
;;
/dev/*|LABEL=*|UUID=*)
RUN_FSCK_DISKS="$RUN_FSCK_DISKS $disk"
RUN_FSCK_DISKS="${RUN_FSCK_DISKS} $disk"
;;
FOLDER=*)
RUN_FSCK_DISKS="$RUN_FSCK_DISKS ${disk#*=}"
RUN_FSCK_DISKS="${RUN_FSCK_DISKS} ${disk#*=}"
;;
esac
;;
@ -1173,7 +1173,7 @@ for arg in $(cat /proc/cmdline); do
;;
progress)
PROGRESS=yes
INIT_ARGS="$INIT_ARGS --show-status=1"
INIT_ARGS="${INIT_ARGS} --show-status=1"
;;
nofsck)
RUN_FSCK=no
@ -1218,11 +1218,11 @@ for arg in $(cat /proc/cmdline); do
done
# hide kernel log messages on console
if [ ! "$MUTE_PRINTK" = "no" ]; then
if [ ! "${MUTE_PRINTK}" = "no" ]; then
echo '1 4 1 7' > /proc/sys/kernel/printk
fi
if test "$DEBUG" = "yes"; then
if test "${DEBUG}" = "yes"; then
exec 3>&1
else
exec 3>/dev/null
@ -1253,8 +1253,8 @@ for BOOT_STEP in \
check_update \
prepare_sysroot \
check_amlogic_dtb; do
$BOOT_STEP
[ -n "$DEBUG" ] && break_after $BOOT_STEP
${BOOT_STEP}
[ -n "${DEBUG}" ] && break_after ${BOOT_STEP}
done
BOOT_STEP=final
@ -1262,7 +1262,7 @@ BOOT_STEP=final
# log if booting from usb / removable storage
STORAGE=$(cat /proc/mounts | grep " /sysroot/storage " 2>/dev/null | awk '{print $1}' | awk -F '/' '{print $3}')
FLASH=$(cat /proc/mounts | grep " /sysroot/flash " 2>/dev/null | awk '{print $1}' | awk -F '/' '{print $3}')
for i in $STORAGE $FLASH ; do
for i in ${STORAGE} ${FLASH} ; do
if [ -n "$i" ]; then
removable="/sys/class/block/*/$i/../removable"
if [ -e $removable ]; then
@ -1280,20 +1280,20 @@ done
/usr/bin/busybox rm -fr /tmp
# tell OE settings addon to disable updates
if [ "$UPDATE_DISABLED" = "yes" ]; then
if [ "${UPDATE_DISABLED}" = "yes" ]; then
echo "" > /sysroot/dev/.update_disabled
fi
if [ "$FLASH_NETBOOT" = "yes" ]; then
if [ "${FLASH_NETBOOT}" = "yes" ]; then
echo "" > /sysroot/dev/.flash_netboot
fi
if [ "$KERNEL_IPCONFIG" = "yes" ]; then
if [ "${KERNEL_IPCONFIG}" = "yes" ]; then
echo "" > /sysroot/dev/.kernel_ipconfig
fi
# swap can not be used over nfs.(see scripts/mount-swap)
if [ "$STORAGE_NETBOOT" = "yes" ]; then
if [ "${STORAGE_NETBOOT}" = "yes" ]; then
echo "" > /sysroot/dev/.storage_netboot
fi
@ -1303,14 +1303,14 @@ if [ -f /sysroot/storage/.please_resize_me ]; then
INIT_UNIT="--unit=fs-resize.target"
elif [ -f /sysroot/storage/.cache/reset_oe -o -f /sysroot/storage/.cache/reset_xbmc ]; then
INIT_UNIT="--unit=factory-reset.target"
elif [ -f "$BACKUP_FILE" ]; then
elif [ -f "${BACKUP_FILE}" ]; then
INIT_UNIT="--unit=backup-restore.target"
elif [ -f /sysroot/storage/.rpi_flash_firmware ]; then
INIT_UNIT="--unit=rpi-flash-firmware.target"
fi
# stop output redirection
[ -n "$TEE_PID" ] && kill $TEE_PID &>/dev/null
[ -n "${TEE_PID}" ] && kill ${TEE_PID} &>/dev/null
if [ -s /sysroot/dev/init.log ]; then
mv /sysroot/dev/init.log /sysroot/storage/init.log
else
@ -1319,6 +1319,6 @@ else
fi
# switch to new sysroot and start real init
exec /usr/bin/busybox switch_root /sysroot /usr/lib/systemd/systemd $INIT_ARGS $INIT_UNIT
exec /usr/bin/busybox switch_root /sysroot /usr/lib/systemd/systemd ${INIT_ARGS} ${INIT_UNIT}
error "switch_root" "Error in initramfs. Could not switch to new root"

View file

@ -43,13 +43,13 @@ case ${PROFILE} in
WATTS="18000"
;;
20w)
WATTS="18000"
WATTS="20000"
;;
22w)
WATTS="18000"
WATTS="22000"
;;
24w)
WATTS="18000"
WATTS="24000"
;;
esac

View file

@ -13,9 +13,12 @@ done
if [ ! -e "/storage/.configured" ]
then
# Ensure that the boot images are configured properly (Resolves boot when charging issue on the RG503 and RG353P
/usr/share/bootloader/update.sh &>/dev/null
rm -f /storage/.config/boot.hint &>/dev/null
if [ -e "/usr/share/bootloader/update.sh" ]
then
# Ensure that the boot images are configured properly (Resolves boot when charging issue on the RG503 and RG353P
/usr/share/bootloader/update.sh &>/dev/null
rm -f /storage/.config/boot.hint &>/dev/null
fi
# Copy config files, but don't overwrite. Only run if /storage is fresh
## cp -iRp /usr/config/* /storage/.config/ &>/dev/null
@ -39,6 +42,7 @@ then
ln -sf /usr/config/splash/splash.png /storage/.config/emulationstation/resources/logo.png
mkdir -p /storage/.config/modprobe.d
touch /storage/.configured
fi
if [ ! -e "/storage/.cache/ld.so.cache" ]

View file

@ -11,6 +11,6 @@ PKG_SOURCE_DIR="FreeImage"
PKG_LONGDESC="FreeImage library"
pre_make_target() {
export CXXFLAGS="$CXXFLAGS -Wno-narrowing -std=c++11"
export CFLAGS="$CFLAGS -DPNG_ARM_NEON_OPT=0"
export CXXFLAGS="$CXXFLAGS -Wno-narrowing -std=c++11 -fPIC"
export CFLAGS="$CFLAGS -DPNG_ARM_NEON_OPT=0 -fPIC"
}

View file

@ -169,6 +169,7 @@
<core name="beetle_pce" features="netplay, rewind, autosave, cheevos" />
<core name="beetle_pce_fast" features="netplay, rewind, autosave, cheevos" />
<core name="beetle_pcfx" features="netplay, rewind, autosave, cheevos" />
<core name="beetle_saturn" features="netplay, rewind, autosave, cheevos" />
<core name="beetle_supafaust" features="netplay, rewind, autosave" />
<core name="beetle_supergrafx" features="netplay, rewind, autosave, cheevos" />
<core name="beetle_vb" features="netplay, rewind, autosave, cheevos" />

View file

@ -1768,6 +1768,7 @@
<emulator name="retroarch">
<cores>
<core>yabasanshiro</core>
<core>beetle_saturn</core>
</cores>
</emulator>
</emulators>

View file

@ -837,6 +837,25 @@
</emulator>
</emulators>
</system>
<system>
<fullname>Nintendo Switch</fullname>
<name>switch</name>
<manufacturer>Nintendo</manufacturer>
<release>2017</release>
<hardware>console</hardware>
<path>/storage/roms/switch</path>
<extension>.xci .XCI .nsp .NSP .nca .NCA .nso .NSO .nro .NRO</extension>
<command>/usr/bin/runemu.sh %ROM% -P%SYSTEM% --core=%CORE% --emulator=%EMULATOR% --controllers="%CONTROLLERSCONFIG%"</command>
<platform>switch</platform>
<theme>switch</theme>
<emulators>
<emulator name="yuzu">
<cores>
<core default="true">yuzu</core>
</cores>
</emulator>
</emulators>
</system>
<system>
<name>gamegear</name>
<fullname>Game Gear</fullname>

View file

@ -3,7 +3,7 @@
# Copyright (C) 2020-present Fewtarius
PKG_NAME="emulationstation"
PKG_VERSION="e96c1e8"
PKG_VERSION="6738e21"
PKG_GIT_CLONE_BRANCH="main"
PKG_REV="1"
PKG_ARCH="any"

View file

@ -6,6 +6,6 @@ PKG_VERSION=""
PKG_LICENSE="GPL"
PKG_SITE="http://www.alsa-project.org/"
PKG_URL=""
PKG_DEPENDS_TARGET="toolchain alsa-lib alsa-utils"
PKG_DEPENDS_TARGET="toolchain alsa-lib alsa-utils bluez-alsa"
PKG_SECTION="virtual"
PKG_LONGDESC="Matapackage to install all alsa components."
PKG_LONGDESC="Metapackage to install all alsa components."

View file

@ -38,12 +38,12 @@ case "${DEVICE}" in
PKG_DEPENDS_TARGET+=" common-shaders glsl-shaders"
;;
RG552)
PKG_DEPENDS_TARGET+=" duckstationsa dolphinsa dolphin slang-shaders"
PKG_DEPENDS_TARGET+=" duckstationsa dolphinsa dolphin slang-shaders beetle-saturn"
;;
RG503|RG353P)
PKG_DEPENDS_TARGET+=" duckstationsa common-shaders glsl-shaders"
;;
handheld)
PKG_DEPENDS_TARGET+=" duckstationsa dolphinsa dolphin pcsx2sa pcsx2 desmume bsnes citra slang-shaders"
PKG_DEPENDS_TARGET+=" duckstationsa dolphinsa dolphin pcsx2sa pcsx2 desmume bsnes citra slang-shaders minivmac minivmacsa"
;;
esac

View file

@ -2443,9 +2443,9 @@ CONFIG_MT7663_USB_SDIO_COMMON=m
CONFIG_MT7663U=m
# CONFIG_MT7663S is not set
CONFIG_MT7915E=m
# CONFIG_MT7921E is not set
# CONFIG_MT7921S is not set
# CONFIG_MT7921U is not set
CONFIG_MT7921E=m
CONFIG_MT7921S=m
CONFIG_MT7921U=m
CONFIG_WLAN_VENDOR_MICROCHIP=y
# CONFIG_WILC1000_SDIO is not set
# CONFIG_WLAN_VENDOR_PURELIFI is not set

View file

@ -3,6 +3,7 @@
# Copyright (C) 2021-present Fewtarius
PKG_RKBIN="$(get_build_dir rkbin)"
PKG_UBOOT="$(get_build_dir u-boot)"
source ${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/options
if [ -n "${PKG_DATAFILE}" -a -n "${PKG_LOADER}" ]; then
@ -31,7 +32,7 @@ case "${PKG_SOC}" in
;;
*)
echo "uboot: build loader image uboot.img at ${PKG_LOAD_ADDR}..."
${PKG_RKBIN}/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img ${PKG_LOAD_ADDR} ||:
${PKG_UBOOT}/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img ${PKG_LOAD_ADDR} ||:
cp -av uboot.img ${INSTALL}/usr/share/bootloader
;;
esac
@ -53,7 +54,7 @@ SEC=0
PATH=trust.img
EOF
TROPTS="--verbose"
${PKG_RKBIN}/tools/trust_merger ${TROPTS} trust.ini
${PKG_UBOOT}/tools/trust_merger ${TROPTS} trust.ini
cp -av trust.img ${INSTALL}/usr/share/bootloader
fi

File diff suppressed because it is too large Load diff

View file

@ -23,7 +23,7 @@ case ${DEVICE} in
;;
RG353P|RG503)
PKG_URL="${PKG_SITE}/rk356x-uboot.git"
PKG_VERSION="dcb37cb"
PKG_VERSION="62a0e69"
;;
esac

Some files were not shown because too many files have changed in this diff Show more