diff --git a/.github/workflows/build-dev.yaml b/.github/workflows/build-dev.yaml index a7c1cb289..2470653cd 100644 --- a/.github/workflows/build-dev.yaml +++ b/.github/workflows/build-dev.yaml @@ -52,96 +52,3 @@ jobs: run: | set -e CUSTOM_VERSION="${{ steps.version.outputs.version }}" DOCKER_WORK_DIR="/work" DOCKER_EXTRA_OPTS="-v /buildroot:/buildroot" PYTHON_EGG_CACHE="${DOCKER_WORK_DIR}/.egg_cache" make docker-world - - name: Create dev release as draft at first to hide during uploads - if: github.event.action == 'release-dev' - uses: ncipollo/release-action@v1 - with: - tag: "${{ steps.version.outputs.version }}" - body: | -         [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) - # - 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. - - ## Development Build Repository - This is a repository for JELOS development builds, these builds are unstable as they are intended for development use only. USE AT YOUR OWN RISK AND DO NOT REPORT ISSUES. - - ## 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. - - ### JELOS Branding - JELOS branding and images are licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/). - - #### You are free to - * Share — copy and redistribute the material in any medium or format - * Adapt — remix, transform, and build upon the material - - #### Under the following terms - * Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. - * NonCommercial — You may not use the material for commercial purposes. - * ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. - - ### JELOS Software - Copyright 2021-present Fewtarius - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - 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. - - ## Installation - * Download the latest version of JELOS 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. - - Download: [[Ayaneo Handhelds, Atari VCS, and other x86_64 devices](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.img.gz)] - - ## Upgrading - * Download and install the update online via the System Settings menu. - * If you are unable to update online - * Download the latest version of JELOS from Github - * 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: [[Ayaneo Handhelds, Atari VCS, and other x86_64 devices](https://github.com/JustEnoughLinuxOS/distribution-dev/releases/download/${{ steps.version.outputs.version }}/JELOS-handheld.x86_64-${{ steps.version.outputs.version }}.tar)] - - ## Documentation - * [Home](https://github.com/JustEnoughLinuxOS/distribution/wiki) - * [Donating to JELOS](https://github.com/JustEnoughLinuxOS/distribution/wiki/Donating-to-JELOS) - * [Frequently asked Questions](https://github.com/JustEnoughLinuxOS/distribution/wiki/Frequently-Asked-Questions) - * [HotKeys](https://github.com/JustEnoughLinuxOS/distribution/wiki/Hotkeys) - * [Emulators and Game Engines](https://github.com/JustEnoughLinuxOS/distribution/wiki/JELOS-emulators-and-game-engines) - * [Moonlight Game Streaming](https://github.com/JustEnoughLinuxOS/distribution/wiki/Moonlight-Game-Streaming) - * [Using Cloud Drives](https://github.com/JustEnoughLinuxOS/distribution/wiki/Using-Cloud-Drives) - * [Wireguard VPN](https://github.com/JustEnoughLinuxOS/distribution/wiki/WireGuard-VPN) - - ## Contributing - * [Developing and Building JELOS](https://github.com/JustEnoughLinuxOS/distribution/blob/dev/BUILDING.md) - - artifacts: "release/*" - prerelease: false - draft: true - token: ${{ secrets.REPO_ACCESS }} - owner: JustEnoughLinuxOS - repo: distribution-dev - - name: Switch draft to start showing release - if: github.event.action == 'release-dev' - uses: ncipollo/release-action@v1 - with: - tag: "${{ steps.version.outputs.version }}" - allowUpdates: true - draft: false - prerelease: false - token: ${{ secrets.REPO_ACCESS }} - owner: JustEnoughLinuxOS - repo: distribution-dev - omitBodyDuringUpdate: true - omitNameDuringUpdate: true - env: - GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }} diff --git a/README.md b/README.md index d1638f666..c5705b809 100644 --- a/README.md +++ b/README.md @@ -38,9 +38,7 @@ limitations under the License. * 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 +## Installation * JELOS includes an installation tool. The installation tool can be found in the tools menu. ## Upgrading diff --git a/packages/audio/bluez-alsa/package.mk b/packages/audio/bluez-alsa/package.mk index 167a59745..2e36a1b95 100644 --- a/packages/audio/bluez-alsa/package.mk +++ b/packages/audio/bluez-alsa/package.mk @@ -39,6 +39,6 @@ post_makeinstall_target() { } post_install() { - enable_service bluealsa.service + #enable_service bluealsa.service enable_service bluealsa-defaults.service } diff --git a/packages/compress/libarchive/package.mk b/packages/compress/libarchive/package.mk index 31e05445f..8212a3a7c 100644 --- a/packages/compress/libarchive/package.mk +++ b/packages/compress/libarchive/package.mk @@ -2,8 +2,8 @@ # Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv) PKG_NAME="libarchive" -PKG_VERSION="3.5.1" -PKG_SHA256="0e17d3a8d0b206018693b27f08029b598f6ef03600c2b5d10c94ce58692e299b" +PKG_VERSION="3.6.2" +PKG_SHA256="9e2c1b80d5fbe59b61308fdfab6c79b5021d7ff4ff2489fb12daf0a96a83551d" PKG_LICENSE="GPL" PKG_SITE="https://www.libarchive.org" PKG_URL="https://www.libarchive.org/downloads/${PKG_NAME}-${PKG_VERSION}.tar.xz" @@ -23,6 +23,6 @@ PKG_CMAKE_OPTS_TARGET="-DCMAKE_POSITION_INDEPENDENT_CODE=1 \ post_makeinstall_target() { rm -rf ${INSTALL} - # delete the shared library as we only want static - rm ${SYSROOT_PREFIX}/usr/lib/libarchive.so* + mkdir -p ${INSTALL}/usr/lib + cp -rf ${PKG_BUILD}/.${TARGET_NAME}/libarchive/libarchive.so* ${INSTALL}/usr/lib } diff --git a/packages/devel/qt5/package.mk b/packages/devel/qt5/package.mk index 4525f504f..4519fe977 100644 --- a/packages/devel/qt5/package.mk +++ b/packages/devel/qt5/package.mk @@ -143,6 +143,7 @@ pre_configure_target() { if [ ${ARCH} = "x86_64" ]; then PKG_CONFIGURE_OPTS_TARGET+=" -reduce-relocations" fi + export LDFLAGS="${LDFLAGS} -ljpeg" } configure_target() { diff --git a/packages/games/emulators/PPSSPPSDL/package.mk b/packages/games/emulators/PPSSPPSDL/package.mk index 609162730..f9298038d 100644 --- a/packages/games/emulators/PPSSPPSDL/package.mk +++ b/packages/games/emulators/PPSSPPSDL/package.mk @@ -20,7 +20,7 @@ case ${DEVICE} in PKG_URL="${PKG_SITE}.git" ;; *) - PKG_VERSION="555a5d45f71cde6dfcb017168b7f68f93372a4f0" + PKG_VERSION="ece6edfe83db1cc45fce5f760db9104440465b8a" PKG_SITE="https://github.com/hrydgard/ppsspp" PKG_URL="${PKG_SITE}.git" ;; diff --git a/packages/games/emulators/PPSSPPSDL/patches/ppsspp-patch-004-add-fps-limit.patch b/packages/games/emulators/PPSSPPSDL/patches/ppsspp-patch-004-add-fps-limit.patch deleted file mode 100644 index d0fb1babf..000000000 --- a/packages/games/emulators/PPSSPPSDL/patches/ppsspp-patch-004-add-fps-limit.patch +++ /dev/null @@ -1,120 +0,0 @@ -diff --git a/Core/Config.cpp b/Core/Config.cpp -index 4b75a46c5..051dd20cf 100644 ---- a/Core/Config.cpp -+++ b/Core/Config.cpp -@@ -898,6 +898,7 @@ static ConfigSetting graphicsSettings[] = { - #if defined(USING_WIN_UI) - ConfigSetting("RestartRequired", &g_Config.bRestartRequired, false, false), - #endif -+ ReportedConfigSetting("ForceMaxEmulatedFPS", &g_Config.iForceMaxEmulatedFPS, 0, true, true), - - // Most low-performance (and many high performance) mobile GPUs do not support aniso anyway so defaulting to 4 is fine. - ConfigSetting("AnisotropyLevel", &g_Config.iAnisotropyLevel, 4, true, true), -diff --git a/Core/Config.h b/Core/Config.h -index af20f6289..1eea77626 100644 ---- a/Core/Config.h -+++ b/Core/Config.h -@@ -218,6 +218,7 @@ struct Config { - bool bTexHardwareScaling; - int iFpsLimit1; - int iFpsLimit2; -+ int iForceMaxEmulatedFPS; - int iAnalogFpsLimit; - int iAnalogFpsMode; // 0 = auto, 1 = single direction, 2 = mapped to opposite - int iMaxRecent; -diff --git a/Core/HLE/sceDisplay.cpp b/Core/HLE/sceDisplay.cpp -index 342d52262..9cf1e7e5e 100644 ---- a/Core/HLE/sceDisplay.cpp -+++ b/Core/HLE/sceDisplay.cpp -@@ -822,6 +822,12 @@ u32 sceDisplaySetFramebuf(u32 topaddr, int linesize, int pixelformat, int sync) - hleEatCycles(290); - - s64 delayCycles = 0; -+ -+ int MaxFPS = g_Config.iForceMaxEmulatedFPS; -+ if (topaddr != 0 && topaddr != framebuf.topaddr && framebuf.topaddr != 0 && MaxFPS > 0) { -+ MaxFPS = 60; -+ } -+ - // Don't count transitions between display off and display on. - if (topaddr != 0 && - (topaddr != framebuf.topaddr || PSP_CoreParameter().compat.flags().SplitFramebufferMargin) && -@@ -850,7 +856,7 @@ u32 sceDisplaySetFramebuf(u32 topaddr, int linesize, int pixelformat, int sync) - } - - // 1001 to account for NTSC timing (59.94 fps.) -- u64 expected = msToCycles(1001) / framerate - LEEWAY_CYCLES_PER_FLIP; -+ u64 expected = msToCycles(1001) / MaxFPS - LEEWAY_CYCLES_PER_FLIP; - lastFlipCycles = now; - nextFlipCycles = std::max(lastFlipCycles, nextFlipCycles) + expected; - } -diff --git a/UI/GameSettingsScreen.cpp b/UI/GameSettingsScreen.cpp -index 080d19e68..dd5d93434 100644 ---- a/UI/GameSettingsScreen.cpp -+++ b/UI/GameSettingsScreen.cpp -@@ -201,6 +201,8 @@ void GameSettingsScreen::CreateViews() { - g_Config.loadGameConfig(gameID_, info->GetTitle()); - } - -+ maxFpsChoice = (g_Config.iForceMaxEmulatedFPS / 10); -+ - iAlternateSpeedPercent1_ = g_Config.iFpsLimit1 < 0 ? -1 : (g_Config.iFpsLimit1 * 100) / 60; - iAlternateSpeedPercent2_ = g_Config.iFpsLimit2 < 0 ? -1 : (g_Config.iFpsLimit2 * 100) / 60; - iAlternateSpeedPercentAnalog_ = (g_Config.iAnalogFpsLimit * 100) / 60; -@@ -310,7 +312,10 @@ void GameSettingsScreen::CreateViews() { - graphicsSettings->Add(new PopupMultiChoice(&g_Config.iFrameSkipType, gr->T("Frame Skipping Type"), frameSkipType, 0, ARRAY_SIZE(frameSkipType), gr->GetName(), screenManager())); - frameSkipAuto_ = graphicsSettings->Add(new CheckBox(&g_Config.bAutoFrameSkip, gr->T("Auto FrameSkip"))); - frameSkipAuto_->OnClick.Handle(this, &GameSettingsScreen::OnAutoFrameskip); -- -+ static const char *maxFps[] = {"Auto", "10", "20", "30", "40", "50", "60", "70", "80"}; -+ maxFps_ = graphicsSettings->Add(new PopupMultiChoice(&maxFpsChoice, gr->T("Force Max FPS (lower helps GoW)"), maxFps, 0, ARRAY_SIZE(maxFps), gr->GetName(), screenManager())); -+ maxFps_->OnChoice.Handle(this, &GameSettingsScreen::OnForceMaxEmulatedFPS); -+ - PopupSliderChoice *altSpeed1 = graphicsSettings->Add(new PopupSliderChoice(&iAlternateSpeedPercent1_, 0, 1000, gr->T("Alternative Speed", "Alternative speed"), 5, screenManager(), gr->T("%, 0:unlimited"))); - altSpeed1->SetFormat("%i%%"); - altSpeed1->SetZeroLabel(gr->T("Unlimited")); -@@ -1337,6 +1342,16 @@ UI::EventReturn GameSettingsScreen::OnDisplayLayoutEditor(UI::EventParams &e) { - return UI::EVENT_DONE; - }; - -+UI::EventReturn GameSettingsScreen::OnForceMaxEmulatedFPS(UI::EventParams &e) { -+ if (maxFpsChoice > 0) { -+ g_Config.iForceMaxEmulatedFPS = (maxFpsChoice * 10); -+ } else { -+ g_Config.iForceMaxEmulatedFPS = 0; -+ } -+ Reporting::UpdateConfig(); -+ return UI::EVENT_DONE; -+} -+ - UI::EventReturn GameSettingsScreen::OnResolutionChange(UI::EventParams &e) { - if (g_Config.iAndroidHwScale == 1) { - RecreateActivity(); -diff --git a/UI/GameSettingsScreen.h b/UI/GameSettingsScreen.h -index 2fd7d6e59..6e9f1db70 100644 ---- a/UI/GameSettingsScreen.h -+++ b/UI/GameSettingsScreen.h -@@ -59,6 +59,7 @@ class GameSettingsScreen : public UIDialogScreenWithGameBackground { - UI::Choice *displayEditor_; - UI::Choice *backgroundChoice_ = nullptr; - UI::PopupMultiChoice *resolutionChoice_; -+ UI::PopupMultiChoice *maxFps_; - UI::CheckBox *frameSkipAuto_; - SettingInfoMessage *settingInfo_; - UI::Choice *clearSearchChoice_; -@@ -107,6 +108,7 @@ class GameSettingsScreen : public UIDialogScreenWithGameBackground { - UI::EventReturn OnFullscreenMultiChange(UI::EventParams &e); - UI::EventReturn OnDisplayLayoutEditor(UI::EventParams &e); - UI::EventReturn OnResolutionChange(UI::EventParams &e); -+ UI::EventReturn OnForceMaxEmulatedFPS(UI::EventParams &e); - UI::EventReturn OnHwScaleChange(UI::EventParams &e); - UI::EventReturn OnRestoreDefaultSettings(UI::EventParams &e); - UI::EventReturn OnRenderingMode(UI::EventParams &e); -@@ -135,6 +137,7 @@ class GameSettingsScreen : public UIDialogScreenWithGameBackground { - UI::EventReturn OnClearSearchFilter(UI::EventParams &e); - - // Temporaries to convert setting types, cache enabled, etc. -+ int maxFpsChoice; - int iAlternateSpeedPercent1_; - int iAlternateSpeedPercent2_; - int iAlternateSpeedPercentAnalog_; diff --git a/packages/games/emulators/flycastsa/package.mk b/packages/games/emulators/flycastsa/package.mk index 26e538cdb..f689cacb7 100644 --- a/packages/games/emulators/flycastsa/package.mk +++ b/packages/games/emulators/flycastsa/package.mk @@ -4,7 +4,7 @@ # Copyright (C) 2022-present Fewtarius PKG_NAME="flycastsa" -PKG_VERSION="611946559c12a569af507019694cb369b3587af6" +PKG_VERSION="cca7ed6bf7a04fb79f13fb3881220f226f0b512f" PKG_LICENSE="GPLv2" PKG_SITE="https://github.com/flyinghead/flycast" PKG_URL="${PKG_SITE}.git" diff --git a/packages/games/emulators/hatarisa/package.mk b/packages/games/emulators/hatarisa/package.mk index 9d517c520..e254d320a 100644 --- a/packages/games/emulators/hatarisa/package.mk +++ b/packages/games/emulators/hatarisa/package.mk @@ -2,7 +2,7 @@ # Copyright (C) 2018-present 5schatten (https://github.com/5schatten) PKG_NAME="hatarisa" -PKG_VERSION="388b1f32c885fcb497a914b351fa58354e86bf6a" +PKG_VERSION="87f279247e14b7a987859b8883dc4464742f6005" PKG_LICENSE="GPL" PKG_SITE="https://github.com/hatari/hatari" PKG_URL="https://github.com/hatari/hatari/archive/${PKG_VERSION}.tar.gz" diff --git a/packages/games/emulators/melondssa/config/handheld/melonDS.ini b/packages/games/emulators/melondssa/config/handheld/melonDS.ini new file mode 100644 index 000000000..c8af253d4 --- /dev/null +++ b/packages/games/emulators/melondssa/config/handheld/melonDS.ini @@ -0,0 +1,147 @@ +Key_A=-1 +Key_B=-1 +Key_Select=-1 +Key_Start=-1 +Key_Right=-1 +Key_Left=-1 +Key_Up=-1 +Key_Down=-1 +Key_R=-1 +Key_L=-1 +Key_X=-1 +Key_Y=-1 +Joy_A=1 +Joy_B=0 +Joy_Select=6 +Joy_Start=7 +Joy_Right=65794 +Joy_Left=1114376 +Joy_Up=17891585 +Joy_Down=16843012 +Joy_R=86114303 +Joy_L=35782655 +Joy_X=3 +Joy_Y=2 +HKKey_Lid=-1 +HKKey_Mic=-1 +HKKey_Pause=-1 +HKKey_Reset=-1 +HKKey_FastForward=-1 +HKKey_FastForwardToggle=-1 +HKKey_FullscreenToggle=-1 +HKKey_SwapScreens=-1 +HKKey_SolarSensorDecrease=-1 +HKKey_SolarSensorIncrease=-1 +HKKey_FrameStep=-1 +HKKey_SaveState=-1 +HKKey_LoadState=-1 +HKJoy_Lid=-1 +HKJoy_Mic=10 +HKJoy_Pause=-1 +HKJoy_Reset=-1 +HKJoy_FastForward=-1 +HKJoy_FastForwardToggle=-1 +HKJoy_FullscreenToggle=-1 +HKJoy_SwapScreens=9 +HKJoy_SolarSensorDecrease=-1 +HKJoy_SolarSensorIncrease=-1 +HKJoy_FrameStep=-1 +HKJoy_SaveState=5 +HKJoy_LoadState=4 +JoystickID=0 +WindowWidth=1920 +WindowHeight=1080 +WindowMax=0 +ScreenRotation=0 +ScreenGap=0 +ScreenLayout=2 +ScreenSwap=0 +ScreenSizing=3 +IntegerScaling=0 +ScreenAspectTop=0 +ScreenAspectBot=0 +ScreenFilter=1 +ScreenUseGL=0 +ScreenVSync=0 +ScreenVSyncInterval=1 +3DRenderer=0 +Threaded3D=1 +GL_ScaleFactor=1 +GL_BetterPolygons=0 +LimitFPS=1 +AudioSync=0 +ShowOSD=1 +ConsoleType=0 +DirectBoot=1 +JIT_Enable=0 +JIT_MaxBlockSize=32 +JIT_BranchOptimisations=1 +JIT_LiteralOptimisations=1 +JIT_FastMemory=1 +ExternalBIOSEnable=0 +BIOS9Path= +BIOS7Path= +FirmwarePath= +DSiBIOS9Path= +DSiBIOS7Path= +DSiFirmwarePath= +DSiNANDPath= +DLDIEnable=0 +DLDISDPath=dldi.bin +DLDISize=0 +DLDIReadOnly=0 +DLDIFolderSync=0 +DLDIFolderPath= +DSiSDEnable=0 +DSiSDPath=dsisd.bin +DSiSDSize=0 +DSiSDReadOnly=0 +DSiSDFolderSync=0 +DSiSDFolderPath= +FirmwareOverrideSettings=0 +FirmwareUsername=melonDS +FirmwareLanguage=1 +FirmwareBirthdayMonth=1 +FirmwareBirthdayDay=1 +FirmwareFavouriteColour=0 +FirmwareMessage= +FirmwareMAC= +MPAudioMode=1 +MPRecvTimeout=25 +LANDevice= +DirectLAN=0 +SavStaRelocSRAM=0 +AudioInterp=0 +AudioBitrate=0 +AudioVolume=256 +MicInputType=0 +MicWavPath= +LastROMFolder= +RecentROM_0= +RecentROM_1= +RecentROM_2= +RecentROM_3= +RecentROM_4= +RecentROM_5= +RecentROM_6= +RecentROM_7= +RecentROM_8= +RecentROM_9= +SaveFilePath=/storage/roms/nds +SavestatePath=/storage/roms/savestates/nds +CheatFilePath= +EnableCheats=0 +MouseHide=0 +MouseHideSeconds=5 +PauseLostFocus=0 +DSBatteryLevelOkay=1 +DSiBatteryLevel=15 +DSiBatteryCharging=1 +Camera0_InputType=0 +Camera0_ImagePath= +Camera0_CamDeviceName= +Camera0_XFlip=0 +Camera1_InputType=0 +Camera1_ImagePath= +Camera1_CamDeviceName= +Camera1_XFlip=0 diff --git a/packages/games/emulators/melondssa/package.mk b/packages/games/emulators/melondssa/package.mk new file mode 100644 index 000000000..0318ebb73 --- /dev/null +++ b/packages/games/emulators/melondssa/package.mk @@ -0,0 +1,44 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2023-present BrooksyTech (https://github.com/brooksytech) + +PKG_NAME="melondssa" +PKG_VERSION="00edeb3c3c053bc2b3c9ac83e33688626498f2cc" +PKG_LICENSE="GPLv3" +PKG_SITE="https://github.com/melonDS-emu/melonDS" +PKG_URL="${PKG_SITE}.git" +PKG_DEPENDS_TARGET="SDL2 qt5 libslirp libepoxy libarchive ecm" +PKG_LONGDESC="DS emulator, sorta. The goal is to do things right and fast" +PKG_TOOLCHAIN="cmake" + +if [ ! "${OPENGL}" = "no" ]; then + PKG_DEPENDS_TARGET+=" ${OPENGL} glu libglvnd" +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+=" -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX="/usr" \ + -DBUILD_SHARED_LIBS=OFF" + + +makeinstall_target() { + mkdir -p ${INSTALL}/usr/bin + cp -rf ${PKG_BUILD}/.${TARGET_NAME}/melonDS ${INSTALL}/usr/bin + + mkdir -p ${INSTALL}/usr/config/melonDS + cp -rf ${PKG_DIR}/config/${DEVICE}/* ${INSTALL}/usr/config/melonDS + + cp -rf ${PKG_DIR}/scripts/* ${INSTALL}/usr/bin + chmod +x ${INSTALL}/usr/bin/start_melonds.sh +} diff --git a/packages/games/emulators/melondssa/patches/000-hotkey-savestates.patch b/packages/games/emulators/melondssa/patches/000-hotkey-savestates.patch new file mode 100755 index 000000000..f330bda18 --- /dev/null +++ b/packages/games/emulators/melondssa/patches/000-hotkey-savestates.patch @@ -0,0 +1,118 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2023-present BrooksyTech (https://github.com/brooksytech) + +diff -rupN melonDS.orig/src/frontend/qt_sdl/Config.cpp melonDS/src/frontend/qt_sdl/Config.cpp +--- melonDS.orig/src/frontend/qt_sdl/Config.cpp 2023-01-20 17:14:09.563747030 -0800 ++++ melonDS/src/frontend/qt_sdl/Config.cpp 2023-01-21 17:24:03.796484493 -0800 +@@ -185,6 +185,8 @@ ConfigEntry ConfigFile[] = + {"HKKey_SolarSensorDecrease", 0, &HKKeyMapping[HK_SolarSensorDecrease], -1, true}, + {"HKKey_SolarSensorIncrease", 0, &HKKeyMapping[HK_SolarSensorIncrease], -1, true}, + {"HKKey_FrameStep", 0, &HKKeyMapping[HK_FrameStep], -1, true}, ++ {"HKKey_SaveState", 0, &HKKeyMapping[HK_SaveState], -1, true}, ++ {"HKKey_LoadState", 0, &HKKeyMapping[HK_LoadState], -1, true}, + + {"HKJoy_Lid", 0, &HKJoyMapping[HK_Lid], -1, true}, + {"HKJoy_Mic", 0, &HKJoyMapping[HK_Mic], -1, true}, +@@ -197,6 +199,8 @@ ConfigEntry ConfigFile[] = + {"HKJoy_SolarSensorDecrease", 0, &HKJoyMapping[HK_SolarSensorDecrease], -1, true}, + {"HKJoy_SolarSensorIncrease", 0, &HKJoyMapping[HK_SolarSensorIncrease], -1, true}, + {"HKJoy_FrameStep", 0, &HKJoyMapping[HK_FrameStep], -1, true}, ++ {"HKJoy_SaveState", 0, &HKJoyMapping[HK_SaveState], -1, true}, ++ {"HKJoy_LoadState", 0, &HKJoyMapping[HK_LoadState], -1, true}, + + {"JoystickID", 0, &JoystickID, 0, true}, + +diff -rupN melonDS.orig/src/frontend/qt_sdl/Config.h melonDS/src/frontend/qt_sdl/Config.h +--- melonDS.orig/src/frontend/qt_sdl/Config.h 2023-01-20 17:14:09.563747030 -0800 ++++ melonDS/src/frontend/qt_sdl/Config.h 2023-01-21 17:24:03.796484493 -0800 +@@ -35,6 +35,8 @@ enum + HK_SolarSensorDecrease, + HK_SolarSensorIncrease, + HK_FrameStep, ++ HK_SaveState, ++ HK_LoadState, + HK_MAX + }; + +diff -rupN melonDS.orig/src/frontend/qt_sdl/InputConfig/InputConfigDialog.cpp melonDS/src/frontend/qt_sdl/InputConfig/InputConfigDialog.cpp +--- melonDS.orig/src/frontend/qt_sdl/InputConfig/InputConfigDialog.cpp 2023-01-20 17:14:09.563747030 -0800 ++++ melonDS/src/frontend/qt_sdl/InputConfig/InputConfigDialog.cpp 2023-01-21 17:24:03.800484522 -0800 +@@ -60,7 +60,9 @@ const int hk_general[] = + HK_FullscreenToggle, + HK_Lid, + HK_Mic, +- HK_SwapScreens ++ HK_SwapScreens, ++ HK_SaveState, ++ HK_LoadState + }; + + const char* hk_general_labels[] = +@@ -73,12 +75,14 @@ const char* hk_general_labels[] = + "Toggle fullscreen", + "Close/open lid", + "Microphone", +- "Swap screens" ++ "Swap screens", ++ "Save State", ++ "Load State" + }; + + const int keypad_num = 12; + const int hk_addons_num = 2; +-const int hk_general_num = 9; ++const int hk_general_num = 11; + + + InputConfigDialog::InputConfigDialog(QWidget* parent) : QDialog(parent), ui(new Ui::InputConfigDialog) +diff -rupN melonDS.orig/src/frontend/qt_sdl/InputConfig/InputConfigDialog.h melonDS/src/frontend/qt_sdl/InputConfig/InputConfigDialog.h +--- melonDS.orig/src/frontend/qt_sdl/InputConfig/InputConfigDialog.h 2023-01-20 17:14:09.563747030 -0800 ++++ melonDS/src/frontend/qt_sdl/InputConfig/InputConfigDialog.h 2023-01-21 17:24:03.800484522 -0800 +@@ -67,7 +67,7 @@ private: + + int keypadKeyMap[12], keypadJoyMap[12]; + int addonsKeyMap[2], addonsJoyMap[2]; +- int hkGeneralKeyMap[9], hkGeneralJoyMap[9]; ++ int hkGeneralKeyMap[11], hkGeneralJoyMap[11]; + }; + + +diff -rupN melonDS.orig/src/frontend/qt_sdl/main.cpp melonDS/src/frontend/qt_sdl/main.cpp +--- melonDS.orig/src/frontend/qt_sdl/main.cpp 2023-01-20 17:14:09.567747058 -0800 ++++ melonDS/src/frontend/qt_sdl/main.cpp 2023-01-21 17:24:03.804484550 -0800 +@@ -426,7 +426,9 @@ EmuThread::EmuThread(QObject* parent) : + connect(this, SIGNAL(screenLayoutChange()), mainWindow->panelWidget, SLOT(onScreenLayoutChanged())); + connect(this, SIGNAL(windowFullscreenToggle()), mainWindow, SLOT(onFullscreenToggled())); + connect(this, SIGNAL(swapScreensToggle()), mainWindow->actScreenSwap, SLOT(trigger())); +- ++ connect(this, SIGNAL(hkSaveState()), mainWindow->actSaveState[1], SLOT(trigger())); ++ connect(this, SIGNAL(hkLoadState()), mainWindow->actLoadState[1], SLOT(trigger())); ++ + static_cast(mainWindow->panel)->transferLayout(this); + } + +@@ -596,7 +598,10 @@ void EmuThread::run() + if (Input::HotkeyPressed(HK_FullscreenToggle)) emit windowFullscreenToggle(); + + if (Input::HotkeyPressed(HK_SwapScreens)) emit swapScreensToggle(); +- ++ ++ if (Input::HotkeyPressed(HK_SaveState)) emit hkSaveState(); ++ if (Input::HotkeyPressed(HK_LoadState)) emit hkLoadState(); ++ + if (Input::HotkeyPressed(HK_SolarSensorDecrease)) + { + int level = GBACart::SetInput(GBACart::Input_SolarSensorDown, true); +diff -rupN melonDS.orig/src/frontend/qt_sdl/main.h melonDS/src/frontend/qt_sdl/main.h +--- melonDS.orig/src/frontend/qt_sdl/main.h 2023-01-20 17:14:09.567747058 -0800 ++++ melonDS/src/frontend/qt_sdl/main.h 2023-01-21 17:24:03.804484550 -0800 +@@ -85,6 +85,9 @@ signals: + void windowFullscreenToggle(); + + void swapScreensToggle(); ++ ++ void hkSaveState(); ++ void hkLoadState(); + + private: + void drawScreenGL(); diff --git a/packages/games/emulators/melondssa/patches/001-default-config.patch b/packages/games/emulators/melondssa/patches/001-default-config.patch new file mode 100644 index 000000000..6ab900109 --- /dev/null +++ b/packages/games/emulators/melondssa/patches/001-default-config.patch @@ -0,0 +1,14 @@ +diff --git a/src/frontend/qt_sdl/Config.cpp b/src/frontend/qt_sdl/Config.cpp +index 7a0ec698ba..0b06f8f120 100644 +--- a/src/frontend/qt_sdl/Config.cpp ++++ b/src/frontend/qt_sdl/Config.cpp +@@ -143,8 +143,7 @@ bool DSiBatteryCharging; + CameraConfig Camera[2]; + + +-const char* kConfigFile = "melonDS.ini"; +-const char* kUniqueConfigFile = "melonDS.%d.ini"; ++const char* kConfigFile = "/storage/.config/melonDS/melonDS.ini"; + + ConfigEntry ConfigFile[] = + { diff --git a/packages/games/emulators/melondssa/patches/002-no-unique-ini.patch b/packages/games/emulators/melondssa/patches/002-no-unique-ini.patch new file mode 100644 index 000000000..4959a1388 --- /dev/null +++ b/packages/games/emulators/melondssa/patches/002-no-unique-ini.patch @@ -0,0 +1,65 @@ +diff --git a/src/frontend/qt_sdl/Config.cpp b/src/frontend/qt_sdl/Config.cpp +index c91d6ef911..549a41ddb2 100644 +--- a/src/frontend/qt_sdl/Config.cpp ++++ b/src/frontend/qt_sdl/Config.cpp +@@ -335,14 +335,7 @@ ConfigEntry ConfigFile[] = + void LoadFile(int inst) + { + FILE* f; +- if (inst > 0) +- { +- char name[100] = {0}; +- snprintf(name, 99, kUniqueConfigFile, inst+1); +- f = Platform::OpenLocalFile(name, "r"); +- } +- else +- f = Platform::OpenLocalFile(kConfigFile, "r"); ++ f = Platform::OpenLocalFile(kConfigFile, "r"); + + if (!f) return; + +@@ -362,9 +355,6 @@ void LoadFile(int inst) + { + if (!strncmp(entry->Name, entryname, 32)) + { +- if ((inst > 0) && (!entry->InstanceUnique)) +- break; +- + switch (entry->Type) + { + case 0: *(int*)entry->Value = strtol(entryval, NULL, 10); break; +@@ -394,10 +384,6 @@ void Load() + } + + LoadFile(0); +- +- int inst = Platform::InstanceID(); +- if (inst > 0) +- LoadFile(inst); + } + + void Save() +@@ -405,22 +391,12 @@ void Save() + int inst = Platform::InstanceID(); + + FILE* f; +- if (inst > 0) +- { +- char name[100] = {0}; +- snprintf(name, 99, kUniqueConfigFile, inst+1); +- f = Platform::OpenLocalFile(name, "w"); +- } +- else +- f = Platform::OpenLocalFile(kConfigFile, "w"); ++ f = Platform::OpenLocalFile(kConfigFile, "w"); + + if (!f) return; + + for (ConfigEntry* entry = &ConfigFile[0]; entry->Value; entry++) + { +- if ((inst > 0) && (!entry->InstanceUnique)) +- continue; +- + switch (entry->Type) + { + case 0: fprintf(f, "%s=%d\r\n", entry->Name, *(int*)entry->Value); break; diff --git a/packages/games/emulators/melondssa/scripts/start_melonds.sh b/packages/games/emulators/melondssa/scripts/start_melonds.sh new file mode 100644 index 000000000..4d3c89aaa --- /dev/null +++ b/packages/games/emulators/melondssa/scripts/start_melonds.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2023-present BrooksyTech (https://github.com/brooksytech) + +. /etc/profile + +if [ ! -d "/storage/.config/melonDS" ]; then + mkdir -p "/storage/.config/melonDS" + cp -r "/usr/config/melonDS" "/storage/.config/" +fi + +if [ ! -d "/storage/roms/savestates/nds" ]; then + mkdir -p "/storage/roms/savestates/nds" +fi + +melonDS -f "${1}" diff --git a/packages/games/emulators/mupen64plussa/mupen64plussa-core/package.mk b/packages/games/emulators/mupen64plussa/mupen64plussa-core/package.mk index 63a44bfaa..f7b9ed019 100644 --- a/packages/games/emulators/mupen64plussa/mupen64plussa-core/package.mk +++ b/packages/games/emulators/mupen64plussa/mupen64plussa-core/package.mk @@ -3,7 +3,6 @@ PKG_NAME="mupen64plussa-core" PKG_VERSION="ba9a52483052248b67c324e3fd0e073b807bbea4" -PKG_SHA256="" PKG_LICENSE="GPLv2" PKG_SITE="https://github.com/mupen64plus/mupen64plus-core" PKG_URL="https://github.com/mupen64plus/mupen64plus-core/archive/${PKG_VERSION}.tar.gz" diff --git a/packages/games/emulators/mupen64plussa/mupen64plussa-input-sdl/config/handheld b/packages/games/emulators/mupen64plussa/mupen64plussa-input-sdl/config/handheld deleted file mode 120000 index 2988caf9b..000000000 --- a/packages/games/emulators/mupen64plussa/mupen64plussa-input-sdl/config/handheld +++ /dev/null @@ -1 +0,0 @@ -X86_64 \ No newline at end of file diff --git a/packages/games/emulators/mupen64plussa/mupen64plussa-input-sdl/config/X86_64/default.ini b/packages/games/emulators/mupen64plussa/mupen64plussa-input-sdl/config/handheld/default.ini similarity index 100% rename from packages/games/emulators/mupen64plussa/mupen64plussa-input-sdl/config/X86_64/default.ini rename to packages/games/emulators/mupen64plussa/mupen64plussa-input-sdl/config/handheld/default.ini diff --git a/packages/games/emulators/mupen64plussa/mupen64plussa-input-sdl/config/X86_64/zlswap.ini b/packages/games/emulators/mupen64plussa/mupen64plussa-input-sdl/config/handheld/zlswap.ini similarity index 100% rename from packages/games/emulators/mupen64plussa/mupen64plussa-input-sdl/config/X86_64/zlswap.ini rename to packages/games/emulators/mupen64plussa/mupen64plussa-input-sdl/config/handheld/zlswap.ini diff --git a/packages/games/emulators/mupen64plussa/package.mk b/packages/games/emulators/mupen64plussa/package.mk index 99577b4d6..bf4ad887b 100644 --- a/packages/games/emulators/mupen64plussa/package.mk +++ b/packages/games/emulators/mupen64plussa/package.mk @@ -4,7 +4,6 @@ PKG_NAME="mupen64plussa" PKG_VERSION="61bf24c41bc837e7a3c43cd53c1a2af9042543ff" -PKG_SHA256="" PKG_LICENSE="GPL" PKG_SITE="https://mupen64plus.org/" PKG_URL="" diff --git a/packages/games/emulators/pcsx2sa/package.mk b/packages/games/emulators/pcsx2sa/package.mk index 23293167d..d7483f04c 100644 --- a/packages/games/emulators/pcsx2sa/package.mk +++ b/packages/games/emulators/pcsx2sa/package.mk @@ -2,7 +2,7 @@ # Copyright (C) 2022-present Fewtarius PKG_NAME="pcsx2sa" -PKG_VERSION="v1.7.3674" +PKG_VERSION="v1.7.3921" PKG_ARCH="x86_64" PKG_LICENSE="GPLv3" PKG_SITE="https://github.com/pcsx2/pcsx2" diff --git a/packages/games/emulators/pico-8/package.mk b/packages/games/emulators/pico-8/package.mk index 90e6bc806..c840ba54c 100644 --- a/packages/games/emulators/pico-8/package.mk +++ b/packages/games/emulators/pico-8/package.mk @@ -2,7 +2,7 @@ # Copyright (C) 2022-present Fewtarius PKG_NAME="pico-8" -PKG_VERSION="4c282e6eb947eab2e3ab54f3fe47d1aa9f539c0c" +PKG_VERSION="8f40a51b9a2db69f2fd1238f1f81a2381d40551d" PKG_ARCH="any" PKG_LICENSE="GPLv2" PKG_SITE="" diff --git a/packages/games/emulators/retroarch/package.mk b/packages/games/emulators/retroarch/package.mk index 3c7c03b00..60f022fd3 100644 --- a/packages/games/emulators/retroarch/package.mk +++ b/packages/games/emulators/retroarch/package.mk @@ -2,7 +2,7 @@ # Copyright (C) 2021-present 351ELEC (https://github.com/351ELEC) PKG_NAME="retroarch" -PKG_VERSION="7213aada8d5fef72a93379a0d700bb1b678e4a70" +PKG_VERSION="d689a84581c02e7ec76a05eace0723f5ddd5b791" PKG_SITE="https://github.com/libretro/RetroArch" PKG_URL="${PKG_SITE}.git" PKG_LICENSE="GPLv3" diff --git a/packages/games/emulators/retroarch/sources/handheld b/packages/games/emulators/retroarch/sources/handheld deleted file mode 120000 index 2988caf9b..000000000 --- a/packages/games/emulators/retroarch/sources/handheld +++ /dev/null @@ -1 +0,0 @@ -X86_64 \ No newline at end of file diff --git a/packages/games/emulators/retroarch/sources/X86_64/TATE-MAME 2003-Plus.rmp b/packages/games/emulators/retroarch/sources/handheld/TATE-MAME 2003-Plus.rmp similarity index 100% rename from packages/games/emulators/retroarch/sources/X86_64/TATE-MAME 2003-Plus.rmp rename to packages/games/emulators/retroarch/sources/handheld/TATE-MAME 2003-Plus.rmp diff --git a/packages/games/emulators/retroarch/sources/X86_64/retroarch-core-options.cfg b/packages/games/emulators/retroarch/sources/handheld/retroarch-core-options.cfg similarity index 100% rename from packages/games/emulators/retroarch/sources/X86_64/retroarch-core-options.cfg rename to packages/games/emulators/retroarch/sources/handheld/retroarch-core-options.cfg diff --git a/packages/games/emulators/retroarch/sources/X86_64/retroarch.cfg b/packages/games/emulators/retroarch/sources/handheld/retroarch.cfg similarity index 100% rename from packages/games/emulators/retroarch/sources/X86_64/retroarch.cfg rename to packages/games/emulators/retroarch/sources/handheld/retroarch.cfg diff --git a/packages/games/emulators/retroarch/sources/X86_64/retroarch32bit-append.cfg b/packages/games/emulators/retroarch/sources/handheld/retroarch32bit-append.cfg similarity index 100% rename from packages/games/emulators/retroarch/sources/X86_64/retroarch32bit-append.cfg rename to packages/games/emulators/retroarch/sources/handheld/retroarch32bit-append.cfg diff --git a/packages/games/emulators/retroarch/sources/X86_64/retroarch64bit-append.cfg b/packages/games/emulators/retroarch/sources/handheld/retroarch64bit-append.cfg similarity index 100% rename from packages/games/emulators/retroarch/sources/X86_64/retroarch64bit-append.cfg rename to packages/games/emulators/retroarch/sources/handheld/retroarch64bit-append.cfg diff --git a/packages/games/emulators/scummvmsa/package.mk b/packages/games/emulators/scummvmsa/package.mk index 40f91db84..682082234 100644 --- a/packages/games/emulators/scummvmsa/package.mk +++ b/packages/games/emulators/scummvmsa/package.mk @@ -3,11 +3,11 @@ # Copyright (C) 2020-present Fewtarius PKG_NAME="scummvmsa" -PKG_VERSION="7a3ce2ff5cf3052b0241dbc58514e08138cf7560" +PKG_VERSION="1fcd63bf1e0d7deeed0332c1b57d8514ef5ccb4a" PKG_REV="1" PKG_LICENSE="GPL2" PKG_SITE="https://github.com/scummvm/scummvm" -PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz" +PKG_URL="${PKG_SITE}.git" PKG_DEPENDS_TARGET="toolchain SDL2 SDL2_net freetype fluidsynth" PKG_SHORTDESC="Script Creation Utility for Maniac Mansion Virtual Machine" PKG_LONGDESC="ScummVM is a program which allows you to run certain classic graphical point-and-click adventure games, provided you already have their data files." diff --git a/packages/games/libretro/TIC-80/package.mk b/packages/games/libretro/TIC-80/package.mk index c519d679a..fe861005e 100644 --- a/packages/games/libretro/TIC-80/package.mk +++ b/packages/games/libretro/TIC-80/package.mk @@ -20,7 +20,7 @@ ################################################################################ PKG_NAME="TIC-80" -PKG_VERSION="6ef9fdabc8542c643c0434f80f72465e71ffc84d" +PKG_VERSION="ca3bb11f7d91b6f61c30b27e95958521e3432576" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPLv3" diff --git a/packages/games/libretro/beetle-lynx/package.mk b/packages/games/libretro/beetle-lynx/package.mk index c8713cb8d..8b46253f8 100644 --- a/packages/games/libretro/beetle-lynx/package.mk +++ b/packages/games/libretro/beetle-lynx/package.mk @@ -20,7 +20,7 @@ ################################################################################ PKG_NAME="beetle-lynx" -PKG_VERSION="d48ebb62affc93940f121bc5a16a67658bca26ae" +PKG_VERSION="74603da1ee8f934e5edd31dffad44a69a569e4d0" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPLv2" diff --git a/packages/games/libretro/beetle-pce-fast/package.mk b/packages/games/libretro/beetle-pce-fast/package.mk index a91425345..9c905c0ce 100644 --- a/packages/games/libretro/beetle-pce-fast/package.mk +++ b/packages/games/libretro/beetle-pce-fast/package.mk @@ -20,7 +20,7 @@ ################################################################################ PKG_NAME="beetle-pce-fast" -PKG_VERSION="994372c491569c84bd8d5178ca1822fc1200e7c0" +PKG_VERSION="411176fbae51ff9d052e1775adeff1375c0dd6e0" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPLv2" diff --git a/packages/games/libretro/beetle-pce/package.mk b/packages/games/libretro/beetle-pce/package.mk index 9de0ae42f..d00aed5f5 100644 --- a/packages/games/libretro/beetle-pce/package.mk +++ b/packages/games/libretro/beetle-pce/package.mk @@ -20,7 +20,7 @@ ################################################################################ PKG_NAME="beetle-pce" -PKG_VERSION="c61a633e4598edc46da3b6bed24b27175b353a8d" +PKG_VERSION="f2750b72b58cbc9be0d7d9345bbdeeb634be64a8" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPLv2" diff --git a/packages/games/libretro/beetle-pcfx/package.mk b/packages/games/libretro/beetle-pcfx/package.mk index 0ae57e4c1..bc0d0d475 100644 --- a/packages/games/libretro/beetle-pcfx/package.mk +++ b/packages/games/libretro/beetle-pcfx/package.mk @@ -20,7 +20,7 @@ ################################################################################ PKG_NAME="beetle-pcfx" -PKG_VERSION="14294f9617da36f6a24f736b41f1fa0de24c9f83" +PKG_VERSION="45fa33f020e245f7681fc061b63064ec5bbf73c1" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPLv2" diff --git a/packages/games/libretro/beetle-saturn/package.mk b/packages/games/libretro/beetle-saturn/package.mk index fc48bff8e..c05a4756a 100644 --- a/packages/games/libretro/beetle-saturn/package.mk +++ b/packages/games/libretro/beetle-saturn/package.mk @@ -2,7 +2,7 @@ # Copyright (C) 2022-present BrooksyTech (https://github.com/brooksytech) PKG_NAME="beetle-saturn" -PKG_VERSION="054862a4ccb9b2f1bad9e5b075fc3d1116dc8055" +PKG_VERSION="19ce186783174b93b90845c3f0e1fa1694904912" PKG_LICENSE="GPLv2" PKG_SITE="https://github.com/libretro/beetle-saturn-libretro" PKG_URL="$PKG_SITE.git" diff --git a/packages/games/libretro/beetle-supergrafx/package.mk b/packages/games/libretro/beetle-supergrafx/package.mk index f60f063a6..a09ea0799 100644 --- a/packages/games/libretro/beetle-supergrafx/package.mk +++ b/packages/games/libretro/beetle-supergrafx/package.mk @@ -20,7 +20,7 @@ ################################################################################ PKG_NAME="beetle-supergrafx" -PKG_VERSION="7c435d6d83ce54eb2782df75c05acd9f4eac6f34" +PKG_VERSION="4e7272be6feeecd1c4d793181c42d1eae289f3f2" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPLv2" diff --git a/packages/games/libretro/beetle-wswan/package.mk b/packages/games/libretro/beetle-wswan/package.mk index 9c70a899e..6b981d413 100644 --- a/packages/games/libretro/beetle-wswan/package.mk +++ b/packages/games/libretro/beetle-wswan/package.mk @@ -20,7 +20,7 @@ ################################################################################ PKG_NAME="beetle-wswan" -PKG_VERSION="75f65e384bf0319f75b535bd6910616a6786d20e" +PKG_VERSION="d9b4faf720c8f7a6795d8a12e4bd808fe8d3e602" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPLv2" diff --git a/packages/games/libretro/bsnes/package.mk b/packages/games/libretro/bsnes/package.mk index 3f5a62d1a..ae5b79a95 100644 --- a/packages/games/libretro/bsnes/package.mk +++ b/packages/games/libretro/bsnes/package.mk @@ -2,7 +2,7 @@ # Copyright (C) 2022-present BrooksyTech (https://github.com/brooksytech) PKG_NAME="bsnes" -PKG_VERSION="b04ea7236fc05c2e2c5dc645bbdba8c90196bb5f" +PKG_VERSION="dabf6679024124b2f819c79f279dbb85a5263255" PKG_LICENSE="GPLv2" PKG_SITE="https://github.com/libretro/bsnes-libretro" PKG_URL="$PKG_SITE/archive/$PKG_VERSION.tar.gz" diff --git a/packages/games/libretro/core-info/package.mk b/packages/games/libretro/core-info/package.mk index c9e24e014..6e22ee3c7 100644 --- a/packages/games/libretro/core-info/package.mk +++ b/packages/games/libretro/core-info/package.mk @@ -20,7 +20,7 @@ ################################################################################ PKG_NAME="core-info" -PKG_VERSION="5fa19a5e944ecdb830011a66e9150e0b01b8bf30" +PKG_VERSION="a8e9ddd9d5cb50d35d9fa8655a0867d15c64e133" PKG_LICENSE="GPL" PKG_SITE="https://github.com/libretro/libretro-core-info" PKG_URL="https://github.com/libretro/libretro-core-info/archive/${PKG_VERSION}.tar.gz" diff --git a/packages/games/libretro/fbneo/package.mk b/packages/games/libretro/fbneo/package.mk index fb3bd3107..138ee6ab6 100644 --- a/packages/games/libretro/fbneo/package.mk +++ b/packages/games/libretro/fbneo/package.mk @@ -3,7 +3,7 @@ # Maintenance 2020 351ELEC team (https://github.com/fewtarius/351ELEC) PKG_NAME="fbneo" -PKG_VERSION="1a968de5d8c52ef4b606c1ab0878c7859449c355" +PKG_VERSION="0cb23c77be72f6827dd0fa866828e1a54fcfcc42" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="Non-commercial" diff --git a/packages/games/libretro/flycast/package.mk b/packages/games/libretro/flycast/package.mk index c73d9947a..5aea426fd 100644 --- a/packages/games/libretro/flycast/package.mk +++ b/packages/games/libretro/flycast/package.mk @@ -3,7 +3,7 @@ # Copyright (C) 2022-present Fewtarius PKG_NAME="flycast" -PKG_VERSION="1e195b7237afceeef725e4f45afd9821e34bf53c" +PKG_VERSION="cca7ed6bf7a04fb79f13fb3881220f226f0b512f" PKG_SITE="https://github.com/flyinghead/flycast" PKG_URL="${PKG_SITE}.git" PKG_DEPENDS_TARGET="toolchain libzip" diff --git a/packages/games/libretro/gambatte/package.mk b/packages/games/libretro/gambatte/package.mk index 328346154..d98e66a75 100644 --- a/packages/games/libretro/gambatte/package.mk +++ b/packages/games/libretro/gambatte/package.mk @@ -20,7 +20,7 @@ ################################################################################ PKG_NAME="gambatte" -PKG_VERSION="d4bb33eea4c41760eb3cccfc4047eeff1313f8c7" +PKG_VERSION="ca0f7e14c55698a8eb81ea5af58701173e85bc7f" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPLv2" diff --git a/packages/games/libretro/genesis-plus-gx/package.mk b/packages/games/libretro/genesis-plus-gx/package.mk index 518f33cff..f3da35dd8 100644 --- a/packages/games/libretro/genesis-plus-gx/package.mk +++ b/packages/games/libretro/genesis-plus-gx/package.mk @@ -20,7 +20,7 @@ ################################################################################ PKG_NAME="genesis-plus-gx" -PKG_VERSION="d9ed3003b7d470ee19c9fe0019263f617fa458eb" +PKG_VERSION="f2a5adf3cfce42d1e195a239ff6647335bc2742e" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="Non-commercial" diff --git a/packages/games/libretro/mame/package.mk b/packages/games/libretro/mame/package.mk index 0ebd8882a..f7129455d 100644 --- a/packages/games/libretro/mame/package.mk +++ b/packages/games/libretro/mame/package.mk @@ -2,7 +2,7 @@ # Copyright (C) 2019 Trond Haugland (trondah@gmail.com) PKG_NAME="mame" -PKG_VERSION="b1bd6059a6b76061cbc1b397317b4c9cbb9b3b1c" +PKG_VERSION="f7761a9902d59030882c58d4482446196e748c50" PKG_ARCH="any" PKG_LICENSE="GPLv2" PKG_SITE="https://github.com/libretro/mame" diff --git a/packages/games/libretro/mame2003-plus/package.mk b/packages/games/libretro/mame2003-plus/package.mk index c0be89703..6a2407bf4 100644 --- a/packages/games/libretro/mame2003-plus/package.mk +++ b/packages/games/libretro/mame2003-plus/package.mk @@ -20,7 +20,7 @@ ################################################################################ PKG_NAME="mame2003-plus" -PKG_VERSION="3e666d814f6080d364570a7d9033e0dad233d4f6" +PKG_VERSION="926d85c9404cbfae765c5560ba24f4074f9ce5de" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="MAME" diff --git a/packages/games/libretro/mupen64plus-nx/package.mk b/packages/games/libretro/mupen64plus-nx/package.mk index 5ee9f4448..8fdebbea7 100755 --- a/packages/games/libretro/mupen64plus-nx/package.mk +++ b/packages/games/libretro/mupen64plus-nx/package.mk @@ -2,7 +2,7 @@ # Copyright (C) 2020-present Fewtarius PKG_NAME="mupen64plus-nx" -PKG_VERSION="bc241538b9ef85d8b22c392d7699dc73f460e283" +PKG_VERSION="4d270850bd09f8630110da701b73107e45a6e202" PKG_LICENSE="GPLv2" PKG_SITE="https://github.com/libretro/mupen64plus-libretro-nx" PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz" diff --git a/packages/games/libretro/picodrive/package.mk b/packages/games/libretro/picodrive/package.mk index adc0b6f02..7fb89a52d 100644 --- a/packages/games/libretro/picodrive/package.mk +++ b/packages/games/libretro/picodrive/package.mk @@ -1,5 +1,5 @@ PKG_NAME="picodrive" -PKG_VERSION="97fa8bcd1644aea1fbc841e41d76df3c1bffc949" +PKG_VERSION="80d31d727d45be13813920078259c6dce7973f42" PKG_LICENSE="MAME" PKG_SITE="https://github.com/libretro/picodrive" PKG_URL="${PKG_SITE}.git" diff --git a/packages/games/libretro/ppsspp/package.mk b/packages/games/libretro/ppsspp/package.mk index e18b990ce..67d5f31ec 100644 --- a/packages/games/libretro/ppsspp/package.mk +++ b/packages/games/libretro/ppsspp/package.mk @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="ppsspp" -PKG_VERSION="5f10cabe5a0a4442e642d473f360e309288dd5f4" +PKG_VERSION="ece6edfe83db1cc45fce5f760db9104440465b8a" PKG_LICENSE="GPLv2" PKG_SITE="https://github.com/hrydgard/ppsspp" PKG_URL="https://github.com/hrydgard/ppsspp.git" diff --git a/packages/games/libretro/puae/package.mk b/packages/games/libretro/puae/package.mk index 5a36e26f9..172f09c90 100644 --- a/packages/games/libretro/puae/package.mk +++ b/packages/games/libretro/puae/package.mk @@ -20,7 +20,7 @@ ################################################################################ PKG_NAME="puae" -PKG_VERSION="632f3ecd307875de31086a30e0e806eb03b3840b" +PKG_VERSION="a9d5795261d52df75ebb8c031c86a48d66ed5d8a" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" diff --git a/packages/games/libretro/px68k/package.mk b/packages/games/libretro/px68k/package.mk index d2b5013a2..37b50edc1 100644 --- a/packages/games/libretro/px68k/package.mk +++ b/packages/games/libretro/px68k/package.mk @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="px68k" -PKG_VERSION="82350669b834f89f62dfa353188598e42c3a8d83" +PKG_VERSION="4c7542e34df71e3ebab77b5867901747d58dbb38" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="Unknown" diff --git a/packages/games/libretro/scummvm/package.mk b/packages/games/libretro/scummvm/package.mk index 758fb6a24..fa4aab294 100644 --- a/packages/games/libretro/scummvm/package.mk +++ b/packages/games/libretro/scummvm/package.mk @@ -20,7 +20,7 @@ ################################################################################ PKG_NAME="scummvm" -PKG_VERSION="1429134" +PKG_VERSION="a2b8ea7d419bc38b96b5956fd8f635cbad9d29cb" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPLv2" diff --git a/packages/games/libretro/slang-shaders/package.mk b/packages/games/libretro/slang-shaders/package.mk index c9b133aa6..4fb2d9ac2 100644 --- a/packages/games/libretro/slang-shaders/package.mk +++ b/packages/games/libretro/slang-shaders/package.mk @@ -20,7 +20,7 @@ ################################################################################ PKG_NAME="slang-shaders" -PKG_VERSION="379eeca" +PKG_VERSION="adbe2b98ff97a8f5939fbd8c6f063aee46a999d3" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" diff --git a/packages/games/libretro/stella/package.mk b/packages/games/libretro/stella/package.mk index 764f1cf3e..b97ae5577 100644 --- a/packages/games/libretro/stella/package.mk +++ b/packages/games/libretro/stella/package.mk @@ -20,7 +20,7 @@ ################################################################################ PKG_NAME="stella" -PKG_VERSION="d05957510a33cdd96d667aa39b092345ae8e9843" +PKG_VERSION="9d46bb614f81c91513acc3b06c8d9865c24d8c3c" PKG_REV="1" PKG_LICENSE="GPL2" PKG_SITE="https://github.com/stella-emu/stella" diff --git a/packages/games/libretro/swanstation/package.mk b/packages/games/libretro/swanstation/package.mk index 8b1d98fa8..c3caf00d6 100644 --- a/packages/games/libretro/swanstation/package.mk +++ b/packages/games/libretro/swanstation/package.mk @@ -3,7 +3,7 @@ # Maintenance 2020 351ELEC team (https://github.com/fewtarius/351ELEC) PKG_NAME="swanstation" -PKG_VERSION="82390b89fe73b4abd2df6ac7b5dae319ff7785a4" +PKG_VERSION="9c2ed9e91774f1d96b5105e4c68e06143ec741a8" PKG_ARCH="" PKG_LICENSE="GPLv3" PKG_SITE="https://github.com/libretro/swanstation" diff --git a/packages/games/tools/retroarch-joypads/gamepads/device/handheld b/packages/games/tools/retroarch-joypads/gamepads/device/handheld deleted file mode 120000 index 2988caf9b..000000000 --- a/packages/games/tools/retroarch-joypads/gamepads/device/handheld +++ /dev/null @@ -1 +0,0 @@ -X86_64 \ No newline at end of file diff --git a/packages/games/tools/retroarch-joypads/gamepads/device/X86_64/ THEC64 Joystick THEC64 Joystick .cfg b/packages/games/tools/retroarch-joypads/gamepads/device/handheld/ THEC64 Joystick THEC64 Joystick .cfg similarity index 100% rename from packages/games/tools/retroarch-joypads/gamepads/device/X86_64/ THEC64 Joystick THEC64 Joystick .cfg rename to packages/games/tools/retroarch-joypads/gamepads/device/handheld/ THEC64 Joystick THEC64 Joystick .cfg diff --git a/packages/games/tools/retroarch-joypads/gamepads/device/X86_64/Atari Classic Controller.cfg b/packages/games/tools/retroarch-joypads/gamepads/device/handheld/Atari Classic Controller.cfg similarity index 100% rename from packages/games/tools/retroarch-joypads/gamepads/device/X86_64/Atari Classic Controller.cfg rename to packages/games/tools/retroarch-joypads/gamepads/device/handheld/Atari Classic Controller.cfg diff --git a/packages/games/tools/retroarch-joypads/gamepads/device/X86_64/Atari Game Controller.cfg b/packages/games/tools/retroarch-joypads/gamepads/device/handheld/Atari Game Controller.cfg similarity index 100% rename from packages/games/tools/retroarch-joypads/gamepads/device/X86_64/Atari Game Controller.cfg rename to packages/games/tools/retroarch-joypads/gamepads/device/handheld/Atari Game Controller.cfg diff --git a/packages/games/tools/retroarch-joypads/gamepads/device/X86_64/Core (Plus) Wired Controller.cfg b/packages/games/tools/retroarch-joypads/gamepads/device/handheld/Core (Plus) Wired Controller.cfg similarity index 100% rename from packages/games/tools/retroarch-joypads/gamepads/device/X86_64/Core (Plus) Wired Controller.cfg rename to packages/games/tools/retroarch-joypads/gamepads/device/handheld/Core (Plus) Wired Controller.cfg diff --git a/packages/games/tools/retroarch-joypads/gamepads/device/X86_64/Game Controller.cfg b/packages/games/tools/retroarch-joypads/gamepads/device/handheld/Game Controller.cfg similarity index 100% rename from packages/games/tools/retroarch-joypads/gamepads/device/X86_64/Game Controller.cfg rename to packages/games/tools/retroarch-joypads/gamepads/device/handheld/Game Controller.cfg diff --git a/packages/games/tools/retroarch-joypads/gamepads/device/X86_64/Microsoft X-Box 360 pad.cfg b/packages/games/tools/retroarch-joypads/gamepads/device/handheld/Microsoft X-Box 360 pad.cfg similarity index 100% rename from packages/games/tools/retroarch-joypads/gamepads/device/X86_64/Microsoft X-Box 360 pad.cfg rename to packages/games/tools/retroarch-joypads/gamepads/device/handheld/Microsoft X-Box 360 pad.cfg diff --git a/packages/games/tools/retroarch-joypads/gamepads/device/X86_64/Steam Controller.cfg b/packages/games/tools/retroarch-joypads/gamepads/device/handheld/Steam Controller.cfg similarity index 100% rename from packages/games/tools/retroarch-joypads/gamepads/device/X86_64/Steam Controller.cfg rename to packages/games/tools/retroarch-joypads/gamepads/device/handheld/Steam Controller.cfg diff --git a/packages/graphics/SDL/package.mk b/packages/graphics/SDL/package.mk index ab9f758d5..5d55b60f2 100644 --- a/packages/graphics/SDL/package.mk +++ b/packages/graphics/SDL/package.mk @@ -18,7 +18,6 @@ PKG_NAME="SDL" PKG_VERSION="92927a9b689c55c5879add79378e24f9443f56f4" -#PKG_SHA256="" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="https://www.libsdl.org/" diff --git a/packages/jelos/config/system/configs/system.cfg b/packages/jelos/config/system/configs/system.cfg index 9ebb67341..e9f9a1ebf 100644 --- a/packages/jelos/config/system/configs/system.cfg +++ b/packages/jelos/config/system/configs/system.cfg @@ -25,6 +25,7 @@ audio.bgmusic=1 audio.device=headphone audio.display_titles=1 audio.persystem=0 +audio.preamp=50 audio.volume=75 bluetooth.enabled=0 boot=Emulationstation @@ -87,7 +88,6 @@ global.retroachievements.verbose=0 global.retroarch.menu_driver=ozone global.runahead=0 global.secondinstance=0 -gpu.powersave=0 intellivision.integerscale=0 intellivision.ratio=4/3 ipv6.enabled=0 @@ -182,6 +182,7 @@ system.hostname=@DEVICENAME@ system.language=en_US system.overclock=off system.cpugovernor=schedutil +system.powersave=0 system.timezone=America/New_York system.automount=1 system.autohotkeys=1 diff --git a/packages/jelos/package.mk b/packages/jelos/package.mk index 1b08eb924..3ff63b5f2 100644 --- a/packages/jelos/package.mk +++ b/packages/jelos/package.mk @@ -24,7 +24,7 @@ fi PKG_BASEOS="plymouth-lite grep wget libjpeg-turbo util-linux xmlstarlet bluetool gnupg gzip patchelf \ imagemagick terminus-font vim bash pyudev dialog six git dbus-python coreutils miniupnpc \ - nss-mdns avahi alsa-ucm-conf MC fbgrab modules system-utils autostart powerstate" + nss-mdns avahi alsa-ucm-conf MC fbgrab modules system-utils autostart powerstate powertop" PKG_UI="emulationstation es-themes" diff --git a/packages/jelos/profile.d/02-distribution b/packages/jelos/profile.d/02-distribution index 1e298cc0f..6c1164696 100644 --- a/packages/jelos/profile.d/02-distribution +++ b/packages/jelos/profile.d/02-distribution @@ -63,3 +63,9 @@ get_es_setting() { echo $(sed -n "s|\s*<${1} name=\"${2}\" value=\"\(.*\)\" />|\1|p" ${ES_CONF}) } +log() { + SOURCE=${1//\/*\//} + MESSAGE=${*#${1}} + MESSAGE=${MESSAGE# } + logger -t ${SOURCE} "${MESSAGE}" +} diff --git a/packages/jelos/profile.d/03-powerfunctions b/packages/jelos/profile.d/03-powerfunctions new file mode 100644 index 000000000..fd83e9ccb --- /dev/null +++ b/packages/jelos/profile.d/03-powerfunctions @@ -0,0 +1,80 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2022-present Fewtarius (https://github.com/fewtarius) + +gpu_power_profile() { + for card in /sys/class/drm/card*/device/pp_power_profile_mode + do + if [ -e "${card}" ] + then + echo ${1} >${card} 2>/dev/null + fi + done +} + +gpu_performance_level() { + for card in /sys/class/drm/card*/device/power_dpm_force_performance_level + do + if [ -e "${card}" ] + then + echo ${1} >${card} 2>/dev/null + fi + done +} + +pcie_aspm_policy() { + if [ -e "/sys/module/pcie_aspm/parameters/policy" ] + then + echo ${1} >/sys/module/pcie_aspm/parameters/policy 2>/dev/null + fi +} + +cpu_perftune() { + CPU="$(awk '/vendor_id/ {print $3;exit}' /proc/cpuinfo)" + if [ "${CPU}" = "AuthenticAMD" ] + then + if [ "${1}" = "battery" ] + then + ryzenadj --power-saving >/dev/null 2>&1 + else + ryzenadj --max-performance >/dev/null 2>&1 + fi + elif [ "${CPU}" = "GenuineIntel" ] + then + for policy in $(find /sys/devices/system/cpu/cpufreq/policy*/ -name energy_performance_preference) + do + if [ "${1}" = "battery" ] + then + echo power >${policy} >/dev/null 2>&1 + else + echo performance >${policy} >/dev/null 2>&1 + fi + done + fi +} + +audio_powersave() { + for MODULE in snd_hda_intel snd_ac97_codec + do + if [ -e "/sys/module/${MODULE}/parameters/power_save" ] + then + echo ${1} >/sys/module/${MODULE}/parameters/power_save 2>/dev/null + fi + done +} + +device_powersave() { + case ${1} in + 1) + PSMODE=auto + ;; + *) + PSMODE=on + ;; + esac + find /sys/devices -name control -print0 | \ + while read -r -d '' DEVICE + do + echo ${PSMODE} >"${DEVICE}" 2>/dev/null + done +} diff --git a/packages/jelos/sources/post-update b/packages/jelos/sources/post-update index 2997722d0..bf14780a7 100644 --- a/packages/jelos/sources/post-update +++ b/packages/jelos/sources/post-update @@ -98,12 +98,12 @@ then cp -f /usr/config/smb.conf /storage/.config fi -# Set GPU power saving by default -GPUPOWER=$(get_setting gpu.powersave) -if [ -z "${GPUPOWER}" ] +# Set enhanced power saving off by default +ENHPOWER=$(get_setting system.powersave) +if [ -z "${ENHPOWER}" ] then - echo "Set up GPU power saving..." >>${LOG} - set_setting gpu.powersave 0 + echo "Set up enhanced power saving..." >>${LOG} + set_setting system.powersave 0 fi # Set automatic hotkey management by default. @@ -140,9 +140,28 @@ CheckAtStartup = false EOF fi +# the controller profile has been renamed. +if [ -e "/storage/.config/profile.d/99-controller" ] +then + rm -f /storage/.config/profile.d/99-controller + mkcontroller +fi + +# Set a default for the audio preamp +PREAMP=$(get_setting audio.preamp) +if [ -z "${PREAMP}" ] +then + echo "Set default preamp." >>${LOG} + set_setting audio.preamp 50 +fi + +# Disable IPv6 by default IPV6=$(get_setting ipv6.enabled) if [ -z "${IPV6}" ] then echo "Disable ipv6." >>${LOG} set_setting ipv6.enabled 0 fi + +### Force everyone to the stable repo +set_setting updates.branch stable diff --git a/packages/jelos/sources/scripts/automount b/packages/jelos/sources/scripts/automount index 49e87b8c9..de4489f12 100755 --- a/packages/jelos/sources/scripts/automount +++ b/packages/jelos/sources/scripts/automount @@ -23,7 +23,7 @@ mount_games() { [ -e "${1}" ] && \ [ ! -e "/storage/.please_resize_me" ] then - echo "Mounting ${1} on /storage/roms" + log $0 "Mounting ${1} on /storage/roms" mount ${1} /storage/roms >/dev/null 2>&1 /usr/bin/systemd-tmpfiles --create /usr/lib/tmpfiles.d/jelos-dirs.conf >/dev/null 2>&1 fi @@ -42,13 +42,13 @@ find_games() { SIZE=$(awk '/'${ROOTDEV}'$/ {print $3}' /proc/partitions) if (( ${SIZE} <= 8388608 )) then - echo "Device ${ROOTDEV} is too small, ignoring." + log $0 "Device ${ROOTDEV} is too small, ignoring." # We don't want to mount partitions smaller than ~8GB. continue fi if [ -L "/sys/class/block/${ROOTDEV}boot0" ] then - echo "Device ${ROOTDEV} might be Android, ignoring." + log $0 "Device ${ROOTDEV} might be Android, ignoring." # Assume this is an android boot device and ignore it. continue fi diff --git a/packages/jelos/sources/scripts/mkcontroller b/packages/jelos/sources/scripts/mkcontroller index d61272876..3b1ffe9ef 100755 --- a/packages/jelos/sources/scripts/mkcontroller +++ b/packages/jelos/sources/scripts/mkcontroller @@ -57,7 +57,7 @@ source /tmp/${OUTFILE} echo "${CONTROLLER}" >/storage/.controller -cat </storage/.config/profile.d/99-controller +cat </storage/.config/profile.d/98-controller DEVICE_BTN_SOUTH="${b}" DEVICE_BTN_EAST="${a}" DEVICE_BTN_NORTH="${x}" @@ -76,6 +76,7 @@ DEVICE_BTN_DPAD_DOWN="${down}" DEVICE_BTN_DPAD_LEFT="${left}" DEVICE_BTN_DPAD_RIGHT="${right}" EOF +ln -sf /etc/profile.d/98-jslisten 99-jslisten rm /tmp/${OUTFILE} diff --git a/packages/jelos/sources/scripts/runemu.sh b/packages/jelos/sources/scripts/runemu.sh index f9631831d..57c59d5f9 100755 --- a/packages/jelos/sources/scripts/runemu.sh +++ b/packages/jelos/sources/scripts/runemu.sh @@ -176,12 +176,12 @@ USING APPENDCONFIG : ${RAAPPENDCONF} EOF else - log "Emulation Run Log - Started at $(date)" + log $0 "Emulation Run Log - Started at $(date)" fi } function quit() { - $VERBOSE && log "Cleaning up and exiting" + $VERBOSE && log $0 "Cleaning up and exiting" bluetooth enable jslisten stop clear_screen @@ -192,14 +192,14 @@ function quit() { } function clear_screen() { - $VERBOSE && log "Clearing screen" + $VERBOSE && log $0 "Clearing screen" clear } function bluetooth() { if [ "$1" == "disable" ] then - $VERBOSE && log "Disabling BT" + $VERBOSE && log $0 "Disabling BT" if [[ "$BTENABLED" == "1" ]] then NPID=$(pgrep -f batocera-bluetooth-agent) @@ -209,7 +209,7 @@ function bluetooth() { fi elif [ "$1" == "enable" ] then - $VERBOSE && log "Enabling BT" + $VERBOSE && log $0 "Enabling BT" if [[ "$BTENABLED" == "1" ]] then systemd-run batocera-bluetooth-agent @@ -227,14 +227,16 @@ jslisten stop ### Per emulator/core configurations if [ -z ${RETROARCH} ] then - $VERBOSE && log "Configuring for a non-libretro emulator" + $VERBOSE && log $0 "Configuring for a non-libretro emulator" case ${PLATFORM} in "setup") RUNTHIS='${TBASH} "${ROMNAME}"' ;; "nds") - jslisten set "drastic" - RUNTHIS='${TBASH} /usr/bin/start_drastic.sh "${ROMNAME}"' + jslisten set "-9 melonDS" + if [ "$EMU" = "melondssa" ]; then + RUNTHIS='${TBASH} /usr/bin/start_melonds.sh "${ROMNAME}"' + fi ;; "solarus") if [ "$EMU" = "solarus" ] @@ -268,7 +270,7 @@ then fi ;; "psx") - jslisten set "duckstation-nogui" + jslisten set "-9 duckstation-nogui" if [ "$EMU" = "duckstationsa" ]; then RUNTHIS='${TBASH} /usr/bin/start_duckstation.sh "${ROMNAME}"' fi @@ -327,7 +329,7 @@ then RUNTHIS='${TBASH} "start_${CORE}.sh" "${ROMNAME}"' esac else - $VERBOSE && log "Configuring for a libretro core" + $VERBOSE && log $0 "Configuring for a libretro core" ### Set jslisten to kill the appropriate retroarch jslisten set "retroarch retroarch32" @@ -465,7 +467,7 @@ if [ -e "${SHADERTMP}" ] then SHADERSET=$(cat ${SHADERTMP}) rm -f ${SHADERTMP} - $VERBOSE && log "Shader set to ${SHADERSET}" + $VERBOSE && log $0 "Shader set to ${SHADERSET}" fi if [[ ${SHADERSET} != 0 ]]; then @@ -473,15 +475,15 @@ if [[ ${SHADERSET} != 0 ]]; then fi clear_screen -$VERBOSE && log "executing game: ${ROMNAME}" -$VERBOSE && log "script to execute: ${RUNTHIS}" +$VERBOSE && log $0 "executing game: ${ROMNAME}" +$VERBOSE && log $0 "script to execute: ${RUNTHIS}" # If the rom is a shell script just execute it, useful for DOSBOX and ScummVM scan scripts if [[ "${ROMNAME}" == *".sh" ]]; then - $VERBOSE && log "Executing shell script ${ROMNAME}" + $VERBOSE && log $0 "Executing shell script ${ROMNAME}" "${ROMNAME}" &>>${OUTPUT_LOG} ret_error=$? else - $VERBOSE && log "Executing $(eval echo ${RUNTHIS})" + $VERBOSE && log $0 "Executing $(eval echo ${RUNTHIS})" eval ${RUNTHIS} &>>${OUTPUT_LOG} ret_error=$? fi @@ -519,17 +521,17 @@ then INETUP=$(/usr/bin/amionline >/dev/null 2>&1) if [ $? == 0 ] then - log "backup saves to the cloud." + log $0 "backup saves to the cloud." run /usr/bin/cloud_backup fi fi -$VERBOSE && log "Checking errors: ${ret_error} " +$VERBOSE && log $0 "Checking errors: ${ret_error} " if [ "${ret_error}" == "0" ] then quit 0 else - log "exiting with $ret_error" + log $0 "exiting with $ret_error" quit 1 fi diff --git a/packages/jelos/sources/scripts/setsettings.sh b/packages/jelos/sources/scripts/setsettings.sh index c735e8688..e8f1ddf35 100755 --- a/packages/jelos/sources/scripts/setsettings.sh +++ b/packages/jelos/sources/scripts/setsettings.sh @@ -63,7 +63,7 @@ echo -n > "${RAAPPENDCONF}" ### Move operations to /tmp so we're not writing to the microSD slowing us down. ### Also test the file to ensure it's not 0 bytes which can happen if someone presses reset. if [ ! -s ${RACONF} ]; then - log "Fix broken RA conf" + log $0 "Fix broken RA conf" cp -f "${SOURCERACONF}" "${RACONF}" fi @@ -72,14 +72,14 @@ if [ ! -d "${SNAPSHOTS}/${PLATFORM}" ]; then fi function doexit() { - log "Exiting.." + log $0 "Exiting.." sync exit 0 } ## This needs to be killed with fire. function get_game_setting() { - log "Get Settings function (${1})" + log $0 "Get Settings function (${1})" #We look for the setting on the ROM first, if not found we search for platform and lastly we search globally escaped_rom_name=$(echo "${ROM}" | sed -E 's|([][])|\\\1|g') PAT="s|^${PLATFORM}\[\"${escaped_rom_name}\"\][\.-]${1}=\(.*\)|\1|p" @@ -113,10 +113,10 @@ function array_contains () { } ## Logging -log "setsettings.sh" -log "Platform: ${PLATFORM}" -log "ROM: ${ROM}" -log "Core: ${CORE}" +log $0 "setsettings.sh" +log $0 "Platform: ${PLATFORM}" +log $0 "ROM: ${ROM}" +log $0 "Core: ${CORE}" ## ## Global Setting that have to stay in retroarch.cfg @@ -662,7 +662,7 @@ get_game_setting "parallel_n64_controller_pak" ## atari800 core needs other settings when emulation atari5200 if [ "${CORE}" == "atari800" ]; then - log "Atari 800 section" + log $0 "Atari 800 section" ATARICONF="/storage/.config/system/configs/atari800.cfg" ATARI800CONF="/storage/.config/retroarch/config/Atari800/Atari800.opt" [[ ! -f "$ATARI800CONF" ]] && touch "$ATARI800CONF" @@ -690,7 +690,7 @@ fi ## Gambatte if [ "${CORE}" == "gambatte" ]; then - log "Gambatte section" + log $0 "Gambatte section" GAMBATTECONF="/storage/.config/retroarch/config/Gambatte/Gambatte.opt" if [ ! -f "$GAMBATTECONF" ]; then # set some defaults @@ -718,7 +718,7 @@ CONTROLLERS="$@" CONTROLLERS="${CONTROLLERS#*--controllers=*}" for i in 1 2 3 4 5; do -log "Controller section (${1})" +log $0 "Controller section (${1})" if [[ "$CONTROLLERS" == *p${i}* ]]; then PINDEX="${CONTROLLERS#*-p${i}index }" PINDEX="${PINDEX%% -p${i}guid*}" diff --git a/packages/jelos/sources/scripts/wifictl b/packages/jelos/sources/scripts/wifictl index 777214f4f..b0d44ae2c 100755 --- a/packages/jelos/sources/scripts/wifictl +++ b/packages/jelos/sources/scripts/wifictl @@ -5,7 +5,10 @@ . /etc/profile -COMMAND="$1" +if [ ! -d "" ] +then + mkdir -p "/storage/.cache/connman" +fi ### ES won't save the configuration in time ### for it to be useable by the script, so @@ -43,9 +46,11 @@ set_powersave() { ENABLED=$(get_setting wifi.powersave) if [ "${ENABLED}" = "1" ] then - iw wlan0 set power_save on + log $0 "Enabling WIFI power saving." + iw wlan0 set power_save on 2>/dev/null else - iw wlan0 set power_save off + log $0 "Disabling WIFI power saving." + iw wlan0 set power_save off 2>/dev/null fi } @@ -66,13 +71,19 @@ check_wifi() { fi } -set_wifi() { - case "${1}" in - "enable") - check_wifi - set_setting wifi.enabled 1 - # Create the WIFI config. - cat > "${WIFICFG}" </dev/null + fi + rfkill unblock wifi 2>/dev/null + connmanctl connect $(get_wifi_service "${SSID}") + set_powersave 2>/dev/null +} + +set_profile() { + cat > "${WIFICFG}" </dev/null - fi - set_powersave 2>/dev/null - nohup connmanctl connect $(get_wifi_service "${SSID}") 2>/dev/null & - ;; - "disable") - connmanctl disable wifi 2>/dev/null - rm -f "${WIFICFG}" 2>/dev/null - set_setting wifi.enabled 0 - ;; - "reconnect") - /usr/bin/wifictl disable - /usr/bin/wifictl enable - ;; - "list") - #connmanctl services | cut -b 5- | awk '/wifi/ {sub(/\s+wifi_.*$/,"",$0);print}' | sort | uniq - list_wifi | awk '{sub(/\S+=/,"",$0);print}' - ;; - "scan") - connmanctl scan wifi 2>/dev/null - ;; - "scanlist") - set_wifi scan 2>/dev/null - list_wifi | awk '{sub(/\S+=/,"",$0);print}' - ;; - "service") - get_wifi_service "${SSID}" - ;; - "setpowersave") - set_powersave 2>/dev/null - ;; - esac } -if [ ! -d "" ] -then - mkdir -p "/storage/.cache/connman" -fi +case "${1}" in + enable) + check_wifi + set_setting wifi.enabled 1 + set_profile + connect_wifi + ;; + disable) + rfkill block wifi + connmanctl disable wifi + rm -f "${WIFICFG}" 2>/dev/null + set_setting wifi.enabled 0 + ;; + reconnect) + /usr/bin/wifictl disable + /usr/bin/wifictl enable + ;; + list) + #connmanctl services | cut -b 5- | awk '/wifi/ {sub(/\s+wifi_.*$/,"",$0);print}' | sort | uniq + list_wifi | awk '{sub(/\S+=/,"",$0);print}' + ;; + scan) + connmanctl scan wifi 2>/dev/null + ;; + scanlist) + set_wifi scan 2>/dev/null + list_wifi | awk '{sub(/\S+=/,"",$0);print}' + ;; + service) + get_wifi_service "${SSID}" + ;; + setpowersave) + set_powersave + ;; + setprofile) + set_profile + ;; +esac -set_wifi ${COMMAND} diff --git a/packages/kernel/linux/patches/handheld b/packages/kernel/linux/patches/handheld deleted file mode 120000 index 2988caf9b..000000000 --- a/packages/kernel/linux/patches/handheld +++ /dev/null @@ -1 +0,0 @@ -X86_64 \ No newline at end of file diff --git a/packages/kernel/linux/patches/X86_64/001-hwsensors.patch b/packages/kernel/linux/patches/handheld/001-hwsensors.patch similarity index 100% rename from packages/kernel/linux/patches/X86_64/001-hwsensors.patch rename to packages/kernel/linux/patches/handheld/001-hwsensors.patch diff --git a/packages/kernel/linux/patches/X86_64/002-ayaneo-sensors.patch b/packages/kernel/linux/patches/handheld/002-ayaneo-sensors.patch similarity index 100% rename from packages/kernel/linux/patches/X86_64/002-ayaneo-sensors.patch rename to packages/kernel/linux/patches/handheld/002-ayaneo-sensors.patch diff --git a/packages/kernel/linux/patches/X86_64/003-patch-6.1-rc7-rt5.patch b/packages/kernel/linux/patches/handheld/003-patch-6.1-rc7-rt5.patch similarity index 100% rename from packages/kernel/linux/patches/X86_64/003-patch-6.1-rc7-rt5.patch rename to packages/kernel/linux/patches/handheld/003-patch-6.1-rc7-rt5.patch diff --git a/packages/kernel/linux/patches/X86_64/004-steam-deck-controller.patch b/packages/kernel/linux/patches/handheld/004-steam-deck-controller.patch similarity index 100% rename from packages/kernel/linux/patches/X86_64/004-steam-deck-controller.patch rename to packages/kernel/linux/patches/handheld/004-steam-deck-controller.patch diff --git a/packages/kernel/linux/patches/X86_64/005-ayaneo-display-quirks.patch b/packages/kernel/linux/patches/handheld/005-ayaneo-display-quirks.patch similarity index 100% rename from packages/kernel/linux/patches/X86_64/005-ayaneo-display-quirks.patch rename to packages/kernel/linux/patches/handheld/005-ayaneo-display-quirks.patch diff --git a/packages/kernel/linux/patches/X86_64/006-steamdeck-acpi.patch b/packages/kernel/linux/patches/handheld/006-steamdeck-acpi.patch similarity index 100% rename from packages/kernel/linux/patches/X86_64/006-steamdeck-acpi.patch rename to packages/kernel/linux/patches/handheld/006-steamdeck-acpi.patch diff --git a/packages/multimedia/libdvbpsi/package.mk b/packages/multimedia/libdvbpsi/package.mk index 1afdf8640..cdaade8a6 100644 --- a/packages/multimedia/libdvbpsi/package.mk +++ b/packages/multimedia/libdvbpsi/package.mk @@ -3,7 +3,6 @@ PKG_NAME="libdvbpsi" PKG_VERSION="1.3.3" -#PKG_SHA256="" PKG_REV="2" PKG_ARCH="any" PKG_LICENSE="GPL" diff --git a/packages/multimedia/mpv/package.mk b/packages/multimedia/mpv/package.mk index 60e635d00..fdd8c05a1 100644 --- a/packages/multimedia/mpv/package.mk +++ b/packages/multimedia/mpv/package.mk @@ -4,7 +4,6 @@ PKG_NAME="mpv" PKG_VERSION="25b66256d7ff48254b2055a066e29f260414112f" -PKG_SHA256="" PKG_LICENSE="GPLv2+" PKG_SITE="https://github.com/mpv-player/mpv" PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz" diff --git a/packages/multimedia/x264/package.mk b/packages/multimedia/x264/package.mk index a4d1f761c..2f704c7ff 100644 --- a/packages/multimedia/x264/package.mk +++ b/packages/multimedia/x264/package.mk @@ -4,7 +4,6 @@ PKG_NAME="x264" PKG_VERSION="bfc87b7a330f75f5c9a21e56081e4b20344f139e" -#PKG_SHA256="" PKG_LICENSE="GPL" PKG_SITE="http://www.videolan.org/developers/x264.html" PKG_URL="https://code.videolan.org/videolan/x264/-/archive/${PKG_VERSION}.tar.gz" diff --git a/packages/network/avahi/package.mk b/packages/network/avahi/package.mk index f1ab0817d..97e82475c 100644 --- a/packages/network/avahi/package.mk +++ b/packages/network/avahi/package.mk @@ -98,5 +98,5 @@ post_install() { add_group avahi 495 enable_service avahi-defaults.service - enable_service avahi-daemon.service + #enable_service avahi-daemon.service } diff --git a/packages/network/bluez/package.mk b/packages/network/bluez/package.mk index 0b69ef8dd..8fd6f1bd5 100644 --- a/packages/network/bluez/package.mk +++ b/packages/network/bluez/package.mk @@ -77,6 +77,6 @@ post_makeinstall_target() { post_install() { enable_service bluetooth-defaults.service - enable_service bluetooth.service + #enable_service bluetooth.service enable_service obex.service } diff --git a/packages/network/connman/package.mk b/packages/network/connman/package.mk index 0cead47d3..76074957c 100644 --- a/packages/network/connman/package.mk +++ b/packages/network/connman/package.mk @@ -88,7 +88,4 @@ post_install() { add_group system 430 enable_service connman.service - if [ "$WIREGUARD_SUPPORT" = "yes" ]; then - enable_service connman-vpn.service - fi } diff --git a/packages/network/libslirp/package.mk b/packages/network/libslirp/package.mk new file mode 100644 index 000000000..00f1ce669 --- /dev/null +++ b/packages/network/libslirp/package.mk @@ -0,0 +1,11 @@ +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2021-present Frank Hartung (supervisedthinking (@) gmail.com) + +PKG_NAME="libslirp" +PKG_VERSION="4.6.1" +PKG_SHA256="69ad4df0123742a29cc783b35de34771ed74d085482470df6313b6abeb799b11" +PKG_LICENSE="OSS" +PKG_SITE="https://gitlab.freedesktop.org/slirp/libslirp" +PKG_URL="https://gitlab.freedesktop.org/slirp/libslirp/-/archive/v${PKG_VERSION}/${PKG_NAME}-v${PKG_VERSION}.tar.gz" +PKG_DEPENDS_TARGET="toolchain glib" +PKG_LONGDESC="A general purpose TCP-IP emulator used by virtual machine hypervisors to provide virtual networking services." diff --git a/packages/network/rclone/package.mk b/packages/network/rclone/package.mk index 720d15248..7ddbcfa65 100644 --- a/packages/network/rclone/package.mk +++ b/packages/network/rclone/package.mk @@ -3,7 +3,7 @@ # Copyright (C) 2022-present Fewtarius PKG_NAME="rclone" -PKG_VERSION="1.60.0" +PKG_VERSION="1.61.1" PKG_DEPENDS_TARGET="toolchain fuse rsync" PKG_SECTION="tools" PKG_SHORTDESC="rsync for cloud storage" diff --git a/packages/sysutils/autostart/sources/common/005-alsa b/packages/sysutils/autostart/sources/common/005-alsa index dbe4f6afa..2b4cda5e4 100755 --- a/packages/sysutils/autostart/sources/common/005-alsa +++ b/packages/sysutils/autostart/sources/common/005-alsa @@ -29,7 +29,8 @@ then alsactl restore -f /storage/.config/asound.state fi -amixer -M set Pre-Amp -- 60% +PREAMP=$(get_setting "audio.preamp" 2>/dev/null) +amixer -M set Pre-Amp -- ${PREAMP}% VOL=$(get_setting "audio.volume" 2>/dev/null) amixer -M set "${DEVICE_AUDIO_MIXER}" ${VOL}% diff --git a/packages/sysutils/autostart/sources/common/009-bluetooth b/packages/sysutils/autostart/sources/common/009-bluetooth index c927f7085..87cf63f8a 100755 --- a/packages/sysutils/autostart/sources/common/009-bluetooth +++ b/packages/sysutils/autostart/sources/common/009-bluetooth @@ -4,5 +4,8 @@ if [ "$(get_setting bluetooth.enabled)" == "1" ] then + rfkill unblock bluetooth nohup systemctl start bluetooth & +else + rfkill block bluetooth fi diff --git a/packages/sysutils/autostart/sources/daemons/006-bluealsa b/packages/sysutils/autostart/sources/daemons/006-bluealsa new file mode 100755 index 000000000..3f39c69d2 --- /dev/null +++ b/packages/sysutils/autostart/sources/daemons/006-bluealsa @@ -0,0 +1,3 @@ +STATE=$(get_setting bluetooth.enabled) +SVC="bluealsa" +DAEMONS=("bluealsa") diff --git a/packages/sysutils/powerstate/package.mk b/packages/sysutils/powerstate/package.mk index b5eaffc8a..41431a80a 100644 --- a/packages/sysutils/powerstate/package.mk +++ b/packages/sysutils/powerstate/package.mk @@ -3,7 +3,6 @@ PKG_NAME="powerstate" PKG_VERSION="" -PKG_SHA256="" PKG_ARCH="any" PKG_LICENSE="OSS" PKG_DEPENDS_TARGET="systemd" diff --git a/packages/sysutils/powerstate/sources/powerstate.sh b/packages/sysutils/powerstate/sources/powerstate.sh index 048ddb94c..dbe1cac54 100755 --- a/packages/sysutils/powerstate/sources/powerstate.sh +++ b/packages/sysutils/powerstate/sources/powerstate.sh @@ -10,90 +10,38 @@ . /etc/profile -DEBUG=false - -performance_level() { - for card in /sys/class/drm/card*/device/power_dpm_force_performance_level - do - if [ -e "${card}" ] - then - echo ${1} >${card} 2>/dev/null - fi - done -} - -power_dpm_state() { - for card in /sys/class/drm/card*/device/power_dpm_state - do - if [ -e "${card}" ] - then - echo ${1} >${card} 2>/dev/null - fi - done -} - -pcie_aspm_policy() { - if [ -e "/sys/module/pcie_aspm/parameters/policy" ] - then - echo ${1} >/sys/module/pcie_aspm/parameters/policy 2>/dev/null - fi -} - -perftune() { - CPU="$(awk '/vendor_id/ {print $3;exit}' /proc/cpuinfo)" - if [ "${CPU}" = "AuthenticAMD" ] - then - if [ "${1}" = "battery" ] - then - ryzenadj --power-saving >/dev/null 2>&1 - else - ryzenadj --max-performance >/dev/null 2>&1 - fi - elif [ "${CPU}" = "GenuineIntel" ] - then - for policy in $(find /sys/devices/system/cpu/cpufreq/policy*/ -name energy_performance_preference) - do - if [ "${1}" = "battery" ] - then - echo power >${policy} >/dev/null 2>&1 - else - echo performance >${policy} >/dev/null 2>&1 - fi - done - fi -} - while true do STATUS="$(cat /sys/class/power_supply/{BAT*,bat*}/status 2>/dev/null)" - ${DEBUG} && echo "Status: ${STATUS}" if [ ! "${STATUS}" = "${CURRENT_MODE}" ] then - ${DEBUG} && echo "Status changed." case ${STATUS} in Disch*) - /usr/bin/logger -t user.notice "Switching to battery mode." - if [ "$(get_setting gpu.powersave)" = 1 ] + log $0 "Switching to battery mode." + if [ "$(get_setting system.powersave)" = 1 ] then - performance_level battery - power_dpm_state low + audio_powersave 1 + cpu_perftune battery + gpu_performance_level auto + gpu_power_profile 1 pcie_aspm_policy powersave - perftune battery + device_powersave 1 fi ;; *) - /usr/bin/logger -t user.notice "Switching to performance mode." - if [ "$(get_setting gpu.powersave)" = 1 ] + log $0 "Switching to performance mode." + if [ "$(get_setting system.powersave)" = 1 ] then - performance_level auto - power_dpm_state performance + audio_powersave 0 + cpu_perftune performance + gpu_performance_level profile_standard + gpu_power_profile 1 pcie_aspm_policy default - perftune performance + device_powersave 0 fi ;; esac fi CURRENT_MODE="${STATUS}" - ${DEBUG} && echo "Current Mode: ${CURRENT_MODE}" sleep 2 done diff --git a/packages/sysutils/powertop/package.mk b/packages/sysutils/powertop/package.mk new file mode 100644 index 000000000..789b88519 --- /dev/null +++ b/packages/sysutils/powertop/package.mk @@ -0,0 +1,18 @@ +# SPDX-License-Identifier: Apache-2.0 +# Copyright (C) 2020-present Fewtarius + +PKG_NAME="powertop" +PKG_VERSION="d51ad39" +PKG_ARCH="x86_64" +PKG_LICENSE="GPL" +PKG_SITE="https://github.com/fenrus75/powertop" +PKG_URL="${PKG_SITE}.git" +PKG_DEPENDS_TARGET="toolchain ncurses libnl pciutils systemd" +PKG_LONGDESC="Power consumption / management diagnostic utility." +PKG_BUILD_FLAGS="+pic" +PKG_TOOLCHAIN="autotools" + +pre_configure_target() { + export LDFLAGS="${LDFLAGS} -ludev" +} + diff --git a/packages/sysutils/powertop/patches/001-gettext.patch b/packages/sysutils/powertop/patches/001-gettext.patch new file mode 100644 index 000000000..cc0552583 --- /dev/null +++ b/packages/sysutils/powertop/patches/001-gettext.patch @@ -0,0 +1,13 @@ +diff --git a/configure.ac b/configure.ac +index f057463..0acb110 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -26,7 +26,7 @@ GETTEXT_PACKAGE=powertop + AC_SUBST([GETTEXT_PACKAGE]) + AM_SILENT_RULES([yes]) + AM_GNU_GETTEXT([external]) +-AM_GNU_GETTEXT_VERSION([0.18.2]) ++AM_GNU_GETTEXT_VERSION([0.21.1]) + + m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) + AX_REQUIRE_DEFINED([AX_ADD_FORTIFY_SOURCE]) diff --git a/packages/sysutils/sleep/package.mk b/packages/sysutils/sleep/package.mk index 0341f02db..93c6aa06c 100644 --- a/packages/sysutils/sleep/package.mk +++ b/packages/sysutils/sleep/package.mk @@ -3,7 +3,6 @@ PKG_NAME="sleep" PKG_VERSION="" -PKG_SHA256="" PKG_ARCH="any" PKG_LICENSE="OSS" PKG_DEPENDS_TARGET="systemd" diff --git a/packages/sysutils/sleep/sources/modules.bad b/packages/sysutils/sleep/sources/modules.bad index e19fcc338..bf1450703 100644 --- a/packages/sysutils/sleep/sources/modules.bad +++ b/packages/sysutils/sleep/sources/modules.bad @@ -1,2 +1,2 @@ dwc2 -mt7921e +mt7921e mt7921_common mt76_connac_lib mt76 diff --git a/packages/sysutils/sleep/sources/sleep.sh b/packages/sysutils/sleep/sources/sleep.sh index 18a183641..549c3e382 100755 --- a/packages/sysutils/sleep/sources/sleep.sh +++ b/packages/sysutils/sleep/sources/sleep.sh @@ -4,77 +4,118 @@ . /etc/profile +headphones() { + if [ "${DEVICE_FAKE_JACKSENSE}" == "true" ] + then + log $0 "Headphone sense: ${1}" + systemctl ${1} headphones >/dev/null 2>&1 + fi +} + +volumectl() { + if [ "${DEVICE_VOLUMECTL}" == "true" ] + then + log $0 "Volume control: ${1}" + systemctl ${1} volume >/dev/null 2>&1 + fi +} + +alsastate() { + alsactl ${1} -f /storage/.config/asound.state >/dev/null 2>&1 +} + +powerstate() { + if [ "$(get_setting system.powersave)" = 1 ] + then + systemctl ${1} powerstate >/dev/null 2>&1 + fi +} + +bluetooth() { + if [ "$(get_setting bluetooth.enabled)" == "1" ] + then + log $0 "Bluetooth: ${1}" + systemctl ${1} bluetooth >/dev/null 2>&1 + fi +} + +modules() { + log $0 "Modules: ${1}" + case ${1} in + stop) + if [ -e "/usr/config/modules.bad" ] + then + for module in $(cat /usr/config/modules.bad) + do + EXISTS=$(lsmod | grep ${module}) + if [ $? = 0 ] + then + echo ${module} >>/tmp/modules.load + modprobe -r ${module} + fi + done + fi + ;; + start) + if [ -e "/tmp/modules.load" ] + then + for module in $(cat /tmp/modules.load) + do + MODCNT=0 + MODATTEMPTS=10 + while true + do + if (( "${MODCNT}" < "${MODATTEMPTS}" )) + then + modprobe ${module%% *} + if [ $? = 0 ] + then + break + fi + else + break + fi + MODCNT=$((${MODCNT} + 1)) + sleep .5 + done + done + rm -f /tmp/modules.load + fi + ;; + esac +} + case $1 in pre) - - if [ "${DEVICE_FAKE_JACKSENSE}" == "true" ] - then - nohup systemctl stop headphones & >/dev/null 2>&1 - fi - - if [ "${DEVICE_VOLUMECTL}" == "true" ] - then - nohup systemctl stop volume & >/dev/null 2>&1 - fi - - nohup alsactl store -f /storage/.config/asound.state >/dev/null 2>&1 - - if [ "$(get_setting bluetooth.enabled)" == "1" ] - then - nohup systemctl stop bluetooth >/dev/null 2>&1 - fi - - if [ -e "/usr/config/modules.bad" ] - then - for module in $(cat /usr/config/modules.bad) - do - echo ${module} >>/tmp/modules.load - modprobe -r ${module} - done - fi - - wait + alsastate store + headphones stop + volumectl stop + bluetooth stop + powerstate stop + device_powersave stop + modules stop touch /run/.last_sleep_time - ;; post) - alsactl restore -f /storage/.config/asound.state - - if [ -e "/tmp/modules.load" ] - then - for module in $(cat /tmp/modules.load) - do - modprobe ${module} - done - rm -f /tmp/modules.load - fi - - if [ "${DEVICE_FAKE_JACKSENSE}" == "true" ] - then - nohup systemctl start headphones & >/dev/null 2>&1 - fi - - if [ "${DEVICE_VOLUMECTL}" == "true" ] - then - nohup systemctl start volume & >/dev/null 2>&1 - fi + alsastate restore + modules start + powerstate start + headphones start + volumectl start + bluetooth start if [ "$(get_setting wifi.enabled)" == "1" ] then - nohup wifictl reconnect & >/dev/null 2>&1 - fi - - if [ "$(get_setting bluetooth.enabled)" == "1" ] - then - nohup systemctl start bluetooth & >/dev/null 2>&1 + log $0 "Connecting WIFI." + nohup wifictl enable >/dev/null 2>&1 fi DEVICE_VOLUME=$(get_setting "audio.volume" 2>/dev/null) - nohup amixer -M set "${DEVICE_AUDIO_MIXER}" ${DEVICE_VOLUME}% & >/dev/null 2>&1 + log $0 "Restoring volume to ${DEVICE_VOLUME}%." + amixer -M set "${DEVICE_AUDIO_MIXER}" ${DEVICE_VOLUME}% BRIGHTNESS=$(get_setting system.brightness) + log $0 "Restoring brightness to ${BRIGHTNESS}." echo ${BRIGHTNESS} >/sys/class/backlight/$(brightness device)/brightness - - wait ;; esac diff --git a/packages/sysutils/system-utils/package.mk b/packages/sysutils/system-utils/package.mk index 583ee6d52..ddc71dacc 100644 --- a/packages/sysutils/system-utils/package.mk +++ b/packages/sysutils/system-utils/package.mk @@ -2,7 +2,6 @@ PKG_NAME="system-utils" PKG_VERSION="" -PKG_SHA256="" PKG_ARCH="any" PKG_LICENSE="mix" PKG_DEPENDS_TARGET="toolchain sleep" diff --git a/packages/sysutils/system-utils/sources/scripts/fancontrol b/packages/sysutils/system-utils/sources/scripts/fancontrol index 5de2bfd04..2eb7e2827 100755 --- a/packages/sysutils/system-utils/sources/scripts/fancontrol +++ b/packages/sysutils/system-utils/sources/scripts/fancontrol @@ -8,9 +8,9 @@ DEBUG=false COOLING_PROFILE=$(get_setting "cooling.profile") FAN_PWM="${DEVICE_PWM_FAN}" -$DEBUG && echo "Setting profile to ${COOLING_PROFILE}" +log $0 "Setting profile to ${COOLING_PROFILE}" -$DEBUG && echo "Enabling fan control." +log $0 "Enabling fan control." if [ -e "${DEVICE_PWM_FAN}_enable" ] then echo 1 >${DEVICE_PWM_FAN}_enable @@ -18,13 +18,12 @@ fi if [ -e "/storage/.config/fancontrol.conf" ] && [ "${COOLING_PROFILE}" = "custom" ] then - $DEBUG && echo "Loading configuration file" 2>/dev/null + log $0 "Loading configuration file" 2>/dev/null source /storage/.config/fancontrol.conf if [ ! $? = 0 ] then WARN="Custom fan profile could not be loaded, defaulting to quiet." - $DEBUG && echo "${WARN}" - logger -t fancontrol "${WARN}" + log $0 "${WARN}" COOLING_PROFILE="quiet" set_setting cooling.profile quiet fi @@ -52,25 +51,24 @@ while true do INDEX=0 CPU_TEMP=$(printf "%.0f" $(cat ${DEVICE_TEMP_SENSOR} | awk '{ total += $1; count++ } END { print total/count }')) - $DEBUG && echo "CPU TEMP: ${CPU_TEMP}" 2>/dev/null + $DEBUG && log $0 "CPU TEMP: ${CPU_TEMP}" 2>/dev/null for TEMP in "${TEMPS[@]}" do - $DEBUG && echo "INDEX: ${INDEX}" 2>/dev/null - $DEBUG && echo "CHK: ${TEMP}" 2>/dev/null + $DEBUG && log $0 "INDEX: ${INDEX}" 2>/dev/null + $DEBUG && log $0 "CHK: ${TEMP}" 2>/dev/null if (( "${CPU_TEMP}" > "${TEMP}" )) then - $DEBUG && echo "Setting PWM FAN to ${SPEEDS[${INDEX}]} (${TEMP})" 2>/dev/null + $DEBUG && log $0 "Setting PWM FAN to ${SPEEDS[${INDEX}]} (${TEMP})" 2>/dev/null echo ${SPEEDS[${INDEX}]} >${FAN_PWM} break fi INDEX=$(( $INDEX + 1 )) done sleep 2 - $DEBUG && echo "Loop" 2>/dev/null done -$DEBUG && echo "Disabling fan control." if [ -e "${DEVICE_PWM_FAN}_enable" ] then + log $0 "Disabling fan control." echo 0 >${DEVICE_PWM_FAN}_enable fi diff --git a/packages/sysutils/systemd/scripts/kernel-overlays-setup b/packages/sysutils/systemd/scripts/kernel-overlays-setup index 67c5ca26f..2ea89f483 100755 --- a/packages/sysutils/systemd/scripts/kernel-overlays-setup +++ b/packages/sysutils/systemd/scripts/kernel-overlays-setup @@ -34,52 +34,52 @@ apply_overlay() { GOT_MODULE_OVERLAY="yes" if cp -rfs "${modules_overlay_dir}"/* "${MODULES_DIR}" ; then - log "added modules from $modules_overlay_dir" + log $0 "added modules from $modules_overlay_dir" else - log "failed to add modules from $modules_overlay_dir" + log $0 "failed to add modules from $modules_overlay_dir" fi fi if [ -d "${firmware_overlay_dir}" ] ; then if cp -rfs "${firmware_overlay_dir}"/* "${FIRMWARE_DIR}" ; then - log "added firmware from $firmware_overlay_dir" + log $0 "added firmware from $firmware_overlay_dir" else - log "failed to add firmware from $firmware_overlay_dir" + log $0 "failed to add firmware from $firmware_overlay_dir" fi fi } # setup system base modules -log "setup base modules" +log $0 "setup base modules" apply_overlay base # apply user-configured module overlays if [ -d "${OVERLAY_CONFIG_DIR}" ] ; then - log "adding overlays from ${OVERLAY_CONFIG_DIR}" + log $0 "adding overlays from ${OVERLAY_CONFIG_DIR}" GOT_MODULE_OVERLAY="no" for conf in "${OVERLAY_CONFIG_DIR}/"*.conf ; do if [ -e "$conf" ] ; then - log "processing conf $conf" + log $0 "processing conf $conf" overlay=$(cat "$conf") [ -n "$overlay" ] && apply_overlay "$overlay" fi done if [ "yes" = "$GOT_MODULE_OVERLAY" ] ; then - log "running depmod" + log $0 "running depmod" /usr/sbin/depmod -a fi fi if [ -d "${USER_FIRMWARE_DIR}" ] && [ -n "$(ls ${USER_FIRMWARE_DIR})" ] ; then if cp -rfs "${USER_FIRMWARE_DIR}"/* "${FIRMWARE_DIR}" ; then - log "added firmware from ${USER_FIRMWARE_DIR}" + log $0 "added firmware from ${USER_FIRMWARE_DIR}" else - log "failed to add firmware from ${USER_FIRMWARE_DIR}" + log $0 "failed to add firmware from ${USER_FIRMWARE_DIR}" fi fi -log "done" +log $0 "done" diff --git a/packages/tools/SDL2_image/package.mk b/packages/tools/SDL2_image/package.mk index 08313928c..320876af1 100644 --- a/packages/tools/SDL2_image/package.mk +++ b/packages/tools/SDL2_image/package.mk @@ -4,7 +4,6 @@ PKG_NAME="SDL2_image" PKG_VERSION="2.0.5" -#PKG_SHA256="" PKG_LICENSE="GPL" PKG_SITE="http://www.libsdl.org/" PKG_URL="https://www.libsdl.org/projects/SDL_image/release/SDL2_image-${PKG_VERSION}.tar.gz" diff --git a/packages/tools/SDL2_mixer/package.mk b/packages/tools/SDL2_mixer/package.mk index 955a2e745..753d5e9e7 100644 --- a/packages/tools/SDL2_mixer/package.mk +++ b/packages/tools/SDL2_mixer/package.mk @@ -3,7 +3,6 @@ PKG_NAME="SDL2_mixer" PKG_VERSION="2.0.4" -PKG_SHA256="" PKG_LICENSE="GPLv3" PKG_SITE="http://www.libsdl.org/projects/SDL_mixer/release" PKG_URL="$PKG_SITE/$PKG_NAME-$PKG_VERSION.tar.gz" diff --git a/packages/tools/SDL2_ttf/package.mk b/packages/tools/SDL2_ttf/package.mk index e9aa69957..748c533ee 100644 --- a/packages/tools/SDL2_ttf/package.mk +++ b/packages/tools/SDL2_ttf/package.mk @@ -4,7 +4,6 @@ PKG_NAME="SDL2_ttf" PKG_VERSION="2.0.14" -#PKG_SHA256="" PKG_LICENSE="GPL" PKG_SITE="http://www.libsdl.org/" PKG_URL="https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-$PKG_VERSION.tar.gz" diff --git a/packages/tools/sound/mpg123/package.mk b/packages/tools/sound/mpg123/package.mk index 1c5a69830..b2acb39cd 100644 --- a/packages/tools/sound/mpg123/package.mk +++ b/packages/tools/sound/mpg123/package.mk @@ -3,7 +3,6 @@ PKG_NAME="mpg123" PKG_VERSION="1.29.0" -#PKG_SHA256="" PKG_LICENSE="LGPLv2" PKG_SITE="http://www.mpg123.org/" PKG_URL="http://www.mpg123.org/download/mpg123-$PKG_VERSION.tar.bz2" diff --git a/packages/tools/sysutils/pyyaml/package.mk b/packages/tools/sysutils/pyyaml/package.mk index 4d96d0005..34a012c97 100644 --- a/packages/tools/sysutils/pyyaml/package.mk +++ b/packages/tools/sysutils/pyyaml/package.mk @@ -3,7 +3,6 @@ PKG_NAME="pyyaml" PKG_VERSION="8cdff2c" -PKG_SHA256="" PKG_LICENSE="OSS" PKG_SITE="https://github.com/yaml/pyyaml" PKG_URL="$PKG_SITE/archive/$PKG_VERSION.tar.gz" diff --git a/packages/ui/emulationstation/config/common/es_systems.cfg b/packages/ui/emulationstation/config/common/es_systems.cfg index 96e841a34..33147b8e8 100644 --- a/packages/ui/emulationstation/config/common/es_systems.cfg +++ b/packages/ui/emulationstation/config/common/es_systems.cfg @@ -1267,13 +1267,6 @@ mupen64plus_next - - - m64p_gliden64 - m64p_gl64mk2 - m64p_rice - - @@ -1294,6 +1287,11 @@ desmume + + + melondssa + + diff --git a/packages/ui/emulationstation/package.mk b/packages/ui/emulationstation/package.mk index 669e4cae3..0daf4405e 100644 --- a/packages/ui/emulationstation/package.mk +++ b/packages/ui/emulationstation/package.mk @@ -3,7 +3,7 @@ # Copyright (C) 2020-present Fewtarius PKG_NAME="emulationstation" -PKG_VERSION="4825a89" +PKG_VERSION="1b7e561" PKG_GIT_CLONE_BRANCH="main" PKG_REV="1" PKG_ARCH="any" diff --git a/packages/virtual/emulators/package.mk b/packages/virtual/emulators/package.mk index 9d53562dc..4a0febaca 100644 --- a/packages/virtual/emulators/package.mk +++ b/packages/virtual/emulators/package.mk @@ -31,8 +31,8 @@ PKG_DEPENDS_TARGET="${PKG_EMUS} ${PKG_RETROARCH} ${LIBRETRO_CORES}" ### Emulators or cores for specific devices case "${DEVICE}" in handheld) - PKG_DEPENDS_TARGET+=" dolphinsa cemu citra citrasa desmume lrps2 minivmac minivmacsa pcsx2sa play \ - primehack yuzusa" + PKG_DEPENDS_TARGET+=" dolphinsa cemu citra citrasa desmume lrps2 melondssa minivmac minivmacsa \ + pcsx2sa play primehack yuzusa" ;; RK3588) PKG_DEPENDS_TARGET+="" diff --git a/projects/PC/devices/handheld/linux/linux.x86_64.conf b/projects/PC/devices/handheld/linux/linux.x86_64.conf index 01b25755e..7c17cc494 100644 --- a/projects/PC/devices/handheld/linux/linux.x86_64.conf +++ b/projects/PC/devices/handheld/linux/linux.x86_64.conf @@ -276,10 +276,13 @@ CONFIG_RSEQ=y CONFIG_HAVE_PERF_EVENTS=y # CONFIG_PC104 is not set +CONFIG_TIMER_STATS=y + # # Kernel Performance Events And Counters # CONFIG_PERF_EVENTS=y +CONFIG_PERF_COUNTERS=y # CONFIG_DEBUG_PERF_USE_VMALLOC is not set # end of Kernel Performance Events And Counters @@ -461,7 +464,7 @@ CONFIG_HOTPLUG_CPU=y CONFIG_LEGACY_VSYSCALL_XONLY=y # CONFIG_LEGACY_VSYSCALL_NONE is not set CONFIG_CMDLINE_BOOL=y -CONFIG_CMDLINE="root=/dev/ram0 rdinit=/init usbcore.autosuspend=-1" +CONFIG_CMDLINE="root=/dev/ram0 rdinit=/init usbcore.autosuspend=90 usbcore.authorized_default=1" # CONFIG_CMDLINE_OVERRIDE is not set CONFIG_MODIFY_LDT_SYSCALL=y # CONFIG_STRICT_SIGALTSTACK_SIZE is not set @@ -486,13 +489,14 @@ CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y # CONFIG_SUSPEND=y CONFIG_SUSPEND_FREEZER=y +CONFIG_USB_SUSPEND=y # CONFIG_SUSPEND_SKIP_SYNC is not set # CONFIG_HIBERNATION is not set CONFIG_PM_SLEEP=y CONFIG_PM_SLEEP_SMP=y -# CONFIG_PM_AUTOSLEEP is not set +CONFIG_PM_AUTOSLEEP=y # CONFIG_PM_USERSPACE_AUTOSLEEP is not set -# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM_WAKELOCKS=y CONFIG_PM=y CONFIG_PM_DEBUG=y # CONFIG_PM_ADVANCED_DEBUG is not set @@ -1493,9 +1497,9 @@ CONFIG_PCIEAER=y # CONFIG_PCIE_ECRC is not set CONFIG_PCIEASPM=y CONFIG_PCIEASPM_DEFAULT=y -# CONFIG_PCIEASPM_POWERSAVE is not set -# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set -# CONFIG_PCIEASPM_PERFORMANCE is not set +CONFIG_PCIEASPM_POWERSAVE=y +CONFIG_PCIEASPM_POWER_SUPERSAVE=y +CONFIG_PCIEASPM_PERFORMANCE=y CONFIG_PCIE_PME=y # CONFIG_PCIE_DPC is not set # CONFIG_PCIE_PTM is not set @@ -4790,7 +4794,7 @@ CONFIG_SND_DRIVERS=y # CONFIG_SND_MTPAV is not set # CONFIG_SND_SERIAL_U16550 is not set # CONFIG_SND_MPU401 is not set -# CONFIG_SND_AC97_POWER_SAVE is not set +CONFIG_SND_AC97_POWER_SAVE=y CONFIG_SND_PCI=y # CONFIG_SND_AD1889 is not set # CONFIG_SND_ALS300 is not set @@ -4887,7 +4891,7 @@ CONFIG_SND_HDA_CODEC_CA0132_DSP=y CONFIG_SND_HDA_CODEC_CMEDIA=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_GENERIC=m -CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 # CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM is not set # end of HD-Audio