diff --git a/config/blocklist b/config/blocklist
index 9439b8130c..64a28dc3dd 100644
--- a/config/blocklist
+++ b/config/blocklist
@@ -5,11 +5,10 @@ dolphin-sa # Wayland patch is now broken upstream
duckstation-lr #Libretro support removed from upstream.
duckstation-sa #Patches need to be reworked.
rpcs3-sa #Need to update to llvm 16
-gzdoom-sa #will break build patch
ryujinx-sa #broken on JELOS after build 1.1740.
melonds-sa #Broken OpenGL renderer upstream
-mupen64plus-sa-ui-console #Causes segfaults
nanoboyadvance-sa #SDL version removed after this commit
+mupen64plus-sa-ui-console #Causes segfaults
kronos-sa #using the release version of kronos had better results.
retroarch #pinning to release versions for stability.
vita3k-sa #Patch updates needed.
diff --git a/config/emulators/amstradcpc.conf b/config/emulators/amstradcpc.conf
index 9f91f41d59..3c4c30f5d3 100644
--- a/config/emulators/amstradcpc.conf
+++ b/config/emulators/amstradcpc.conf
@@ -4,7 +4,7 @@ SYSTEM_MANUFACTURER="Amstrad"
SYSTEM_RELEASE="1984"
SYSTEM_HARDWARE="computer"
SYSTEM_PATH="/storage/roms/amstradcpc"
-SYSTEM_EXTENSION=".dsk .sna .tap .cdt .kcr .voc .m3u .zip .7z"
+SYSTEM_EXTENSION=".dsk .cpr .sna .tap .cdt .kcr .voc .m3u .zip .7z"
SYSTEM_COMMAND="/usr/bin/runemu.sh %ROM% -P%SYSTEM% --core=%CORE% --emulator=%EMULATOR% --controllers=\"%CONTROLLERSCONFIG%\""
SYSTEM_PLATFORM="amstradcpc"
SYSTEM_THEME="amstradcpc"
diff --git a/config/optimize b/config/optimize
index 6786d9baee..1421a5d4e3 100644
--- a/config/optimize
+++ b/config/optimize
@@ -34,7 +34,7 @@ LDFLAGS_OPTIM_LINKER_GOLD="-fuse-ld=gold"
LDFLAGS_OPTIM_LINKER_MOLD="-fuse-ld=mold"
# default compiler optimization
-CFLAGS_OPTIM_DEFAULT="-Ofast -fomit-frame-pointer -DNDEBUG"
+CFLAGS_OPTIM_DEFAULT="-O3 -fomit-frame-pointer -DNDEBUG"
CXXFLAGS_OPTIM_DEFAULT="${CFLAGS_OPTIM_DEFAULT}"
# speed flag
CFLAGS_OPTIM_SPEED="-Ofast -fomit-frame-pointer -DNDEBUG"
diff --git a/distributions/JELOS/options b/distributions/JELOS/options
index 1a8b20f998..dcea608973 100644
--- a/distributions/JELOS/options
+++ b/distributions/JELOS/options
@@ -50,7 +50,7 @@
# a BSP kernel and a rotated display when using DEVICE_ROOT.
if [ -n "${DEVICE_ROOT}" ]
then
- CLEAN_DEVICE_ROOT="busybox systemd initramfs linux u-boot SDL2 SDL2-rotated retroarch mupen64plus-sa-input-sdl flycast-sa duckstation-sa drastic-sa fileman oga_controls portmaster glew-cmake"
+ CLEAN_DEVICE_ROOT="busybox systemd initramfs linux u-boot libmali SDL2 SDL2-rotated retroarch mupen64plus-sa-input-sdl flycast-sa duckstation-sa drastic-sa fileman oga_controls portmaster glew-cmake"
fi
# additional drivers to install:
diff --git a/documentation/PER_DEVICE_DOCUMENTATION/AMD64/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/AMD64/SUPPORTED_EMULATORS_AND_CORES.md
index 4c4f5397bc..78e5f565d6 100644
--- a/documentation/PER_DEVICE_DOCUMENTATION/AMD64/SUPPORTED_EMULATORS_AND_CORES.md
+++ b/documentation/PER_DEVICE_DOCUMENTATION/AMD64/SUPPORTED_EMULATORS_AND_CORES.md
@@ -12,9 +12,9 @@ This document describes all available systems emulators and cores available for
| System|Ports (ports)|System|`ports`|.sh||
| System|Screenshots (imageviewer)|System|`screenshots`|.jpg .jpeg .png .bmp .psd .tga .gif .hdr .pic .ppm .pgm .mkv .pdf .mp4 .avi||
| System|Tools (tools)|System|`modules`|.sh||
-|Amstrad|Amstrad CPC (amstradcpc)|1984|`amstradcpc`|.dsk .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)
**retroarch:** cap32
|
+|Amstrad|Amstrad CPC (amstradcpc)|1984|`amstradcpc`|.dsk .cpr .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)
**retroarch:** cap32
|
|Apple|Macintosh (macintosh)|1984|`mac`|.dsk .img .hfv .cmd .zip|**retroarch:** minivmac (default)
|
-|Arcade|Arcade (arcade)|0000|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)
**retroarch:** mame2000
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
**retroarch:** mame
|
+|Arcade|Arcade (arcade)|0000|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
**retroarch:** mame
|
|Arcade|Daphne (daphne)|1996|`daphne`|.daphne .singe|**hypseus-singe:** hypseus-singe (default)
**retroarch:** daphne
|
|Arcade|Final Burn Neo (fbn)|2002|`fbneo`|.7z .zip|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
|
|Arcade|MAME (mame)|1997|`mame`|.7z .zip|**retroarch:** mame2003_plus (default)
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
|
@@ -30,9 +30,9 @@ This document describes all available systems emulators and cores available for
|Bandai|Wonderswan (wonderswan)|1999|`wonderswan`|.ws .zip .7z|**retroarch:** beetle_wswan (default)
**mednafen:** wswan
|
|Bandai|Wonderswan Color (wonderswancolor)|2000|`wonderswancolor`|.wsc .zip .7z|**retroarch:** beetle_wswan (default)
**mednafen:** wswan
|
|belogic|Uzebox (uzebox)|2008|`uzebox`|.uze|**retroarch:** uzem (default)
|
-|Capcom|CPS-I (cps1)|1988|`cps1`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**retroarch:** mba_mini
|
-|Capcom|CPS-II (cps2)|1993|`cps2`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**retroarch:** mba_mini
|
-|Capcom|CPS-III (cps3)|1996|`cps3`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**retroarch:** mba_mini
|
+|Capcom|CPS-I (cps1)|1988|`cps1`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
|
+|Capcom|CPS-II (cps2)|1993|`cps2`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
|
+|Capcom|CPS-III (cps3)|1996|`cps3`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
|
|Coleco|ColecoVision (colecovision)|1982|`coleco`|.bin .col .rom .zip .7z|**retroarch:** bluemsx (default)
**retroarch:** gearcoleco
**retroarch:** smsplus
|
|Commodore|Amiga (amiga)|1985|`amiga`|.zip .adf .uae .ipf .dms .adz .lha .m3u .hdf .hdz|**retroarch:** puae (default)
**retroarch:** puae2021
|
|Commodore|Amiga CD32 (amigacd32)|1994|`amigacd32`|.iso .cue .lha .chd|**retroarch:** puae (default)
**retroarch:** puae2021
|
@@ -62,7 +62,7 @@ This document describes all available systems emulators and cores available for
|NEC|TurboGrafx-CD (tg16cd)|1989|`tg16cd`|.cue .ccd .chd .toc .m3u|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
**mednafen:** pce
**mednafen:** pce_fast
|
|Nesbox|TIC-80 (tic-80)|2017|`tic-80`|.tic|**retroarch:** tic80 (default)
|
|Nintendo|Famicom (famicom)|1983|`famicom`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
**mednafen:** nes
|
-|Nintendo|Famicom Disk System (fds)|1986|`fds`|.fds .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**mednafen:** nes
|
+|Nintendo|Famicom Disk System (fds)|1986|`fds`|.fds .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
**mednafen:** nes
|
|Nintendo|Game & Watch (gameandwatch)|1980|`gameandwatch`|.mgw .zip .7z|**retroarch:** gw
|
|Nintendo|Game Boy (gb)|1989|`gb`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
**mednafen:** gb
|
|Nintendo|Game Boy (Hacks) (gbh)|1989|`gbh`|.gb .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
**mednafen:** gb
|
diff --git a/documentation/PER_DEVICE_DOCUMENTATION/RK3326/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/RK3326/SUPPORTED_EMULATORS_AND_CORES.md
index 9edffd4ca4..4729b78ef0 100644
--- a/documentation/PER_DEVICE_DOCUMENTATION/RK3326/SUPPORTED_EMULATORS_AND_CORES.md
+++ b/documentation/PER_DEVICE_DOCUMENTATION/RK3326/SUPPORTED_EMULATORS_AND_CORES.md
@@ -12,9 +12,9 @@ This document describes all available systems emulators and cores available for
| System|Ports (ports)|System|`ports`|.sh||
| System|Screenshots (imageviewer)|System|`screenshots`|.jpg .jpeg .png .bmp .psd .tga .gif .hdr .pic .ppm .pgm .mkv .pdf .mp4 .avi||
| System|Tools (tools)|System|`modules`|.sh||
-|Amstrad|Amstrad CPC (amstradcpc)|1984|`amstradcpc`|.dsk .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)
**retroarch:** cap32
|
+|Amstrad|Amstrad CPC (amstradcpc)|1984|`amstradcpc`|.dsk .cpr .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)
**retroarch:** cap32
|
|Apple|Macintosh (macintosh)|1984|`mac`|.dsk .img .hfv .cmd .zip|**retroarch:** minivmac (default)
|
-|Arcade|Arcade (arcade)|0000|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)
**retroarch:** mame2000
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
|
+|Arcade|Arcade (arcade)|0000|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
|
|Arcade|Daphne (daphne)|1996|`daphne`|.daphne .singe|**hypseus-singe:** hypseus-singe (default)
**retroarch:** daphne
|
|Arcade|Final Burn Neo (fbn)|2002|`fbneo`|.7z .zip|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
|
|Arcade|MAME (mame)|1997|`mame`|.7z .zip|**retroarch:** mame2003_plus (default)
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
|
@@ -30,9 +30,9 @@ This document describes all available systems emulators and cores available for
|Bandai|Wonderswan (wonderswan)|1999|`wonderswan`|.ws .zip .7z|**retroarch:** beetle_wswan (default)
**mednafen:** wswan
|
|Bandai|Wonderswan Color (wonderswancolor)|2000|`wonderswancolor`|.wsc .zip .7z|**retroarch:** beetle_wswan (default)
**mednafen:** wswan
|
|belogic|Uzebox (uzebox)|2008|`uzebox`|.uze|**retroarch:** uzem (default)
|
-|Capcom|CPS-I (cps1)|1988|`cps1`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**retroarch:** mba_mini
**AdvanceMame:** AdvanceMame
|
-|Capcom|CPS-II (cps2)|1993|`cps2`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**retroarch:** mba_mini
**AdvanceMame:** AdvanceMame
|
-|Capcom|CPS-III (cps3)|1996|`cps3`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**retroarch:** mba_mini
**AdvanceMame:** AdvanceMame
|
+|Capcom|CPS-I (cps1)|1988|`cps1`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
+|Capcom|CPS-II (cps2)|1993|`cps2`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
+|Capcom|CPS-III (cps3)|1996|`cps3`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
|Coleco|ColecoVision (colecovision)|1982|`coleco`|.bin .col .rom .zip .7z|**retroarch:** bluemsx (default)
**retroarch:** gearcoleco
**retroarch:** smsplus
|
|Commodore|Amiga (amiga)|1985|`amiga`|.zip .adf .uae .ipf .dms .adz .lha .m3u .hdf .hdz|**retroarch:** puae2021 (default)
**retroarch:** puae
**amiberry:** amiberry
**retroarch:** uae4arm
|
|Commodore|Amiga CD32 (amigacd32)|1994|`amigacd32`|.iso .cue .lha .chd|**retroarch:** puae2021 (default)
**retroarch:** puae
**retroarch:** uae4arm
|
@@ -61,7 +61,7 @@ This document describes all available systems emulators and cores available for
|NEC|TurboGrafx-CD (tg16cd)|1989|`tg16cd`|.cue .ccd .chd .toc .m3u|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
**mednafen:** pce
**mednafen:** pce_fast
|
|Nesbox|TIC-80 (tic-80)|2017|`tic-80`|.tic|**retroarch:** tic80 (default)
|
|Nintendo|Famicom (famicom)|1983|`famicom`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
**mednafen:** nes
|
-|Nintendo|Famicom Disk System (fds)|1986|`fds`|.fds .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**mednafen:** nes
|
+|Nintendo|Famicom Disk System (fds)|1986|`fds`|.fds .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
**mednafen:** nes
|
|Nintendo|Game & Watch (gameandwatch)|1980|`gameandwatch`|.mgw .zip .7z|**retroarch:** gw
|
|Nintendo|Game Boy (gb)|1989|`gb`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
**mednafen:** gb
|
|Nintendo|Game Boy (Hacks) (gbh)|1989|`gbh`|.gb .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
**mednafen:** gb
|
diff --git a/documentation/PER_DEVICE_DOCUMENTATION/RK3399/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/RK3399/SUPPORTED_EMULATORS_AND_CORES.md
index 5fc66a84e8..82d63a7ace 100644
--- a/documentation/PER_DEVICE_DOCUMENTATION/RK3399/SUPPORTED_EMULATORS_AND_CORES.md
+++ b/documentation/PER_DEVICE_DOCUMENTATION/RK3399/SUPPORTED_EMULATORS_AND_CORES.md
@@ -12,9 +12,9 @@ This document describes all available systems emulators and cores available for
| System|Ports (ports)|System|`ports`|.sh||
| System|Screenshots (imageviewer)|System|`screenshots`|.jpg .jpeg .png .bmp .psd .tga .gif .hdr .pic .ppm .pgm .mkv .pdf .mp4 .avi||
| System|Tools (tools)|System|`modules`|.sh||
-|Amstrad|Amstrad CPC (amstradcpc)|1984|`amstradcpc`|.dsk .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)
**retroarch:** cap32
|
+|Amstrad|Amstrad CPC (amstradcpc)|1984|`amstradcpc`|.dsk .cpr .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)
**retroarch:** cap32
|
|Apple|Macintosh (macintosh)|1984|`mac`|.dsk .img .hfv .cmd .zip|**retroarch:** minivmac (default)
|
-|Arcade|Arcade (arcade)|0000|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)
**retroarch:** mame2000
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
**retroarch:** mame
|
+|Arcade|Arcade (arcade)|0000|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
**retroarch:** mame
|
|Arcade|Daphne (daphne)|1996|`daphne`|.daphne .singe|**hypseus-singe:** hypseus-singe (default)
**retroarch:** daphne
|
|Arcade|Final Burn Neo (fbn)|2002|`fbneo`|.7z .zip|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
|
|Arcade|MAME (mame)|1997|`mame`|.7z .zip|**retroarch:** mame2003_plus (default)
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
|
@@ -30,9 +30,9 @@ This document describes all available systems emulators and cores available for
|Bandai|Wonderswan (wonderswan)|1999|`wonderswan`|.ws .zip .7z|**retroarch:** beetle_wswan (default)
**mednafen:** wswan
|
|Bandai|Wonderswan Color (wonderswancolor)|2000|`wonderswancolor`|.wsc .zip .7z|**retroarch:** beetle_wswan (default)
**mednafen:** wswan
|
|belogic|Uzebox (uzebox)|2008|`uzebox`|.uze|**retroarch:** uzem (default)
|
-|Capcom|CPS-I (cps1)|1988|`cps1`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**retroarch:** mba_mini
**AdvanceMame:** AdvanceMame
|
-|Capcom|CPS-II (cps2)|1993|`cps2`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**retroarch:** mba_mini
**AdvanceMame:** AdvanceMame
|
-|Capcom|CPS-III (cps3)|1996|`cps3`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**retroarch:** mba_mini
**AdvanceMame:** AdvanceMame
|
+|Capcom|CPS-I (cps1)|1988|`cps1`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
+|Capcom|CPS-II (cps2)|1993|`cps2`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
+|Capcom|CPS-III (cps3)|1996|`cps3`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
|Coleco|ColecoVision (colecovision)|1982|`coleco`|.bin .col .rom .zip .7z|**retroarch:** bluemsx (default)
**retroarch:** gearcoleco
**retroarch:** smsplus
|
|Commodore|Amiga (amiga)|1985|`amiga`|.zip .adf .uae .ipf .dms .adz .lha .m3u .hdf .hdz|**retroarch:** puae2021 (default)
**retroarch:** puae
**amiberry:** amiberry
**retroarch:** uae4arm
|
|Commodore|Amiga CD32 (amigacd32)|1994|`amigacd32`|.iso .cue .lha .chd|**retroarch:** puae2021 (default)
**retroarch:** puae
**retroarch:** uae4arm
|
@@ -61,7 +61,7 @@ This document describes all available systems emulators and cores available for
|NEC|TurboGrafx-CD (tg16cd)|1989|`tg16cd`|.cue .ccd .chd .toc .m3u|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
**mednafen:** pce
**mednafen:** pce_fast
|
|Nesbox|TIC-80 (tic-80)|2017|`tic-80`|.tic|**retroarch:** tic80 (default)
|
|Nintendo|Famicom (famicom)|1983|`famicom`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
**mednafen:** nes
|
-|Nintendo|Famicom Disk System (fds)|1986|`fds`|.fds .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**mednafen:** nes
|
+|Nintendo|Famicom Disk System (fds)|1986|`fds`|.fds .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
**mednafen:** nes
|
|Nintendo|Game & Watch (gameandwatch)|1980|`gameandwatch`|.mgw .zip .7z|**retroarch:** gw
|
|Nintendo|Game Boy (gb)|1989|`gb`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
**mednafen:** gb
|
|Nintendo|Game Boy (Hacks) (gbh)|1989|`gbh`|.gb .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
**mednafen:** gb
|
@@ -76,10 +76,10 @@ This document describes all available systems emulators and cores available for
|Nintendo|Nintendo Entertainment System (nes)|1985|`nes`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
**mednafen:** nes
|
|Nintendo|Pokémon Mini (pokemini)|2001|`pokemini`|.min .zip .7z|**retroarch:** pokemini (default)
|
|Nintendo|Satellaview (satellaview)|1995|`satellaview`|.smc .fig .bs .sfc .bsx .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
|
-|Nintendo|Super Famicom (sfc)|1990|`sfc`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes
**retroarch:** bsnes_mercury_performance
**retroarch:** bsnes_hd_beta
**mednafen:** snes
**mednafen:** snes_faust
|
+|Nintendo|Super Famicom (sfc)|1990|`sfc`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes
**retroarch:** bsnes_mercury_performance
**retroarch:** bsnes_hd_beta
|
|Nintendo|Super NES MSU-1 (snesmsu1)|2012|`snesmsu1`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** beetle_supafaust
**mednafen:** snes_faust
|
-|Nintendo|Super Nintendo (Hacks) (snesh)|1991|`snesh`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes
**retroarch:** bsnes_mercury_performance
**retroarch:** bsnes_hd_beta
**mednafen:** snes
**mednafen:** snes_faust
|
-|Nintendo|Super Nintendo (snes)|1991|`snes`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes
**retroarch:** bsnes_mercury_performance
**retroarch:** bsnes_hd_beta
**mednafen:** snes_faust
**mednafen:** snes
|
+|Nintendo|Super Nintendo (Hacks) (snesh)|1991|`snesh`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes
**retroarch:** bsnes_mercury_performance
**retroarch:** bsnes_hd_beta
|
+|Nintendo|Super Nintendo (snes)|1991|`snes`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes
**retroarch:** bsnes_mercury_performance
**retroarch:** bsnes_hd_beta
**mednafen:** snes_faust
**mednafen:** snes_faust
**mednafen:** snes_faust
|
|Nintendo|Virtual Boy (virtualboy)|1995|`virtualboy`|.vb .zip .7z|**retroarch:** beetle_vb (default)
**mednafen:** vb
|
|Nintendo|Wii (wii)|2006|`wii`|.gcm .iso .gcz .ciso .wbfs .rvz .dol .wad|**dolphin:** dolphin-sa-wii (default)
**retroarch:** dolphin
|
|Panasonic|3DO (3do)|1993|`3do`|.iso .bin .chd .cue|**retroarch:** opera (default)
|
diff --git a/documentation/PER_DEVICE_DOCUMENTATION/RK3566-X55/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/RK3566-X55/SUPPORTED_EMULATORS_AND_CORES.md
index 0a22758d2c..f58577c647 100644
--- a/documentation/PER_DEVICE_DOCUMENTATION/RK3566-X55/SUPPORTED_EMULATORS_AND_CORES.md
+++ b/documentation/PER_DEVICE_DOCUMENTATION/RK3566-X55/SUPPORTED_EMULATORS_AND_CORES.md
@@ -12,9 +12,9 @@ This document describes all available systems emulators and cores available for
| System|Ports (ports)|System|`ports`|.sh||
| System|Screenshots (imageviewer)|System|`screenshots`|.jpg .jpeg .png .bmp .psd .tga .gif .hdr .pic .ppm .pgm .mkv .pdf .mp4 .avi||
| System|Tools (tools)|System|`modules`|.sh||
-|Amstrad|Amstrad CPC (amstradcpc)|1984|`amstradcpc`|.dsk .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)
**retroarch:** cap32
|
+|Amstrad|Amstrad CPC (amstradcpc)|1984|`amstradcpc`|.dsk .cpr .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)
**retroarch:** cap32
|
|Apple|Macintosh (macintosh)|1984|`mac`|.dsk .img .hfv .cmd .zip|**retroarch:** minivmac (default)
|
-|Arcade|Arcade (arcade)|0000|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)
**retroarch:** mame2000
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
|
+|Arcade|Arcade (arcade)|0000|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
|
|Arcade|Daphne (daphne)|1996|`daphne`|.daphne .singe|**hypseus-singe:** hypseus-singe (default)
**retroarch:** daphne
|
|Arcade|Final Burn Neo (fbn)|2002|`fbneo`|.7z .zip|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
|
|Arcade|MAME (mame)|1997|`mame`|.7z .zip|**retroarch:** mame2003_plus (default)
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
|
@@ -30,9 +30,9 @@ This document describes all available systems emulators and cores available for
|Bandai|Wonderswan (wonderswan)|1999|`wonderswan`|.ws .zip .7z|**retroarch:** beetle_wswan (default)
|
|Bandai|Wonderswan Color (wonderswancolor)|2000|`wonderswancolor`|.wsc .zip .7z|**retroarch:** beetle_wswan (default)
|
|belogic|Uzebox (uzebox)|2008|`uzebox`|.uze|**retroarch:** uzem (default)
|
-|Capcom|CPS-I (cps1)|1988|`cps1`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**retroarch:** mba_mini
**AdvanceMame:** AdvanceMame
|
-|Capcom|CPS-II (cps2)|1993|`cps2`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**retroarch:** mba_mini
**AdvanceMame:** AdvanceMame
|
-|Capcom|CPS-III (cps3)|1996|`cps3`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**retroarch:** mba_mini
**AdvanceMame:** AdvanceMame
|
+|Capcom|CPS-I (cps1)|1988|`cps1`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
+|Capcom|CPS-II (cps2)|1993|`cps2`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
+|Capcom|CPS-III (cps3)|1996|`cps3`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
|Coleco|ColecoVision (colecovision)|1982|`coleco`|.bin .col .rom .zip .7z|**retroarch:** bluemsx (default)
**retroarch:** gearcoleco
**retroarch:** smsplus
|
|Commodore|Amiga (amiga)|1985|`amiga`|.zip .adf .uae .ipf .dms .adz .lha .m3u .hdf .hdz|**retroarch:** puae2021 (default)
**retroarch:** puae
**amiberry:** amiberry
**retroarch:** uae4arm
|
|Commodore|Amiga CD32 (amigacd32)|1994|`amigacd32`|.iso .cue .lha .chd|**retroarch:** puae2021 (default)
**retroarch:** puae
**retroarch:** uae4arm
|
@@ -61,7 +61,7 @@ This document describes all available systems emulators and cores available for
|NEC|TurboGrafx-CD (tg16cd)|1989|`tg16cd`|.cue .ccd .chd .toc .m3u|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
|
|Nesbox|TIC-80 (tic-80)|2017|`tic-80`|.tic|**retroarch:** tic80 (default)
|
|Nintendo|Famicom (famicom)|1983|`famicom`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
|
-|Nintendo|Famicom Disk System (fds)|1986|`fds`|.fds .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
|
+|Nintendo|Famicom Disk System (fds)|1986|`fds`|.fds .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
|
|Nintendo|Game & Watch (gameandwatch)|1980|`gameandwatch`|.mgw .zip .7z|**retroarch:** gw
|
|Nintendo|Game Boy (gb)|1989|`gb`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
|
|Nintendo|Game Boy (Hacks) (gbh)|1989|`gbh`|.gb .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
|
diff --git a/documentation/PER_DEVICE_DOCUMENTATION/RK3566/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/RK3566/SUPPORTED_EMULATORS_AND_CORES.md
index 0a22758d2c..f58577c647 100644
--- a/documentation/PER_DEVICE_DOCUMENTATION/RK3566/SUPPORTED_EMULATORS_AND_CORES.md
+++ b/documentation/PER_DEVICE_DOCUMENTATION/RK3566/SUPPORTED_EMULATORS_AND_CORES.md
@@ -12,9 +12,9 @@ This document describes all available systems emulators and cores available for
| System|Ports (ports)|System|`ports`|.sh||
| System|Screenshots (imageviewer)|System|`screenshots`|.jpg .jpeg .png .bmp .psd .tga .gif .hdr .pic .ppm .pgm .mkv .pdf .mp4 .avi||
| System|Tools (tools)|System|`modules`|.sh||
-|Amstrad|Amstrad CPC (amstradcpc)|1984|`amstradcpc`|.dsk .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)
**retroarch:** cap32
|
+|Amstrad|Amstrad CPC (amstradcpc)|1984|`amstradcpc`|.dsk .cpr .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)
**retroarch:** cap32
|
|Apple|Macintosh (macintosh)|1984|`mac`|.dsk .img .hfv .cmd .zip|**retroarch:** minivmac (default)
|
-|Arcade|Arcade (arcade)|0000|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)
**retroarch:** mame2000
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
|
+|Arcade|Arcade (arcade)|0000|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
|
|Arcade|Daphne (daphne)|1996|`daphne`|.daphne .singe|**hypseus-singe:** hypseus-singe (default)
**retroarch:** daphne
|
|Arcade|Final Burn Neo (fbn)|2002|`fbneo`|.7z .zip|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
|
|Arcade|MAME (mame)|1997|`mame`|.7z .zip|**retroarch:** mame2003_plus (default)
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
|
@@ -30,9 +30,9 @@ This document describes all available systems emulators and cores available for
|Bandai|Wonderswan (wonderswan)|1999|`wonderswan`|.ws .zip .7z|**retroarch:** beetle_wswan (default)
|
|Bandai|Wonderswan Color (wonderswancolor)|2000|`wonderswancolor`|.wsc .zip .7z|**retroarch:** beetle_wswan (default)
|
|belogic|Uzebox (uzebox)|2008|`uzebox`|.uze|**retroarch:** uzem (default)
|
-|Capcom|CPS-I (cps1)|1988|`cps1`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**retroarch:** mba_mini
**AdvanceMame:** AdvanceMame
|
-|Capcom|CPS-II (cps2)|1993|`cps2`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**retroarch:** mba_mini
**AdvanceMame:** AdvanceMame
|
-|Capcom|CPS-III (cps3)|1996|`cps3`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**retroarch:** mba_mini
**AdvanceMame:** AdvanceMame
|
+|Capcom|CPS-I (cps1)|1988|`cps1`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
+|Capcom|CPS-II (cps2)|1993|`cps2`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
+|Capcom|CPS-III (cps3)|1996|`cps3`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
|Coleco|ColecoVision (colecovision)|1982|`coleco`|.bin .col .rom .zip .7z|**retroarch:** bluemsx (default)
**retroarch:** gearcoleco
**retroarch:** smsplus
|
|Commodore|Amiga (amiga)|1985|`amiga`|.zip .adf .uae .ipf .dms .adz .lha .m3u .hdf .hdz|**retroarch:** puae2021 (default)
**retroarch:** puae
**amiberry:** amiberry
**retroarch:** uae4arm
|
|Commodore|Amiga CD32 (amigacd32)|1994|`amigacd32`|.iso .cue .lha .chd|**retroarch:** puae2021 (default)
**retroarch:** puae
**retroarch:** uae4arm
|
@@ -61,7 +61,7 @@ This document describes all available systems emulators and cores available for
|NEC|TurboGrafx-CD (tg16cd)|1989|`tg16cd`|.cue .ccd .chd .toc .m3u|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
|
|Nesbox|TIC-80 (tic-80)|2017|`tic-80`|.tic|**retroarch:** tic80 (default)
|
|Nintendo|Famicom (famicom)|1983|`famicom`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
|
-|Nintendo|Famicom Disk System (fds)|1986|`fds`|.fds .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
|
+|Nintendo|Famicom Disk System (fds)|1986|`fds`|.fds .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
|
|Nintendo|Game & Watch (gameandwatch)|1980|`gameandwatch`|.mgw .zip .7z|**retroarch:** gw
|
|Nintendo|Game Boy (gb)|1989|`gb`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
|
|Nintendo|Game Boy (Hacks) (gbh)|1989|`gbh`|.gb .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
|
diff --git a/documentation/PER_DEVICE_DOCUMENTATION/RK3588/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/RK3588/SUPPORTED_EMULATORS_AND_CORES.md
index 04f4ddfbe3..72d9949b9b 100644
--- a/documentation/PER_DEVICE_DOCUMENTATION/RK3588/SUPPORTED_EMULATORS_AND_CORES.md
+++ b/documentation/PER_DEVICE_DOCUMENTATION/RK3588/SUPPORTED_EMULATORS_AND_CORES.md
@@ -12,9 +12,9 @@ This document describes all available systems emulators and cores available for
| System|Ports (ports)|System|`ports`|.sh||
| System|Screenshots (imageviewer)|System|`screenshots`|.jpg .jpeg .png .bmp .psd .tga .gif .hdr .pic .ppm .pgm .mkv .pdf .mp4 .avi||
| System|Tools (tools)|System|`modules`|.sh||
-|Amstrad|Amstrad CPC (amstradcpc)|1984|`amstradcpc`|.dsk .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)
**retroarch:** cap32
|
+|Amstrad|Amstrad CPC (amstradcpc)|1984|`amstradcpc`|.dsk .cpr .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)
**retroarch:** cap32
|
|Apple|Macintosh (macintosh)|1984|`mac`|.dsk .img .hfv .cmd .zip|**retroarch:** minivmac (default)
|
-|Arcade|Arcade (arcade)|0000|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)
**retroarch:** mame2000
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
**retroarch:** mame
|
+|Arcade|Arcade (arcade)|0000|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
**retroarch:** mame
|
|Arcade|Daphne (daphne)|1996|`daphne`|.daphne .singe|**hypseus-singe:** hypseus-singe (default)
**retroarch:** daphne
|
|Arcade|Final Burn Neo (fbn)|2002|`fbneo`|.7z .zip|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
|
|Arcade|MAME (mame)|1997|`mame`|.7z .zip|**retroarch:** mame2003_plus (default)
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
|
@@ -30,9 +30,9 @@ This document describes all available systems emulators and cores available for
|Bandai|Wonderswan (wonderswan)|1999|`wonderswan`|.ws .zip .7z|**retroarch:** beetle_wswan (default)
|
|Bandai|Wonderswan Color (wonderswancolor)|2000|`wonderswancolor`|.wsc .zip .7z|**retroarch:** beetle_wswan (default)
|
|belogic|Uzebox (uzebox)|2008|`uzebox`|.uze|**retroarch:** uzem (default)
|
-|Capcom|CPS-I (cps1)|1988|`cps1`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**retroarch:** mba_mini
**AdvanceMame:** AdvanceMame
|
-|Capcom|CPS-II (cps2)|1993|`cps2`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**retroarch:** mba_mini
**AdvanceMame:** AdvanceMame
|
-|Capcom|CPS-III (cps3)|1996|`cps3`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**retroarch:** mba_mini
**AdvanceMame:** AdvanceMame
|
+|Capcom|CPS-I (cps1)|1988|`cps1`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
+|Capcom|CPS-II (cps2)|1993|`cps2`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
+|Capcom|CPS-III (cps3)|1996|`cps3`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
|Coleco|ColecoVision (colecovision)|1982|`coleco`|.bin .col .rom .zip .7z|**retroarch:** bluemsx (default)
**retroarch:** gearcoleco
**retroarch:** smsplus
|
|Commodore|Amiga (amiga)|1985|`amiga`|.zip .adf .uae .ipf .dms .adz .lha .m3u .hdf .hdz|**retroarch:** puae2021 (default)
**retroarch:** puae
**amiberry:** amiberry
**retroarch:** uae4arm
|
|Commodore|Amiga CD32 (amigacd32)|1994|`amigacd32`|.iso .cue .lha .chd|**retroarch:** puae2021 (default)
**retroarch:** puae
**retroarch:** uae4arm
|
@@ -61,7 +61,7 @@ This document describes all available systems emulators and cores available for
|NEC|TurboGrafx-CD (tg16cd)|1989|`tg16cd`|.cue .ccd .chd .toc .m3u|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
|
|Nesbox|TIC-80 (tic-80)|2017|`tic-80`|.tic|**retroarch:** tic80 (default)
|
|Nintendo|Famicom (famicom)|1983|`famicom`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
|
-|Nintendo|Famicom Disk System (fds)|1986|`fds`|.fds .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
|
+|Nintendo|Famicom Disk System (fds)|1986|`fds`|.fds .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
|
|Nintendo|Game & Watch (gameandwatch)|1980|`gameandwatch`|.mgw .zip .7z|**retroarch:** gw
|
|Nintendo|Game Boy (gb)|1989|`gb`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
|
|Nintendo|Game Boy (Hacks) (gbh)|1989|`gbh`|.gb .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
|
diff --git a/documentation/PER_DEVICE_DOCUMENTATION/S922X/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/S922X/SUPPORTED_EMULATORS_AND_CORES.md
index 20e6490c67..9f40a19f3a 100644
--- a/documentation/PER_DEVICE_DOCUMENTATION/S922X/SUPPORTED_EMULATORS_AND_CORES.md
+++ b/documentation/PER_DEVICE_DOCUMENTATION/S922X/SUPPORTED_EMULATORS_AND_CORES.md
@@ -12,9 +12,9 @@ This document describes all available systems emulators and cores available for
| System|Ports (ports)|System|`ports`|.sh||
| System|Screenshots (imageviewer)|System|`screenshots`|.jpg .jpeg .png .bmp .psd .tga .gif .hdr .pic .ppm .pgm .mkv .pdf .mp4 .avi||
| System|Tools (tools)|System|`modules`|.sh||
-|Amstrad|Amstrad CPC (amstradcpc)|1984|`amstradcpc`|.dsk .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)
**retroarch:** cap32
|
+|Amstrad|Amstrad CPC (amstradcpc)|1984|`amstradcpc`|.dsk .cpr .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)
**retroarch:** cap32
|
|Apple|Macintosh (macintosh)|1984|`mac`|.dsk .img .hfv .cmd .zip|**retroarch:** minivmac (default)
|
-|Arcade|Arcade (arcade)|0000|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)
**retroarch:** mame2000
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
**retroarch:** mame
|
+|Arcade|Arcade (arcade)|0000|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
**retroarch:** mame
|
|Arcade|Daphne (daphne)|1996|`daphne`|.daphne .singe|**hypseus-singe:** hypseus-singe (default)
**retroarch:** daphne
|
|Arcade|Final Burn Neo (fbn)|2002|`fbneo`|.7z .zip|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
|
|Arcade|MAME (mame)|1997|`mame`|.7z .zip|**retroarch:** mame2003_plus (default)
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
|
@@ -30,9 +30,9 @@ This document describes all available systems emulators and cores available for
|Bandai|Wonderswan (wonderswan)|1999|`wonderswan`|.ws .zip .7z|**retroarch:** beetle_wswan (default)
|
|Bandai|Wonderswan Color (wonderswancolor)|2000|`wonderswancolor`|.wsc .zip .7z|**retroarch:** beetle_wswan (default)
|
|belogic|Uzebox (uzebox)|2008|`uzebox`|.uze|**retroarch:** uzem (default)
|
-|Capcom|CPS-I (cps1)|1988|`cps1`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**retroarch:** mba_mini
**AdvanceMame:** AdvanceMame
|
-|Capcom|CPS-II (cps2)|1993|`cps2`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**retroarch:** mba_mini
**AdvanceMame:** AdvanceMame
|
-|Capcom|CPS-III (cps3)|1996|`cps3`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**retroarch:** mba_mini
**AdvanceMame:** AdvanceMame
|
+|Capcom|CPS-I (cps1)|1988|`cps1`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
+|Capcom|CPS-II (cps2)|1993|`cps2`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
+|Capcom|CPS-III (cps3)|1996|`cps3`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
|Coleco|ColecoVision (colecovision)|1982|`coleco`|.bin .col .rom .zip .7z|**retroarch:** bluemsx (default)
**retroarch:** gearcoleco
**retroarch:** smsplus
|
|Commodore|Amiga (amiga)|1985|`amiga`|.zip .adf .uae .ipf .dms .adz .lha .m3u .hdf .hdz|**retroarch:** puae (default)
**retroarch:** puae2021
**amiberry:** amiberry
**retroarch:** uae4arm
|
|Commodore|Amiga CD32 (amigacd32)|1994|`amigacd32`|.iso .cue .lha .chd|**retroarch:** puae (default)
**retroarch:** puae2021
**retroarch:** uae4arm
|
@@ -61,7 +61,7 @@ This document describes all available systems emulators and cores available for
|NEC|TurboGrafx-CD (tg16cd)|1989|`tg16cd`|.cue .ccd .chd .toc .m3u|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
|
|Nesbox|TIC-80 (tic-80)|2017|`tic-80`|.tic|**retroarch:** tic80 (default)
|
|Nintendo|Famicom (famicom)|1983|`famicom`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
|
-|Nintendo|Famicom Disk System (fds)|1986|`fds`|.fds .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
|
+|Nintendo|Famicom Disk System (fds)|1986|`fds`|.fds .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
|
|Nintendo|Game & Watch (gameandwatch)|1980|`gameandwatch`|.mgw .zip .7z|**retroarch:** gw
|
|Nintendo|Game Boy (gb)|1989|`gb`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
|
|Nintendo|Game Boy (Hacks) (gbh)|1989|`gbh`|.gb .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
|
diff --git a/packages/audio/alsa-lib/package.mk b/packages/audio/alsa-lib/package.mk
index 2c0b24dc38..5e31aa37c5 100644
--- a/packages/audio/alsa-lib/package.mk
+++ b/packages/audio/alsa-lib/package.mk
@@ -3,7 +3,7 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="alsa-lib"
-PKG_VERSION="1.2.9"
+PKG_VERSION="1.2.10"
PKG_LICENSE="GPL"
PKG_SITE="http://www.alsa-project.org/"
PKG_URL="https://www.alsa-project.org/files/pub/lib/alsa-lib-${PKG_VERSION}.tar.bz2"
diff --git a/packages/audio/alsa-ucm-conf/package.mk b/packages/audio/alsa-ucm-conf/package.mk
index 7dc2555887..c30f80fc70 100644
--- a/packages/audio/alsa-ucm-conf/package.mk
+++ b/packages/audio/alsa-ucm-conf/package.mk
@@ -2,7 +2,7 @@
# Copyright (C) 2020-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="alsa-ucm-conf"
-PKG_VERSION="1.2.9"
+PKG_VERSION="1.2.10"
PKG_LICENSE="BSD-3c"
PKG_SITE="http://www.alsa-project.org/"
PKG_URL="https://www.alsa-project.org/files/pub/lib/alsa-ucm-conf-${PKG_VERSION}.tar.bz2"
diff --git a/packages/audio/alsa-utils/package.mk b/packages/audio/alsa-utils/package.mk
index 02d235ccd6..dd1383826a 100644
--- a/packages/audio/alsa-utils/package.mk
+++ b/packages/audio/alsa-utils/package.mk
@@ -4,7 +4,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="alsa-utils"
-PKG_VERSION="1.2.9"
+PKG_VERSION="1.2.10"
PKG_LICENSE="GPL"
PKG_SITE="http://www.alsa-project.org/"
PKG_URL="https://www.alsa-project.org/files/pub/utils/alsa-utils-${PKG_VERSION}.tar.bz2"
diff --git a/packages/audio/alsa-utils/patches/alsa-utils-PR213.patch b/packages/audio/alsa-utils/patches/alsa-utils-PR213.patch
deleted file mode 100644
index 48ac2e7f17..0000000000
--- a/packages/audio/alsa-utils/patches/alsa-utils-PR213.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 44636a7c5862538def0d2fac074772cc39a22a15 Mon Sep 17 00:00:00 2001
-From: Rudi Heitbaum
-Date: Tue, 16 May 2023 02:27:59 +1000
-Subject: [PATCH] alsactl: fix compilation when building in a subdir
-
-Fixes: 613372d
-Fixes: cff2d1c
-
-Compile errors when building in a subdir:
-alsactl/alsactl.c:33:10: fatal error: os_compat.h: No such file or directory
- 33 | #include "os_compat.h"
- | ^~~~~~~~~~~~~
-alsactl/lock.c:34:10: fatal error: os_compat.h: No such file or directory
- 34 | #include "os_compat.h"
- | ^~~~~~~~~~~~~
-
-Signed-off-by: Rudi Heitbaum
----
- alsactl/Makefile.am | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/alsactl/Makefile.am b/alsactl/Makefile.am
-index 80dba69d..fb32c4f3 100644
---- a/alsactl/Makefile.am
-+++ b/alsactl/Makefile.am
-@@ -9,6 +9,8 @@ EXTRA_DIST=alsactl.1 alsactl_init.xml
-
- AM_CFLAGS = -D_GNU_SOURCE
-
-+AM_CPPFLAGS = -I$(top_srcdir)/include
-+
- alsactl_SOURCES=alsactl.c state.c lock.c utils.c init_parse.c init_ucm.c \
- daemon.c monitor.c clean.c info.c
-
diff --git a/packages/audio/alsa-utils/patches/alsa-utils-PR225.patch b/packages/audio/alsa-utils/patches/alsa-utils-PR225.patch
deleted file mode 100644
index b2cd435de7..0000000000
--- a/packages/audio/alsa-utils/patches/alsa-utils-PR225.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From f912b09ec2737e4a479396f4696f7a97213fd3d0 Mon Sep 17 00:00:00 2001
-From: Rudi Heitbaum
-Date: Sat, 22 Jul 2023 15:36:09 +0000
-Subject: [PATCH] alsactl: add define to compile with glibc 2.38
-
-strlcat and strlcpy have been added to glibc 2.38.
-update the defines to use the glibc versions, and not conflict with
-string.h.
-
-ref:
-- https://sourceware.org/git/?p=glibc.git;a=commit;h=454a20c8756c9c1d55419153255fc7692b3d2199
----
- alsactl/init_sysdeps.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/alsactl/init_sysdeps.c b/alsactl/init_sysdeps.c
-index 3aca1b4..f09b1ae 100644
---- a/alsactl/init_sysdeps.c
-+++ b/alsactl/init_sysdeps.c
-@@ -18,6 +18,7 @@
- */
-
- #if defined(__GLIBC__) && !(defined(__UCLIBC__) && defined(__USE_BSD))
-+#if !(__GLIBC_PREREQ(2, 38))
- static size_t strlcpy(char *dst, const char *src, size_t size)
- {
- size_t bytes = 0;
-@@ -60,4 +61,5 @@ static size_t strlcat(char *dst, const char *src, size_t size)
- *q = '\0';
- return bytes;
- }
-+#endif /* !(__GLIBC_PREREQ(2, 38)) */
- #endif /* __GLIBC__ */
---
-2.34.1
-
diff --git a/packages/audio/flac/package.mk b/packages/audio/flac/package.mk
index e68d177ef9..daccead682 100644
--- a/packages/audio/flac/package.mk
+++ b/packages/audio/flac/package.mk
@@ -8,6 +8,7 @@ PKG_SITE="https://xiph.org/flac/"
PKG_URL="http://downloads.xiph.org/releases/flac/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain libogg"
PKG_LONGDESC="An Free Lossless Audio Codec."
+PKG_BUILD_FLAGS="+speed"
pre_configure_target() {
PKG_CMAKE_OPTS_TARGET="-DBUILD_SHARED_LIBS=ON \
diff --git a/packages/audio/libcdio/package.mk b/packages/audio/libcdio/package.mk
index 727fb59a09..4a70724291 100644
--- a/packages/audio/libcdio/package.mk
+++ b/packages/audio/libcdio/package.mk
@@ -7,7 +7,7 @@ PKG_VERSION="2.1.0"
PKG_SHA256="8550e9589dbd594bfac93b81ecf129b1dc9d0d51e90f9696f1b2f9b2af32712b"
PKG_LICENSE="GPLv3"
PKG_SITE="https://www.gnu.org/software/libcdio/"
-PKG_URL="http://ftpmirror.gnu.org/libcdio/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
+PKG_URL="http://ftp.gnu.org/gnu/libcdio/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="A CD-ROM reading and control library."
PKG_BUILD_FLAGS="+pic"
diff --git a/packages/audio/pipewire/package.mk b/packages/audio/pipewire/package.mk
index e5f4c04213..fcb9ef3490 100644
--- a/packages/audio/pipewire/package.mk
+++ b/packages/audio/pipewire/package.mk
@@ -2,7 +2,7 @@
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="pipewire"
-PKG_VERSION="0.3.84"
+PKG_VERSION="1.0.0"
PKG_LICENSE="LGPL"
PKG_SITE="https://pipewire.org"
PKG_URL="https://github.com/PipeWire/pipewire/archive/${PKG_VERSION}.tar.gz"
diff --git a/packages/audio/pipewire/patches/001-pipewire-pulse.patch b/packages/audio/pipewire/patches/001-pipewire-pulse.patch
index b71eae88ef..bb7a5af626 100644
--- a/packages/audio/pipewire/patches/001-pipewire-pulse.patch
+++ b/packages/audio/pipewire/patches/001-pipewire-pulse.patch
@@ -1,7 +1,7 @@
-diff -rupN pipewire-0.3.84.orig/src/daemon/pipewire-pulse.conf.in pipewire-0.3.84/src/daemon/pipewire-pulse.conf.in
---- pipewire-0.3.84.orig/src/daemon/pipewire-pulse.conf.in 2023-11-13 16:35:56.502690919 +0000
-+++ pipewire-0.3.84/src/daemon/pipewire-pulse.conf.in 2023-11-13 16:36:28.096495134 +0000
-@@ -90,11 +90,11 @@ pulse.properties = {
+diff -rupN pipewire-1.0.0.orig/src/daemon/pipewire-pulse.conf.in pipewire-1.0.0/src/daemon/pipewire-pulse.conf.in
+--- pipewire-1.0.0.orig/src/daemon/pipewire-pulse.conf.in 2023-12-29 13:41:35.329947857 +0000
++++ pipewire-1.0.0/src/daemon/pipewire-pulse.conf.in 2023-12-29 13:41:46.850669838 +0000
+@@ -92,11 +92,11 @@ pulse.properties = {
#"tcp:[::]:9999" # IPv6 on all addresses
#"tcp:127.0.0.1:8888" # IPv4 on a single address
#
@@ -18,23 +18,17 @@ diff -rupN pipewire-0.3.84.orig/src/daemon/pipewire-pulse.conf.in pipewire-0.3.8
]
#server.dbus-name = "org.pulseaudio.Server"
#pulse.min.req = 128/48000 # 2.7ms
-diff -rupN pipewire-0.3.84.orig/src/daemon/systemd/system/pipewire.service.in pipewire-0.3.84/src/daemon/systemd/system/pipewire.service.in
---- pipewire-0.3.84.orig/src/daemon/systemd/system/pipewire.service.in 2023-11-13 16:35:56.502690919 +0000
-+++ pipewire-0.3.84/src/daemon/systemd/system/pipewire.service.in 2023-11-13 16:36:28.096495134 +0000
-@@ -15,21 +15,24 @@ Description=PipeWire Multimedia Service
- Requires=pipewire.socket
-
- [Service]
--LockPersonality=yes
--MemoryDenyWriteExecute=yes
--NoNewPrivileges=yes
--RestrictNamespaces=yes
--SystemCallArchitectures=native
--SystemCallFilter=@system-service
+diff -rupN pipewire-1.0.0.orig/src/daemon/systemd/system/pipewire.service.in pipewire-1.0.0/src/daemon/systemd/system/pipewire.service.in
+--- pipewire-1.0.0.orig/src/daemon/systemd/system/pipewire.service.in 2023-12-29 13:41:35.329947857 +0000
++++ pipewire-1.0.0/src/daemon/systemd/system/pipewire.service.in 2023-12-29 13:43:32.217227049 +0000
+@@ -21,15 +21,25 @@ NoNewPrivileges=yes
+ RestrictNamespaces=yes
+ SystemCallArchitectures=native
+ SystemCallFilter=@system-service
+Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/dbus/system_bus_socket
+User=root
Type=simple
--AmbientCapabilities=CAP_SYS_NICE
+ AmbientCapabilities=CAP_SYS_NICE
-ExecStart=@PW_BINARY@
+ExecStart=/usr/bin/pipewire
Restart=on-failure
@@ -53,16 +47,16 @@ diff -rupN pipewire-0.3.84.orig/src/daemon/systemd/system/pipewire.service.in pi
+Environment=HOME=/storage
[Install]
--Also=pipewire.socket
-+Also=pipewire-pulse.socket
+-Also=pipewire.socket pipewire-manager.socket
++Also=pipewire.socket pipewire-pulse.socket pipewire-manager.socket
WantedBy=default.target
-diff -rupN pipewire-0.3.84.orig/src/daemon/systemd/system/pipewire.socket pipewire-0.3.84/src/daemon/systemd/system/pipewire.socket
---- pipewire-0.3.84.orig/src/daemon/systemd/system/pipewire.socket 2023-11-13 16:35:56.502690919 +0000
-+++ pipewire-0.3.84/src/daemon/systemd/system/pipewire.socket 2023-11-13 16:36:58.434228383 +0000
-@@ -5,8 +5,8 @@ Description=PipeWire Multimedia System S
+diff -rupN pipewire-1.0.0.orig/src/daemon/systemd/system/pipewire.socket pipewire-1.0.0/src/daemon/systemd/system/pipewire.socket
+--- pipewire-1.0.0.orig/src/daemon/systemd/system/pipewire.socket 2023-12-29 13:41:35.329947857 +0000
++++ pipewire-1.0.0/src/daemon/systemd/system/pipewire.socket 2023-12-29 13:44:04.291208172 +0000
+@@ -4,8 +4,8 @@ Description=PipeWire Multimedia System S
+ [Socket]
Priority=6
ListenStream=%t/pipewire/pipewire-0
- ListenStream=%t/pipewire/pipewire-0-manager
-SocketUser=pipewire
-SocketGroup=pipewire
+SocketUser=root
diff --git a/packages/audio/wireplumber/package.mk b/packages/audio/wireplumber/package.mk
index 231f3b1cd6..5a8c3aa20d 100644
--- a/packages/audio/wireplumber/package.mk
+++ b/packages/audio/wireplumber/package.mk
@@ -2,7 +2,7 @@
# Copyright (C) 2022-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="wireplumber"
-PKG_VERSION="0.4.15"
+PKG_VERSION="0.4.17"
PKG_LICENSE="MIT"
PKG_SITE="https://gitlab.freedesktop.org/pipewire/wireplumber"
PKG_URL="https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.gz"
diff --git a/packages/audio/wireplumber/patches/002-optimize-auto-connect.patch b/packages/audio/wireplumber/patches/002-optimize-auto-connect.patch
new file mode 100644
index 0000000000..9ebafaaa57
--- /dev/null
+++ b/packages/audio/wireplumber/patches/002-optimize-auto-connect.patch
@@ -0,0 +1,11 @@
+diff -rupN wireplumber-0.4.15.orig/src/config/bluetooth.lua.d/50-bluez-config.lua wireplumber-0.4.15/src/config/bluetooth.lua.d/50-bluez-config.lua
+--- wireplumber-0.4.15.orig/src/config/bluetooth.lua.d/50-bluez-config.lua 2023-11-13 16:40:22.581908134 +0000
++++ wireplumber-0.4.15/src/config/bluetooth.lua.d/50-bluez-config.lua 2023-12-29 13:00:57.296239132 +0000
+@@ -85,6 +85,7 @@ bluez_monitor.rules = {
+ -- profiles have connected. Disabled by default if the property
+ -- is not specified.
+ --["bluez5.auto-connect"] = "[ hfp_hf hsp_hs a2dp_sink hfp_ag hsp_ag a2dp_source ]",
++ ["bluez5.auto-connect"] = "[ hfp_hf hsp_hs a2dp_sink ]",
+
+ -- Hardware volume control (default: [ hfp_ag hsp_ag a2dp_source ])
+ --["bluez5.hw-volume"] = "[ hfp_hf hsp_hs a2dp_sink hfp_ag hsp_ag a2dp_source ]",
diff --git a/packages/compress/cpio/package.mk b/packages/compress/cpio/package.mk
index 0085202918..0321292e28 100644
--- a/packages/compress/cpio/package.mk
+++ b/packages/compress/cpio/package.mk
@@ -6,6 +6,6 @@ PKG_NAME="cpio"
PKG_VERSION="2.14"
PKG_LICENSE="GPL"
PKG_SITE="http://www.gnu.org/software/cpio/"
-PKG_URL="http://ftpmirror.gnu.org/cpio/${PKG_NAME}-${PKG_VERSION}.tar.gz"
+PKG_URL="http://ftp.gnu.org/gnu/cpio/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_HOST="toolchain"
PKG_LONGDESC="A program to manage archives of files."
diff --git a/packages/databases/sqlite/package.mk b/packages/databases/sqlite/package.mk
index cac573859c..da27cd4efd 100644
--- a/packages/databases/sqlite/package.mk
+++ b/packages/databases/sqlite/package.mk
@@ -23,9 +23,6 @@ PKG_CONFIGURE_OPTS_TARGET="--disable-static \
--with-gnu-ld"
pre_configure_target() {
-# sqlite fails to compile with fast-math link time optimization.
- CFLAGS=$(echo ${CFLAGS} | sed -e "s|-Ofast|-O3|g")
- CFLAGS=$(echo ${CFLAGS} | sed -e "s|-ffast-math||g")
# This option adds additional logic to the ANALYZE command and to the query planner
# that can help SQLite to chose a better query plan under certain situations. The
diff --git a/packages/devel/SDL2_image/package.mk b/packages/devel/SDL2_image/package.mk
index dd4fdf7110..a91f1f4647 100644
--- a/packages/devel/SDL2_image/package.mk
+++ b/packages/devel/SDL2_image/package.mk
@@ -3,10 +3,10 @@
# Copyright (C) 2018-present 5schatten (https://github.com/5schatten)
PKG_NAME="SDL2_image"
-PKG_VERSION="2.6.3"
+PKG_VERSION="2.8.1"
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"
+PKG_URL="https://github.com/libsdl-org/SDL_image/releases/download/release-${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain SDL2 libjpeg-turbo libpng"
PKG_LONGDESC="SDL_image is an image file loading library. "
diff --git a/packages/devel/SDL2_net/package.mk b/packages/devel/SDL2_net/package.mk
index 8bc462e64d..2bc303387b 100644
--- a/packages/devel/SDL2_net/package.mk
+++ b/packages/devel/SDL2_net/package.mk
@@ -6,7 +6,7 @@ PKG_NAME="SDL2_net"
PKG_VERSION="2.2.0"
PKG_LICENSE="GPL"
PKG_SITE="https://www.libsdl.org/projects/SDL_net/"
-PKG_URL="https://www.libsdl.org/projects/SDL_net/release/${PKG_NAME}-${PKG_VERSION}.tar.gz"
+PKG_URL="https://github.com/libsdl-org/SDL_net/releases/download/release-${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain SDL2"
PKG_LONGDESC="SDL2_net: network library"
PKG_TOOLCHAIN="autotools"
diff --git a/packages/devel/SDL2_ttf/package.mk b/packages/devel/SDL2_ttf/package.mk
index 1c41ec89fe..d99a2aef6f 100644
--- a/packages/devel/SDL2_ttf/package.mk
+++ b/packages/devel/SDL2_ttf/package.mk
@@ -6,12 +6,13 @@ PKG_NAME="SDL2_ttf"
PKG_VERSION="2.20.2"
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"
+PKG_URL="https://github.com/libsdl-org/SDL_ttf/releases/download/release-${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain SDL2 freetype"
PKG_LONGDESC="This is a sample library which allows you to use TrueType fonts in your SDL applications"
-if [ ! "$DISPLAYSERVER" = "x11" ]; then
+if [ ! "${DISPLAYSERVER}" = "x11" ]
+then
X11="--without-x"
fi
-PKG_CONFIGURE_OPTS_TARGET="--with-freetype-prefix=${SYSROOT_PREFIX}/usr $X11"
+PKG_CONFIGURE_OPTS_TARGET="--with-freetype-prefix=${SYSROOT_PREFIX}/usr ${X11}"
diff --git a/packages/devel/autoconf-archive/package.mk b/packages/devel/autoconf-archive/package.mk
index c39262dd47..ec7ef64613 100644
--- a/packages/devel/autoconf-archive/package.mk
+++ b/packages/devel/autoconf-archive/package.mk
@@ -7,7 +7,7 @@ PKG_NAME="autoconf-archive"
PKG_VERSION="2023.02.20"
PKG_LICENSE="GPL"
PKG_SITE="https://www.gnu.org/software/autoconf-archive/"
-PKG_URL="http://ftpmirror.gnu.org/autoconf-archive/${PKG_NAME}-${PKG_VERSION}.tar.xz"
+PKG_URL="http://ftp.gnu.org/gnu/autoconf-archive/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_HOST="ccache:host"
PKG_LONGDESC="autoconf-archive is an package of m4 macros"
diff --git a/packages/devel/autoconf/package.mk b/packages/devel/autoconf/package.mk
index 73397a8e96..698a4e3af4 100644
--- a/packages/devel/autoconf/package.mk
+++ b/packages/devel/autoconf/package.mk
@@ -6,7 +6,7 @@ PKG_VERSION="2.71"
PKG_SHA256="f14c83cfebcc9427f2c3cea7258bd90df972d92eb26752da4ddad81c87a0faa4"
PKG_LICENSE="GPL"
PKG_SITE="http://sources.redhat.com/autoconf/"
-PKG_URL="http://ftpmirror.gnu.org/autoconf/${PKG_NAME}-${PKG_VERSION}.tar.xz"
+PKG_URL="http://ftp.gnu.org/gnu/autoconf/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_HOST="ccache:host m4:host gettext:host"
PKG_LONGDESC="A GNU tool for automatically configuring source code."
diff --git a/packages/devel/automake/package.mk b/packages/devel/automake/package.mk
index c34acc5f2a..09df7a345b 100644
--- a/packages/devel/automake/package.mk
+++ b/packages/devel/automake/package.mk
@@ -6,7 +6,7 @@ PKG_VERSION="1.16.5"
PKG_SHA256="f01d58cd6d9d77fbdca9eb4bbd5ead1988228fdb73d6f7a201f5f8d6b118b469"
PKG_LICENSE="GPL"
PKG_SITE="http://sources.redhat.com/automake/"
-PKG_URL="http://ftpmirror.gnu.org/automake/${PKG_NAME}-${PKG_VERSION}.tar.xz"
+PKG_URL="http://ftp.gnu.org/gnu/automake/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_HOST="ccache:host autoconf:host"
PKG_LONGDESC="A GNU tool for automatically creating Makefiles."
PKG_BUILD_FLAGS="-parallel"
diff --git a/packages/devel/bison/package.mk b/packages/devel/bison/package.mk
index 00bce3137c..35656229af 100644
--- a/packages/devel/bison/package.mk
+++ b/packages/devel/bison/package.mk
@@ -7,7 +7,7 @@ PKG_VERSION="3.8.2"
PKG_SHA256="9bba0214ccf7f1079c5d59210045227bcf619519840ebfa80cd3849cff5a5bf2"
PKG_LICENSE="GPL"
PKG_SITE="http://www.gnu.org/software/bison/"
-PKG_URL="http://ftpmirror.gnu.org/bison/${PKG_NAME}-${PKG_VERSION}.tar.xz"
+PKG_URL="http://ftp.gnu.org/gnu/bison/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_HOST="ccache:host m4:host"
PKG_LONGDESC="A general-purpose parser generator."
PKG_BUILD_FLAGS="-parallel"
diff --git a/packages/devel/crossguid/patches/crossguid-0001-pr67-include-missing-cstdint.patch b/packages/devel/crossguid/patches/crossguid-0001-pr67-include-missing-cstdint.patch
new file mode 100644
index 0000000000..36176b9a83
--- /dev/null
+++ b/packages/devel/crossguid/patches/crossguid-0001-pr67-include-missing-cstdint.patch
@@ -0,0 +1,27 @@
+From 1eb9bea38c320b2b588635cffceaaa2a8d434780 Mon Sep 17 00:00:00 2001
+From: Khem Raj
+Date: Wed, 25 Jan 2023 22:09:26 -0800
+Subject: [PATCH] include missing
+
+gcc 13 moved some includes around and as a result is no longer transitively
+included [1]. Explicitly include it for uint{32,64}_t.
+
+[1] https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
+
+Signed-off-by: Khem Raj
+---
+ include/crossguid/guid.hpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/crossguid/guid.hpp b/include/crossguid/guid.hpp
+index 61e0f17..70966f2 100644
+--- a/include/crossguid/guid.hpp
++++ b/include/crossguid/guid.hpp
+@@ -29,6 +29,7 @@ THE SOFTWARE.
+ #include
+ #endif
+
++#include
+ #include
+ #include
+ #include
diff --git a/packages/devel/glib/package.mk b/packages/devel/glib/package.mk
index 99add31344..6305322b72 100644
--- a/packages/devel/glib/package.mk
+++ b/packages/devel/glib/package.mk
@@ -4,7 +4,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="glib"
-PKG_VERSION="2.78.1"
+PKG_VERSION="2.78.3"
PKG_LICENSE="LGPL"
PKG_SITE="https://www.gtk.org/"
PKG_URL="https://download.gnome.org/sources/glib/$(get_pkg_version_maj_min)/${PKG_NAME}-${PKG_VERSION}.tar.xz"
diff --git a/packages/devel/glibc/package.mk b/packages/devel/glibc/package.mk
index a5ea746145..84b55eb88a 100644
--- a/packages/devel/glibc/package.mk
+++ b/packages/devel/glibc/package.mk
@@ -64,8 +64,6 @@ post_unpack() {
pre_configure_target() {
# Filter out some problematic *FLAGS
- export CFLAGS=$(echo ${CFLAGS} | sed -e "s|-ffast-math||g")
- export CFLAGS=$(echo ${CFLAGS} | sed -e "s|-Ofast|-O3|g")
export CFLAGS=$(echo ${CFLAGS} | sed -e "s|-O.|-O3|g")
export CFLAGS=$(echo ${CFLAGS} | sed -e "s|-Wunused-but-set-variable||g")
@@ -75,8 +73,6 @@ pre_configure_target() {
export CFLAGS=$(echo ${CFLAGS} | sed -e "s|${PROJECT_CFLAGS}||g")
fi
- export LDFLAGS=$(echo ${LDFLAGS} | sed -e "s|-ffast-math||g")
- export LDFLAGS=$(echo ${LDFLAGS} | sed -e "s|-Ofast|-O3|g")
export LDFLAGS=$(echo ${LDFLAGS} | sed -e "s|-O.|-O3|g")
export LDFLAGS=$(echo ${LDFLAGS} | sed -e "s|-Wl,--as-needed||")
diff --git a/packages/devel/libtool/package.mk b/packages/devel/libtool/package.mk
index 9ea61cbffc..846f8e9da9 100644
--- a/packages/devel/libtool/package.mk
+++ b/packages/devel/libtool/package.mk
@@ -7,7 +7,7 @@ PKG_VERSION="2.4.7"
PKG_SHA256="04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8"
PKG_LICENSE="GPL"
PKG_SITE="http://www.gnu.org/software/libtool/"
-PKG_URL="http://ftpmirror.gnu.org/libtool/${PKG_NAME}-${PKG_VERSION}.tar.gz"
+PKG_URL="http://ftp.gnu.org/gnu/libtool/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_HOST="ccache:host autoconf:host automake:host intltool:host"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="A generic library support script."
diff --git a/packages/devel/m4/package.mk b/packages/devel/m4/package.mk
index 328a79a8c8..c6cbbd9be5 100644
--- a/packages/devel/m4/package.mk
+++ b/packages/devel/m4/package.mk
@@ -6,7 +6,7 @@ PKG_VERSION="1.4.19"
PKG_SHA256="b306a91c0fd93bc4280cfc2e98cb7ab3981ff75a187bea3293811f452c89a8c8"
PKG_LICENSE="GPL"
PKG_SITE="http://www.gnu.org/software/m4/"
-PKG_URL="http://ftpmirror.gnu.org/m4/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
+PKG_URL="http://ftp.gnu.org/gnu/m4/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
PKG_DEPENDS_HOST="ccache:host"
PKG_LONGDESC="The m4 macro processor."
diff --git a/packages/devel/make/package.mk b/packages/devel/make/package.mk
index d9e41e4b1d..4ebc203a77 100644
--- a/packages/devel/make/package.mk
+++ b/packages/devel/make/package.mk
@@ -7,7 +7,7 @@ PKG_NAME="make"
PKG_VERSION="4.4.1"
PKG_LICENSE="GPLv3"
PKG_SITE="https://www.gnu.org/software/make/"
-PKG_URL="http://ftpmirror.gnu.org/make/${PKG_NAME}-${PKG_VERSION}.tar.gz"
+PKG_URL="http://ftp.gnu.org/gnu/make/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_HOST=""
PKG_LONGDESC="Utility to maintain groups of programs."
PKG_BUILD_FLAGS="+local-cc"
diff --git a/packages/devel/mpc/package.mk b/packages/devel/mpc/package.mk
index 1965490da3..9a3fff97ac 100644
--- a/packages/devel/mpc/package.mk
+++ b/packages/devel/mpc/package.mk
@@ -7,7 +7,7 @@ PKG_VERSION="1.3.1"
PKG_SHA256="ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8"
PKG_LICENSE="LGPL"
PKG_SITE="https://www.multiprecision.org"
-PKG_URL="http://ftpmirror.gnu.org/mpc/${PKG_NAME}-${PKG_VERSION}.tar.gz"
+PKG_URL="http://ftp.gnu.org/gnu/mpc/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_HOST="ccache:host gmp:host mpfr:host"
PKG_LONGDESC="A C library for the arithmetic of complex numbers with arbitrarily high precision and correct rounding of the result."
diff --git a/packages/devel/mpfr/package.mk b/packages/devel/mpfr/package.mk
index 72aa77a819..3749856f67 100644
--- a/packages/devel/mpfr/package.mk
+++ b/packages/devel/mpfr/package.mk
@@ -7,7 +7,7 @@ PKG_NAME="mpfr"
PKG_VERSION="4.2.1"
PKG_LICENSE="LGPL"
PKG_SITE="http://www.mpfr.org/"
-PKG_URL="http://ftpmirror.gnu.org/mpfr/${PKG_NAME}-${PKG_VERSION}.tar.xz"
+PKG_URL="http://ftp.gnu.org/gnu/mpfr/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_HOST="ccache:host gmp:host"
PKG_LONGDESC="A C library for multiple-precision floating-point computations with exact rounding."
diff --git a/packages/devel/parallel/package.mk b/packages/devel/parallel/package.mk
index 03b1401641..e14dc2d73b 100644
--- a/packages/devel/parallel/package.mk
+++ b/packages/devel/parallel/package.mk
@@ -5,6 +5,6 @@ PKG_NAME="parallel"
PKG_VERSION="20231022"
PKG_LICENSE="GPLv3"
PKG_SITE="https://www.gnu.org/software/parallel/"
-PKG_URL="http://ftpmirror.gnu.org/parallel/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
+PKG_URL="http://ftp.gnu.org/gnu/parallel/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
PKG_DEPENDS_HOST=""
PKG_LONGDESC="GNU parallel is a shell tool for executing jobs in parallel using one or more computers."
diff --git a/packages/devel/readline/package.mk b/packages/devel/readline/package.mk
index 5a509bffda..6038b03eb1 100644
--- a/packages/devel/readline/package.mk
+++ b/packages/devel/readline/package.mk
@@ -6,7 +6,7 @@ PKG_NAME="readline"
PKG_VERSION="8.2"
PKG_LICENSE="MIT"
PKG_SITE="http://www.gnu.org/software/readline/"
-PKG_URL="http://ftpmirror.gnu.org/readline/${PKG_NAME}-${PKG_VERSION}.tar.gz"
+PKG_URL="http://ftp.gnu.org/gnu/readline/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain ncurses"
PKG_LONGDESC="The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are typed in."
PKG_BUILD_FLAGS="+pic"
diff --git a/packages/emulators/libretro/cannonball-lr/package.mk b/packages/emulators/libretro/cannonball-lr/package.mk
deleted file mode 100644
index d94b8f4eeb..0000000000
--- a/packages/emulators/libretro/cannonball-lr/package.mk
+++ /dev/null
@@ -1,42 +0,0 @@
-################################################################################
-# This file is part of Lakka - http://www.lakka.tv
-#
-# This Program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This Program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with OpenELEC.tv; see the file COPYING. If not, write to
-# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
-# http://www.gnu.org/copyleft/gpl.html
-#
-# ---
-# 2020 maintenance by 351ELEC team (https://github.com/fewtarius/351ELEC)
-################################################################################
-
-PKG_NAME="cannonball-lr"
-PKG_VERSION="c5487ee342ec2596f733a211b812e338cdba8ad8"
-PKG_ARCH="any"
-PKG_LICENSE="GPLv3"
-PKG_SITE="https://github.com/libretro/cannonball"
-PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"
-PKG_DEPENDS_TARGET="toolchain"
-PKG_PRIORITY="optional"
-PKG_SECTION="libretro"
-PKG_SHORTDESC="Cannonball: An Enhanced OutRun Engine"
-PKG_LONGDESC="Cannonball: An Enhanced OutRun Engine"
-
-PKG_IS_ADDON="no"
-PKG_TOOLCHAIN="make"
-PKG_AUTORECONF="no"
-
-makeinstall_target() {
- mkdir -p ${INSTALL}/usr/lib/libretro
- cp cannonball_libretro.so ${INSTALL}/usr/lib/libretro/
-}
diff --git a/packages/emulators/libretro/citra-lr/patches/001-fix-missing-include.patch b/packages/emulators/libretro/citra-lr/patches/001-fix-missing-include.patch
new file mode 100644
index 0000000000..c980103e77
--- /dev/null
+++ b/packages/emulators/libretro/citra-lr/patches/001-fix-missing-include.patch
@@ -0,0 +1,12 @@
+diff --git a/src/core/frontend/mic.cpp b/src/core/frontend/mic.cpp
+index c9dbc9c..0d8c976 100644
+--- a/src/core/frontend/mic.cpp
++++ b/src/core/frontend/mic.cpp
+@@ -4,6 +4,7 @@
+
+ #include
+ #include "core/frontend/mic.h"
++#include
+
+ #ifdef HAVE_CUBEB
+ #include "audio_core/cubeb_input.h"
diff --git a/packages/emulators/libretro/dinothawr-lr/package.mk b/packages/emulators/libretro/dinothawr-lr/package.mk
deleted file mode 100644
index 9af3295449..0000000000
--- a/packages/emulators/libretro/dinothawr-lr/package.mk
+++ /dev/null
@@ -1,47 +0,0 @@
-################################################################################
-# This file is part of OpenELEC - http://www.openelec.tv
-# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
-# Copyright (C) 2020 351ELEC team (https://github.com/fewtarius/351ELEC)
-#
-# This Program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This Program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with OpenELEC.tv; see the file COPYING. If not, write to
-# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
-# http://www.gnu.org/copyleft/gpl.html
-################################################################################
-
-PKG_NAME="dinothawr-lr"
-PKG_VERSION="33fb82a8df4e440f96d19bba38668beaa1b414fc"
-PKG_REV="1"
-PKG_ARCH="any"
-PKG_LICENSE="Non-commercial"
-PKG_SITE="https://github.com/libretro/Dinothawr"
-PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"
-PKG_DEPENDS_TARGET="toolchain"
-PKG_PRIORITY="optional"
-PKG_SECTION="libretro"
-PKG_SHORTDESC="Dinothawr is a block pushing puzzle game on slippery surfaces"
-PKG_LONGDESC="Dinothawr is a block pushing puzzle game on slippery surfaces. Our hero is a dinosaur whose friends are trapped in ice. Through puzzles it is your task to free the dinos from their ice prison."
-
-PKG_IS_ADDON="no"
-PKG_TOOLCHAIN="make"
-PKG_AUTORECONF="no"
-PKG_BUILD_FLAGS="-gold"
-
-pre_configure_target() {
- PKG_MAKE_OPTS_TARGET="HAVE_NEON=1"
-}
-
-makeinstall_target() {
- mkdir -p ${INSTALL}/usr/lib/libretro
- cp dinothawr_libretro.so ${INSTALL}/usr/lib/libretro/
-}
diff --git a/packages/emulators/libretro/duckstation-lr/patches/001-fix-gcc12-compile.patch b/packages/emulators/libretro/duckstation-lr/patches/001-fix-gcc13-compile.patch
similarity index 88%
rename from packages/emulators/libretro/duckstation-lr/patches/001-fix-gcc12-compile.patch
rename to packages/emulators/libretro/duckstation-lr/patches/001-fix-gcc13-compile.patch
index 505c31eff0..90428ab9a5 100644
--- a/packages/emulators/libretro/duckstation-lr/patches/001-fix-gcc12-compile.patch
+++ b/packages/emulators/libretro/duckstation-lr/patches/001-fix-gcc13-compile.patch
@@ -1,6 +1,16 @@
-# SPDX-License-Identifier: GPL-2.0-or-later
-# Copyright (C) 2022-present JELOS (https://github.com/JustEnoughLinuxOS)
-
+diff --git a/src/common/log.h b/src/common/log.h
+index 1223ce03..0c6b0856 100644
+--- a/src/common/log.h
++++ b/src/common/log.h
+@@ -1,6 +1,8 @@
+ #pragma once
+ #include "types.h"
+ #include
++#include
++#include
+ #include
+
+ enum LOGLEVEL
diff --git a/src/core/cpu_core.h b/src/core/cpu_core.h
index c9199153..5d82b5c0 100644
--- a/src/core/cpu_core.h
@@ -12,7 +22,7 @@ index c9199153..5d82b5c0 100644
+
+ static constexpr u32 GTERegisterOffset(u32 index) { return offsetof(State, gte_regs.r32) + (sizeof(u32) * index); }
};
-
+
extern State g_state;
diff --git a/src/core/cpu_recompiler_code_generator.cpp b/src/core/cpu_recompiler_code_generator.cpp
index 68492b03..e550844e 100644
diff --git a/packages/emulators/libretro/easyrpg-lr/libspeexdsp/package.mk b/packages/emulators/libretro/easyrpg-lr/libspeexdsp/package.mk
index 0c7e21b06c..1ffef84aee 100644
--- a/packages/emulators/libretro/easyrpg-lr/libspeexdsp/package.mk
+++ b/packages/emulators/libretro/easyrpg-lr/libspeexdsp/package.mk
@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="libspeexdsp"
-PKG_VERSION="095fd36e189554bbcbfd9884630a53d7792409dc"
+PKG_VERSION="738e17905e1ca2a1fa932ddd9c2a85d089f4e845"
PKG_REV="1"
PKG_ARCH="any"
PKG_SITE="https://github.com/xiph/speexdsp"
@@ -28,11 +28,6 @@ PKG_DEPENDS_TARGET="toolchain"
PKG_PRIORITY="optional"
PKG_SHORTDESC="Speex audio processing library"
GET_HANDLER_SUPPORT="git"
-PKG_TOOLCHAIN="configure"
-
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
-
-pre_configure_target() {
- ./autogen.sh
-}
+PKG_TOOLCHAIN="autotools"
diff --git a/packages/emulators/libretro/flycast-lr/package.mk b/packages/emulators/libretro/flycast-lr/package.mk
index d6d172e35b..4a7b04d6bd 100644
--- a/packages/emulators/libretro/flycast-lr/package.mk
+++ b/packages/emulators/libretro/flycast-lr/package.mk
@@ -10,18 +10,19 @@ PKG_DEPENDS_TARGET="toolchain zlib libzip"
PKG_LONGDESC="Flycast is a multi-platform Sega Dreamcast, Naomi and Atomiswave emulator"
PKG_TOOLCHAIN="cmake"
-if [ ! "${OPENGL}" = "no" ]; then
+if [ "${OPENGL_SUPPORT}" = "yes" ]; then
PKG_DEPENDS_TARGET+=" ${OPENGL} glu libglvnd"
- PKG_CMAKE_OPTS_TARGET+=" USE_OPENGL=ON"
+ PKG_CMAKE_OPTS_TARGET+=" -DUSE_OPENGL=ON"
else
- PKG_CMAKE_OPTS_TARGET+=" USE_OPENGL=OFF"
+ PKG_CMAKE_OPTS_TARGET+=" -DUSE_OPENGL=OFF"
fi
if [ "${OPENGLES_SUPPORT}" = yes ] && \
[ ! "${TARGET_ARCH}" = "x86_64" ]
then
PKG_DEPENDS_TARGET+=" ${OPENGLES}"
- PKG_CMAKE_OPTS_TARGET+=" -DUSE_GLES=ON"
+ ### Will fail to compile if USE_OPENGL=OFF and USE_GLES=ON as both options are required.
+ PKG_CMAKE_OPTS_TARGET+=" -DUSE_OPENGL=ON -DUSE_GLES=ON"
else
PKG_CMAKE_OPTS_TARGET+=" -DUSE_GLES=OFF"
fi
diff --git a/packages/emulators/libretro/gme-lr/package.mk b/packages/emulators/libretro/gme-lr/package.mk
deleted file mode 100644
index 8d416fdd3d..0000000000
--- a/packages/emulators/libretro/gme-lr/package.mk
+++ /dev/null
@@ -1,43 +0,0 @@
-################################################################################
-# This file is part of OpenELEC - http://www.openelec.tv
-# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
-# Copyright (C) 2020 351ELEC team (https://github.com/fewtarius/351ELEC)
-#
-# This Program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This Program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with OpenELEC.tv; see the file COPYING. If not, write to
-# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
-# http://www.gnu.org/copyleft/gpl.html
-################################################################################
-
-PKG_NAME="gme-lr"
-PKG_VERSION="40d8b3bf4f0bd4f713f65e08c62d30b1ae8b2282"
-PKG_REV="1"
-PKG_ARCH="any"
-PKG_LICENSE="GPLv3"
-PKG_SITE="https://github.com/libretro/libretro-gme"
-PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"
-PKG_DEPENDS_TARGET="toolchain"
-PKG_PRIORITY="optional"
-PKG_SECTION="libretro"
-PKG_SHORTDESC="Port of blargg's Game_Music_Emu library."
-PKG_LONGDESC="Port of blargg's Game_Music_Emu library."
-
-PKG_IS_ADDON="no"
-PKG_TOOLCHAIN="make"
-PKG_AUTORECONF="no"
-
-makeinstall_target() {
- mkdir -p ${INSTALL}/usr/lib/libretro
- cp gme_libretro.so ${INSTALL}/usr/lib/libretro/
-}
-
diff --git a/packages/emulators/libretro/lrps2-lr/package.mk b/packages/emulators/libretro/lrps2-lr/package.mk
index 1f95888bfa..ff6875ce62 100644
--- a/packages/emulators/libretro/lrps2-lr/package.mk
+++ b/packages/emulators/libretro/lrps2-lr/package.mk
@@ -48,6 +48,10 @@ PKG_CMAKE_OPTS_TARGET=" \
pre_configure_target() {
export LDFLAGS="${LDFLAGS} -laio"
+ # Fixes for GCC 13, thanks to Arch
+ sed -i '/include /a #include ' ${PKG_BUILD}/pcsx2/CDVD/CDVDdiscReader.h
+ sed -i '/include /a #include ' ${PKG_BUILD}/pcsx2/CDVD/CDVDdiscThread.cpp
+ sed -i '/include /a #include ' ${PKG_BUILD}/pcsx2/MemoryPatchDatabase.h
}
makeinstall_target() {
diff --git a/packages/emulators/libretro/mame2000-lr/package.mk b/packages/emulators/libretro/mame2000-lr/package.mk
deleted file mode 100644
index 073b382514..0000000000
--- a/packages/emulators/libretro/mame2000-lr/package.mk
+++ /dev/null
@@ -1,46 +0,0 @@
-################################################################################
-# This file is part of OpenELEC - http://www.openelec.tv
-# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
-# Copyright (C) 2020 351ELEC team (https://github.com/fewtarius/351ELEC)
-#
-# This Program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This Program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with OpenELEC.tv; see the file COPYING. If not, write to
-# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
-# http://www.gnu.org/copyleft/gpl.html
-################################################################################
-
-PKG_NAME="mame2000-lr"
-PKG_VERSION="1472da3a39ab14fff8325b1f51a1dfdb8eabb5c8"
-PKG_REV="1"
-PKG_ARCH="any"
-PKG_LICENSE="MAME"
-PKG_SITE="https://github.com/libretro/mame2000-libretro"
-PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"
-PKG_DEPENDS_TARGET="toolchain"
-PKG_PRIORITY="optional"
-PKG_SECTION="libretro"
-PKG_SHORTDESC="MAME - Multiple Arcade Machine Emulator"
-PKG_LONGDESC="MAME - Multiple Arcade Machine Emulator"
-
-PKG_IS_ADDON="no"
-PKG_TOOLCHAIN="make"
-PKG_AUTORECONF="no"
-
-make_target() {
- make WANT_LIBCO=0
-}
-
-makeinstall_target() {
- mkdir -p ${INSTALL}/usr/lib/libretro
- cp mame2000_libretro.so ${INSTALL}/usr/lib/libretro/
-}
diff --git a/packages/emulators/libretro/meowpc98-lr/package.mk b/packages/emulators/libretro/meowpc98-lr/package.mk
deleted file mode 100644
index 59e6719105..0000000000
--- a/packages/emulators/libretro/meowpc98-lr/package.mk
+++ /dev/null
@@ -1,45 +0,0 @@
-################################################################################
-# This file is part of OpenELEC - http://www.openelec.tv
-# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
-#
-# This Program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This Program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with OpenELEC.tv; see the file COPYING. If not, write to
-# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
-# http://www.gnu.org/copyleft/gpl.html
-################################################################################
-
-PKG_NAME="meowpc98-lr"
-PKG_VERSION="bee2e243b0c68f787d0d360c2d4c289e581620ef"
-PKG_REV="1"
-PKG_ARCH="any"
-PKG_LICENSE="Unknown"
-PKG_SITE="https://github.com/libretro/libretro-meowPC98"
-PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"
-PKG_DEPENDS_TARGET="toolchain"
-PKG_PRIORITY="optional"
-PKG_SECTION="libretro"
-PKG_SHORTDESC="Neko Project 2 (PC98 emulator) port for libretro/RetroArch"
-PKG_LONGDESC="Neko Project 2 (PC98 emulator) port for libretro/RetroArch"
-
-PKG_IS_ADDON="no"
-PKG_TOOLCHAIN="make"
-PKG_AUTORECONF="no"
-
-make_target() {
- make -C libretro -f Makefile.libretro
-}
-
-makeinstall_target() {
- mkdir -p ${INSTALL}/usr/lib/libretro
- cp libretro/nekop2_libretro.so ${INSTALL}/usr/lib/libretro/
-}
diff --git a/packages/emulators/libretro/mrboom-lr/package.mk b/packages/emulators/libretro/mrboom-lr/package.mk
deleted file mode 100644
index e6a46d4fd4..0000000000
--- a/packages/emulators/libretro/mrboom-lr/package.mk
+++ /dev/null
@@ -1,47 +0,0 @@
-################################################################################
-# This file is part of OpenELEC - http://www.openelec.tv
-# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
-#
-# This Program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This Program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with OpenELEC.tv; see the file COPYING. If not, write to
-# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
-# http://www.gnu.org/copyleft/gpl.html
-################################################################################
-
-PKG_NAME="mrboom-lr"
-PKG_VERSION="87368124430174a501484bad8dbd4284859c0853"
-PKG_REV="1"
-PKG_ARCH="any"
-PKG_LICENSE="GPLv3"
-PKG_SITE="https://github.com/libretro/mrboom-libretro"
-PKG_URL="${PKG_SITE}.git"
-PKG_DEPENDS_TARGET="toolchain"
-PKG_PRIORITY="optional"
-PKG_SECTION="libretro"
-PKG_SHORTDESC="Mr.Boom is a 8 players Bomberman clone for RetroArch/Libretro"
-PKG_LONGDESC="Mr.Boom is a 8 players Bomberman clone for RetroArch/Libretro"
-PKG_TOOLCHAIN="make"
-GET_HANDLER_SUPPORT="git"
-
-pre_configure_target() {
-if [ "${ARCH}" == "arm" ]; then
-PKG_MAKE_OPTS_TARGET="platform=classic_armv7_a7"
-#else
-#PKG_MAKE_OPTS_TARGET="platform=classic_armv7_a7"
-fi
-}
-
-makeinstall_target() {
- mkdir -p ${INSTALL}/usr/lib/libretro
- cp mrboom_libretro.so ${INSTALL}/usr/lib/libretro/
-}
diff --git a/packages/emulators/libretro/mupen64plus-nx-lr/package.mk b/packages/emulators/libretro/mupen64plus-nx-lr/package.mk
index 83124e8561..76b4da63eb 100755
--- a/packages/emulators/libretro/mupen64plus-nx-lr/package.mk
+++ b/packages/emulators/libretro/mupen64plus-nx-lr/package.mk
@@ -24,6 +24,10 @@ if [ "${OPENGLES_SUPPORT}" = yes ]; then
fi
pre_configure_target() {
+ for SOURCE in ${PKG_BUILD}/mupen64plus-rsp-paraLLEl/rsp_disasm.cpp ${PKG_BUILD}/mupen64plus-rsp-paraLLEl/rsp_disasm.hpp
+ do
+ sed -i '/include /a #include ' ${SOURCE}
+ done
sed -e "s|^GIT_VERSION ?.*$|GIT_VERSION := \" ${PKG_VERSION:0:7}\"|" -i Makefile
sed -i 's/\-O[23]/-Ofast/' ${PKG_BUILD}/Makefile
case ${DEVICE} in
diff --git a/packages/emulators/libretro/nxengine-lr/package.mk b/packages/emulators/libretro/nxengine-lr/package.mk
deleted file mode 100644
index decca19497..0000000000
--- a/packages/emulators/libretro/nxengine-lr/package.mk
+++ /dev/null
@@ -1,45 +0,0 @@
-################################################################################
-# This file is part of OpenELEC - http://www.openelec.tv
-# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
-#
-# This Program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This Program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with OpenELEC.tv; see the file COPYING. If not, write to
-# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
-# http://www.gnu.org/copyleft/gpl.html
-################################################################################
-
-PKG_NAME="nxengine-lr"
-PKG_VERSION="1f371e51c7a19049e00f4364cbe9c68ca08b303a"
-PKG_REV="1"
-PKG_ARCH="any"
-PKG_LICENSE="GPLv3"
-PKG_SITE="https://github.com/libretro/nxengine-libretro"
-PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"
-PKG_DEPENDS_TARGET="toolchain"
-PKG_PRIORITY="optional"
-PKG_SECTION="libretro"
-PKG_SHORTDESC="Port of NxEngine to libretro - Cave Story game engine clone"
-PKG_LONGDESC="A complete open-source clone/rewrite of the masterpiece jump-and-run platformer Doukutsu Monogatari (also known as Cave Story)."
-
-PKG_IS_ADDON="no"
-PKG_TOOLCHAIN="make"
-PKG_AUTORECONF="no"
-
-pre_configure_target() {
- sed -i -e "s/CC = gcc//" Makefile
-}
-
-makeinstall_target() {
- mkdir -p ${INSTALL}/usr/lib/libretro
- cp nxengine_libretro.so ${INSTALL}/usr/lib/libretro/
-}
diff --git a/packages/emulators/libretro/parallel-n64-lr/patches/001-gcc-10.patch b/packages/emulators/libretro/parallel-n64-lr/patches/001-gcc-10.patch
deleted file mode 100644
index 8abd1a0243..0000000000
--- a/packages/emulators/libretro/parallel-n64-lr/patches/001-gcc-10.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -rupN parallel-n64.orig/mupen64plus-core/src/r4300/r4300.c parallel-n64.new/mupen64plus-core/src/r4300/r4300.c
---- parallel-n64.orig/mupen64plus-core/src/r4300/r4300.c 2021-01-24 13:07:25.028974337 -0500
-+++ parallel-n64.new/mupen64plus-core/src/r4300/r4300.c 2021-01-24 13:07:53.761102557 -0500
-@@ -50,8 +50,8 @@
- unsigned int r4300emu = 0;
- unsigned int count_per_op = COUNT_PER_OP_DEFAULT;
- unsigned int llbit;
--int stop;
- #if NEW_DYNAREC < NEW_DYNAREC_ARM
-+int stop;
- int64_t reg[32], hi, lo;
- uint32_t next_interrupt;
- struct precomp_instr *PC;
diff --git a/packages/emulators/libretro/parallel-n64-lr/patches/001-gcc-13.patch b/packages/emulators/libretro/parallel-n64-lr/patches/001-gcc-13.patch
new file mode 100644
index 0000000000..a8480d85e4
--- /dev/null
+++ b/packages/emulators/libretro/parallel-n64-lr/patches/001-gcc-13.patch
@@ -0,0 +1,51 @@
+diff --git a/mupen64plus-core/src/r4300/r4300.c b/mupen64plus-core/src/r4300/r4300.c
+index 744198d6..73cb1f27 100644
+--- a/mupen64plus-core/src/r4300/r4300.c
++++ b/mupen64plus-core/src/r4300/r4300.c
+@@ -50,8 +50,8 @@
+ unsigned int r4300emu = 0;
+ unsigned int count_per_op = COUNT_PER_OP_DEFAULT;
+ unsigned int llbit;
+-int stop;
+ #if NEW_DYNAREC < NEW_DYNAREC_ARM
++int stop;
+ int64_t reg[32], hi, lo;
+ uint32_t next_interrupt;
+ struct precomp_instr *PC;
+diff --git a/mupen64plus-rsp-paraLLEl/rsp_disasm.cpp b/mupen64plus-rsp-paraLLEl/rsp_disasm.cpp
+index 9b1f6eda..bbb84e74 100644
+--- a/mupen64plus-rsp-paraLLEl/rsp_disasm.cpp
++++ b/mupen64plus-rsp-paraLLEl/rsp_disasm.cpp
+@@ -1,5 +1,6 @@
+ #include "rsp_disasm.hpp"
+ #include
++#include
+
+ namespace RSP
+ {
+@@ -582,4 +583,4 @@ std::string disassemble(uint32_t pc, uint32_t instr)
+
+ return "???";
+ }
+-}
+\ No newline at end of file
++}
+diff --git a/mupen64plus-rsp-paraLLEl/rsp_disasm.hpp b/mupen64plus-rsp-paraLLEl/rsp_disasm.hpp
+index 22c464b2..a5133e2e 100644
+--- a/mupen64plus-rsp-paraLLEl/rsp_disasm.hpp
++++ b/mupen64plus-rsp-paraLLEl/rsp_disasm.hpp
+@@ -2,6 +2,7 @@
+ #define RSP_DISASM_HPP_
+
+ #include
++#include
+
+ namespace RSP
+ {
+@@ -9,4 +10,4 @@ std::string disassemble(uint32_t pc, uint32_t instr);
+ const char *register_name(unsigned reg_index);
+ }
+
+-#endif
+\ No newline at end of file
++#endif
diff --git a/packages/emulators/libretro/pcsx_rearmed-lr/package.mk b/packages/emulators/libretro/pcsx_rearmed-lr/package.mk
index 4a3e66a6ee..3c46d528d9 100644
--- a/packages/emulators/libretro/pcsx_rearmed-lr/package.mk
+++ b/packages/emulators/libretro/pcsx_rearmed-lr/package.mk
@@ -11,7 +11,6 @@ PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_SHORTDESC="ARM optimized PCSX fork"
PKG_TOOLCHAIN="manual"
-PKG_PATCH_DIRS+="${TARGET_ARCH}/${DEVICE}"
pre_configure_target() {
sed -i 's/\-O[23]/-Ofast/' ${PKG_BUILD}/Makefile
diff --git a/packages/emulators/libretro/play-lr/package.mk b/packages/emulators/libretro/play-lr/package.mk
deleted file mode 100644
index ec026a2372..0000000000
--- a/packages/emulators/libretro/play-lr/package.mk
+++ /dev/null
@@ -1,41 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-or-later
-# Copyright (C) 2022-present JELOS (https://github.com/JustEnoughLinuxOS)
-
-PKG_NAME="play-lr"
-PKG_VERSION="e0f5091e6eb80d609807fc2a9da3f2516373582f"
-PKG_ARCH="x86_64"
-PKG_LICENSE="GPLv2"
-PKG_SITE="https://github.com/jpd002/Play-"
-PKG_URL="${PKG_SITE}.git"
-PKG_DEPENDS_TARGET="toolchain libevdev zstd"
-PKG_LONGDESC="Play! is an attempt to create a PlayStation 2 emulator for Windows, macOS, UNIX, Android & iOS platforms."
-PKG_TOOLCHAIN="cmake"
-
-PKG_CMAKE_OPTS_TARGET="-DBUILD_LIBRETRO_CORE=yes \
- -DBUILD_PLAY=off \
- -DBUILD_TESTS=no \
- -DENABLE_AMAZON_S3=no \
- -DUSE_GLEW=no \
- -DCMAKE_BUILD_TYPE=Release"
-
-if [ "${OPENGL_SUPPORT}" = "yes" ]; then
- PKG_DEPENDS_TARGET+=" ${OPENGL} glu"
-fi
-
-if [ "${OPENGLES_SUPPORT}" = "yes" ]; then
- PKG_DEPENDS_TARGET+=" ${OPENGLES}"
-fi
-
-if [ "${OPENGL_SUPPORT}" = "no" -a "${OPENGLES_SUPPORT}" = "yes" ]; then
- PKG_CMAKE_OPTS_TARGET+=" -DUSE_GLES=yes"
-fi
-
-pre_make_target() {
- find ${PKG_BUILD} -name flags.make -exec sed -i "s:isystem :I:g" \{} \;
- find ${PKG_BUILD} -name build.ninja -exec sed -i "s:isystem :I:g" \{} \;
-}
-
-makeinstall_target() {
- mkdir -p ${INSTALL}/usr/lib/libretro
- cp ${PKG_BUILD}/.${TARGET_NAME}/Source/ui_libretro/play_libretro.so ${INSTALL}/usr/lib/libretro/
-}
diff --git a/packages/emulators/libretro/play-lr/patches/01-fix.patch b/packages/emulators/libretro/play-lr/patches/01-fix.patch
deleted file mode 100644
index 9ef189fd91..0000000000
--- a/packages/emulators/libretro/play-lr/patches/01-fix.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-
-diff --git a/Source/ui_libretro/CMakeLists.txt b/Source/ui_libretro/CMakeLists.txt
-index b84b0c40..d02a5f32 100644
---- a/Source/ui_libretro/CMakeLists.txt
-+++ b/Source/ui_libretro/CMakeLists.txt
-@@ -40,14 +40,6 @@ if(TARGET_PLATFORM_ANDROID)
- list(APPEND PROJECT_LIBS android log GLESv3 EGL)
- elseif(TARGET_PLATFORM_IOS)
- list(APPEND PROJECT_LIBS "-ObjC -lsqlite3 -framework OpenGLES")
--elseif(TARGET_PLATFORM_UNIX)
-- list(APPEND PROJECT_LIBS "-static-libgcc")
-- list(APPEND PROJECT_LIBS "-static-libstdc++")
--endif()
--
--if(CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8 AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9)
-- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lstdc++fs")
-- list(APPEND PROJECT_LIBS "libstdc++fs.a")
- endif()
-
- add_library(play_libretro SHARED ${SRC})
diff --git a/packages/emulators/libretro/reminiscence-lr/package.mk b/packages/emulators/libretro/reminiscence-lr/package.mk
deleted file mode 100644
index 660b459979..0000000000
--- a/packages/emulators/libretro/reminiscence-lr/package.mk
+++ /dev/null
@@ -1,48 +0,0 @@
-################################################################################
-# This file is part of OpenELEC - http://www.openelec.tv
-# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
-#
-# This Program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This Program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with OpenELEC.tv; see the file COPYING. If not, write to
-# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
-# http://www.gnu.org/copyleft/gpl.html
-################################################################################
-
-PKG_NAME="reminiscence-lr"
-PKG_VERSION="e0d6d47230fdf22d468afd46cfb01f9315aff2bd"
-PKG_ARCH="any"
-PKG_SITE="https://github.com/libretro/REminiscence"
-PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"
-PKG_DEPENDS_TARGET="toolchain"
-PKG_PRIORITY="optional"
-PKG_SECTION="libretro"
-PKG_SHORTDESC="Port of Gregory Montoir's Flashback emulator, running as a libretro core."
-PKG_LONGDESC="Port of Gregory Montoir's Flashback emulator, running as a libretro core."
-
-PKG_IS_ADDON="no"
-PKG_TOOLCHAIN="make"
-PKG_AUTORECONF="no"
-
-configure_target () {
- : # nothing to do
-}
-
-make_target() {
- cd ${PKG_BUILD}
- make
-}
-
-makeinstall_target() {
- mkdir -p ${INSTALL}/usr/lib/libretro
- cp reminiscence_libretro.so ${INSTALL}/usr/lib/libretro/
-}
diff --git a/packages/emulators/libretro/stella-2014-lr/package.mk b/packages/emulators/libretro/stella-2014-lr/package.mk
deleted file mode 100644
index 5cf46816e1..0000000000
--- a/packages/emulators/libretro/stella-2014-lr/package.mk
+++ /dev/null
@@ -1,41 +0,0 @@
-################################################################################
-# This file is part of OpenELEC - http://www.openelec.tv
-# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
-#
-# This Program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This Program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with OpenELEC.tv; see the file COPYING. If not, write to
-# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
-# http://www.gnu.org/copyleft/gpl.html
-################################################################################
-
-PKG_NAME="stella-2014-lr"
-PKG_VERSION="8ab051edd4816f33a5631d230d54059eeed52c5f"
-PKG_REV="1"
-PKG_LICENSE="GPL2"
-PKG_SITE="https://github.com/libretro/stella2014-libretro"
-PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"
-PKG_DEPENDS_TARGET="toolchain"
-PKG_PRIORITY="optional"
-PKG_SECTION="libretro"
-PKG_SHORTDESC="Port of Stella to libretro."
-PKG_LONGDESC="Stella is a multi-platform Atari 2600 VCS emulator released under the GNU General Public License (GPL)."
-PKG_TOOLCHAIN="make"
-
-pre_configure_target() {
-PKG_MAKE_OPTS_TARGET=" -C ${PKG_BUILD}/ -f Makefile platform=emuelec-arm64"
-}
-
-makeinstall_target() {
- mkdir -p ${INSTALL}/usr/lib/libretro
- cp ${PKG_BUILD}/stella2014_libretro.so ${INSTALL}/usr/lib/libretro/
-}
diff --git a/packages/emulators/libretro/stella-2014-lr/patches/stella-2014-01-makefile.patch b/packages/emulators/libretro/stella-2014-lr/patches/stella-2014-01-makefile.patch
deleted file mode 100644
index 773df8cfcc..0000000000
--- a/packages/emulators/libretro/stella-2014-lr/patches/stella-2014-01-makefile.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -83,6 +83,16 @@
- fpic += -mmacosx-version-min=10.7
- endif
-
-+# EmuELEC for Amlogic devices
-+else ifeq ($(platform), emuelec-arm64)
-+ TARGET := $(TARGET_NAME)_libretro.so
-+ fpic := -fPIC
-+ SHARED := -shared -Wl,--version-script=link.T -Wl,--no-undefined
-+ CXXFLAGS += -lpthread -DARM64
-+ LDFLAGS += -lpthread -static-libgcc -lstdc++
-+ ARCH = arm64
-+ USE_DYNAREC = 1
-+
- # iOS
- else ifneq (,$(findstring ios,$(platform)))
- TARGET := $(TARGET_NAME)_libretro_ios.dylib
diff --git a/packages/emulators/libretro/xrick-lr/package.mk b/packages/emulators/libretro/xrick-lr/package.mk
deleted file mode 100644
index d9aaf0e107..0000000000
--- a/packages/emulators/libretro/xrick-lr/package.mk
+++ /dev/null
@@ -1,45 +0,0 @@
-################################################################################
-# This file is part of OpenELEC - http://www.openelec.tv
-# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
-#
-# This Program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This Program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with OpenELEC.tv; see the file COPYING. If not, write to
-# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
-# http://www.gnu.org/copyleft/gpl.html
-################################################################################
-
-PKG_NAME="xrick-lr"
-PKG_VERSION="58e544ee8de08ca8421e97c064d52ef6cdd73bd2"
-PKG_REV="1"
-PKG_ARCH="any"
-PKG_LICENSE="GPLv3"
-PKG_SITE="https://github.com/libretro/xrick-libretro"
-PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"
-PKG_DEPENDS_TARGET="toolchain"
-PKG_PRIORITY="optional"
-PKG_SECTION="libretro"
-PKG_SHORTDESC="Rick Dangerous Game Engine"
-PKG_LONGDESC="Rick Dangerous Game Engine"
-
-PKG_IS_ADDON="no"
-PKG_TOOLCHAIN="make"
-PKG_AUTORECONF="no"
-
-make_target() {
- make -f Makefile.libretro CC=${CC}
-}
-
-makeinstall_target() {
- mkdir -p ${INSTALL}/usr/lib/libretro
- cp xrick_libretro.so ${INSTALL}/usr/lib/libretro/
-}
diff --git a/packages/emulators/standalone/cemu-sa/package.mk b/packages/emulators/standalone/cemu-sa/package.mk
index 65eabcb33b..6e4c55af9c 100644
--- a/packages/emulators/standalone/cemu-sa/package.mk
+++ b/packages/emulators/standalone/cemu-sa/package.mk
@@ -3,7 +3,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="cemu-sa"
-PKG_VERSION="bab1616565b8fab99c52e0bedb275ae90a7b53df"
+PKG_VERSION="4405116324fda4895ccdc1ec6bc32ee253b16261"
PKG_ARCH="x86_64"
PKG_LICENSE="MPL-2.0"
PKG_SITE="https://github.com/cemu-project/Cemu"
diff --git a/packages/emulators/standalone/cemu-sa/scripts/start_cemu.sh b/packages/emulators/standalone/cemu-sa/scripts/start_cemu.sh
index 22643724d1..e964b20f04 100755
--- a/packages/emulators/standalone/cemu-sa/scripts/start_cemu.sh
+++ b/packages/emulators/standalone/cemu-sa/scripts/start_cemu.sh
@@ -65,12 +65,23 @@ FILE=$(echo $@ | sed "s#^/.*/##g")
ONLINE=$(get_setting online_enabled wiiu "${FILE}")
FPS=$(get_setting show_fps wiiu "${FILE}")
CON=$(get_setting wiiu_controller_profile wiiu "${FILE}")
+RENDERER=$(get_setting graphics_backend wiiu "${FILE}")
if [ -z "${FPS}" ]
then
FPS="0"
fi
+# Assume Vulkan
+case ${RENDERER} in
+ opengl)
+ RENDERER=0
+ ;;
+ *)
+ RENDERER=1
+ ;;
+esac
+
case ${CON} in
"Wii U Pro Controller")
CONFILE="wii_u_pro_controller.xml"
@@ -100,6 +111,7 @@ xmlstarlet ed --inplace -u "//Account/OnlineEnabled" -v "${ONLINE}" ${CEMU_CONFI
xmlstarlet ed --inplace -u "//Overlay/Position" -v "${FPS}" ${CEMU_CONFIG_ROOT}/settings.xml
xmlstarlet ed --inplace -u "//fullscreen" -v "true" ${CEMU_CONFIG_ROOT}/settings.xml
xmlstarlet ed --inplace -u "//Audio/TVDevice" -v "${PASINK}" ${CEMU_CONFIG_ROOT}/settings.xml
+xmlstarlet ed --inplace -u "//Graphic/api" -v "${RENDERER}" ${CEMU_CONFIG_ROOT}/settings.xml
xmlstarlet ed --inplace -u "//emulated_controller/type" -v "${CON}" ${CEMU_CONFIG_ROOT}/controllerProfiles/controller0.xml
xmlstarlet ed --inplace -u "//emulated_controller/controller/uuid" -v "${UUID0}" ${CEMU_CONFIG_ROOT}/controllerProfiles/controller0.xml
xmlstarlet ed --inplace -u "//emulated_controller/controller/display_name" -v "${CONTROLLER0}" ${CEMU_CONFIG_ROOT}/controllerProfiles/controller0.xml
diff --git a/packages/emulators/standalone/citra-sa/package.mk b/packages/emulators/standalone/citra-sa/package.mk
index 80e5041ad9..18739fcbc6 100644
--- a/packages/emulators/standalone/citra-sa/package.mk
+++ b/packages/emulators/standalone/citra-sa/package.mk
@@ -17,7 +17,7 @@ case ${DEVICE} in
;;
*)
PKG_URL="${PKG_SITE}.git"
- PKG_VERSION="762ddfd07bd0c24c5fd99c202535d71410f9cc88"
+ PKG_VERSION="b6b98af105c7bcc958b5888f8a3b85fec71989ed"
;;
esac
diff --git a/packages/emulators/standalone/dolphin-sa/package.mk b/packages/emulators/standalone/dolphin-sa/package.mk
index 9ece22bd80..e5b7468269 100644
--- a/packages/emulators/standalone/dolphin-sa/package.mk
+++ b/packages/emulators/standalone/dolphin-sa/package.mk
@@ -47,6 +47,11 @@ then
PKG_CMAKE_OPTS_TARGET+=" -DENABLE_VULKAN=ON"
fi
+pre_configure_target() {
+ sed -i 's~#include ~#include \n#include ~g' ${PKG_BUILD}/Externals/VulkanMemoryAllocator/include/vk_mem_alloc.h
+ sed -i 's~#include ~#include \n#include ~g' ${PKG_BUILD}/Externals/VulkanMemoryAllocator/include/vk_mem_alloc.h
+}
+
PKG_CMAKE_OPTS_TARGET+=" -DENABLE_HEADLESS=ON \
-DENABLE_EVDEV=ON \
-DUSE_DISCORD_PRESENCE=OFF \
diff --git a/packages/emulators/standalone/duckstation-sa/patches/legacy/001-fix-gcc13-compile.patch b/packages/emulators/standalone/duckstation-sa/patches/legacy/001-fix-gcc13-compile.patch
new file mode 100644
index 0000000000..4c240bee27
--- /dev/null
+++ b/packages/emulators/standalone/duckstation-sa/patches/legacy/001-fix-gcc13-compile.patch
@@ -0,0 +1,26 @@
+diff --git a/src/common/log.h b/src/common/log.h
+index 132b65d3..9e7064a8 100644
+--- a/src/common/log.h
++++ b/src/common/log.h
+@@ -1,6 +1,8 @@
+ #pragma once
+ #include "types.h"
+ #include
++#include
++#include
+ #include
+
+ enum LOGLEVEL
+diff --git a/src/frontend-common/cubeb_audio_stream.cpp b/src/frontend-common/cubeb_audio_stream.cpp
+index 099e62b5..7e1e0acc 100644
+--- a/src/frontend-common/cubeb_audio_stream.cpp
++++ b/src/frontend-common/cubeb_audio_stream.cpp
+@@ -3,6 +3,8 @@
+ #include "common/log.h"
+ Log_SetChannel(CubebAudioStream);
+
++#include
++
+ #ifdef _WIN32
+ #include "common/windows_headers.h"
+ #include
diff --git a/packages/emulators/standalone/gzdoom-sa/package.mk b/packages/emulators/standalone/gzdoom-sa/package.mk
index c6b96bcd67..17a1faedb1 100644
--- a/packages/emulators/standalone/gzdoom-sa/package.mk
+++ b/packages/emulators/standalone/gzdoom-sa/package.mk
@@ -3,26 +3,23 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="gzdoom-sa"
-PKG_VERSION="d05ea1965ad1f070859806a3a67aaf5ea6c46234"
+PKG_VERSION="a368588db6f8485072429f264aca2d9c411fe9b2"
PKG_LICENSE="GPLv3"
PKG_SITE="https://github.com/ZDoom/gzdoom"
PKG_URL="${PKG_SITE}.git"
-PKG_DEPENDS_HOST="toolchain SDL2:host zmusic:host"
-PKG_DEPENDS_TARGET="toolchain SDL2 gzdoom-sa:host zmusic"
+PKG_DEPENDS_HOST="toolchain SDL2:host zmusic:host libvpx:host libwebp:host"
+PKG_DEPENDS_TARGET="toolchain SDL2 gzdoom-sa:host zmusic libvpx libwebp"
PKG_LONGDESC="GZDoom is a modder-friendly OpenGL and Vulkan source port based on the DOOM engine"
GET_HANDLER_SUPPORT="git"
PKG_TOOLCHAIN="cmake-make"
-
pre_configure_host() {
unset HOST_CMAKE_OPTS
- PKG_CMAKE_OPTS_HOST=" -DZMUSIC_LIBRARIES=${TOOLCHAIN}/usr/lib/libzmusic.so \
- -DZMUSIC_INCLUDE_DIR=${TOOLCHAIN}/usr/include"
-}
-
-make_host() {
- cmake . -DNO_GTK=ON
- make
+ PKG_CMAKE_OPTS_HOST+=" -DZMUSIC_LIBRARIES=${TOOLCHAIN}/usr/lib/libzmusic.so \
+ -DZMUSIC_INCLUDE_DIR=${TOOLCHAIN}/usr/include \
+ -DNO_GTK=ON \
+ -DHAVE_VULKAN=OFF \
+ -DHAVE_GLES2=OFF"
}
makeinstall_host() {
@@ -30,11 +27,25 @@ makeinstall_host() {
}
pre_configure_target() {
+
PKG_CMAKE_OPTS_TARGET+=" -DNO_GTK=ON \
-DFORCE_CROSSCOMPILE=ON \
-DIMPORT_EXECUTABLES=${PKG_BUILD}/.${HOST_NAME}/ImportExecutables.cmake \
-DCMAKE_BUILD_TYPE=Release \
-DZMUSIC_LIBRARIES=${SYSROOT_PREFIX}/usr/lib/libzmusic.so -DZMUSIC_INCLUDE_DIR=${SYSROOT_PREFIX}/usr/include"
+ ### Enable GLES on devices that don't support OpenGL.
+ if [ ! "${OPENGL_SUPPORT}" = "yes" ]
+ then
+ sed -i 's~#define USE_GLAD_LOADER 0~#define USE_GLAD_LOADER 1~g' ${PKG_BUILD}/src/common/rendering/gles/gles_system.h
+ PKG_CMAKE_OPTS_TARGET+=" -DHAVE_GLES2=ON \
+ -DHAVE_VULKAN=OFF"
+ fi
+
+ ### Enable vulkan support on devices that have it available.
+ if [ "${VULKAN_SUPPORT}" = "yes" ]
+ then
+ PKG_CMAKE_OPTS_TARGET+=" -DHAVE_VULKAN=ON"
+ fi
}
makeinstall_target() {
diff --git a/packages/emulators/standalone/gzdoom-sa/patches/000-fix-build.patch b/packages/emulators/standalone/gzdoom-sa/patches/000-fix-build.patch
index 0145aff519..5f591aa5d6 100644
--- a/packages/emulators/standalone/gzdoom-sa/patches/000-fix-build.patch
+++ b/packages/emulators/standalone/gzdoom-sa/patches/000-fix-build.patch
@@ -1,22 +1,21 @@
-diff -rupN gzdoom.orig/specs/udmf_zdoom.txt gzdoom/specs/udmf_zdoom.txt
---- gzdoom.orig/specs/udmf_zdoom.txt 2023-06-13 15:19:18.519118273 +0000
-+++ gzdoom/specs/udmf_zdoom.txt 2023-06-13 15:21:45.870418615 +0000
-@@ -211,8 +211,11 @@ Note: All fields default to false
+diff --git a/specs/udmf_zdoom.txt b/specs/udmf_zdoom.txt
+index ebc831d57..f2d7974a8 100644
+--- a/specs/udmf_zdoom.txt
++++ b/specs/udmf_zdoom.txt
+@@ -218,6 +218,9 @@ Note: All fields default to false unless mentioned otherwise.
useowncolors_bottom = ; // Set to 1 to use the colors set in the sidedef. Default is using the colors from the owning sector.
uppercolor_bottom = ; // Material color of the top of the lower tier.
lowercolor_bottom = ; // Material color of the bottom of the lower tier. (Hardware rendering only.)
-+ colorscalefactor_top = // scales the material color by the given factor. Default is 1.
-+ colorscalefactor_mid = // scales the material color by the given factor. Default is 1.
-+ colorscalefactor_bottom = // scales the material color by the given factor. Default is 1.
++ colorscalefactor_top = // scales the material color by the given factor. Default is 1.
++ colorscalefactor_mid = // scales the material color by the given factor. Default is 1.
++ colorscalefactor_bottom = // scales the material color by the given factor. Default is 1.
-- useowncoloradd_top = ; // Controls where the advanced colorization properties are taken from.
-+ useowncoloradd_top = ; // Controls where the advanced colorization properties are taken from.
+ useowncoloradd_top = ; // Controls where the advanced colorization properties are taken from.
useowncoloradd_mid = ; // 0: From the containing sector, 1: from the given part of the linedef itself
- useowncoloradd_bottom = ; // Default for all 3 is 0.
- coloradd_top = ; // Additive material color to apply to top section of sidedef. Default is black (0x000000)
-diff -rupN gzdoom.orig/src/common/console/keydef.h gzdoom/src/common/console/keydef.h
---- gzdoom.orig/src/common/console/keydef.h 2023-06-13 15:18:27.077967916 +0000
-+++ gzdoom/src/common/console/keydef.h 2023-06-13 15:21:45.874418704 +0000
+diff --git a/src/common/console/keydef.h b/src/common/console/keydef.h
+index 108806774..971ab398f 100644
+--- a/src/common/console/keydef.h
++++ b/src/common/console/keydef.h
@@ -75,8 +75,13 @@ enum EKeyCodes
KEY_JOY6,
KEY_JOY7,
@@ -33,10 +32,11 @@ diff -rupN gzdoom.orig/src/common/console/keydef.h gzdoom/src/common/console/key
KEY_LASTJOYBUTTON = 0x187,
KEY_JOYPOV1_UP = 0x188,
KEY_JOYPOV1_RIGHT = 0x189,
-diff -rupN gzdoom.orig/src/common/menu/menu.cpp gzdoom/src/common/menu/menu.cpp
---- gzdoom.orig/src/common/menu/menu.cpp 2023-06-13 15:19:18.527118451 +0000
-+++ gzdoom/src/common/menu/menu.cpp 2023-06-13 15:21:45.878418792 +0000
-@@ -692,15 +692,12 @@ bool M_Responder (event_t *ev)
+diff --git a/src/common/menu/menu.cpp b/src/common/menu/menu.cpp
+index 448b196a1..62f4819aa 100644
+--- a/src/common/menu/menu.cpp
++++ b/src/common/menu/menu.cpp
+@@ -687,15 +687,12 @@ bool M_Responder (event_t *ev)
ch = ev->data1;
switch (ch)
{
@@ -54,7 +54,7 @@ diff -rupN gzdoom.orig/src/common/menu/menu.cpp gzdoom/src/common/menu/menu.cpp
case KEY_PAD_B:
mkey = MKEY_Back;
break;
-@@ -724,6 +721,7 @@ bool M_Responder (event_t *ev)
+@@ -719,6 +716,7 @@ bool M_Responder (event_t *ev)
case KEY_PAD_LTHUMB_UP:
case KEY_JOYAXIS2MINUS:
case KEY_JOYPOV1_UP:
@@ -62,7 +62,7 @@ diff -rupN gzdoom.orig/src/common/menu/menu.cpp gzdoom/src/common/menu/menu.cpp
mkey = MKEY_Up;
break;
-@@ -731,6 +729,7 @@ bool M_Responder (event_t *ev)
+@@ -726,6 +724,7 @@ bool M_Responder (event_t *ev)
case KEY_PAD_LTHUMB_DOWN:
case KEY_JOYAXIS2PLUS:
case KEY_JOYPOV1_DOWN:
@@ -70,7 +70,7 @@ diff -rupN gzdoom.orig/src/common/menu/menu.cpp gzdoom/src/common/menu/menu.cpp
mkey = MKEY_Down;
break;
-@@ -738,6 +737,7 @@ bool M_Responder (event_t *ev)
+@@ -733,6 +732,7 @@ bool M_Responder (event_t *ev)
case KEY_PAD_LTHUMB_LEFT:
case KEY_JOYAXIS1MINUS:
case KEY_JOYPOV1_LEFT:
@@ -78,7 +78,7 @@ diff -rupN gzdoom.orig/src/common/menu/menu.cpp gzdoom/src/common/menu/menu.cpp
mkey = MKEY_Left;
break;
-@@ -745,6 +745,7 @@ bool M_Responder (event_t *ev)
+@@ -740,6 +740,7 @@ bool M_Responder (event_t *ev)
case KEY_PAD_LTHUMB_RIGHT:
case KEY_JOYAXIS1PLUS:
case KEY_JOYPOV1_RIGHT:
@@ -86,10 +86,11 @@ diff -rupN gzdoom.orig/src/common/menu/menu.cpp gzdoom/src/common/menu/menu.cpp
mkey = MKEY_Right;
break;
}
-diff -rupN gzdoom.orig/src/common/platform/posix/sdl/i_gui.cpp gzdoom/src/common/platform/posix/sdl/i_gui.cpp
---- gzdoom.orig/src/common/platform/posix/sdl/i_gui.cpp 2023-06-13 15:18:27.085968095 +0000
-+++ gzdoom/src/common/platform/posix/sdl/i_gui.cpp 2023-06-13 15:21:45.878418792 +0000
-@@ -68,7 +68,7 @@ bool I_SetCursor(FGameTexture *cursorpic
+diff --git a/src/common/platform/posix/sdl/i_gui.cpp b/src/common/platform/posix/sdl/i_gui.cpp
+index 9290f063f..62df74a35 100644
+--- a/src/common/platform/posix/sdl/i_gui.cpp
++++ b/src/common/platform/posix/sdl/i_gui.cpp
+@@ -68,7 +68,7 @@ bool I_SetCursor(FGameTexture *cursorpic)
SDL_FreeCursor (cursor);
cursor = SDL_CreateColorCursor (cursorSurface, 0, 0);
SDL_SetCursor (cursor);
@@ -98,67 +99,23 @@ diff -rupN gzdoom.orig/src/common/platform/posix/sdl/i_gui.cpp gzdoom/src/common
}
else
{
-diff -rupN gzdoom.orig/src/common/platform/posix/sdl/sdlglvideo.cpp gzdoom/src/common/platform/posix/sdl/sdlglvideo.cpp
---- gzdoom.orig/src/common/platform/posix/sdl/sdlglvideo.cpp 2023-06-13 15:19:18.527118451 +0000
-+++ gzdoom/src/common/platform/posix/sdl/sdlglvideo.cpp 2023-06-13 15:22:11.590995370 +0000
-@@ -394,9 +394,7 @@ SDLVideo::SDLVideo ()
+diff --git a/src/gamedata/doomfont.h b/src/gamedata/doomfont.h
+index fedeb513c..23b2c0759 100644
+--- a/src/gamedata/doomfont.h
++++ b/src/gamedata/doomfont.h
+@@ -57,7 +57,7 @@ void InitDoomFonts()
}
-
- // Fail gracefully if we somehow reach here after linking against a SDL2 library older than 2.0.6.
-- SDL_version sdlver;
-- SDL_GetVersion(&sdlver);
-- if (!(sdlver.patch >= 6))
-+ if (!SDL_VERSION_ATLEAST(2, 0, 6))
- {
- I_FatalError("Only SDL 2.0.6 or later is supported.");
- }
-diff -rupN gzdoom.orig/src/common/rendering/gles/gles_system.cpp gzdoom/src/common/rendering/gles/gles_system.cpp
---- gzdoom.orig/src/common/rendering/gles/gles_system.cpp 2023-06-13 15:19:18.535118630 +0000
-+++ gzdoom/src/common/rendering/gles/gles_system.cpp 2023-06-13 15:49:15.910885661 +0000
-@@ -10,7 +10,7 @@ CVAR(Bool, gles_force_glsl_v100, false,
- CVAR(Int, gles_max_lights_per_surface, 32, 0);
- EXTERN_CVAR(Bool, gl_customshader);
-
--
-+#define __ANDROID__
- #if USE_GLES2
-
- PFNGLMAPBUFFERRANGEEXTPROC glMapBufferRange = NULL;
-@@ -182,6 +182,7 @@ namespace OpenGLESRenderer
- #if USE_GLES2
- gles.depthStencilAvailable = CheckExtension("GL_OES_packed_depth_stencil");
- gles.npotAvailable = CheckExtension("GL_OES_texture_npot");
-+ gles.useMappedBuffers = true;
- gles.depthClampAvailable = CheckExtension("GL_EXT_depth_clamp");
- #else
- gles.depthStencilAvailable = true;
-diff -rupN gzdoom.orig/src/common/rendering/gles/gles_system.h gzdoom/src/common/rendering/gles/gles_system.h
---- gzdoom.orig/src/common/rendering/gles/gles_system.h 2023-06-13 15:19:18.535118630 +0000
-+++ gzdoom/src/common/rendering/gles/gles_system.h 2023-06-13 15:21:45.886418973 +0000
-@@ -23,7 +23,7 @@
- #include
- #include
-
--#define USE_GLES2 0
-+#define USE_GLES2 1
-
- #if (USE_GLES2)
- #include "glad/glad.h"
-diff -rupN gzdoom.orig/src/gamedata/doomfont.h gzdoom/src/gamedata/doomfont.h
---- gzdoom.orig/src/gamedata/doomfont.h 2023-06-13 15:19:18.555119077 +0000
-+++ gzdoom/src/gamedata/doomfont.h 2023-06-13 15:21:45.918419689 +0000
-@@ -56,7 +56,7 @@ void InitDoomFonts()
- }
- else if (fileSystem.CheckNumForName("STCFN033", ns_graphics) >= 0)
+ else if (fileSystem.CheckNumForName("STCFN033", FileSys::ns_graphics) >= 0)
{
- OriginalSmallFont = new FFont("OriginalSmallFont", "STCFN%.3d", "defsmallfont", HU_FONTSTART, HU_FONTSIZE, HU_FONTSTART, -1, -1, false, true, true);
+ OriginalSmallFont = new FFont("OriginalSmallFont", "STCFN%.3d", "defsmallfont", HU_FONTSTART, HU_FONTSIZE, HU_FONTSTART, -1, -1, false, true);
}
-diff -rupN gzdoom.orig/wadsrc/static/language.def gzdoom/wadsrc/static/language.def
---- gzdoom.orig/wadsrc/static/language.def 2023-06-13 15:19:18.583119704 +0000
-+++ gzdoom/wadsrc/static/language.def 2023-06-13 15:21:45.958420587 +0000
+diff --git a/wadsrc/static/language.def b/wadsrc/static/language.def
+index da8ddfb4a..a0e3cc60d 100644
+--- a/wadsrc/static/language.def
++++ b/wadsrc/static/language.def
@@ -99,6 +99,9 @@ STARTUP3 = "";
STARTUP4 = "";
STARTUP5 = "";
@@ -169,10 +126,11 @@ diff -rupN gzdoom.orig/wadsrc/static/language.def gzdoom/wadsrc/static/language.
// Placeholder definitions for strings that are in the game content table where the labels are needed even when that file is not loaded.
// Level names
-diff -rupN gzdoom.orig/wadsrc/static/menudef.txt gzdoom/wadsrc/static/menudef.txt
---- gzdoom.orig/wadsrc/static/menudef.txt 2023-06-13 15:19:18.583119704 +0000
-+++ gzdoom/wadsrc/static/menudef.txt 2023-06-13 15:21:45.958420587 +0000
-@@ -662,6 +662,7 @@ OptionMenu "OtherControlsMenu" protected
+diff --git a/wadsrc/static/menudef.txt b/wadsrc/static/menudef.txt
+index 0f384a427..b95961679 100644
+--- a/wadsrc/static/menudef.txt
++++ b/wadsrc/static/menudef.txt
+@@ -667,6 +667,7 @@ OptionMenu "OtherControlsMenu" protected
Control "$CNTRLMNU_ADJUST_GAMMA" , "bumpgamma"
StaticText ""
@@ -180,7 +138,7 @@ diff -rupN gzdoom.orig/wadsrc/static/menudef.txt gzdoom/wadsrc/static/menudef.tx
Control "$CNTRLMNU_OPEN_HELP" , "menu_help"
Control "$CNTRLMNU_OPEN_SAVE" , "menu_save"
Control "$CNTRLMNU_OPEN_LOAD" , "menu_load"
-@@ -1776,7 +1777,7 @@ OptionMenu "CompatMapMenu" protected
+@@ -1778,7 +1779,7 @@ OptionMenu "CompatMapMenu" protected
Option "$CMPTMNU_PUSHWINDOW", "compat_pushwindow", "YesNo"
Option "$CMPTMNU_CHECKSWITCHRANGE", "compat_checkswitchrange", "YesNo"
Option "$CMPTMNU_RAILINGHACK", "compat_railing", "YesNo"
diff --git a/packages/emulators/standalone/nanoboyadvance-sa/patches/001-rework-dma-interleave.patch b/packages/emulators/standalone/nanoboyadvance-sa/patches/001-rework-dma-interleave.patch
new file mode 100644
index 0000000000..4121b652ee
--- /dev/null
+++ b/packages/emulators/standalone/nanoboyadvance-sa/patches/001-rework-dma-interleave.patch
@@ -0,0 +1,322 @@
+From 5d199dd8742f858b83beb55abd7cd0da45d3721e Mon Sep 17 00:00:00 2001
+From: fleroviux
+Date: Mon, 13 Feb 2023 23:11:05 +0100
+Subject: [PATCH] Bus: rework DMA interleave to be more robust and simpler
+
+---
+ src/nba/CMakeLists.txt | 1 +
+ src/nba/include/nba/common/scope_exit.hpp | 24 +++++++++++++++++++++++
+ src/nba/include/nba/save_state.hpp | 7 ++-----
+ src/nba/src/bus/bus.cpp | 16 +++++++++++++--
+ src/nba/src/bus/bus.hpp | 8 +++-----
+ src/nba/src/bus/io.cpp | 2 +-
+ src/nba/src/bus/serialization.cpp | 6 ++----
+ src/nba/src/bus/timing.cpp | 11 ++---------
+ src/nba/src/core.cpp | 4 +++-
+ src/nba/src/hw/dma/dma.cpp | 16 +++++++--------
+ 10 files changed, 60 insertions(+), 35 deletions(-)
+ create mode 100644 src/nba/include/nba/common/scope_exit.hpp
+
+diff --git a/src/nba/CMakeLists.txt b/src/nba/CMakeLists.txt
+index 9c9c6e8ab..887bcac7a 100644
+--- a/src/nba/CMakeLists.txt
++++ b/src/nba/CMakeLists.txt
+@@ -91,6 +91,7 @@ set(HEADERS_PUBLIC
+ include/nba/common/crc32.hpp
+ include/nba/common/meta.hpp
+ include/nba/common/punning.hpp
++ include/nba/common/scope_exit.hpp
+ include/nba/device/audio_device.hpp
+ include/nba/device/input_device.hpp
+ include/nba/device/video_device.hpp
+diff --git a/src/nba/include/nba/common/scope_exit.hpp b/src/nba/include/nba/common/scope_exit.hpp
+new file mode 100644
+index 000000000..888c3703c
+--- /dev/null
++++ b/src/nba/include/nba/common/scope_exit.hpp
+@@ -0,0 +1,24 @@
++/*
++ * Copyright (C) 2023 fleroviux
++ *
++ * Licensed under GPLv3 or any later version.
++ * Refer to the included LICENSE file.
++ */
++
++#pragma once
++
++namespace nba {
++
++template
++struct ScopeExit {
++ ScopeExit(Functor&& fn) : fn{fn} {}
++
++ ScopeExit(ScopeExit&& other) = delete;
++ ScopeExit(ScopeExit const& other) = delete;
++
++ ~ScopeExit() { fn.operator()(); }
++
++ Functor fn;
++};
++
++} // namespace nba
+\ No newline at end of file
+diff --git a/src/nba/include/nba/save_state.hpp b/src/nba/include/nba/save_state.hpp
+index 5e3c1dd00..7e8865dba 100644
+--- a/src/nba/include/nba/save_state.hpp
++++ b/src/nba/include/nba/save_state.hpp
+@@ -16,7 +16,7 @@ namespace nba {
+
+ struct SaveState {
+ static constexpr u32 kMagicNumber = 0x5353424E; // NBSS
+- static constexpr u32 kCurrentVersion = 3;
++ static constexpr u32 kCurrentVersion = 4;
+
+ u32 magic;
+ u32 version;
+@@ -76,10 +76,7 @@ struct SaveState {
+ u8 countdown;
+ } prefetch;
+
+- struct DMA {
+- bool active;
+- bool openbus;
+- } dma;
++ int last_access;
+ } bus;
+
+ // TODO: keep track of IRQ delay:
+diff --git a/src/nba/src/bus/bus.cpp b/src/nba/src/bus/bus.cpp
+index 2a6b53a86..ef9f50ed4 100644
+--- a/src/nba/src/bus/bus.cpp
++++ b/src/nba/src/bus/bus.cpp
+@@ -7,6 +7,7 @@
+
+ #include
+ #include
++#include
+ #include
+
+ #include "arm/arm7tdmi.hpp"
+@@ -32,7 +33,7 @@ void Bus::Reset() {
+ hw.rcnt[1] = 0;
+ hw.postflg = 0;
+ prefetch = {};
+- dma = {};
++ last_access = 0;
+ UpdateWaitStateTable();
+ }
+
+@@ -77,6 +78,13 @@ auto Bus::Read(u32 address, int access) -> T {
+ auto page = address >> 24;
+ auto is_u32 = std::is_same_v;
+
++ // Set last_access to access right before returning.
++ auto _ = ScopeExit{[&]() {
++ last_access = access;
++ }};
++
++ if(!(access & Dma) && hw.dma.IsRunning()) hw.dma.Run();
++
+ switch (page) {
+ // BIOS
+ case 0x00: {
+@@ -170,6 +178,8 @@ void Bus::Write(u32 address, int access, T value) {
+ auto page = address >> 24;
+ auto is_u32 = std::is_same_v;
+
++ if(!(access & Dma) && hw.dma.IsRunning()) hw.dma.Run();
++
+ switch (page) {
+ // EWRAM (external work RAM)
+ case 0x02: {
+@@ -255,6 +265,8 @@ void Bus::Write(u32 address, int access, T value) {
+ break;
+ }
+ }
++
++ last_access = access;
+ }
+
+ auto Bus::ReadBIOS(u32 address) -> u32 {
+@@ -279,7 +291,7 @@ auto Bus::ReadOpenBus(u32 address) -> u32 {
+
+ Log("Bus: illegal memory read: 0x{:08X}", address);
+
+- if (hw.dma.IsRunning() || dma.openbus) {
++ if(last_access & Dma) {
+ return hw.dma.GetOpenBusValue() >> shift;
+ }
+
+diff --git a/src/nba/src/bus/bus.hpp b/src/nba/src/bus/bus.hpp
+index 8c1bc64af..472ae5dc6 100644
+--- a/src/nba/src/bus/bus.hpp
++++ b/src/nba/src/bus/bus.hpp
+@@ -30,7 +30,8 @@ struct Bus {
+ enum Access {
+ Nonsequential = 0,
+ Sequential = 1,
+- Code = 2
++ Code = 2,
++ Dma = 4
+ };
+
+ void Reset();
+@@ -109,10 +110,7 @@ struct Bus {
+ int duty;
+ } prefetch;
+
+- struct DMA {
+- bool active = false;
+- bool openbus = false;
+- } dma;
++ int last_access;
+
+ template
+ auto Read(u32 address, int access) -> T;
+diff --git a/src/nba/src/bus/io.cpp b/src/nba/src/bus/io.cpp
+index ab5175e9e..51a7fcf1a 100644
+--- a/src/nba/src/bus/io.cpp
++++ b/src/nba/src/bus/io.cpp
+@@ -551,7 +551,7 @@ void Bus::Hardware::WriteByte(u32 address, u8 value) {
+ haltcnt = HaltControl::Stop;
+ } else {
+ haltcnt = HaltControl::Halt;
+- bus->Idle();
++ bus->Step(1);
+ }
+ }
+ break;
+diff --git a/src/nba/src/bus/serialization.cpp b/src/nba/src/bus/serialization.cpp
+index 48d31d1ed..50283cad8 100644
+--- a/src/nba/src/bus/serialization.cpp
++++ b/src/nba/src/bus/serialization.cpp
+@@ -44,8 +44,7 @@ void Bus::LoadState(SaveState const& state) {
+ prefetch.duty = wait32[int(Access::Sequential)][prefetch.last_address >> 24];
+ }
+
+- dma.active = state.bus.dma.active;
+- dma.openbus = state.bus.dma.openbus;
++ last_access = state.bus.last_access;
+ }
+
+ void Bus::CopyState(SaveState& state) {
+@@ -73,8 +72,7 @@ void Bus::CopyState(SaveState& state) {
+ state.bus.prefetch.count = prefetch.count;
+ state.bus.prefetch.countdown = prefetch.countdown;
+
+- state.bus.dma.active = dma.active;
+- state.bus.dma.openbus = dma.openbus;
++ state.bus.last_access = last_access;
+ }
+
+ } // namespace nba::core
+\ No newline at end of file
+diff --git a/src/nba/src/bus/timing.cpp b/src/nba/src/bus/timing.cpp
+index ecdf105f8..c1e92ae6a 100644
+--- a/src/nba/src/bus/timing.cpp
++++ b/src/nba/src/bus/timing.cpp
+@@ -11,6 +11,8 @@
+ namespace nba::core {
+
+ void Bus::Idle() {
++ if(hw.dma.IsRunning()) hw.dma.Run();
++
+ Step(1);
+ }
+
+@@ -85,15 +87,6 @@ void Bus::StopPrefetch() {
+ }
+
+ void Bus::Step(int cycles) {
+- dma.openbus = false;
+-
+- if (hw.dma.IsRunning() && !dma.active) {
+- dma.active = true;
+- hw.dma.Run();
+- dma.active = false;
+- dma.openbus = true;
+- }
+-
+ scheduler.AddCycles(cycles);
+
+ if (prefetch.active) {
+diff --git a/src/nba/src/core.cpp b/src/nba/src/core.cpp
+index 3749778cb..6d0257544 100644
+--- a/src/nba/src/core.cpp
++++ b/src/nba/src/core.cpp
+@@ -81,7 +81,7 @@ void Core::Run(int cycles) {
+
+ while (scheduler.GetTimestampNow() < limit) {
+ if (bus.hw.haltcnt == HaltControl::Halt && irq.HasServableIRQ()) {
+- bus.Idle();
++ bus.Step(1);
+ bus.hw.haltcnt = HaltControl::Run;
+ }
+
+@@ -96,6 +96,8 @@ void Core::Run(int cycles) {
+ }
+ cpu.Run();
+ } else {
++ if(dma.IsRunning()) dma.Run();
++
+ bus.Step(scheduler.GetRemainingCycleCount());
+ }
+ }
+diff --git a/src/nba/src/hw/dma/dma.cpp b/src/nba/src/hw/dma/dma.cpp
+index 8bb07a3c7..db5bb4b72 100644
+--- a/src/nba/src/hw/dma/dma.cpp
++++ b/src/nba/src/hw/dma/dma.cpp
+@@ -151,13 +151,13 @@ bool DMA::HasVideoTransferDMA() {
+ }
+
+ void DMA::Run() {
+- bus.Idle();
++ bus.Step(1);
+
+ do {
+ RunChannel();
+ } while (IsRunning());
+
+- bus.Idle();
++ bus.Step(1);
+ }
+
+ void DMA::RunChannel() {
+@@ -186,15 +186,15 @@ void DMA::RunChannel() {
+ auto src_addr = channel.latch.src_addr;
+ auto dst_addr = channel.latch.dst_addr;
+
+- auto access_src = Bus::Access::Sequential;
+- auto access_dst = Bus::Access::Sequential;
++ auto access_src = Bus::Access::Sequential | Bus::Access::Dma;
++ auto access_dst = Bus::Access::Sequential | Bus::Access::Dma;
+
+ if (!did_access_rom) {
+ if (src_addr >= 0x08000000) {
+- access_src = Bus::Access::Nonsequential;
++ access_src = Bus::Access::Nonsequential | Bus::Access::Dma;
+ did_access_rom = true;
+ } else if (dst_addr >= 0x08000000) {
+- access_dst = Bus::Access::Nonsequential;
++ access_dst = Bus::Access::Nonsequential | Bus::Access::Dma;
+ did_access_rom = true;
+ }
+ }
+@@ -212,7 +212,7 @@ void DMA::RunChannel() {
+ } else {
+ value = channel.latch.bus;
+ }
+- bus.Idle();
++ bus.Step(1);
+ }
+
+ bus.WriteHalf(dst_addr, value, access_dst);
+@@ -221,7 +221,7 @@ void DMA::RunChannel() {
+ channel.latch.bus = bus.ReadWord(src_addr, access_src);
+ latch = channel.latch.bus;
+ } else {
+- bus.Idle();
++ bus.Step(1);
+ }
+
+ bus.WriteWord(dst_addr, channel.latch.bus, access_dst);
diff --git a/packages/emulators/standalone/rpcs3-sa/package.mk b/packages/emulators/standalone/rpcs3-sa/package.mk
index d7bd980057..a66eadd5d2 100644
--- a/packages/emulators/standalone/rpcs3-sa/package.mk
+++ b/packages/emulators/standalone/rpcs3-sa/package.mk
@@ -16,6 +16,7 @@ PKG_GIT_CLONE_BRANCH="master"
PKG_GIT_CLONE_SINGLE="yes"
pre_configure_host() {
+ sed -i '/include /a #include ' ${PKG_BUILD}/llvm/include/llvm/Support/Signals.h
# path changes in future commits.
# PKG_CMAKE_SCRIPT="${PKG_BUILD}/3rdparty/llvm/llvm/llvm/CMakeLists.txt"
PKG_CMAKE_SCRIPT="${PKG_BUILD}/llvm/CMakeLists.txt"
@@ -33,6 +34,7 @@ pre_configure_host() {
}
pre_configure_target() {
+ sed -i '/include /a #include ' ${PKG_BUILD}/llvm/include/llvm/Support/Signals.h
PKG_CMAKE_OPTS_TARGET=(-DUSE_NATIVE_INSTRUCTIONS=OFF \
-DBUILD_LLVM_SUBMODULE=ON \
-DCMAKE_C_FLAGS="${CFLAGS}" \
diff --git a/packages/emulators/standalone/yuzu-sa/package.mk b/packages/emulators/standalone/yuzu-sa/package.mk
index 3028046dc1..60a1bf0ce6 100644
--- a/packages/emulators/standalone/yuzu-sa/package.mk
+++ b/packages/emulators/standalone/yuzu-sa/package.mk
@@ -2,7 +2,7 @@
# Copyright (C) 2022-present JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="yuzu-sa"
-PKG_VERSION="b8c50276869aa98bc3cf2622a18c08cf1fb66315"
+PKG_VERSION="05e3db3ac9edbff0e4885ef8b42d3a2427c9f027"
PKG_ARCH="x86_64"
PKG_LICENSE="GPLv3"
PKG_SITE="https://github.com/yuzu-emu/yuzu"
diff --git a/packages/graphics/SDL/SDL_net/package.mk b/packages/graphics/SDL/SDL_net/package.mk
index 95cae44a25..35172e95df 100644
--- a/packages/graphics/SDL/SDL_net/package.mk
+++ b/packages/graphics/SDL/SDL_net/package.mk
@@ -18,11 +18,10 @@
PKG_NAME="SDL_net"
PKG_VERSION="1.2.8"
-PKG_SHA256="5f4a7a8bb884f793c278ac3f3713be41980c5eedccecff0260411347714facb4"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://www.libsdl.org/"
-PKG_URL="https://www.libsdl.org/projects/SDL_net/release/${PKG_NAME}-${PKG_VERSION}.tar.gz"
+PKG_URL="https://github.com/libsdl-org/${PKG_NAME}/archive/refs/tags/release-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain yasm:host alsa-lib systemd dbus SDL SDL_net:host"
PKG_DEPENDS_HOST="SDL:host"
PKG_SECTION="multimedia"
diff --git a/packages/graphics/glfw/package.mk b/packages/graphics/glfw/package.mk
index 6b5d353795..d3a4a39135 100644
--- a/packages/graphics/glfw/package.mk
+++ b/packages/graphics/glfw/package.mk
@@ -2,7 +2,7 @@
# Copyright (C) 2022-present BrooksyTech (https://github.com/brooksytech)
PKG_NAME="glfw"
-PKG_VERSION="3eaf125"
+PKG_VERSION="e2c9264"
PKG_ARCH="any"
PKG_LICENSE="zlib"
PKG_DEPENDS_TARGET="toolchain expat libdrm libxkbcommon libXrandr libXinerama libXcursor libXi Mako:host "
diff --git a/packages/graphics/imagemagick/package.mk b/packages/graphics/imagemagick/package.mk
index 85ac4d238a..e919f545c2 100644
--- a/packages/graphics/imagemagick/package.mk
+++ b/packages/graphics/imagemagick/package.mk
@@ -7,23 +7,29 @@ PKG_VERSION="f65eba252e3aa387bd99297a750a2ee250664f8c"
PKG_LICENSE="http://www.imagemagick.org/script/license.php"
PKG_SITE="https://github.com/ImageMagick/ImageMagick"
PKG_URL="${PKG_SITE}.git"
-PKG_DEPENDS_TARGET="toolchain libpng libjpeg-turbo fontconfig libraw lcms2 libtool libxml2 libzip"
+PKG_DEPENDS_TARGET="toolchain libpng libjpeg-turbo fontconfig libraw lcms2 libtool libxml2 libzip libwebp"
PKG_LONGDESC="Software suite to create, edit, compose, or convert bitmap images"
-PKG_CONFIGURE_OPTS_TARGET="--disable-openmp \
- --enable-static \
- --disable-shared \
- --with-pango=no \
- --with-utilities=yes \
- --with-x=no"
-
if [ "${DISPLAYSERVER}" = "wl" ]; then
- PKG_DEPENDS_TARGET+=" libXext pango"
- PKG_CONFIGURE_OPTS_TARGET+=" --with-x=yes"
-else
- PKG_CONFIGURE_OPTS_TARGET+=" --with-x=no"
+ PKG_DEPENDS_TARGET+=" libXext pango"
fi
+pre_configure_target() {
+ PKG_CONFIGURE_OPTS_TARGET="--disable-openmp \
+ --disable-static \
+ --enable-shared \
+ --with-pango=no \
+ --with-utilities=yes \
+ --with-x=no"
+
+ if [ "${DISPLAYSERVER}" = "wl" ]; then
+ PKG_CONFIGURE_OPTS_TARGET+=" --with-x=yes"
+ else
+ PKG_CONFIGURE_OPTS_TARGET+=" --with-x=no"
+ fi
+ export LDFLAGS+=" -lsharpyuv -lwebp"
+}
+
makeinstall_target() {
make install DESTDIR=${INSTALL} ${PKG_MAKEINSTALL_OPTS_TARGET}
rm ${INSTALL}/usr/bin/*config
diff --git a/packages/graphics/libwebp/package.mk b/packages/graphics/libwebp/package.mk
index aa51741960..d745cc933d 100644
--- a/packages/graphics/libwebp/package.mk
+++ b/packages/graphics/libwebp/package.mk
@@ -2,7 +2,7 @@
# Copyright (C) 2023-present JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="libwebp"
-PKG_VERSION="89c5b917463c07bfb5b6390b81d258c49d5fe8c6"
+PKG_VERSION="e78e924f84ddcd41fc5d55583bc32f4ddc4100a3"
PKG_LICENSE="BSD"
PKG_SITE="https://github.com/webmproject/libwebp"
PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"
diff --git a/packages/graphics/mesa/package.mk b/packages/graphics/mesa/package.mk
index 80df789ee6..af8071bbff 100644
--- a/packages/graphics/mesa/package.mk
+++ b/packages/graphics/mesa/package.mk
@@ -21,7 +21,7 @@ case ${DEVICE} in
PKG_URL="https://gitlab.freedesktop.org/mesa/mesa/-/archive/mesa-${PKG_VERSION}/mesa-mesa-${PKG_VERSION}.tar.gz"
;;
*)
- PKG_VERSION="23.3.1"
+ PKG_VERSION="23.3.2"
PKG_SITE="http://www.mesa3d.org/"
PKG_URL="https://gitlab.freedesktop.org/mesa/mesa/-/archive/mesa-${PKG_VERSION}/mesa-mesa-${PKG_VERSION}.tar.gz"
;;
@@ -108,11 +108,6 @@ else
PKG_MESON_OPTS_TARGET+=" -Dvulkan-drivers="
fi
-pre_configure_target() {
- TARGET_CFLAGS=$(echo ${TARGET_CFLAGS} | sed -e "s|-Ofast|-O3|")
- TARGET_CXXFLAGS=$(echo ${TARGET_CXXFLAGS} | sed -e "s|-Ofast|-O3|")
-}
-
post_makeinstall_target() {
case ${DEVICE} in
S922X)
diff --git a/packages/graphics/vulkan/volk/package.mk b/packages/graphics/vulkan/volk/package.mk
new file mode 100644
index 0000000000..b0e89f1b40
--- /dev/null
+++ b/packages/graphics/vulkan/volk/package.mk
@@ -0,0 +1,12 @@
+# SPDX-License-Identifier: GPL-2.0-only
+# Copyright (C) 2023-present Team LibreELEC (https://libreelec.tv)
+
+PKG_NAME="volk"
+PKG_VERSION="1.3.270"
+PKG_LICENSE="MIT"
+PKG_SITE="https://github.com/zeux/volk"
+PKG_URL="https://github.com/zeux/volk/archive/${PKG_VERSION}.tar.gz"
+PKG_DEPENDS_TARGET="toolchain vulkan-headers"
+PKG_LONGDESC="Meta loader for Vulkan API"
+
+PKG_CMAKE_OPTS_TARGET="-DVOLK_INSTALL=on"
diff --git a/packages/graphics/vulkan/vulkan-headers/package.mk b/packages/graphics/vulkan/vulkan-headers/package.mk
index 259df36ad0..7d75e1defc 100755
--- a/packages/graphics/vulkan/vulkan-headers/package.mk
+++ b/packages/graphics/vulkan/vulkan-headers/package.mk
@@ -3,7 +3,7 @@
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="vulkan-headers"
-PKG_VERSION="1.3.270"
+PKG_VERSION="1.3.274"
PKG_LICENSE="Apache-2.0"
PKG_SITE="https://github.com/KhronosGroup/Vulkan-Headers"
PKG_URL="https://github.com/KhronosGroup/Vulkan-Headers/archive/v${PKG_VERSION}.tar.gz"
diff --git a/packages/graphics/vulkan/vulkan-loader/package.mk b/packages/graphics/vulkan/vulkan-loader/package.mk
index 8fc2362314..fb034aa94c 100755
--- a/packages/graphics/vulkan/vulkan-loader/package.mk
+++ b/packages/graphics/vulkan/vulkan-loader/package.mk
@@ -3,7 +3,7 @@
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="vulkan-loader"
-PKG_VERSION="1.3.270"
+PKG_VERSION="1.3.274"
PKG_LICENSE="Apache-2.0"
PKG_SITE="https://github.com/KhronosGroup/Vulkan-Loader"
PKG_URL="https://github.com/KhronosGroup/Vulkan-Loader/archive/v${PKG_VERSION}.tar.gz"
diff --git a/packages/graphics/vulkan/vulkan-tools/package.mk b/packages/graphics/vulkan/vulkan-tools/package.mk
index b3819d1fca..29cbb8758b 100644
--- a/packages/graphics/vulkan/vulkan-tools/package.mk
+++ b/packages/graphics/vulkan/vulkan-tools/package.mk
@@ -3,11 +3,11 @@
# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="vulkan-tools"
-PKG_VERSION="1.3.270"
+PKG_VERSION="1.3.274"
PKG_LICENSE="Apache-2.0"
PKG_SITE="https://github.com/KhronosGroup/Vulkan-Tools"
PKG_URL="https://github.com/KhronosGroup/Vulkan-tools/archive/v${PKG_VERSION}.tar.gz"
-PKG_DEPENDS_TARGET="toolchain vulkan-loader glslang:host Python3:host"
+PKG_DEPENDS_TARGET="toolchain vulkan-loader glslang:host Python3:host volk"
PKG_LONGDESC="This project provides Khronos official Vulkan Tools and Utilities."
configure_package() {
diff --git a/packages/graphics/wxwidgets/package.mk b/packages/graphics/wxwidgets/package.mk
index 2c2941a4d3..a71e722865 100644
--- a/packages/graphics/wxwidgets/package.mk
+++ b/packages/graphics/wxwidgets/package.mk
@@ -2,11 +2,12 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="wxwidgets"
-PKG_VERSION="299b51d493da28f919029c75c231e11114f1a420"
+PKG_VERSION="a812fff"
+#PKG_VERSION="c372724b3448de02a9135835f99f15a26e35f979"
PKG_LICENSE="wxWindows Library Licence"
PKG_SITE="https://github.com/wxWidgets/wxWidgets"
PKG_URL="${PKG_SITE}.git"
-PKG_GIT_CLONE_BRANCH="3.2"
+PKG_GIT_CLONE_BRANCH="3.2.2-hotfix"
PKG_DEPENDS_TARGET="toolchain zlib libpng libjpeg-turbo gdk-pixbuf gtk3 libaio"
PKG_LONGDESC="wxWidgets is a free and open source cross-platform C++ framework for writing advanced GUI applications using native controls."
PKG_BUILD_FLAGS="+pic"
diff --git a/packages/hardware/quirks/devices/Anbernic RG552/sleep.d/pre/002-freq b/packages/hardware/quirks/devices/Anbernic RG552/sleep.d/pre/002-freq
index 9e66aefa29..64d15b20ed 100644
--- a/packages/hardware/quirks/devices/Anbernic RG552/sleep.d/pre/002-freq
+++ b/packages/hardware/quirks/devices/Anbernic RG552/sleep.d/pre/002-freq
@@ -7,8 +7,8 @@
. /etc/profile
### Get the current cpu and gpu governor, save for when the device wakes from sleep.
-CUR_CPU_FREQ="$(cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor)"
-CUR_GPU_FREQ="$(cat /sys/devices/platform/ff9a0000.gpu/devfreq/ff9a0000.gpu/governor)"
+CUR_CPU_FREQ="$(cat ${CPU_FREQ}/scaling_governor)"
+CUR_GPU_FREQ="$(cat ${GPU_FREQ}/governor)"
set_setting sleep.cpugovernor "${CUR_CPU_FREQ}"
set_setting sleep.gpugovernor "${CUR_GPU_FREQ}"
diff --git a/packages/hardware/quirks/platforms/RK3326/sleep.d/pre/002-freq b/packages/hardware/quirks/platforms/RK3326/sleep.d/pre/002-freq
index 9fcc29bd94..4fbe8c64f0 100644
--- a/packages/hardware/quirks/platforms/RK3326/sleep.d/pre/002-freq
+++ b/packages/hardware/quirks/platforms/RK3326/sleep.d/pre/002-freq
@@ -7,8 +7,8 @@
. /etc/profile
### Get the current cpu and gpu governor, save for when the device wakes from sleep.
-CUR_CPU_FREQ="$(cat /sys/devices/system/cpu/cpufreq/policy0/scaling_governor)"
-CUR_GPU_FREQ="$(cat /sys/devices/platform/ff400000.gpu/devfreq/ff400000.gpu/governor)"
+CUR_CPU_FREQ="$(cat ${CPU_FREQ}/scaling_governor)"
+CUR_GPU_FREQ="$(cat ${GPU_FREQ}/governor)"
set_setting sleep.cpugovernor "${CUR_CPU_FREQ}"
set_setting sleep.gpugovernor "${CUR_GPU_FREQ}"
diff --git a/packages/jelos/config/system/configs/system.cfg b/packages/jelos/config/system/configs/system.cfg
index 2ce82e2238..33852510c4 100644
--- a/packages/jelos/config/system/configs/system.cfg
+++ b/packages/jelos/config/system/configs/system.cfg
@@ -119,9 +119,9 @@ n64.show_fps=0
naomi.integerscale=0
naomi.ratio=4/3
neocd.integerscale=0
-neocd.ratio=4/3
+neocd.ratio=core
neogeo.integerscale=0
-neogeo.ratio=4/3
+neogeo.ratio=core
nesh.integerscale=0
nesh.ratio=4/3
nes.integerscale=0
@@ -156,6 +156,7 @@ segacd.ratio=4/3
sfc.integerscale=0
sfc.ratio=4/3
sg-1000.integerscale=0
+simplehttp.enabled=0
snesh.integerscale=0
snesh.ratio=4/3
snes.integerscale=0
diff --git a/packages/jelos/profile.d/001-functions b/packages/jelos/profile.d/001-functions
index eb28b087a8..19125c55e2 100644
--- a/packages/jelos/profile.d/001-functions
+++ b/packages/jelos/profile.d/001-functions
@@ -30,7 +30,7 @@ function get_setting() {
if [ -n "${3}" ]
then
### Test to see if we have a game setting.
- VAR="$2\[\"$(echo ${3} | sed 's/\W/\\&/g')\"]\.$1"
+ VAR="$2\[\"$(echo ${3} | sed -E "s~'~\\\x27~g"';s~[()&]~\\&~g')\"\]\.$1"
OUTPUT=$(awk 'BEGIN {FS="="} /^'"${VAR}"'/ {print $NF}' ${J_CONF})
if [ ! -z "${OUTPUT}" ]
then
diff --git a/packages/jelos/sources/post-update b/packages/jelos/sources/post-update
index 23ff6d5188..30aa9ccc5a 100644
--- a/packages/jelos/sources/post-update
+++ b/packages/jelos/sources/post-update
@@ -13,11 +13,13 @@ LOG="/var/log/boot.log"
################################################################################
echo "Rebuild library cache..." >>${LOG}
+tocon "Rebuilding library cache..."
### Rebuild the library cache
rm -f /storage/.cache/ld.so.cache
ldconfig -X
echo "Sync configuration files..." >>${LOG}
+tocon "Re-sync configuration files..."
### Sync configurations
if [ -d "/storage/.config/system/configs" ]
then
@@ -41,6 +43,7 @@ then
fi
echo "Sync modules..." >>${LOG}
+tocon "Update tool modules..."
rsync -a /usr/config/modules/* /storage/.config/modules/
cp -f /usr/config/retroarch/retroarch-core-options.cfg /storage/.config/retroarch/retroarch-core-options.cfg
@@ -48,6 +51,7 @@ cp -f /usr/config/retroarch/retroarch-core-options.cfg /storage/.config/retroarc
echo "Apply dev keys if available..." >>${LOG}
if [ -e /usr/config/ssh/authorized_keys ]
then
+ tocon "Update developer keys..."
cp /usr/config/ssh/authorized_keys /storage/.ssh
fi
@@ -57,6 +61,7 @@ rsync --ignore-existing /usr/config/rsync-rules.conf /storage/.config/
rsync --ignore-existing /usr/config/rsync.conf /storage/.config/
### Sync locale data
+tocon "Re-sync locale data..."
rsync -a --delete /usr/config/locale/* /storage/.config/locale/ >>/var/log/configure.log 2>&1
rm -rf /storage/.config/emulationstation/locale >>/var/log/configure.log 2>&1 ||:
ln -sf /usr/share/locale /storage/.config/emulationstation/locale >>/var/log/configure.log 2>&1 ||:
@@ -64,12 +69,6 @@ ln -sf /usr/share/locale /storage/.config/emulationstation/locale >>/var/log/con
### Add items below this line that are safe to remove after a period of time.
################################################################################
-### 20231010 - Stop setting vram in ES settings.
-sed -i '/^.*/dev/null 2>&1 || cp /usr/config/hosts.conf /storage/.config/
@@ -84,6 +83,7 @@ if [ "${GAMECOUNT}" -gt 20 ] && \
[ ! -e "/storage/.migrated_games" ]
then
echo "Migrating games to overlayfs" >>${LOG}
+ tocon "Migrate games to new storage model..."
if [ -d "/storage/games-internal" ]
then
echo "Backing up games-internal" >>${LOG}
@@ -105,6 +105,7 @@ then
then
mkdir -p "${GAMES}/roms" 2>/dev/null
fi
+ tocon "Migrate games to new storage model..."
mv "${GAMES}"/* "${GAMES}/roms/"
done
touch /storage/.migrated_games2
@@ -125,7 +126,7 @@ cp -f /usr/config/smb.conf /storage/.config
### 20231202 - Remove stale profile bits if they exist.
for FILE in 001-deviceconfig 99-mixer
do
- rm -rf ${FILE} 2>/dev/null
+ rm -f /storage/.config/profile.d/${FILE} 2>/dev/null
done
### 20231203 - Disable merged storage by default.
diff --git a/packages/jelos/sources/scripts/runemu.sh b/packages/jelos/sources/scripts/runemu.sh
index cfb776f0ea..103a7580b5 100755
--- a/packages/jelos/sources/scripts/runemu.sh
+++ b/packages/jelos/sources/scripts/runemu.sh
@@ -1,5 +1,4 @@
#!/bin/bash
-
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2019-present Shanti Gilbert (https://github.com/shantigilbert)
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
@@ -8,117 +7,316 @@
. /etc/profile
. /etc/os-release
+### Switch to performance mode early to speed up configuration and reduce time it takes to get into games.
+performance
+
# Command line schema
# $1 = Game/Port
# $2 = Platform
# $3 = Core
# $4 = Emulator
-### Define the variables used throughout the script
-BTENABLED=$(get_setting bluetooth.enabled)
-CFG="/storage/.emulationstation/es_settings.cfg"
-VERBOSE=false
-LOGSDIR="/var/log"
-LOGFILE="exec.log"
-TBASH="/usr/bin/bash"
-RATMPCONF="/storage/.config/retroarch/retroarch.cfg"
-RAAPPENDCONF="/tmp/.retroarch.cfg"
-NETPLAY="No"
-SETSETTINGS_TMP="/tmp/shader"
-OUTPUT_LOG="${LOGSDIR}/${LOGFILE}"
-### Do not change the variables below as it may break things.
-MYNAME=$(basename "$0")
-
-### Enable logging
-if [ "$(get_es_setting string LogLevel)" == "minimal" ]; then
- LOG=false
-else
- LOG=true
- VERBOSE=true
-fi
-
-arguments="$@"
-PLATFORM="${arguments##*-P}" # read from -P onwards
+ARGUMENTS="$@"
+PLATFORM="${ARGUMENTS##*-P}" # read from -P onwards
PLATFORM="${PLATFORM%% *}" # until a space is found
-CORE="${arguments##*--core=}" # read from --core= onwards
+CORE="${ARGUMENTS##*--core=}" # read from --core= onwards
CORE="${CORE%% *}" # until a space is found
-EMULATOR="${arguments##*--emulator=}" # read from --emulator= onwards
+EMULATOR="${ARGUMENTS##*--emulator=}" # read from --emulator= onwards
EMULATOR="${EMULATOR%% *}" # until a space is found
ROMNAME="$1"
BASEROMNAME=${ROMNAME##*/}
GAMEFOLDER="${ROMNAME//${BASEROMNAME}}"
-### Use performance mode to prepare to start the emulator.
-performance
+### Define the variables used throughout the script
+BLUETOOTH_STATE=$(get_setting bluetooth.enabled)
+ES_CONFIG="/storage/.emulationstation/es_settings.cfg"
+VERBOSE=false
+LOG_DIRECTORY="/var/log"
+LOG_FILE="exec.log"
+RUN_SHELL="/usr/bin/bash"
+RETROARCH_TEMP_CONFIG="/storage/.config/retroarch/retroarch.cfg"
+RETROARCH_APPEND_CONFIG="/tmp/.retroarch.cfg"
+NETWORK_PLAY="No"
+SET_SETTINGS_TMP="/tmp/shader"
+OUTPUT_LOG="${LOG_DIRECTORY}/${LOG_FILE}"
+SCRIPT_NAME=$(basename "$0")
-### Determine if we're running a Libretro core and append the libretro suffix
-if [[ $EMULATOR = "retroarch" ]]; then
- EMU="${CORE}_libretro"
- RETROARCH="yes"
-elif [[ $EMULATOR = "mednafen" ]]; then
- EMU="mednafen"
-else
- EMU="${CORE}"
-fi
+### Function Library
+function log() {
+ if [ ${LOG} == true ]
+ then
+ if [[ ! -d "$LOG_DIRECTORY" ]]
+ then
+ mkdir -p "$LOG_DIRECTORY"
+ fi
+ echo "${SCRIPT_NAME}: $*" 2>&1 | tee -a ${LOG_DIRECTORY}/${LOG_FILE}
+ else
+ echo "${SCRIPT_NAME}: $*"
+ fi
+}
-# freej2me needs the JDK to be downloaded on the first run
-if [[ ${EMU} == "freej2me_libretro" ]]; then
- /usr/bin/freej2me.sh
- JAVA_HOME='/storage/jdk'
- export JAVA_HOME
- PATH="$JAVA_HOME/bin:$PATH"
- export PATH
-fi
+function loginit() {
+ if [ ${LOG} == true ]
+ then
+ if [ -e ${LOG_DIRECTORY}/${LOG_FILE} ]
+ then
+ rm -f ${LOG_DIRECTORY}/${LOG_FILE}
+ fi
+ cat <${LOG_DIRECTORY}/${LOG_FILE}
+Emulation Run Log - Started at $(date)
-# easyrpg needs runtime files to be downloaded on the first run
-if [[ ${EMU} == "easyrpg_libretro" ]]; then
- /usr/bin/easyrpg.sh
-fi
+ARG1: $1
+ARG2: $2
+ARG3: $3
+ARG4: $4
+ARGS: $*
+EMULATOR: ${EMULATOR}
+PLATFORM: ${PLATFORM}
+CORE: ${CORE}
+ROM NAME: ${ROMNAME}
+BASE ROM NAME: ${ROMNAME##*/}
+USING CONFIG: ${RETROARCH_TEMP_CONFIG}
+USING APPENDCONFIG : ${RETROARCH_APPEND_CONFIG}
+
+EOF
+ else
+ log $0 "Emulation Run Log - Started at $(date)"
+ fi
+}
+
+function quit() {
+ ${VERBOSE} && log $0 "Cleaning up and exiting"
+ bluetooth enable
+ jslisten set "emulationstation"
+ clear_screen
+ DEVICE_CPU_GOVERNOR=$(get_setting system.cpugovernor)
+ ${DEVICE_CPU_GOVERNOR}
+ exit $1
+}
+
+function clear_screen() {
+ ${VERBOSE} && log $0 "Clearing screen"
+ clear
+}
+
+function bluetooth() {
+ if [ "$1" == "disable" ]
+ then
+ ${VERBOSE} && log $0 "Disabling BT"
+ if [[ "${BLUETOOTH_STATE}" == "1" ]]
+ then
+ NPID=$(pgrep -f batocera-bluetooth-agent)
+ if [[ ! -z "$NPID" ]]; then
+ kill "$NPID"
+ fi
+ fi
+ elif [ "$1" == "enable" ]
+ then
+ ${VERBOSE} && log $0 "Enabling BT"
+ if [[ "${BLUETOOTH_STATE}" == "1" ]]
+ then
+ systemd-run batocera-bluetooth-agent
+ fi
+ fi
+}
-# Make sure netplay isn't defined before we start our tests/configuration.
-del_setting netplay.mode
+### Enable logging
+case $(get_setting system.loglevel) in
+ off|none)
+ LOG=false
+ ;;
+ verbose)
+ LOG=true
+ VERBOSE=true
+ ;;
+ *)
+ LOG=true
+ ;;
+esac
-# check if we started as host for a game
-if [[ "$arguments" == *"--host"* ]]; then
- NETPLAY="${arguments##*--host}" # read from --host onwards
- NETPLAY="${NETPLAY%%--nick*}" # until --nick is found
- NETPLAY="--host $NETPLAY --nick"
+### Prepare to load our emulator and game.
+loginit "$1" "$2" "$3" "$4"
+clear_screen
+bluetooth disable
+jslisten stop
+
+### Determine which emulator we're launching and make appropriate adjustments before launching.
+${VERBOSE} && log $0 "Configuring for ${EMULATOR}"
+case ${EMULATOR} in
+ mednafen)
+ jslisten set "-9 mednafen"
+ RUNTHIS='${RUN_SHELL} /usr/bin/start_mednafen.sh "${ROMNAME}" "${CORE}" "${PLATFORM}"'
+ ;;
+ retroarch)
+ # Make sure NETWORK_PLAY isn't defined before we start our tests/configuration.
+ del_setting netplay.mode
+
+ case ${ARGUMENTS} in
+ *"--host"*)
+ ${VERBOSE} && log $0 "Setup netplay host."
+ NETWORK_PLAY="${ARGUMENTS##*--host}" # read from --host onwards
+ NETWORK_PLAY="${NETWORK_PLAY%%--nick*}" # until --nick is found
+ NETWORK_PLAY="--host ${NETWORK_PLAY} --nick"
set_setting netplay.mode host
-fi
+ ;;
+ *"--connect"*)
+ ${VERBOSE} && log $0 "Setup netplay client."
+ NETWORK_PLAY="${ARGUMENTS##*--host}" # read from --host onwards
+ NETWORK_PLAY="${NETWORK_PLAY%%--nick*}" # until --nick is found
+ NETWORK_PLAY="--host ${NETWORK_PLAY} --nick"
+ set_setting netplay.mode host
+ ;;
+ *"--netplaymode spectator"*)
+ ${VERBOSE} && log $0 "Setup netplay spectator."
+ set_setting "netplay.mode" "spectator"
+ ;;
+ esac
+
+ ### Set jslisten to kill the appropriate retroarch
+ jslisten set "retroarch retroarch32"
+
+ ### Assume we're running 64bit Retroarch
+ RABIN="retroarch"
+
+ case ${HW_ARCH} in
+ aarch64)
+ if [[ "${CORE}" =~ pcsx_rearmed32 ]] || \
+ [[ "${CORE}" =~ gpsp ]] || \
+ [[ "${CORE}" =~ flycast32 ]] || \
+ [[ "${CORE}" =~ desmume ]]
+ then
+ ### Configure for 32bit Retroarch
+ ${VERBOSE} && log $0 "Configuring for 32bit cores."
+ export LIBRARY_PATH="/usr/lib32"
+ export LD_LIBRARY_PATH="${LIBRARY_PATH}"
+ export SPA_PLUGIN_DIR="${LIBRARY_PATH}/spa-0.2"
+ export PIPEWIRE_MODULE_DIR="${LIBRARY_PATH}/pipewire-0.3/"
+ export LIBGL_DRIVERS_PATH="${LIBRARY_PATH}/dri"
+ export RABIN="retroarch32"
+ fi
+ ;;
+ esac
+
+ RUNTHIS='${EMUPERF} /usr/bin/${RABIN} -L /tmp/cores/${CORE}_libretro.so --config ${RETROARCH_TEMP_CONFIG} --appendconfig ${RETROARCH_APPEND_CONFIG} "${ROMNAME}"'
+
+ CONTROLLERCONFIG="${ARGUMENTS#*--controllers=*}"
+
+ ### Configure our save state slot or autosave
+ CONTROLLERCONFIG="${CONTROLLERCONFIG%% --*}" # until a -- is found
+ SNAPSHOT=""
+ AUTOSAVE=""
+ case ${ARGUMENTS} in
+ *"-state_slot"*)
+ ${VERBOSE} && log $0 "Configuring save state slot."
+ CONTROLLERCONFIG="${CONTROLLERCONFIG%% -state_slot*}" # until -state is found
+ SNAPSHOT="${ARGUMENTS#*-state_slot *}" # -state_slot x
+ SNAPSHOT="${SNAPSHOT%% -*}"
+ ;;
+ *"-autosave"*)
+ ${VERBOSE} && log $0 "Configuring autosave."
+ CONTROLLERCONFIG="${CONTROLLERCONFIG%% -autosave*}" # until -autosave is found
+ AUTOSAVE="${ARGUMENTS#*-autosave *}" # -autosave x
+ AUTOSAVE="${AUTOSAVE%% -*}"
+ ;;
+ esac
+
+ ### Configure specific emulator requirements
+ case ${EMULATOR} in
+ freej2me*)
+ ${VERBOSE} && log $0 "Setup freej2me requirements."
+ /usr/bin/freej2me.sh
+ JAVA_HOME='/storage/jdk'
+ export JAVA_HOME
+ PATH="$JAVA_HOME/bin:$PATH"
+ export PATH
+ ;;
+ easyrpg*)
+ # easyrpg needs runtime files to be downloaded on the first run
+ ${VERBOSE} && log $0 "Setup easyrpg requirements."
+ /usr/bin/easyrpg.sh
+ ;;
+ esac
+
+ # Configure platform specific requirements
+ case ${PLATFORM} in
+ "atomiswave")
+ rm ${ROMNAME}.nvmem*
+ ;;
+ "scummvm")
+ GAMEDIR=$(cat "${ROMNAME}" | awk 'BEGIN {FS="\""}; {print $2}')
+ cd "${GAMEDIR}"
+ RUNTHIS='${RUN_SHELL} /usr/bin/start_scummvm.sh libretro .'
+ ;;
+ esac
+
+ ### Configure retroarch
+ if [ -e "${SET_SETTINGS_TMP}" ]
+ then
+ rm -f "${SET_SETTINGS_TMP}"
+ fi
+ ${VERBOSE} && log $0 "Execute setsettings (${PLATFORM} ${ROMNAME} ${CORE} --controllers=${CONTROLLERCONFIG} --autosave=${AUTOSAVE} --snapshot=${SNAPSHOT})"
+ (/usr/bin/setsettings.sh "${PLATFORM}" "${ROMNAME}" "${CORE}" --controllers="${CONTROLLERCONFIG}" --autosave="${AUTOSAVE}" --snapshot="${SNAPSHOT}" >${SET_SETTINGS_TMP})
-# check if we are trying to connect to a client on netplay
-if [[ "$arguments" == *"--connect"* ]]; then
- NETPLAY="${arguments##*--connect}" # read from --connect onwards
- NETPLAY="${NETPLAY%%--nick*}" # until --nick is found
- NETPLAY="--connect $NETPLAY --nick"
- set_setting netplay.mode client
-fi
+ ### If setsettings wrote data in the background, grab it and assign it to EXTRAOPTS
+ if [ -e "${SET_SETTINGS_TMP}" ]
+ then
+ EXTRAOPTS=$(cat ${SET_SETTINGS_TMP})
+ rm -f ${SET_SETTINGS_TMP}
+ ${VERBOSE} && log $0 "Extra Options: ${EXTRAOPTS}"
+ fi
-# check if we are trying to connect as spectator on netplay
-if [[ "$arguments" == *"--netplaymode spectator"* ]]; then
- set_setting "netplay.mode" "spectator"
-fi
+ if [[ ${EXTRAOPTS} != 0 ]]; then
+ RUNTHIS=$(echo ${RUNTHIS} | sed "s|--config|${EXTRAOPTS} --config|")
+ fi
+ ;;
+ *)
+ case ${PLATFORM} in
+ "setup")
+ RUNTHIS='${RUN_SHELL} "${ROMNAME}"'
+ ;;
+ "gamecube")
+ if [ "${CORE}" = "dolphin-sa-gc" ]; then
+ RUNTHIS='${RUN_SHELL} /usr/bin/start_dolphin_gc.sh "${ROMNAME}"'
+ elif [ "${CORE}" = "primehack" ]; then
+ RUNTHIS='${RUN_SHELL} /usr/bin/start_${CORE%-*}.sh "${ROMNAME}"'
+ fi
+ ;;
+ "wii")
+ if [ "${CORE}" = "dolphin-sa-wii" ]; then
+ RUNTHIS='${RUN_SHELL} /usr/bin/start_dolphin_wii.sh "${ROMNAME}"'
+ elif [ "${CORE}" = "primehack" ]; then
+ RUNTHIS='${RUN_SHELL} /usr/bin/start_${CORE%-*}.sh "${ROMNAME}"'
+ fi
+ ;;
+ "shell"|"ports")
+ RUNTHIS='${RUN_SHELL} "${ROMNAME}"'
+ ;;
+ *)
+ RUNTHIS='${RUN_SHELL} "start_${CORE%-*}.sh" "${ROMNAME}"'
+ ;;
+ esac
+ ;;
+esac
-### Offline all but the number of cores we need for this game if configured.
-NUMTHREADS=$(get_setting "threads" "${PLATFORM}" "${ROMNAME##*/}")
-if [ -n "${NUMTHREADS}" ] &&
- [ ! ${NUMTHREADS} = "default" ]
-then
- onlinethreads ${NUMTHREADS} 0
-fi
+### Execution time.
+clear_screen
+${VERBOSE} && log $0 "executing game: ${ROMNAME}"
+${VERBOSE} && log $0 "script to execute: ${RUNTHIS}"
### Set the cores to use
CORES=$(get_setting "cores" "${PLATFORM}" "${ROMNAME##*/}")
-if [ "${CORES}" = "little" ]
-then
- EMUPERF="${SLOW_CORES}"
-elif [ "${CORES}" = "big" ]
-then
- EMUPERF="${FAST_CORES}"
-else
- ### All..
- unset EMUPERF
-fi
+${VERBOSE} && log $0 "Configure big.little (${CORES})"
+case ${CORES} in
+ little)
+ EMUPERF="${SLOW_CORES}"
+ ;;
+ big)
+ EMUPERF="${FAST_CORES}"
+ ;;
+ *)
+ unset EMUPERF
+ ;;
+esac
### We need the original system cooling profile later so get it now!
COOLINGPROFILE=$(get_setting cooling.profile)
@@ -131,20 +329,25 @@ case ${CPU_VENDOR} in
OVERCLOCK=$(get_setting "overclock" "${PLATFORM}" "${ROMNAME##*/}")
if [ ! -z "${OVERCLOCK}" ]
then
+ ${VERBOSE} && log $0 "Set TDP to (${OVERCLOCK})"
/usr/bin/overclock ${OVERCLOCK}
fi
;;
esac
+### Apply energy performance preference
EPP=$(get_setting "power.epp" "${PLATFORM}" "${ROMNAME##*/}")
if [ ! -z ${EPP} ]
then
+ ${VERBOSE} && log $0 "Set EPP to (${EPP})"
/usr/bin/set_epp ${EPP}
fi
+### Configure GPU performance mode
GPUPERF=$(get_setting "gpuperf" "${PLATFORM}" "${ROMNAME##*/}")
if [ ! -z ${GPUPERF} ]
then
+ ${VERBOSE} && log $0 "Set GPU performance to (${GPUPERF})"
gpu_performance_level ${GPUPERF}
get_gpu_performance_level >/tmp/.gpu_performance_level
fi
@@ -155,235 +358,35 @@ then
GAMEFAN=$(get_setting "cooling.profile" "${PLATFORM}" "${ROMNAME##*/}")
if [ ! -z "${GAMEFAN}" ]
then
+ ${VERBOSE} && log $0 "Set fan profile to (${GAMEFAN})"
set_setting cooling.profile ${GAMEFAN}
systemctl restart fancontrol
fi
fi
-### Function Library
-
-function log() {
- if [ ${LOG} == true ]
- then
- if [[ ! -d "$LOGSDIR" ]]
- then
- mkdir -p "$LOGSDIR"
- fi
- echo "${MYNAME}: $*" 2>&1 | tee -a ${LOGSDIR}/${LOGFILE}
- else
- echo "${MYNAME}: $*"
- fi
-}
-
-function loginit() {
- if [ ${LOG} == true ]
- then
- if [ -e ${LOGSDIR}/${LOGFILE} ]
- then
- rm -f ${LOGSDIR}/${LOGFILE}
- fi
- cat <${LOGSDIR}/${LOGFILE}
-Emulation Run Log - Started at $(date)
-
-ARG1: $1
-ARG2: $2
-ARG3: $3
-ARG4: $4
-ARGS: $*
-PLATFORM: $PLATFORM
-ROM NAME: ${ROMNAME}
-BASE ROM NAME: ${ROMNAME##*/}
-USING CONFIG: ${RATMPCONF}
-USING APPENDCONFIG : ${RAAPPENDCONF}
-
-EOF
- else
- log $0 "Emulation Run Log - Started at $(date)"
- fi
-}
-
-function quit() {
- $VERBOSE && log $0 "Cleaning up and exiting"
- bluetooth enable
- jslisten set "emulationstation"
- clear_screen
- DEVICE_CPU_GOVERNOR=$(get_setting system.cpugovernor)
- ${DEVICE_CPU_GOVERNOR}
- exit $1
-}
-
-function clear_screen() {
- $VERBOSE && log $0 "Clearing screen"
- clear
-}
-
-function bluetooth() {
- if [ "$1" == "disable" ]
- then
- $VERBOSE && log $0 "Disabling BT"
- if [[ "$BTENABLED" == "1" ]]
- then
- NPID=$(pgrep -f batocera-bluetooth-agent)
- if [[ ! -z "$NPID" ]]; then
- kill "$NPID"
- fi
- fi
- elif [ "$1" == "enable" ]
- then
- $VERBOSE && log $0 "Enabling BT"
- if [[ "$BTENABLED" == "1" ]]
- then
- systemd-run batocera-bluetooth-agent
- fi
- fi
-}
-
-### Main Screen Turn On
-
-loginit "$1" "$2" "$3" "$4"
-clear_screen
-bluetooth disable
-jslisten stop
-
-### Per emulator/core configurations
-if [[ $EMULATOR = "mednafen" ]]; then
- jslisten set "-9 mednafen"
- RUNTHIS='${TBASH} /usr/bin/start_mednafen.sh "${ROMNAME}" "${CORE}" "${PLATFORM}"'
-
-elif [ -z ${RETROARCH} ]
-then
- $VERBOSE && log $0 "Configuring for a non-libretro emulator"
- case ${PLATFORM} in
- "setup")
- RUNTHIS='${TBASH} "${ROMNAME}"'
- ;;
- "gamecube")
- if [ "$EMU" = "dolphin-sa-gc" ]; then
- RUNTHIS='${TBASH} /usr/bin/start_dolphin_gc.sh "${ROMNAME}"'
- elif [ "$EMU" = "primehack" ]; then
- RUNTHIS='${TBASH} /usr/bin/start_${EMU%-*}.sh "${ROMNAME}"'
- fi
-
- ;;
- "wii")
- if [ "$EMU" = "dolphin-sa-wii" ]; then
- RUNTHIS='${TBASH} /usr/bin/start_dolphin_wii.sh "${ROMNAME}"'
- elif [ "$EMU" = "primehack" ]; then
- RUNTHIS='${TBASH} /usr/bin/start_${EMU%-*}.sh "${ROMNAME}"'
- fi
- ;;
- "shell"|"ports")
- RUNTHIS='${TBASH} "${ROMNAME}"'
- ;;
- *)
- RUNTHIS='${TBASH} "start_${EMU%-*}.sh" "${ROMNAME}"'
- esac
-else
- $VERBOSE && log $0 "Configuring for a libretro core"
-
- ### Set jslisten to kill the appropriate retroarch
- jslisten set "retroarch retroarch32"
-
- RABIN="retroarch"
- if [[ "${HW_ARCH}" =~ aarch64 ]]
- then
- ### Check if we need retroarch 32 bits or 64 bits
- if [[ "${CORE}" =~ pcsx_rearmed32 ]] || \
- [[ "${CORE}" =~ gpsp ]] || \
- [[ "${CORE}" =~ flycast32 ]] || \
- [[ "${CORE}" =~ desmume ]]
- then
- export LD_LIBRARY_PATH="/usr/lib32"
- export SPA_PLUGIN_DIR="/usr/lib32/spa-0.2"
- export PIPEWIRE_MODULE_DIR="/usr/lib32/pipewire-0.3/"
- export LIBGL_DRIVERS_PATH="/usr/lib32/dri"
- export RABIN="retroarch32"
- fi
- fi
-
- ### Set the performance mode for emulation
- PERFORMANCE_MODE=$(get_setting "cpugovernor" "${PLATFORM}" "${ROMNAME##*/}")
- ${PERFORMANCE_MODE}
-
- if [[ "${CORE}" =~ "custom" ]]
- then
- RUNTHIS='${EMUPERF} /usr/bin/${RABIN} -L /storage/.config/retroarch/cores/${EMU}.so --config ${RATMPCONF} --appendconfig ${RAAPPENDCONF} "${ROMNAME}"'
- else
- RUNTHIS='${EMUPERF} /usr/bin/${RABIN} -L /tmp/cores/${EMU}.so --config ${RATMPCONF} --appendconfig ${RAAPPENDCONF} "${ROMNAME}"'
- fi
- CONTROLLERCONFIG="${arguments#*--controllers=*}"
-
- if [[ "$arguments" == *"-state_slot"* ]]; then
- CONTROLLERCONFIG="${CONTROLLERCONFIG%% -state_slot*}" # until -state is found
- SNAPSHOT="${arguments#*-state_slot *}" # -state_slot x
- SNAPSHOT="${SNAPSHOT%% -*}"
- if [[ "$arguments" == *"-autosave"* ]]; then
- CONTROLLERCONFIG="${CONTROLLERCONFIG%% -autosave*}" # until -autosave is found
- AUTOSAVE="${arguments#*-autosave *}" # -autosave x
- AUTOSAVE="${AUTOSAVE%% -*}"
- else
- AUTOSAVE=""
- fi
- else
- CONTROLLERCONFIG="${CONTROLLERCONFIG%% --*}" # until a -- is found
- SNAPSHOT=""
- AUTOSAVE=""
- fi
-
-# CORE=${EMU%%_*}
-
- # Platform specific configurations
- case ${PLATFORM} in
- "atomiswave")
- rm ${ROMNAME}.nvmem*
- ;;
- "scummvm")
- GAMEDIR=$(cat "${ROMNAME}" | awk 'BEGIN {FS="\""}; {print $2}')
- cd "${GAMEDIR}"
- RUNTHIS='${TBASH} /usr/bin/start_scummvm.sh libretro .'
- ;;
- esac
-fi
-
-if [ -e "${SETSETTINGS_TMP}" ]
-then
- rm -f "${SETSETTINGS_TMP}"
-fi
-
-if [[ ${PLATFORM} == "ports" ]]; then
- (/usr/bin/setsettings.sh "${PLATFORM}" "${ROMNAME}" >${SETSETTINGS_TMP})
-else
- (/usr/bin/setsettings.sh "${PLATFORM}" "${ROMNAME}" "${CORE}" --controllers="${CONTROLLERCONFIG}" --autosave="${AUTOSAVE}" --snapshot="${SNAPSHOT}" >${SETSETTINGS_TMP})
-fi
-
-### If setsettings wrote data in the background, grab it and assign it to EXTRAOPTS
-if [ -e "${SETSETTINGS_TMP}" ]
+### Offline all but the number of threads we need for this game if configured.
+NUMTHREADS=$(get_setting "threads" "${PLATFORM}" "${ROMNAME##*/}")
+if [ -n "${NUMTHREADS}" ] &&
+ [ ! ${NUMTHREADS} = "default" ]
then
- EXTRAOPTS=$(cat ${SETSETTINGS_TMP})
- rm -f ${SETSETTINGS_TMP}
- $VERBOSE && log $0 "Extra Options: ${EXTRAOPTS}"
-fi
-
-if [[ ${EXTRAOPTS} != 0 ]]; then
- RUNTHIS=$(echo ${RUNTHIS} | sed "s|--config|${EXTRAOPTS} --config|")
+ ${VERBOSE} && log $0 "Configure active cores (${NUMTHREADS})"
+ onlinethreads ${NUMTHREADS} 0
fi
-clear_screen
-$VERBOSE && log $0 "executing game: ${ROMNAME}"
-$VERBOSE && log $0 "script to execute: ${RUNTHIS}"
-
### Set the performance mode for emulation
PERFORMANCE_MODE=$(get_setting "cpugovernor" "${PLATFORM}" "${ROMNAME##*/}")
+${VERBOSE} && log $0 "Set emulation performance mode to (${PERFORMANCE_MODE})"
${PERFORMANCE_MODE}
+
# If the rom is a shell script just execute it, useful for DOSBOX and ScummVM scan scripts
if [[ "${ROMNAME}" == *".sh" ]]; then
- $VERBOSE && log $0 "Executing shell script ${ROMNAME}"
- "${ROMNAME}" &>>${OUTPUT_LOG}
+ ${VERBOSE} && log $0 "Executing shell script ${ROMNAME}"
+ "${ROMNAME}" &>>${OUTPUT_LOG}
ret_error=$?
else
- $VERBOSE && log $0 "Executing $(eval echo ${RUNTHIS})"
- eval ${RUNTHIS} &>>${OUTPUT_LOG}
- ret_error=$?
+ ${VERBOSE} && log $0 "Executing $(eval echo ${RUNTHIS})"
+ eval ${RUNTHIS} &>>${OUTPUT_LOG}
+ ret_error=$?
fi
### Switch back to performance mode to clean up
@@ -393,45 +396,46 @@ clear_screen
### Reset the number of cores to use.
NUMTHREADS=$(get_setting "system.threads")
+${VERBOSE} && log $0 "Restore active threads (${NUMTHREADS})"
if [ -n "${NUMTHREADS}" ]
then
- onlinethreads ${NUMTHREADS} 0
+ onlinethreads ${NUMTHREADS} 0
else
- onlinethreads all 1
+ onlinethreads all 1
fi
-### Restore CPU TDP (AMD) or EPP (Intel)
-CPU_VENDOR=$(cpu_vendor)
-case ${CPU_VENDOR} in
- AuthenticAMD)
- ### Set the overclock mode
- OVERCLOCK=$(get_setting "system.overclock")
- if [ ! -z "${OVERCLOCK}" ]
- then
- /usr/bin/overclock ${OVERCLOCK}
- fi
- ;;
- GenuineIntel)
- EPP=$(get_setting "system.power.epp")
- if [ ! -z ${EPP} ]
- then
- /usr/bin/set_epp ${EPP}
- fi
- ;;
-esac
+### Restore system TDP
+OVERCLOCK=$(get_setting "system.overclock")
+if [ ! -z "${OVERCLOCK}" ]
+then
+ ${VERBOSE} && log $0 "Restore system TDP (${OVERCLOCK})"
+ /usr/bin/overclock ${OVERCLOCK}
+fi
+
+### Restore system EPP
+EPP=$(get_setting "system.power.epp")
+if [ ! -z ${EPP} ]
+then
+ ${VERBOSE} && log $0 "Restore system EPP (${EPP})"
+ /usr/bin/set_epp ${EPP}
+fi
### Restore cooling profile.
if [ "${DEVICE_HAS_FAN}" = "true" ]
then
+ ${VERBOSE} && log $0 "Restore system cooling profile (${COOLINGPROFILE})"
set_setting cooling.profile ${COOLINGPROFILE}
systemctl restart fancontrol
fi
+### Restore system GPU performance mode
GPUPERF=$(get_setting "system.gpuperf")
if [ ! -z ${GPUPERF} ]
then
+ ${VERBOSE} && log $0 "Restore system GPU performance mode (${GPUPERF})"
gpu_performance_level ${GPUPERF}
else
+ ${VERBOSE} && log $0 "Restore system GPU performance mode (auto)"
gpu_performance_level auto
fi
rm -f /tmp/.gpu_performance_level 2>/dev/null
@@ -448,11 +452,11 @@ then
fi
fi
-$VERBOSE && log $0 "Checking errors: ${ret_error} "
+${VERBOSE} && log $0 "Checking errors: ${ret_error} "
if [ "${ret_error}" == "0" ]
then
- quit 0
+ quit 0
else
- log $0 "exiting with $ret_error"
- quit 1
+ log $0 "exiting with ${ret_error}"
+ quit 1
fi
diff --git a/packages/jelos/sources/scripts/setrootpass b/packages/jelos/sources/scripts/setrootpass
index ce4120b1e6..9f063a3462 100755
--- a/packages/jelos/sources/scripts/setrootpass
+++ b/packages/jelos/sources/scripts/setrootpass
@@ -32,3 +32,13 @@ if [ "${SYNCSTATUS}" = "1" ] &&
then
systemctl restart syncthing >/dev/null 2>&1
fi
+
+# Restart simple-http-server if it is enabled
+SIMPLESTATUS=$(get_setting simplehttp.enabled)
+SIMPLEACTIVE=$(systemctl status simple-http-server | awk '/active/ {print $2}')
+if [ "${SIMPLESTATUS}" = "1" ] &&
+ [ "${SIMPLEACTIVE}" = "active" ]
+then
+ systemctl restart simple-http-server >/dev/null 2>&1
+fi
+
diff --git a/packages/jelos/sources/scripts/setsettings.sh b/packages/jelos/sources/scripts/setsettings.sh
index ac1e860242..e5b3501df9 100755
--- a/packages/jelos/sources/scripts/setsettings.sh
+++ b/packages/jelos/sources/scripts/setsettings.sh
@@ -32,8 +32,9 @@ CORE=${3,,}
#Autosave
AUTOSAVE="$@"
-AUTOSAVE="${AUTOSAVE#*--autosave=*}"
+AUTOSAVE="${AUTOSAVE#*-autosave *}"
AUTOSAVE="${AUTOSAVE% --*}"
+AUTOSAVE="${AUTOSAVE% --*}" # Fix later (first deletes --autosave, second deletes --snapshot).
#Snapshot
SNAPSHOT="$@"
@@ -757,12 +758,12 @@ function set_autosave() {
local AUTOSAVE_SETTING="$(game_setting autosave)"
case ${AUTOSAVE_SETTING} in
[1-3])
- SETAUTOSAVE=true
+ SETAUTOSAVE=true
;;
esac
;;
esac
-
+
add_setting "none" "savestate_directory" "${SNAPSHOTS}/${PLATFORM}"
if [ ! -d "${SNAPSHOTS}/${PLATFORM}" ]
then
diff --git a/packages/kernel/linux-drivers/RTL8188EU/package.mk b/packages/kernel/linux-drivers/RTL8188EU/package.mk
index 03db8309a4..ef2ef24869 100644
--- a/packages/kernel/linux-drivers/RTL8188EU/package.mk
+++ b/packages/kernel/linux-drivers/RTL8188EU/package.mk
@@ -3,7 +3,7 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="RTL8188EU"
-PKG_VERSION="f5d1c8df2e2d8b217ea0113bf2cf3e37df8cb716"
+PKG_VERSION="306f3e62cf7cddf8cee74f70f88a7a7b3af46f56"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/lwfinger/rtl8188eu"
PKG_URL="https://github.com/lwfinger/rtl8188eu/archive/${PKG_VERSION}.tar.gz"
diff --git a/packages/kernel/linux/package.mk b/packages/kernel/linux/package.mk
index db530d5b61..e0968313e7 100644
--- a/packages/kernel/linux/package.mk
+++ b/packages/kernel/linux/package.mk
@@ -4,7 +4,7 @@
PKG_NAME="linux"
PKG_LICENSE="GPL"
-PKG_VERSION="6.6.4"
+PKG_VERSION="6.6.8"
PKG_URL="https://www.kernel.org/pub/linux/kernel/v6.x/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_SITE="http://www.kernel.org"
PKG_DEPENDS_HOST="ccache:host rsync:host openssl:host rdfind:host"
diff --git a/packages/lang/Python3/package.mk b/packages/lang/Python3/package.mk
index 7c0ad59fc0..f1a7423422 100644
--- a/packages/lang/Python3/package.mk
+++ b/packages/lang/Python3/package.mk
@@ -1,10 +1,10 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
-# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="Python3"
# When changing PKG_VERSION remember to sync PKG_PYTHON_VERSION!
-PKG_VERSION="3.11.6"
+PKG_VERSION="3.11.7"
+PKG_SHA256="18e1aa7e66ff3a58423d59ed22815a6954e53342122c45df20c96877c062b9b7"
PKG_LICENSE="OSS"
PKG_SITE="https://www.python.org/"
PKG_URL="https://www.python.org/ftp/python/${PKG_VERSION}/${PKG_NAME::-1}-${PKG_VERSION}.tar.xz"
@@ -42,7 +42,7 @@ PKG_CONFIGURE_OPTS_HOST="ac_cv_prog_HAS_HG=/bin/false
--with-doc-strings
--with-system-ffi
--without-pymalloc
- --without-ensurepip
+ --with-ensurepip=no
"
PKG_CONFIGURE_OPTS_TARGET="ac_cv_prog_HAS_HG=/bin/false
@@ -79,11 +79,11 @@ PKG_CONFIGURE_OPTS_TARGET="ac_cv_prog_HAS_HG=/bin/false
--with-libmpdec=none
--with-doc-strings
--with-system-ffi
- --disable-static
- --enable-shared
--without-pymalloc
--without-ensurepip
--enable-ipv6
+ --disable-static
+ --enable-shared
--with-build-python=${TOOLCHAIN}/bin/python
"
@@ -91,6 +91,10 @@ pre_configure_host() {
export PYTHON_MODULES_INCLUDE="${HOST_INCDIR}"
export PYTHON_MODULES_LIB="${HOST_LIBDIR}"
export DISABLED_EXTENSIONS="readline _curses _curses_panel ${PKG_PY_DISABLED_MODULES}"
+ # control patch Python3-0300-generate-legacy-pyc-bytecode
+ # this needs to be set when building host based py file
+ # do not set this for py compiles being done for target use
+ export DONT_BUILD_LEGACY_PYC=1
}
post_make_host() {
diff --git a/packages/lang/Python3/patches/Python3-0300-generate-legacy-pyc-bytecode.patch b/packages/lang/Python3/patches/Python3-0300-generate-legacy-pyc-bytecode.patch
index b4cc4ba3a9..37c9e8d82c 100644
--- a/packages/lang/Python3/patches/Python3-0300-generate-legacy-pyc-bytecode.patch
+++ b/packages/lang/Python3/patches/Python3-0300-generate-legacy-pyc-bytecode.patch
@@ -19,18 +19,19 @@ generates legacy bytecode.
https://www.python.org/dev/peps/pep-3147/#case-4-legacy-pyc-files-and-source-less-imports
---
- Lib/py_compile.py | 4 ++++
- 1 file changed, 4 insertions(+)
+ Lib/py_compile.py | 5 +++++
+ 1 file changed, 5 insertions(+)
--- a/Lib/py_compile.py
+++ b/Lib/py_compile.py
-@@ -121,6 +121,10 @@ def compile(file, cfile=None, dfile=None
+@@ -121,6 +121,11 @@ def compile(file, cfile=None, dfile=None
the resulting file would be regular and thus not the same type of file as
it was previously.
"""
+
-+ if cfile:
-+ cfile = file + 'c'
++ if os.environ.get('DONT_BUILD_LEGACY_PYC') is None:
++ if cfile:
++ cfile = file + 'c'
+
if invalidation_mode is None:
invalidation_mode = _get_default_invalidation_mode()
diff --git a/packages/lang/gcc/package.mk b/packages/lang/gcc/package.mk
index 99f2370384..1c54751471 100644
--- a/packages/lang/gcc/package.mk
+++ b/packages/lang/gcc/package.mk
@@ -4,10 +4,10 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="gcc"
-PKG_VERSION="12.3.0"
+PKG_VERSION="13.2.0"
PKG_LICENSE="GPL-2.0-or-later"
PKG_SITE="https://gcc.gnu.org/"
-PKG_URL="https://ftpmirror.gnu.org/gcc/${PKG_NAME}-${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.xz"
+PKG_URL="https://ftp.gnu.org/gnu/gcc/${PKG_NAME}-${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_BOOTSTRAP="ccache:host autoconf:host binutils:host gmp:host mpfr:host mpc:host zstd:host"
PKG_DEPENDS_TARGET="toolchain"
PKG_DEPENDS_HOST="ccache:host autoconf:host binutils:host gmp:host mpfr:host mpc:host zstd:host glibc"
@@ -68,6 +68,7 @@ PKG_CONFIGURE_OPTS_BOOTSTRAP="${GCC_COMMON_CONFIGURE_OPTS} \
--disable-threads \
--without-headers \
--with-newlib \
+ --disable-werror \
${GCC_OPTS}"
PKG_CONFIGURE_OPTS_HOST="${GCC_COMMON_CONFIGURE_OPTS} \
diff --git a/packages/lang/llvm/package.mk b/packages/lang/llvm/package.mk
index 90191fd350..8aa09f03cf 100644
--- a/packages/lang/llvm/package.mk
+++ b/packages/lang/llvm/package.mk
@@ -3,7 +3,7 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="llvm"
-PKG_VERSION="16.0.6"
+PKG_VERSION="17.0.6"
PKG_LICENSE="Apache-2.0"
PKG_SITE="http://llvm.org/"
PKG_URL="https://github.com/llvm/llvm-project/releases/download/llvmorg-${PKG_VERSION}/llvm-project-${PKG_VERSION}.src.tar.xz"
diff --git a/packages/lang/nasm/package.mk b/packages/lang/nasm/package.mk
index d56279541e..2b3dba1e25 100644
--- a/packages/lang/nasm/package.mk
+++ b/packages/lang/nasm/package.mk
@@ -5,7 +5,6 @@
PKG_NAME="nasm"
PKG_VERSION="2.16.01"
PKG_SHA256="c77745f4802375efeee2ec5c0ad6b7f037ea9c87c92b149a9637ff099f162558"
-PKG_ARCH="x86_64"
PKG_LICENSE="BSD"
PKG_SITE="https://www.nasm.us/"
PKG_URL="https://www.nasm.us/pub/nasm/releasebuilds/${PKG_VERSION}/nasm-${PKG_VERSION}.tar.xz"
diff --git a/packages/multimedia/libvpx/package.mk b/packages/multimedia/libvpx/package.mk
index b467dc1c55..57c3ad419c 100644
--- a/packages/multimedia/libvpx/package.mk
+++ b/packages/multimedia/libvpx/package.mk
@@ -7,9 +7,41 @@ PKG_VERSION="df655cf4fb6c2a23b964544acd015cc715752830" # 1.13.1
PKG_LICENSE="BSD"
PKG_SITE="https://github.com/webmproject/libvpx"
PKG_URL="${PKG_SITE}.git"
+PKG_DEPENDS_HOST="toolchain nasm:host"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="WebM VP8/VP9 Codec"
+configure_host() {
+ HOST_ARCH=$(uname -m)
+ case ${HOST_ARCH} in
+ aarch64)
+ PKG_HOST_NAME_LIBVPX="arm64-linux-gcc"
+ ;;
+ arm)
+ PKG_HOST_NAME_LIBVPX="armv7-linux-gcc"
+ ;;
+ x86_64)
+ PKG_HOST_NAME_LIBVPX="x86_64-linux-gcc"
+ ;;
+ esac
+ ${PKG_CONFIGURE_SCRIPT} --prefix=${TOOLCHAIN} \
+ --extra-cflags="${CFLAGS}" \
+ --as=nasm \
+ --target=${PKG_HOST_NAME_LIBVPX} \
+ --disable-docs \
+ --disable-examples \
+ --disable-shared \
+ --disable-tools \
+ --disable-unit-tests \
+ --disable-vp8-decoder \
+ --disable-vp9-decoder \
+ --enable-ccache \
+ --enable-pic \
+ --enable-static \
+ --enable-vp8 \
+ --enable-vp9
+}
+
configure_target() {
case ${ARCH} in
diff --git a/packages/security/nettle/package.mk b/packages/security/nettle/package.mk
index 0e954d5987..6619cfef7e 100644
--- a/packages/security/nettle/package.mk
+++ b/packages/security/nettle/package.mk
@@ -7,7 +7,7 @@ PKG_NAME="nettle"
PKG_VERSION="3.9.1"
PKG_LICENSE="GPL2"
PKG_SITE="http://www.lysator.liu.se/~nisse/nettle"
-PKG_URL="http://ftpmirror.gnu.org/gnu/nettle/nettle-${PKG_VERSION}.tar.gz"
+PKG_URL="http://ftp.gnu.org/gnu/nettle/nettle-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_HOST="gmp:host openssl:host"
PKG_DEPENDS_TARGET="toolchain gmp openssl"
PKG_LONGDESC="A low-level cryptographic library."
diff --git a/packages/sysutils/bash/package.mk b/packages/sysutils/bash/package.mk
index f6c929ff8c..b88bdf626c 100644
--- a/packages/sysutils/bash/package.mk
+++ b/packages/sysutils/bash/package.mk
@@ -7,7 +7,7 @@ PKG_NAME="bash"
PKG_VERSION="5.2.21"
PKG_LICENSE="GPL"
PKG_SITE="http://www.gnu.org/software/bash/"
-PKG_URL="http://ftpmirror.gnu.org/bash/${PKG_NAME}-${PKG_VERSION}.tar.gz"
+PKG_URL="http://ftp.gnu.org/gnu/bash/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain ncurses readline"
PKG_LONGDESC="The GNU Bourne Again shell."
diff --git a/packages/sysutils/busybox/package.mk b/packages/sysutils/busybox/package.mk
index aea453a5fc..4d72b4a187 100644
--- a/packages/sysutils/busybox/package.mk
+++ b/packages/sysutils/busybox/package.mk
@@ -88,10 +88,7 @@ configure_target() {
sed -i -e "s|^CONFIG_FEATURE_MOUNT_CIFS=.*$|# CONFIG_FEATURE_MOUNT_CIFS is not set|" .config
fi
- # optimize for size
- CFLAGS=`echo ${CFLAGS} | sed -e "s|-Ofast|-Os|"`
- CFLAGS=`echo ${CFLAGS} | sed -e "s|-O.|-Os|"`
- CFLAGS="${CFLAGS} -I${SYSROOT_PREFIX}/usr/include/tirpc"
+ #CFLAGS="${CFLAGS} -I${SYSROOT_PREFIX}/usr/include/tirpc"
LDFLAGS="${LDFLAGS} -fwhole-program"
@@ -106,10 +103,7 @@ configure_init() {
# set install dir
sed -i -e "s|^CONFIG_PREFIX=.*$|CONFIG_PREFIX=\"${INSTALL}/usr\"|" .config
- # optimize for size
- CFLAGS=`echo ${CFLAGS} | sed -e "s|-Ofast|-Os|"`
- CFLAGS=`echo ${CFLAGS} | sed -e "s|-O.|-Os|"`
- CFLAGS="${CFLAGS} -I${SYSROOT_PREFIX}/usr/include/tirpc"
+ #CFLAGS="${CFLAGS} -I${SYSROOT_PREFIX}/usr/include/tirpc"
LDFLAGS="${LDFLAGS} -fwhole-program"
diff --git a/packages/sysutils/diffutils/package.mk b/packages/sysutils/diffutils/package.mk
index 1abd405ddc..7e7bbde0e4 100644
--- a/packages/sysutils/diffutils/package.mk
+++ b/packages/sysutils/diffutils/package.mk
@@ -5,7 +5,7 @@ PKG_NAME="diffutils"
PKG_VERSION="3.9"
PKG_LICENSE="GPL"
PKG_SITE="http://www.gnu.org/software/diffutils/"
-PKG_URL="http://ftpmirror.gnu.org/diffutils/${PKG_NAME}-${PKG_VERSION}.tar.xz"
+PKG_URL="http://ftp.gnu.org/gnu/diffutils/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="A package of several programs related to finding differences between files."
PKG_TOOLCHAIN="autotools"
diff --git a/packages/sysutils/grep/package.mk b/packages/sysutils/grep/package.mk
index 4c01cd9af6..cfcf8ed06d 100644
--- a/packages/sysutils/grep/package.mk
+++ b/packages/sysutils/grep/package.mk
@@ -6,7 +6,7 @@ PKG_NAME="grep"
PKG_VERSION="3.9"
PKG_LICENSE="GPL"
PKG_SITE="http://www.gnu.org/software/grep/"
-PKG_URL="http://ftpmirror.gnu.org/grep/${PKG_NAME}-${PKG_VERSION}.tar.xz"
+PKG_URL="http://ftp.gnu.org/gnu/grep/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_HOST="ccache:host"
PKG_LONGDESC="Grep searches one or more input files for lines containing a match to a specified pattern. By default, Grep outputs the matching lines."
diff --git a/packages/sysutils/parted/package.mk b/packages/sysutils/parted/package.mk
index 6338d18231..25f271d15f 100644
--- a/packages/sysutils/parted/package.mk
+++ b/packages/sysutils/parted/package.mk
@@ -8,7 +8,7 @@ PKG_NAME="parted"
PKG_VERSION="3.6"
PKG_LICENSE="GPL"
PKG_SITE="http://www.gnu.org/software/parted/"
-PKG_URL="http://ftpmirror.gnu.org/parted/${PKG_NAME}-${PKG_VERSION}.tar.xz"
+PKG_URL="http://ftp.gnu.org/gnu/parted/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_HOST="toolchain:host util-linux:host"
PKG_DEPENDS_TARGET="toolchain util-linux parted:host"
PKG_DEPENDS_INIT="toolchain util-linux:init parted"
diff --git a/packages/sysutils/patch/package.mk b/packages/sysutils/patch/package.mk
index 9d93d03733..f634151f99 100644
--- a/packages/sysutils/patch/package.mk
+++ b/packages/sysutils/patch/package.mk
@@ -6,7 +6,7 @@ PKG_VERSION="2.7.6"
PKG_SHA256="ac610bda97abe0d9f6b7c963255a11dcb196c25e337c61f94e4778d632f1d8fd"
PKG_LICENSE="GPL"
PKG_SITE="http://savannah.gnu.org/projects/patch/"
-PKG_URL="http://ftpmirror.gnu.org/patch/$PKG_NAME-$PKG_VERSION.tar.xz"
+PKG_URL="http://ftp.gnu.org/gnu/patch/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="Patch takes a patch file containing a difference listing produced by the diff."
diff --git a/packages/sysutils/screen/package.mk b/packages/sysutils/screen/package.mk
index 6b12460aac..f4b2992992 100644
--- a/packages/sysutils/screen/package.mk
+++ b/packages/sysutils/screen/package.mk
@@ -5,7 +5,7 @@ PKG_NAME="screen"
PKG_VERSION="4.9.1"
PKG_LICENSE="GPL"
PKG_SITE="http://www.gnu.org/software/screen/"
-PKG_URL="http://ftpmirror.gnu.org/screen/${PKG_NAME}-${PKG_VERSION}.tar.gz"
+PKG_URL="http://ftp.gnu.org/gnu/screen/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain ncurses"
PKG_LONGDESC="Screen is a window manager that multiplexes a physical terminal between several processes"
diff --git a/packages/sysutils/sed/package.mk b/packages/sysutils/sed/package.mk
index d07d6c44f1..24f3c7fb47 100644
--- a/packages/sysutils/sed/package.mk
+++ b/packages/sysutils/sed/package.mk
@@ -6,7 +6,7 @@ PKG_NAME="sed"
PKG_VERSION="4.9"
PKG_LICENSE="GPL"
PKG_SITE="http://www.gnu.org/software/sed/"
-PKG_URL="http://ftpmirror.gnu.org/sed/${PKG_NAME}-${PKG_VERSION}.tar.xz"
+PKG_URL="http://ftp.gnu.org/gnu/sed/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_HOST="ccache:host"
PKG_LONGDESC="The sed (Stream EDitor) editor is a stream or batch (non-interactive) editor."
diff --git a/packages/sysutils/systemd/package.mk b/packages/sysutils/systemd/package.mk
index b58c3596e4..417846d7ab 100644
--- a/packages/sysutils/systemd/package.mk
+++ b/packages/sysutils/systemd/package.mk
@@ -105,12 +105,8 @@ then
fi
pre_configure_target() {
- export TARGET_CFLAGS=$(echo ${TARGET_CFLAGS} | sed -e "s|-ffast-math||g")
- export TARGET_CFLAGS=$(echo ${TARGET_CFLAGS} | sed -e "s|-Ofast|-O3|g")
export TARGET_CFLAGS=$(echo ${TARGET_CFLAGS} | sed -e "s|-O.|-O3|g")
- export TARGET_LDFLAGS=$(echo ${TARGET_LDFLAGS} | sed -e "s|-ffast-math||g")
- export TARGET_LDFLAGS=$(echo ${TARGET_LDFLAGS} | sed -e "s|-Ofast|-O3|g")
export TARGET_LDFLAGS=$(echo ${TARGET_LDFLAGS} | sed -e "s|-O.|-O3|g")
export TARGET_CFLAGS="${TARGET_CFLAGS} -fno-schedule-insns -fno-schedule-insns2 -Wno-format-truncation"
diff --git a/packages/sysutils/systemd/scripts/userconfig-setup b/packages/sysutils/systemd/scripts/userconfig-setup
index 3ede19a5dd..0b7700bdb8 100755
--- a/packages/sysutils/systemd/scripts/userconfig-setup
+++ b/packages/sysutils/systemd/scripts/userconfig-setup
@@ -9,8 +9,8 @@
if [ ! -e "/storage/.configured" ]
then
tocon "Initializing configuration..."
- # Copy config files, but don't overwrite. Only run if /storage is fresh
- rsync -a --ignore-existing --exclude={es_features.cfg,es_systems.cfg} /usr/config/* /storage/.config/ >/var/log/configure.log 2>&1
+ # Copy config files
+ rsync -a --exclude={es_features.cfg,es_systems.cfg} /usr/config/* /storage/.config/ >/var/log/configure.log 2>&1
if [ -d "/usr/lib/autostart/quirks/platforms/${HW_DEVICE}/config" ]
then
diff --git a/packages/textproc/libidn2/package.mk b/packages/textproc/libidn2/package.mk
index d89de433ac..3ea1f085a2 100644
--- a/packages/textproc/libidn2/package.mk
+++ b/packages/textproc/libidn2/package.mk
@@ -5,7 +5,7 @@ PKG_NAME="libidn2"
PKG_VERSION="2.3.4"
PKG_LICENSE="LGPL3"
PKG_SITE="https://www.gnu.org/software/libidn/"
-PKG_URL="http://ftpmirror.gnu.org/gnu/libidn/libidn2-${PKG_VERSION}.tar.gz"
+PKG_URL="http://ftp.gnu.org/gnu/libidn/libidn2-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="Free software implementation of IDNA2008, Punycode and TR46."
diff --git a/packages/textproc/nlohmann-json/package.mk b/packages/textproc/nlohmann-json/package.mk
index 7d98f0f09b..29d02420dd 100644
--- a/packages/textproc/nlohmann-json/package.mk
+++ b/packages/textproc/nlohmann-json/package.mk
@@ -2,8 +2,7 @@
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="nlohmann-json"
-PKG_VERSION="3.11.2"
-PKG_SHA256="d69f9deb6a75e2580465c6c4c5111b89c4dc2fa94e3a85fcd2ffcd9a143d9273"
+PKG_VERSION="3.11.3"
PKG_LICENSE="MIT"
PKG_SITE="https://nlohmann.github.io/json/"
PKG_URL="https://github.com/nlohmann/json/archive/v${PKG_VERSION}.tar.gz"
@@ -11,4 +10,4 @@ PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="JSON for Modern C++"
PKG_TOOLCHAIN="cmake"
-PKG_CMAKE_OPTS_TARGET="-DBUILD_TESTING:BOOL=OFF"
+PKG_CMAKE_OPTS_TARGET="-DJSON_BuildTests=OFF"
diff --git a/packages/textproc/textviewer/package.mk b/packages/textproc/textviewer/package.mk
index 6ef76c99ef..7590bce6f3 100644
--- a/packages/textproc/textviewer/package.mk
+++ b/packages/textproc/textviewer/package.mk
@@ -3,7 +3,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="textviewer"
-PKG_VERSION="16d4c69d4686e9cc210ab5964d909dfedc8866f4"
+PKG_VERSION="fcbda2d1708e9e2c650abc589ea8e7f1fe1d04d8"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/JustEnoughLinuxOS/TvTextViewer"
PKG_URL="${PKG_SITE}.git"
diff --git a/packages/tools/mtools/package.mk b/packages/tools/mtools/package.mk
index 85351183e3..d23b2bd158 100644
--- a/packages/tools/mtools/package.mk
+++ b/packages/tools/mtools/package.mk
@@ -7,7 +7,7 @@ PKG_VERSION="4.0.43"
PKG_SHA256="541e179665dc4e272b9602f2074243591a157da89cc47064da8c5829dbd2b339"
PKG_LICENSE="GPL"
PKG_SITE="http://www.gnu.org/software/mtools/"
-PKG_URL="http://ftpmirror.gnu.org/${PKG_NAME}/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
+PKG_URL="http://ftp.gnu.org/gnu/${PKG_NAME}/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
PKG_DEPENDS_HOST="toolchain:host"
PKG_LONGDESC="mtools: A collection of utilities to access MS-DOS disks"
PKG_TOOLCHAIN="autotools"
diff --git a/packages/ui/emulationstation/config/common/es_features.cfg b/packages/ui/emulationstation/config/common/es_features.cfg
index 3a3b77fbdc..6023578d97 100644
--- a/packages/ui/emulationstation/config/common/es_features.cfg
+++ b/packages/ui/emulationstation/config/common/es_features.cfg
@@ -484,6 +484,10 @@
+
+
+
+
@@ -800,7 +804,6 @@
-
@@ -876,7 +879,6 @@
-
@@ -928,8 +930,7 @@
-
-
+ =
@@ -939,7 +940,6 @@
-
@@ -955,7 +955,6 @@
-
diff --git a/packages/ui/emulationstation/config/common/es_settings.cfg b/packages/ui/emulationstation/config/common/es_settings.cfg
index a7c8b2ca1b..0e827b0314 100644
--- a/packages/ui/emulationstation/config/common/es_settings.cfg
+++ b/packages/ui/emulationstation/config/common/es_settings.cfg
@@ -1,11 +1,10 @@
-
-
-
+
+
@@ -39,7 +38,7 @@
-
+
diff --git a/packages/ui/emulationstation/package.mk b/packages/ui/emulationstation/package.mk
index 6447e76bcb..c0cddfb89f 100644
--- a/packages/ui/emulationstation/package.mk
+++ b/packages/ui/emulationstation/package.mk
@@ -3,7 +3,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="emulationstation"
-PKG_VERSION="ff285e753a28df10b0bb014f9f6e5981accfc2f0"
+PKG_VERSION="99b7b72818f3fd702b0d11d3e530810568405a3a"
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 5b147e732f..1c40c51739 100644
--- a/packages/virtual/emulators/package.mk
+++ b/packages/virtual/emulators/package.mk
@@ -16,17 +16,17 @@ PKG_RETROARCH="core-info libretro-database retroarch retroarch-assets retroarch-
LIBRETRO_CORES="81-lr a5200-lr arduous-lr atari800-lr beetle-gba-lr beetle-lynx-lr beetle-ngp-lr beetle-pce-lr beetle-pce-fast-lr \
beetle-pcfx-lr bsnes-lr bsnes-mercury-performance-lr beetle-supafaust-lr beetle-supergrafx-lr \
- beetle-vb-lr beetle-wswan-lr beetle-saturn-lr bluemsx-lr cannonball-lr cap32-lr crocods-lr daphne-lr \
- dinothawr-lr dosbox-svn-lr dosbox-pure-lr duckstation-lr easyrpg-lr fake08-lr fbalpha2012-lr \
+ beetle-vb-lr beetle-wswan-lr beetle-saturn-lr bluemsx-lr cap32-lr crocods-lr daphne-lr \
+ dosbox-svn-lr dosbox-pure-lr duckstation-lr easyrpg-lr fake08-lr fbalpha2012-lr \
fbalpha2019-lr fbneo-lr fceumm-lr flycast2021-lr fmsx-lr freechaf-lr freeintv-lr freej2me-lr fuse-lr \
- gambatte-lr gearboy-lr gearcoleco-lr gearsystem-lr genesis-plus-gx-lr genesis-plus-gx-wide-lr gme-lr \
- gw-lr handy-lr hatari-lr idtech-lr mame2000-lr mame2003-plus-lr mame2010-lr mame2015-lr melonds-lr meowpc98-lr \
- mesen-lr mgba-lr mojozork-lr mrboom-lr mupen64plus-lr mupen64plus-nx-lr neocd_lr nestopia-lr np2kai-lr \
- nxengine-lr o2em-lr opera-lr parallel-n64-lr pcsx_rearmed-lr picodrive-lr pokemini-lr potator-lr \
- prosystem-lr puae-lr puae2021-lr px68k-lr quasi88-lr quicknes-lr race-lr reminiscence-lr \
+ gambatte-lr gearboy-lr gearcoleco-lr gearsystem-lr genesis-plus-gx-lr genesis-plus-gx-wide-lr \
+ gw-lr handy-lr hatari-lr idtech-lr mame2003-plus-lr mame2010-lr mame2015-lr melonds-lr \
+ mesen-lr mgba-lr mojozork-lr mupen64plus-lr mupen64plus-nx-lr neocd_lr nestopia-lr np2kai-lr \
+ o2em-lr opera-lr parallel-n64-lr pcsx_rearmed-lr picodrive-lr pokemini-lr potator-lr \
+ prosystem-lr puae-lr puae2021-lr px68k-lr quasi88-lr quicknes-lr race-lr \
sameboy-lr sameduck-lr scummvm-lr smsplus-gx-lr snes9x-lr snes9x2002-lr snes9x2005_plus-lr snes9x2010-lr \
- stella-lr stella-2014-lr swanstation-lr tic80-lr tgbdual-lr uzem-lr vba-next-lr minivmac-lr \
- vbam-lr vecx-lr vice-lr yabasanshiro-lr virtualjaguar-lr xmil-lr xrick-lr"
+ stella-lr swanstation-lr tic80-lr tgbdual-lr uzem-lr vba-next-lr minivmac-lr \
+ vbam-lr vecx-lr vice-lr yabasanshiro-lr virtualjaguar-lr xmil-lr"
### Emulators or cores for specific devices
case "${DEVICE}" in
@@ -35,7 +35,7 @@ case "${DEVICE}" in
PKG_EMUS+=" amiberry cemu-sa citra-sa dolphin-sa duckstation-sa melonds-sa minivmacsa mupen64plus-sa kronos-sa \
nanoboyadvance-sa pcsx2-sa primehack rpcs3-sa ryujinx-sa scummvmsa vita3k-sa xemu-sa yuzu-sa mednafen"
LIBRETRO_CORES+=" beetle-psx-lr bsnes-hd-lr citra-lr desmume-lr dolphin-lr flycast-lr lrps2-lr mame-lr \
- play-lr ppsspp-lr kronos-lr"
+ ppsspp-lr kronos-lr"
;;
RK358*)
[ "${ENABLE_32BIT}" == "true" ] && EMUS_32BIT="box86 desmume-lr flycast-lr gpsp-lr pcsx_rearmed-lr"
@@ -181,7 +181,6 @@ makeinstall_target() {
### Arcade
add_emu_core arcade retroarch mame2003_plus true
- add_emu_core arcade retroarch mame2000 false
add_emu_core arcade retroarch mame2010 false
add_emu_core arcade retroarch mame2015 false
add_emu_core arcade retroarch fbneo false
@@ -284,7 +283,6 @@ makeinstall_target() {
add_emu_core cps1 retroarch mame2003_plus false
add_emu_core cps1 retroarch mame2010 false
add_emu_core cps1 retroarch fbalpha2012 false
- add_emu_core cps1 retroarch mba_mini false
case ${TARGET_ARCH} in
aarch64)
add_emu_core cps1 AdvanceMame AdvanceMame false
@@ -297,7 +295,6 @@ makeinstall_target() {
add_emu_core cps2 retroarch mame2003_plus false
add_emu_core cps2 retroarch mame2010 false
add_emu_core cps2 retroarch fbalpha2012 false
- add_emu_core cps2 retroarch mba_mini false
case ${TARGET_ARCH} in
aarch64)
add_emu_core cps2 AdvanceMame AdvanceMame false
@@ -310,7 +307,6 @@ makeinstall_target() {
add_emu_core cps3 retroarch mame2003_plus false
add_emu_core cps3 retroarch mame2010 false
add_emu_core cps3 retroarch fbalpha2012 false
- add_emu_core cps3 retroarch mba_mini false
case ${TARGET_ARCH} in
aarch64)
add_emu_core cps3 AdvanceMame AdvanceMame false
@@ -368,6 +364,7 @@ makeinstall_target() {
add_emu_core fds retroarch nestopia true
add_emu_core fds retroarch fceumm false
add_emu_core fds retroarch quicknes false
+ add_emu_core fds retroarch mesen false
case ${DEVICE} in
RK3399|AMD64|RK3326)
add_emu_core fds mednafen nes false
@@ -1062,11 +1059,11 @@ makeinstall_target() {
add_emu_core snes retroarch bsnes_mercury_performance false
add_emu_core snes retroarch bsnes_hd_beta false
case ${DEVICE} in
- RK3399|AMD64)
+ AMD64)
add_emu_core snes mednafen snes_faust false
add_emu_core snes mednafen snes false
;;
- RK3326)
+ RK33*)
add_emu_core snes mednafen snes_faust false
;;
esac
@@ -1082,11 +1079,11 @@ makeinstall_target() {
add_emu_core snesh retroarch bsnes_mercury_performance false
add_emu_core snesh retroarch bsnes_hd_beta false
case ${DEVICE} in
- RK3399|AMD64)
+ AMD64)
add_emu_core snesh mednafen snes false
add_emu_core snesh mednafen snes_faust false
;;
- RK3326)
+ RK33*)
add_emu_core snes mednafen snes_faust false
;;
esac
@@ -1102,11 +1099,11 @@ makeinstall_target() {
add_emu_core sfc retroarch bsnes_mercury_performance false
add_emu_core sfc retroarch bsnes_hd_beta false
case ${DEVICE} in
- RK3399|AMD64)
+ AMD64)
add_emu_core sfc mednafen snes false
add_emu_core sfc mednafen snes_faust false
;;
- RK3326)
+ RK33*)
add_emu_core snes mednafen snes_faust false
;;
esac
diff --git a/packages/wayland/weston/patches/002-remove-all-demo-except-image.patch b/packages/wayland/weston/patches/002-weston-image.patch
similarity index 78%
rename from packages/wayland/weston/patches/002-remove-all-demo-except-image.patch
rename to packages/wayland/weston/patches/002-weston-image.patch
index 3fe171df78..39af379040 100644
--- a/packages/wayland/weston/patches/002-remove-all-demo-except-image.patch
+++ b/packages/wayland/weston/patches/002-weston-image.patch
@@ -1,3 +1,16 @@
+diff --git a/clients/image.c b/clients/image.c
+index 63a5cefb..eedbefa2 100644
+--- a/clients/image.c
++++ b/clients/image.c
+@@ -402,7 +402,7 @@ image_create(struct display *display, const char *filename,
+ widget_set_button_handler(image->widget, button_handler);
+ widget_set_axis_handler(image->widget, axis_handler);
+ window_set_key_handler(image->window, key_handler);
+- widget_schedule_resize(image->widget, 500, 400);
++ widget_schedule_resize(image->widget, 480, 320);
+
+ return image;
+ }
diff --git a/clients/meson.build b/clients/meson.build
index 2fe10956..38000b41 100644
--- a/clients/meson.build
diff --git a/packages/web/libmicrohttpd/package.mk b/packages/web/libmicrohttpd/package.mk
index fc66f79a25..98926b1216 100644
--- a/packages/web/libmicrohttpd/package.mk
+++ b/packages/web/libmicrohttpd/package.mk
@@ -6,7 +6,7 @@ PKG_NAME="libmicrohttpd"
PKG_VERSION="0.9.77"
PKG_LICENSE="LGPLv2.1"
PKG_SITE="http://www.gnu.org/software/libmicrohttpd/"
-PKG_URL="http://ftpmirror.gnu.org/libmicrohttpd/${PKG_NAME}-${PKG_VERSION}.tar.gz"
+PKG_URL="http://ftp.gnu.org/gnu/libmicrohttpd/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain gnutls"
PKG_LONGDESC="A small C library that is supposed to make it easy to run an HTTP server as part of another application."
diff --git a/packages/web/wget/package.mk b/packages/web/wget/package.mk
index 0528dcd65c..4e67ed7d93 100644
--- a/packages/web/wget/package.mk
+++ b/packages/web/wget/package.mk
@@ -6,7 +6,7 @@ PKG_NAME="wget"
PKG_VERSION="1.21.4"
PKG_LICENSE="GPL"
PKG_SITE="http://www.gnu.org/software/wget/"
-PKG_URL="http://ftpmirror.gnu.org/wget/${PKG_NAME}-${PKG_VERSION}.tar.gz"
+PKG_URL="http://ftp.gnu.org/gnu/wget/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_HOST="ccache:host"
PKG_DEPENDS_TARGET="toolchain gnutls"
PKG_LONGDESC="GNU Wget is a free software package for retrieving files using HTTP, HTTPS, FTP and FTPS"
diff --git a/projects/Amlogic/packages/linux/package.mk b/projects/Amlogic/packages/linux/package.mk
index 8304dd964c..29ff5a02a6 100644
--- a/projects/Amlogic/packages/linux/package.mk
+++ b/projects/Amlogic/packages/linux/package.mk
@@ -18,7 +18,7 @@ PKG_PATCH_DIRS+="${DEVICE}"
case ${DEVICE} in
S922X*)
- PKG_VERSION="6.1.68"
+ PKG_VERSION="6.1.69"
PKG_URL="https://www.kernel.org/pub/linux/kernel/v6.x/${PKG_NAME}-${PKG_VERSION}.tar.xz"
;;
esac
diff --git a/projects/Amlogic/packages/mali-bifrost/package.mk b/projects/Amlogic/packages/mali-bifrost/package.mk
index 1086ab10ab..73c1752615 100644
--- a/projects/Amlogic/packages/mali-bifrost/package.mk
+++ b/projects/Amlogic/packages/mali-bifrost/package.mk
@@ -2,7 +2,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="mali-bifrost"
-PKG_VERSION="r46p0-01eac0"
+PKG_VERSION="r47p0-01eac0"
PKG_LICENSE="GPL"
PKG_SITE="https://developer.arm.com/downloads/-/mali-drivers/bifrost-kernel"
PKG_URL="https://developer.arm.com/-/media/Files/downloads/mali-drivers/kernel/mali-bifrost-gpu/BX304L01B-SW-99002-${PKG_VERSION}.tar"
diff --git a/projects/Amlogic/packages/mali-bifrost/patches/001-fix-building.patch b/projects/Amlogic/packages/mali-bifrost/patches/001-fix-building.patch
deleted file mode 100644
index f2665481d0..0000000000
--- a/projects/Amlogic/packages/mali-bifrost/patches/001-fix-building.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/driver/product/kernel/drivers/gpu/arm/midgard/Makefile b/driver/product/kernel/drivers/gpu/arm/midgard/Makefile
-index a3ba2b2..3ed9ccf 100644
---- a/product/kernel/drivers/gpu/arm/midgard/Makefile
-+++ b/product/kernel/drivers/gpu/arm/midgard/Makefile
-@@ -228,14 +228,6 @@ ifeq ($(MALI_KCONFIG_EXT_PREFIX),)
- EXTRA_CFLAGS += -DCONFIG_MALI_NO_MALI_DEFAULT_GPU='\"$(CONFIG_MALI_NO_MALI_DEFAULT_GPU)\"'
- endif
-
--#
--# KBUILD_EXTRA_SYMBOLS to prevent warnings about unknown functions
--#
--BASE_SYMBOLS = $(M)/../../base/arm/Module.symvers
--
--EXTRA_SYMBOLS += \
-- $(BASE_SYMBOLS)
--
- CFLAGS_MODULE += -Wall -Werror
-
- # The following were added to align with W=1 in scripts/Makefile.extrawarn
diff --git a/projects/Rockchip/devices/RK3566-X55/options b/projects/Rockchip/devices/RK3566-X55/options
index 6fa8d72614..cef0c81be2 100644
--- a/projects/Rockchip/devices/RK3566-X55/options
+++ b/projects/Rockchip/devices/RK3566-X55/options
@@ -51,7 +51,7 @@
# Mali GPU family
MALI_FAMILY="bifrost-g52"
- MALI_VERSION="g2p0"
+ MALI_VERSION="g13p0"
OPENGLES="libmali"
VULKAN_SUPPORT="no"
diff --git a/projects/Rockchip/packages/linux/package.mk b/projects/Rockchip/packages/linux/package.mk
index 9c7123c315..3236c8df88 100644
--- a/projects/Rockchip/packages/linux/package.mk
+++ b/projects/Rockchip/packages/linux/package.mk
@@ -36,7 +36,7 @@ case ${DEVICE} in
PKG_GIT_CLONE_BRANCH="main"
;;
RK33*)
- PKG_VERSION="6.1.68"
+ PKG_VERSION="6.1.69"
PKG_URL="https://www.kernel.org/pub/linux/kernel/v6.x/${PKG_NAME}-${PKG_VERSION}.tar.xz"
;;
esac
diff --git a/projects/Rockchip/packages/linux/patches/RK3566-X55/0005-disable-enum-int-mismatch-warning.patch b/projects/Rockchip/packages/linux/patches/RK3566-X55/0005-disable-enum-int-mismatch-warning.patch
new file mode 100644
index 0000000000..4789856575
--- /dev/null
+++ b/projects/Rockchip/packages/linux/patches/RK3566-X55/0005-disable-enum-int-mismatch-warning.patch
@@ -0,0 +1,12 @@
+diff --git a/Makefile b/Makefile
+index 1c06eae06..9465e5561 100755
+--- a/Makefile
++++ b/Makefile
+@@ -710,6 +710,7 @@ KBUILD_CFLAGS += $(call cc-disable-warning, array-compare)
+ KBUILD_CFLAGS += $(call cc-disable-warning, stringop-overread)
+ KBUILD_CFLAGS += $(call cc-disable-warning, dangling-pointer)
+ KBUILD_CFLAGS += $(call cc-disable-warning, address)
++KBUILD_CFLAGS += $(call cc-disable-warning, enum-int-mismatch)
+
+ ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
+ KBUILD_CFLAGS += -Os
diff --git a/projects/Rockchip/packages/linux/patches/RK3566/0005-disable-enum-int-mismatch-warning.patch b/projects/Rockchip/packages/linux/patches/RK3566/0005-disable-enum-int-mismatch-warning.patch
new file mode 100644
index 0000000000..0d5460e5a9
--- /dev/null
+++ b/projects/Rockchip/packages/linux/patches/RK3566/0005-disable-enum-int-mismatch-warning.patch
@@ -0,0 +1,12 @@
+diff --git a/Makefile b/Makefile
+index 60197900e..b0d6dbe83 100644
+--- a/Makefile
++++ b/Makefile
+@@ -710,6 +710,7 @@ KBUILD_CFLAGS += $(call cc-disable-warning, array-compare)
+ KBUILD_CFLAGS += $(call cc-disable-warning, stringop-overread)
+ KBUILD_CFLAGS += $(call cc-disable-warning, dangling-pointer)
+ KBUILD_CFLAGS += $(call cc-disable-warning, address)
++KBUILD_CFLAGS += $(call cc-disable-warning, enum-int-mismatch)
+
+ ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
+ KBUILD_CFLAGS += -Os
diff --git a/projects/Rockchip/packages/linux/patches/RK3588/0005-disable-enum-int-mismatch-warning.patch b/projects/Rockchip/packages/linux/patches/RK3588/0005-disable-enum-int-mismatch-warning.patch
new file mode 100644
index 0000000000..0d5460e5a9
--- /dev/null
+++ b/projects/Rockchip/packages/linux/patches/RK3588/0005-disable-enum-int-mismatch-warning.patch
@@ -0,0 +1,12 @@
+diff --git a/Makefile b/Makefile
+index 60197900e..b0d6dbe83 100644
+--- a/Makefile
++++ b/Makefile
+@@ -710,6 +710,7 @@ KBUILD_CFLAGS += $(call cc-disable-warning, array-compare)
+ KBUILD_CFLAGS += $(call cc-disable-warning, stringop-overread)
+ KBUILD_CFLAGS += $(call cc-disable-warning, dangling-pointer)
+ KBUILD_CFLAGS += $(call cc-disable-warning, address)
++KBUILD_CFLAGS += $(call cc-disable-warning, enum-int-mismatch)
+
+ ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
+ KBUILD_CFLAGS += -Os
diff --git a/projects/Rockchip/packages/u-boot/patches/RK3326/000-build-fixes.patch b/projects/Rockchip/packages/u-boot/patches/RK3326/000-build-fixes.patch
index e5fb32a83c..6aee223fc3 100644
--- a/projects/Rockchip/packages/u-boot/patches/RK3326/000-build-fixes.patch
+++ b/projects/Rockchip/packages/u-boot/patches/RK3326/000-build-fixes.patch
@@ -1,19 +1,21 @@
diff -rupN u-boot.orig/Makefile u-boot/Makefile
---- u-boot.orig/Makefile 2023-05-11 17:08:32.613932080 +0000
-+++ u-boot/Makefile 2023-05-11 17:08:01.428935587 +0000
-@@ -360,6 +360,9 @@ KBUILD_CPPFLAGS := -D__KERNEL__ -D__UBOO
- KBUILD_CFLAGS := -Wall -Wstrict-prototypes \
- -Wno-format-security \
- -fno-builtin -ffreestanding
+--- u-boot.orig/Makefile 2023-12-28 14:42:41.202046205 +0000
++++ u-boot/Makefile 2023-12-28 14:42:25.021569301 +0000
+@@ -605,6 +605,11 @@ ifeq ($(shell $(CONFIG_SHELL) $(srctree)
+ endif
+
+ KBUILD_CFLAGS += $(call cc-option,-Wno-format-nonliteral)
+KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
-+KBUILD_CFLAGS += $(call cc-disable-warning, dangling-pointer)
-+KBUILD_CFLAGS += $(call cc-disable-warning, address)
- KBUILD_CFLAGS += -fshort-wchar -Werror
- KBUILD_AFLAGS := -D__ASSEMBLY__
++KBUILD_CFLAGS += $(call cc-disable-warning, dangling-pointer)
++KBUILD_CFLAGS += $(call cc-disable-warning, address)
++KBUILD_CFLAGS += $(call cc-disable-warning, maybe-uninitialized)
++KBUILD_CFLAGS += $(call cc-disable-warning, enum-int-mismatch)
+ # turn jbsr into jsr for m68k
+ ifeq ($(ARCH),m68k)
diff -rupN u-boot.orig/arch/arm/dts/Makefile u-boot/arch/arm/dts/Makefile
---- u-boot.orig/arch/arm/dts/Makefile 2023-05-11 17:08:32.629932591 +0000
-+++ u-boot/arch/arm/dts/Makefile 2023-05-11 17:08:01.448936226 +0000
+--- u-boot.orig/arch/arm/dts/Makefile 2023-12-28 14:42:41.210046441 +0000
++++ u-boot/arch/arm/dts/Makefile 2023-12-28 14:39:14.956037945 +0000
@@ -28,11 +28,9 @@ dtb-$(CONFIG_EXYNOS5) += exynos5250-arnd
exynos5422-odroidxu3.dtb
dtb-$(CONFIG_EXYNOS7420) += exynos7420-espresso7420.dtb
@@ -39,8 +41,8 @@ diff -rupN u-boot.orig/arch/arm/dts/Makefile u-boot/arch/arm/dts/Makefile
rk3399-firefly.dtb \
rk3399-puma-ddr1333.dtb \
diff -rupN u-boot.orig/board/rockchip/odroidgoa/odroidgoa.c u-boot/board/rockchip/odroidgoa/odroidgoa.c
---- u-boot.orig/board/rockchip/odroidgoa/odroidgoa.c 2023-05-11 17:08:32.685934380 +0000
-+++ u-boot/board/rockchip/odroidgoa/odroidgoa.c 2023-05-11 17:08:01.500937888 +0000
+--- u-boot.orig/board/rockchip/odroidgoa/odroidgoa.c 2023-12-28 14:42:41.306049273 +0000
++++ u-boot/board/rockchip/odroidgoa/odroidgoa.c 2023-12-28 14:39:14.956037945 +0000
@@ -21,6 +21,8 @@
DECLARE_GLOBAL_DATA_PTR;
@@ -92,8 +94,8 @@ diff -rupN u-boot.orig/board/rockchip/odroidgoa/odroidgoa.c u-boot/board/rockchi
if (!board_check_autotest()) {
board_run_autotest();
diff -rupN u-boot.orig/scripts/dtc/dtc-lexer.l u-boot/scripts/dtc/dtc-lexer.l
---- u-boot.orig/scripts/dtc/dtc-lexer.l 2023-05-11 17:08:32.809938343 +0000
-+++ u-boot/scripts/dtc/dtc-lexer.l 2023-05-11 17:08:01.628941978 +0000
+--- u-boot.orig/scripts/dtc/dtc-lexer.l 2023-12-28 14:42:41.414052459 +0000
++++ u-boot/scripts/dtc/dtc-lexer.l 2023-12-28 14:39:14.956037945 +0000
@@ -38,7 +38,6 @@ LINECOMMENT "//".*\n
#include "srcpos.h"
#include "dtc-parser.tab.h"
@@ -103,8 +105,8 @@ diff -rupN u-boot.orig/scripts/dtc/dtc-lexer.l u-boot/scripts/dtc/dtc-lexer.l
/* CAUTION: this will stop working if we ever use yyless() or yyunput() */
diff -rupN u-boot.orig/scripts/dtc/dtc-lexer.lex.c_shipped u-boot/scripts/dtc/dtc-lexer.lex.c_shipped
---- u-boot.orig/scripts/dtc/dtc-lexer.lex.c_shipped 2023-05-11 17:08:32.809938343 +0000
-+++ u-boot/scripts/dtc/dtc-lexer.lex.c_shipped 2023-05-11 17:08:01.628941978 +0000
+--- u-boot.orig/scripts/dtc/dtc-lexer.lex.c_shipped 2023-12-28 14:42:41.414052459 +0000
++++ u-boot/scripts/dtc/dtc-lexer.lex.c_shipped 2023-12-28 14:39:14.956037945 +0000
@@ -631,7 +631,6 @@ char *yytext;
#include "srcpos.h"
#include "dtc-parser.tab.h"
diff --git a/projects/Rockchip/packages/u-boot/patches/RK3399/000-fix-gcc13.patch b/projects/Rockchip/packages/u-boot/patches/RK3399/000-fix-gcc13.patch
new file mode 100644
index 0000000000..c84b521237
--- /dev/null
+++ b/projects/Rockchip/packages/u-boot/patches/RK3399/000-fix-gcc13.patch
@@ -0,0 +1,12 @@
+diff --git a/Makefile b/Makefile
+index ff76e8559..3ebe059b9 100644
+--- a/Makefile
++++ b/Makefile
+@@ -606,6 +606,7 @@ endif
+
+ KBUILD_CFLAGS += $(call cc-option,-Wno-format-nonliteral)
+ KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
++KBUILD_CFLAGS += $(call cc-disable-warning, enum-int-mismatch)
+
+ # turn jbsr into jsr for m68k
+ ifeq ($(ARCH),m68k)
diff --git a/projects/Rockchip/packages/u-boot/patches/RK3566-X55/0005-disable-enum-int-mismatch-warning.patch b/projects/Rockchip/packages/u-boot/patches/RK3566-X55/0005-disable-enum-int-mismatch-warning.patch
new file mode 100644
index 0000000000..850022d7c3
--- /dev/null
+++ b/projects/Rockchip/packages/u-boot/patches/RK3566-X55/0005-disable-enum-int-mismatch-warning.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile b/Makefile
+index cdb3ff9..d439225 100644
+--- a/Makefile
++++ b/Makefile
+@@ -596,6 +596,8 @@ KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks)
+ KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
+ KBUILD_CFLAGS += $(call cc-disable-warning, dangling-pointer)
+ KBUILD_CFLAGS += $(call cc-disable-warning, address)
++KBUILD_CFLAGS += $(call cc-disable-warning, enum-int-mismatch)
++KBUILD_CFLAGS += $(call cc-disable-warning, maybe-uninitialized)
+
+ KBUILD_CFLAGS += -g
+ # $(KBUILD_AFLAGS) sets -g, which causes gcc to pass a suitable -g
diff --git a/projects/Rockchip/packages/u-boot/patches/RK3566/0005-disable-enum-int-mismatch-warning.patch b/projects/Rockchip/packages/u-boot/patches/RK3566/0005-disable-enum-int-mismatch-warning.patch
new file mode 100644
index 0000000000..850022d7c3
--- /dev/null
+++ b/projects/Rockchip/packages/u-boot/patches/RK3566/0005-disable-enum-int-mismatch-warning.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile b/Makefile
+index cdb3ff9..d439225 100644
+--- a/Makefile
++++ b/Makefile
+@@ -596,6 +596,8 @@ KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks)
+ KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
+ KBUILD_CFLAGS += $(call cc-disable-warning, dangling-pointer)
+ KBUILD_CFLAGS += $(call cc-disable-warning, address)
++KBUILD_CFLAGS += $(call cc-disable-warning, enum-int-mismatch)
++KBUILD_CFLAGS += $(call cc-disable-warning, maybe-uninitialized)
+
+ KBUILD_CFLAGS += -g
+ # $(KBUILD_AFLAGS) sets -g, which causes gcc to pass a suitable -g
diff --git a/projects/Rockchip/packages/u-boot/patches/RK3588/000-fix-gcc12.patch b/projects/Rockchip/packages/u-boot/patches/RK3588/000-fix-gcc13.patch
similarity index 71%
rename from projects/Rockchip/packages/u-boot/patches/RK3588/000-fix-gcc12.patch
rename to projects/Rockchip/packages/u-boot/patches/RK3588/000-fix-gcc13.patch
index c41505e71d..cd5485ab14 100755
--- a/projects/Rockchip/packages/u-boot/patches/RK3588/000-fix-gcc12.patch
+++ b/projects/Rockchip/packages/u-boot/patches/RK3588/000-fix-gcc13.patch
@@ -2,12 +2,14 @@ diff --git a/Makefile b/Makefile
index 590fd4c1f..3165ec95f 100644
--- a/Makefile
+++ b/Makefile
-@@ -606,6 +606,8 @@ endif
+@@ -606,6 +606,10 @@ endif
KBUILD_CFLAGS += $(call cc-option,-Wno-format-nonliteral)
KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
+KBUILD_CFLAGS += $(call cc-disable-warning, dangling-pointer)
+KBUILD_CFLAGS += $(call cc-disable-warning, address)
++KBUILD_CFLAGS += $(call cc-disable-warning, maybe-uninitialized)
++KBUILD_CFLAGS += $(call cc-disable-warning, enum-int-mismatch)
# turn jbsr into jsr for m68k
ifeq ($(ARCH),m68k)