diff --git a/.meta/dietpi-survey_report b/.meta/dietpi-survey_report old mode 100755 new mode 100644 index b6f6fa9367..ad2b563f3f --- a/.meta/dietpi-survey_report +++ b/.meta/dietpi-survey_report @@ -659,6 +659,7 @@ shopt -s extglob aSOFTWARE_NAME8_17[$i]=${aSOFTWARE_NAME8_16[$i]} done aSOFTWARE_NAME8_17[206]='openHAB' + aSOFTWARE_NAME8_17[207]='Moonlight' # Pre-create software counter array so that we can see also software (available in newest version) with 0 installs for i in "${aSOFTWARE_NAME8_17[@]}" diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 1ed24195a7..c49eefb032 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -3,6 +3,7 @@ v8.17 New software: - openHAB | This long requested vendor and technology agnostic FLOSS home automation software has been finally added to DietPi. Many thanks to @just-jason and many others for requesting it and @MDAR for providing install instructions and valuable information: https://github.com/MichaIng/DietPi/issues/3857 +- Moonlight | This Game streaming client for Sunshine and NVIDIA has been added to our software catalogue. Many thanks to @mtekman for implementing it: https://github.com/MichaIng/DietPi/pull/6303 Enhancements: - NanoPi R series | Updated udev rules for the Ethernet LEDs to not lid the LEDs of disabled Ethernet devices. If an Ethernet device has been detected by the kernel/udev already and an LED is configured to light on link (connected cable), it lights until the interface is set up and no link is detected. So for disabled interfaces, some LEDs remained lit. The udev rules have now been changed to quickly set up and down the interfaces for the LEDs to remain off until an interface has been successfully configured. diff --git a/README.md b/README.md index f85308bff5..edd1872a6a 100644 --- a/README.md +++ b/README.md @@ -331,6 +331,7 @@ Links to hardware and software manufacturers, sources and build instructions use - [Navidrome](https://github.com/navidrome/navidrome) - [Homer](https://github.com/bastienwirtz/homer) - [microblog.pub](https://git.sr.ht/~tsileo/microblog.pub) +- [Moonlight](https://github.com/moonlight-stream/moonlight-embedded) - [Nukkit](https://github.com/CloudburstMC/Nukkit) - [openHAB](https://github.com/openhab) diff --git a/dietpi/dietpi-software b/dietpi/dietpi-software index 6b2279df55..db1f6c03e3 100755 --- a/dietpi/dietpi-software +++ b/dietpi/dietpi-software @@ -966,6 +966,20 @@ Available commands: aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,1]=0 aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,2]=0 aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,10]=0 + #------------------ + software_id=207 + aSOFTWARE_NAME[$software_id]='Moonlight' + aSOFTWARE_DESC[$software_id]='Game streaming client for Sunshine and NVIDIA GameStream' + aSOFTWARE_CATX[$software_id]=5 + aSOFTWARE_DOCS[$software_id]='https://dietpi.com/docs/software/gaming/#moonlight' + # RPi only + (( $G_HW_MODEL > 9 )) && aSOFTWARE_AVAIL_G_HW_MODEL[$software_id,$G_HW_MODEL]=0 + # - ARMv6: https://github.com/moonlight-stream/moonlight-embedded/issues/832 + aSOFTWARE_AVAIL_G_HW_ARCH[$software_id,1]=0 + # No Bookworm packages yet and Bullseye packages depend on libssl1.1 + aSOFTWARE_AVAIL_G_DISTRO[$software_id,7]=0 + # No Buster ARMv8 packages + (( $G_HW_ARCH == 3 )) && aSOFTWARE_AVAIL_G_DISTRO[$software_id,5]=0 # Social & Search #-------------------------------------------------------------------------------- @@ -11124,6 +11138,28 @@ _EOF_ modprobe binfmt_misc 2> /dev/null && G_EXEC systemctl restart systemd-binfmt fi + if To_Install 207 # Moonlight: https://dl.cloudsmith.io/public/moonlight-game-streaming/moonlight-embedded/setup.deb.sh + then + # Enable required fake KMS driver + /boot/dietpi/func/dietpi-set_hardware rpi-opengl vc4-fkms-v3d + + # APT key + local url='https://dl.cloudsmith.io/public/moonlight-game-streaming/moonlight-embedded/gpg.5AEE46706CF0453E.key' + G_CHECK_URL "$url" + G_EXEC eval "curl -sSfL '$url' | gpg --dearmor -o /etc/apt/trusted.gpg.d/dietpi-moonlight.gpg --yes" + + # APT list + G_EXEC eval "echo 'deb https://dl.cloudsmith.io/public/moonlight-game-streaming/moonlight-embedded/deb/raspbian/ $G_DISTRO_NAME main' > /etc/apt/sources.list.d/dietpi-moonlight.list" + G_AGUP + + # APT deps + (( $G_DISTRO < 6 )) && aDEPS=('libcec4') || aDEPS=('libcec6') + + # Install the client + G_AGI moonlight-embedded "${aDEPS[@]}" + unset -v aDEPS + fi + if To_Install 27 # TasmoAdmin then # Install required PHP modules @@ -11954,13 +11990,14 @@ If no WireGuard (auto)start is included, but you require it, please do the follo then suggest_gpu_mem=96 - # Desktops, OpenTyrian + # Desktops, OpenTyrian, Moonlight elif (( ${aSOFTWARE_INSTALL_STATE[23]} == 1 || ${aSOFTWARE_INSTALL_STATE[24]} == 1 || ${aSOFTWARE_INSTALL_STATE[25]} == 1 || ${aSOFTWARE_INSTALL_STATE[26]} == 1 || ${aSOFTWARE_INSTALL_STATE[51]} == 1 || - ${aSOFTWARE_INSTALL_STATE[173]} == 1 )) + ${aSOFTWARE_INSTALL_STATE[173]} == 1 || + ${aSOFTWARE_INSTALL_STATE[207]} == 1 )) then suggest_gpu_mem=1 # default fi @@ -12743,6 +12780,13 @@ If no WireGuard (auto)start is included, but you require it, please do the follo [[ -d '/usr/lib/x86_64-linux-gnu' ]] && G_EXEC rmdir --ignore-fail-on-non-empty /usr/lib/x86_64-linux-gnu fi + if To_Uninstall 207 # Moonlight + then + G_AGP moonlight-embedded + [[ -f '/etc/apt/sources.list.d/dietpi-moonlight.list' ]] && G_EXEC rm /etc/apt/sources.list.d/dietpi-moonlight.list + [[ -f '/etc/apt/trusted.gpg.d/dietpi-moonlight.gpg' ]] && G_EXEC rm /etc/apt/trusted.gpg.d/dietpi-moonlight.gpg + fi + if To_Uninstall 119 # CAVA then G_AGP cava