Merge dev

This commit is contained in:
Tim Flaman 2022-12-04 19:55:09 -06:00
commit f2218903d0
100 changed files with 9296 additions and 729 deletions

View file

@ -23,6 +23,7 @@ distclean:
src-pkg:
tar cvJf sources.tar.xz sources .stamps
world: x86_64 RK3566 RK3399
x86_64: handheld
@ -31,7 +32,8 @@ RK3566: RG503 RG353P
RK3399: RG552
RK3326: RG351P RG351V RG351MP
RK3326: RG351P RG351V RG351MP RGB20S
handheld:
DEVICE_ROOT=handheld PROJECT=PC DEVICE=handheld ARCH=x86_64 ./scripts/build_distro
@ -60,6 +62,10 @@ RG351MP:
DEVICE_ROOT=RG351P PROJECT=Rockchip DEVICE=RG351MP ARCH=arm ./scripts/build_distro
DEVICE_ROOT=RG351P PROJECT=Rockchip DEVICE=RG351MP ARCH=aarch64 ./scripts/build_distro
RGB20S:
DEVICE_ROOT=RGB20S PROJECT=Rockchip DEVICE=RGB20S ARCH=arm ./scripts/build_distro
DEVICE_ROOT=RGB20S PROJECT=Rockchip DEVICE=RGB20S ARCH=aarch64 ./scripts/build_distro
update:
PROJECT=Rockchip DEVICE=RG552 ARCH=aarch64 ./scripts/update_packages

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -14,7 +14,7 @@ PKG_LONGDESC="The Glibc package contains the main C library."
PKG_BUILD_FLAGS="+bfd -gold"
case "${DEVICE}" in
RG353P|RG503|RG351P|RG351V|RG351MP)
RG353P|RG503|RG351P|RG351V|RG351MP|RGB20S)
OPT_ENABLE_KERNEL=4.4.0
;;
*)

View file

@ -17,10 +17,10 @@ PKG_PATCH_DIRS+="${DEVICE}"
pre_configure_target() {
cd ${PKG_BUILD}
export SYSROOT_PREFIX=${SYSROOT_PREFIX}
if [[ "${DEVICE}" =~ RG351 ]]
if [[ "${DEVICE}" =~ RG351 ]] || [[ "${DEVICE}" =~ RGB20S ]]
then
AMIBERRY_PLATFORM="PLATFORM=RG351x"
elif [[ "${DEVICE}" =~ RG503 ]] || [[ "${DEVICE}" =~ RG353P ]]
elif [[ "${DEVICE}" =~ RG503 ]] || [[ "${DEVICE}" =~ RG353P ]]
then
AMIBERRY_PLATFORM="PLATFORM=RK3566"
else

View file

@ -0,0 +1 @@
RG351P

View file

@ -10,7 +10,7 @@ case ${DEVICE} in
RG552|handheld)
PKG_SITE="https://github.com/dolphin-emu/dolphin"
PKG_URL="${PKG_SITE}.git"
PKG_VERSION="7cd9a78ebf6e49b21a5a5eee99858822a8946faa"
PKG_VERSION="c931529e7aa5926b8a21a193bf8f80244b3ae888"
PKG_PATCH_DIRS+=" wayland"
;;
*)

View file

@ -0,0 +1,111 @@
frameskip_type = 2
frameskip_value = 3
safe_frameskip = 0
show_frame_counter = 0
screen_orientation = 1
screen_swap = 0
savestate_number = 0
fast_forward = 0
enable_sound = 1
clock_speed = 0
threaded_3d = 1
mirror_touch = 0
compress_savestates = 1
savestate_snapshot = 1
unzip_roms = 0
preload_roms = 0
backup_in_savestates = 1
ignore_gamecard_limit = 0
frame_interval = 0
trim_roms = 0
fix_main_2d_screen = 0
disable_edge_marking = 0
interframe_blend = 0
hires_3d = 1
use_rtc_custom_time = 0
rtc_custom_time = 0
rtc_system_time = 0
slot2_device_type = 0
rumble_frames = 3
firmware.username = Jelos
firmware.language = 1
firmware.favorite_color = 0
firmware.birthday_month = 1
firmware.birthday_day = 1
enable_cheats = 1
controls_a[CONTROL_INDEX_UP] = 1217
controls_a[CONTROL_INDEX_DOWN] = 1153
controls_a[CONTROL_INDEX_LEFT] = 1216
controls_a[CONTROL_INDEX_RIGHT] = 1152
controls_a[CONTROL_INDEX_A] = 32
controls_a[CONTROL_INDEX_B] = 480
controls_a[CONTROL_INDEX_X] = 122
controls_a[CONTROL_INDEX_Y] = 120
controls_a[CONTROL_INDEX_L] = 481
controls_a[CONTROL_INDEX_R] = 99
controls_a[CONTROL_INDEX_START] = 13
controls_a[CONTROL_INDEX_SELECT] = 485
controls_a[CONTROL_INDEX_HINGE] = 104
controls_a[CONTROL_INDEX_TOUCH_CURSOR_UP] = 1219
controls_a[CONTROL_INDEX_TOUCH_CURSOR_DOWN] = 1155
controls_a[CONTROL_INDEX_TOUCH_CURSOR_LEFT] = 1218
controls_a[CONTROL_INDEX_TOUCH_CURSOR_RIGHT] = 1154
controls_a[CONTROL_INDEX_TOUCH_CURSOR_PRESS] = 1039
controls_a[CONTROL_INDEX_MENU] = 109
controls_a[CONTROL_INDEX_SAVE_STATE] = 318
controls_a[CONTROL_INDEX_LOAD_STATE] = 320
controls_a[CONTROL_INDEX_FAST_FORWARD] = 8
controls_a[CONTROL_INDEX_SWAP_SCREENS] = 115
controls_a[CONTROL_INDEX_SWAP_ORIENTATION_A] = 97
controls_a[CONTROL_INDEX_SWAP_ORIENTATION_B] = 100
controls_a[CONTROL_INDEX_LOAD_GAME] = 65535
controls_a[CONTROL_INDEX_QUIT] = 65535
controls_a[CONTROL_INDEX_FAKE_MICROPHONE] = 65535
controls_a[CONTROL_INDEX_UI_UP] = 338
controls_a[CONTROL_INDEX_UI_DOWN] = 337
controls_a[CONTROL_INDEX_UI_LEFT] = 336
controls_a[CONTROL_INDEX_UI_RIGHT] = 335
controls_a[CONTROL_INDEX_UI_SELECT] = 13
controls_a[CONTROL_INDEX_UI_BACK] = 8
controls_a[CONTROL_INDEX_UI_EXIT] = 27
controls_a[CONTROL_INDEX_UI_PAGE_UP] = 331
controls_a[CONTROL_INDEX_UI_PAGE_DOWN] = 334
controls_a[CONTROL_INDEX_UI_SWITCH] = 481
controls_b[CONTROL_INDEX_UP] = 1032
controls_b[CONTROL_INDEX_DOWN] = 1033
controls_b[CONTROL_INDEX_LEFT] = 1034
controls_b[CONTROL_INDEX_RIGHT] = 1035
controls_b[CONTROL_INDEX_A] = 1025
controls_b[CONTROL_INDEX_B] = 1024
controls_b[CONTROL_INDEX_X] = 1026
controls_b[CONTROL_INDEX_Y] = 1027
controls_b[CONTROL_INDEX_L] = 1028
controls_b[CONTROL_INDEX_R] = 1029
controls_b[CONTROL_INDEX_START] = 1037
controls_b[CONTROL_INDEX_SELECT] = 1036
controls_b[CONTROL_INDEX_HINGE] = 65535
controls_b[CONTROL_INDEX_TOUCH_CURSOR_UP] = 65535
controls_b[CONTROL_INDEX_TOUCH_CURSOR_DOWN] = 65535
controls_b[CONTROL_INDEX_TOUCH_CURSOR_LEFT] = 65535
controls_b[CONTROL_INDEX_TOUCH_CURSOR_RIGHT] = 65535
controls_b[CONTROL_INDEX_TOUCH_CURSOR_PRESS] = 65535
controls_b[CONTROL_INDEX_MENU] = 1038
controls_b[CONTROL_INDEX_SAVE_STATE] = 65535
controls_b[CONTROL_INDEX_LOAD_STATE] = 65535
controls_b[CONTROL_INDEX_FAST_FORWARD] = 65535
controls_b[CONTROL_INDEX_SWAP_SCREENS] = 1030
controls_b[CONTROL_INDEX_SWAP_ORIENTATION_A] = 65535
controls_b[CONTROL_INDEX_SWAP_ORIENTATION_B] = 1031
controls_b[CONTROL_INDEX_LOAD_GAME] = 65535
controls_b[CONTROL_INDEX_QUIT] = 65535
controls_b[CONTROL_INDEX_FAKE_MICROPHONE] = 65535
controls_b[CONTROL_INDEX_UI_UP] = 1032
controls_b[CONTROL_INDEX_UI_DOWN] = 1033
controls_b[CONTROL_INDEX_UI_LEFT] = 1034
controls_b[CONTROL_INDEX_UI_RIGHT] = 1035
controls_b[CONTROL_INDEX_UI_SELECT] = 1025
controls_b[CONTROL_INDEX_UI_BACK] = 1030
controls_b[CONTROL_INDEX_UI_EXIT] = 1024
controls_b[CONTROL_INDEX_UI_PAGE_UP] = 1028
controls_b[CONTROL_INDEX_UI_PAGE_DOWN] = 1029
controls_b[CONTROL_INDEX_UI_SWITCH] = 1031

View file

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

View file

@ -0,0 +1,25 @@
; RGB20S Gamepad - default.ini
[GO-Super Gamepad]
plugged = True
mouse = False
AnalogDeadzone = 0,0
AnalogPeak = 32768,32768
DPad R = button(11)
DPad L = button(10)
DPad D = button(9)
DPad U = button(8)
Start = button(13)
Z Trig = button(15)
B Button = button(3)
A Button = button(0)
C Button R = axis(2+)
C Button L = axis(2-)
C Button D = axis(3+)
C Button U = axis(3-)
R Trig = button(5)
L Trig = button(4)
Mempak switch =
Rumblepak switch =
# Analog axis configuration mappings
X Axis = axis(0-,0+)
Y Axis = axis(1-,1+)

View file

@ -0,0 +1,25 @@
; RGB20S Gamepad - zlswap.ini
[GO-Super Gamepad]
plugged = True
mouse = False
AnalogDeadzone = 0,0
AnalogPeak = 32768,32768
DPad R = button(11)
DPad L = button(10)
DPad D = button(9)
DPad U = button(8)
Start = button(13)
Z Trig = button(4)
B Button = button(3)
A Button = button(0)
C Button R = axis(2+)
C Button L = axis(2-)
C Button D = axis(3+)
C Button U = axis(3-)
R Trig = button(5)
L Trig = button(15)
Mempak switch =
Rumblepak switch =
# Analog axis configuration mappings
X Axis = axis(0-,0+)
Y Axis = axis(1-,1+)

View file

@ -0,0 +1,27 @@
input_libretro_device_p1 = "1"
input_libretro_device_p2 = "1"
input_libretro_device_p3 = "1"
input_libretro_device_p4 = "1"
input_libretro_device_p5 = "1"
input_player1_analog_dpad_mode = "1"
input_player1_btn_down = "6"
input_player1_btn_left = "4"
input_player1_btn_right = "5"
input_player1_btn_up = "7"
input_player1_stk_l_x+ = "5"
input_player1_stk_l_x- = "4"
input_player1_stk_l_y+ = "6"
input_player1_stk_l_y- = "7"
input_player1_stk_r_x+ = "5"
input_player1_stk_r_x- = "4"
input_player1_stk_r_y+ = "6"
input_player1_stk_r_y- = "7"
input_player2_analog_dpad_mode = "0"
input_player3_analog_dpad_mode = "0"
input_player4_analog_dpad_mode = "0"
input_player5_analog_dpad_mode = "0"
input_remap_port_p1 = "0"
input_remap_port_p2 = "1"
input_remap_port_p3 = "2"
input_remap_port_p4 = "3"
input_remap_port_p5 = "4"

View file

@ -0,0 +1,153 @@
mupen64plus-alt-map = "False"
mupen64plus-aspect = "4:3"
mupen64plus-astick-deadzone = "15"
mupen64plus-astick-sensitivity = "100"
mupen64plus-BackgroundMode = "Stripped"
mupen64plus-BilinearMode = "standard"
mupen64plus-CorrectTexrectCoords = "Auto"
mupen64plus-CountPerOp = "0"
mupen64plus-CountPerOpDenomPot = "0"
mupen64plus-cpucore = "dynamic_recompiler"
mupen64plus-d-cbutton = "C3"
mupen64plus-DitheringPattern = "True"
mupen64plus-DitheringQuantization = "True"
mupen64plus-EnableCopyAuxToRDRAM = "True"
mupen64plus-EnableCopyColorToRDRAM = "Async"
mupen64plus-EnableCopyDepthToRDRAM = "Software"
mupen64plus-EnableEnhancedHighResStorage = "False"
mupen64plus-EnableEnhancedTextureStorage = "False"
mupen64plus-EnableFBEmulation = "True"
mupen64plus-EnableFragmentDepthWrite = "True"
mupen64plus-EnableHiResAltCRC = "False"
mupen64plus-EnableHWLighting = "False"
mupen64plus-EnableInaccurateTextureCoordinates = "False"
mupen64plus-EnableLegacyBlending = "False"
mupen64plus-EnableLODEmulation = "True"
mupen64plus-EnableNativeResFactor = "1"
mupen64plus-EnableNativeResTexrects = "Optimized"
mupen64plus-EnableOverscan = "Enabled"
mupen64plus-EnableTexCoordBounds = "False"
mupen64plus-EnableTextureCache = "True"
mupen64plus-ForceDisableExtraMem = "False"
mupen64plus-FrameDuping = "True"
mupen64plus-Framerate = "Original"
mupen64plus-FXAA = "0"
mupen64plus-GLideN64IniBehaviour = "late"
mupen64plus-HybridFilter = "True"
mupen64plus-IgnoreTLBExceptions = "False"
mupen64plus-l-cbutton = "C2"
mupen64plus-MaxHiResTxVramLimit = "0"
mupen64plus-MaxTxCacheSize = "8000"
mupen64plus-MultiSampling = "0"
mupen64plus-OverscanBottom = "0"
mupen64plus-OverscanLeft = "0"
mupen64plus-OverscanRight = "0"
mupen64plus-OverscanTop = "0"
mupen64plus-pak1 = "memory"
mupen64plus-pak2 = "none"
mupen64plus-pak3 = "none"
mupen64plus-pak4 = "none"
mupen64plus-r-cbutton = "C1"
mupen64plus-rdp-plugin = "gliden64"
mupen64plus-RDRAMImageDitheringMode = "BlueNoise"
mupen64plus-rsp-plugin = "hle"
mupen64plus-ThreadedRenderer = "True"
mupen64plus-txCacheCompression = "True"
mupen64plus-txEnhancementMode = "None"
mupen64plus-txFilterIgnoreBG = "True"
mupen64plus-txFilterMode = "None"
mupen64plus-txHiresEnable = "False"
mupen64plus-txHiresFullAlphaChannel = "False"
mupen64plus-u-cbutton = "C4"
mupen64plus-virefresh = "Auto"
pcsx_rearmed_analog_axis_modifier = "circle"
pcsx_rearmed_async_cd = "sync"
pcsx_rearmed_bios = "auto"
pcsx_rearmed_display_internal_fps = "disabled"
pcsx_rearmed_dithering = "enabled"
pcsx_rearmed_drc = "enabled"
pcsx_rearmed_duping_enable = "enabled"
pcsx_rearmed_frameskip_type = "disabled"
pcsx_rearmed_gteregsunneeded = "disabled"
pcsx_rearmed_gunconadjustratiox = "1"
pcsx_rearmed_gunconadjustratioy = "1"
pcsx_rearmed_gunconadjustx = "0"
pcsx_rearmed_gunconadjusty = "0"
pcsx_rearmed_idiablofix = "disabled"
pcsx_rearmed_input_sensitivity = "1.00"
pcsx_rearmed_inuyasha_fix = "disabled"
pcsx_rearmed_memcard2 = "disabled"
pcsx_rearmed_multitap1 = "auto"
pcsx_rearmed_multitap2 = "auto"
pcsx_rearmed_negcon_deadzone = "0"
pcsx_rearmed_negcon_response = "linear"
pcsx_rearmed_neon_enhancement_enable = "disabled"
pcsx_rearmed_neon_enhancement_no_main = "disabled"
pcsx_rearmed_neon_interlace_enable = "disabled"
pcsx_rearmed_nocdaudio = "enabled"
pcsx_rearmed_nogteflags = "disabled"
pcsx_rearmed_nosmccheck = "disabled"
pcsx_rearmed_noxadecoding = "enabled"
pcsx_rearmed_pad1type = "standard"
pcsx_rearmed_pad2type = "standard"
pcsx_rearmed_pad3type = "none"
pcsx_rearmed_pad4type = "none"
pcsx_rearmed_pad5type = "none"
pcsx_rearmed_pad6type = "none"
pcsx_rearmed_pad7type = "none"
pcsx_rearmed_pad8type = "none"
pcsx_rearmed_pe2_fix = "disabled"
pcsx_rearmed_psxclock = "57"
pcsx_rearmed_region = "auto"
pcsx_rearmed_show_bios_bootlogo = "disabled"
pcsx_rearmed_show_other_input_settings = "disabled"
pcsx_rearmed_spu_interpolation = "simple"
pcsx_rearmed_spu_reverb = "enabled"
pcsx_rearmed_spuirq = "disabled"
pcsx_rearmed_vibration = "enabled"
gambatte_gb_colorization = "disabled"
gambatte_gb_internal_palette = ""
mame2003-plus_analog = "digital"
mame2003-plus_art_resolution = "1"
mame2003-plus_brightness = "1.0"
mame2003-plus_cheat_input_ports = "disabled"
mame2003-plus_core_save_subfolder = "enabled"
mame2003-plus_core_sys_subfolder = "enabled"
mame2003-plus_dcs_speedhack = "enabled"
mame2003-plus_deadzone = "20"
mame2003-plus_digital_joy_centering = "enabled"
mame2003-plus_display_artwork = "enabled"
mame2003-plus_display_setup = "disabled"
mame2003-plus_four_way_emulation = "disabled"
mame2003-plus_frameskip = "0"
mame2003-plus_gamma = "1.0"
mame2003-plus_input_interface = "retropad"
mame2003-plus_machine_timing = "enabled"
mame2003-plus_mame_remapping = "enabled"
mame2003-plus_mouse_device = "mouse"
mame2003-plus_sample_rate = "48000"
mame2003-plus_skip_disclaimer = "disabled"
mame2003-plus_skip_warnings = "disabled"
flycast_internal_resolution = "640x480"
flycast_alpha_sorting = "per-strip (fast, least accurate)"
flycast_enable_dsp = "disabled"
flycast_threaded_rendering = "enabled"
flycast_anisotropic_filtering = "off"
flycast_synchronous_rendering = "enabled"
flycast_enable_rtt = "disabled"
flycast_enable_rttb = "disabled"
flycast_delay_frame_swapping = "disabled"
flycast_div_matching = "auto"
flycast_texupscale = "off"
flycast_auto_skip_frame = "normal"
opera_swi_hle = "enabled"
opera_dsp_threaded = "enabled"
opera_madam_matrix_engine = "software"
puae_deadzone = "25"
melonds_screen_layout = "Left/Right"
melonds_swapscreen_mode = "Toggle"
melonds_threaded_renderer = "enabled"
melonds_touch_mode = "Joystick"
duckstation_GPU.Renderer = "Software"
virtualjaguar_bios = "enabled"
virtualjaguar_usefastblitter = "enabled"

View file

@ -0,0 +1,822 @@
accessibility_enable = "false"
accessibility_narrator_speech_speed = "5"
ai_service_enable = "true"
ai_service_mode = "1"
ai_service_pause = "false"
ai_service_source_lang = "0"
ai_service_target_lang = "0"
ai_service_url = "http://localhost:4404/"
all_users_control_menu = "true"
apply_cheats_after_load = "false"
apply_cheats_after_toggle = "false"
aspect_ratio_index = "22"
assets_directory = "/tmp/assets"
audio_block_frames = "0"
audio_device = ""
audio_driver = "alsathread"
audio_dsp_plugin = ""
audio_enable_menu_bgm = "false"
audio_enable_menu_cancel = "false"
audio_enable_menu = "false"
audio_enable_menu_notice = "false"
audio_enable_menu_ok = "false"
audio_enable = "true"
audio_fastforward_mute = "false"
audio_filter_dir = "~/.config/retroarch/filters/audio"
audio_latency = "64"
audio_max_timing_skew = "0.049999"
audio_mixer_mute_enable = "false"
audio_mixer_volume = "0.000000"
audio_mute_enable = "false"
audio_out_rate = "48000"
audio_rate_control_delta = "0.004999"
audio_rate_control = "true"
audio_resampler_quality = "2"
audio_resampler = "sinc"
audio_sync = "true"
audio_volume = "0.000000"
auto_overrides_enable = "true"
auto_remaps_enable = "true"
autosave_interval = "10"
auto_screenshot_filename = "true"
auto_shaders_enable = "true"
block_sram_overwrite = "false"
bluetooth_driver = "null"
builtin_imageviewer_enable = "true"
builtin_mediaplayer_enable = "true"
bundle_assets_dst_path = ""
bundle_assets_dst_path_subdir = ""
bundle_assets_extract_enable = "false"
bundle_assets_extract_last_version = "0"
bundle_assets_extract_version_current = "0"
bundle_assets_src_path = ""
cache_directory = "/tmp/cache"
camera_allow = "false"
camera_device = ""
camera_driver = "null"
cheat_database_path = "/tmp/database/cht"
check_firmware_before_loading = "false"
cheevos_auto_screenshot = "false"
cheevos_badges_enable = "false"
cheevos_challenge_indicators = "true"
cheevos_enable = "false"
cheevos_hardcore_mode_enable = "false"
cheevos_leaderboards_enable = ""
cheevos_password = ""
cheevos_richpresence_enable = "true"
cheevos_start_active = "false"
cheevos_test_unofficial = "false"
cheevos_token = ""
cheevos_unlock_sound_enable = "false"
cheevos_username = ""
cheevos_verbose_enable = "false"
config_save_on_exit = "true"
content_database_path = "/tmp/database/rdb"
content_favorites_directory = "default"
content_favorites_path = "~/.config/retroarch/content_favorites.lpl"
content_favorites_size = "200"
content_history_dir = ""
content_history_directory = "default"
content_history_path = "~/.config/retroarch/content_history.lpl"
content_history_size = "200"
content_image_history_directory = "default"
content_image_history_path = "~/.config/retroarch/content_image_history.lpl"
content_music_history_directory = "default"
content_music_history_path = "~/.config/retroarch/content_music_history.lpl"
content_runtime_log_aggregate = "false"
content_runtime_log = "true"
content_show_add_entry = "2"
content_show_add = "true"
content_show_explore = "true"
content_show_favorites = "true"
content_show_history = "true"
content_show_images = "false"
content_show_music = "false"
content_show_netplay = "true"
content_show_playlists = "true"
content_show_settings_password = ""
content_show_settings = "true"
content_show_video = "false"
content_video_directory = "default"
content_video_history_path = "~/.config/retroarch/content_video_history.lpl"
core_assets_directory = "~/roms/downloads"
core_info_cache_enable = "true"
core_option_category_enable = "true"
core_options_path = ""
core_set_supports_no_game_enable = "true"
core_updater_auto_backup = "false"
core_updater_auto_backup_history_size = "1"
core_updater_auto_extract_archive = "true"
core_updater_buildbot_assets_url = "http://buildbot.libretro.com/assets/"
core_updater_buildbot_cores_url = ""
core_updater_buildbot_url = "http://buildbot.libretro.com/nightly/linux/armhf/latest/"
core_updater_show_experimental_cores = "false"
cpu_main_gov = "performance"
cpu_max_freq = "-1"
cpu_menu_gov = "interactive"
cpu_min_freq = "1"
cpu_scaling_mode = "0"
crt_switch_center_adjust = "0"
crt_switch_hires_menu = "false"
crt_switch_porch_adjust = "0"
crt_switch_resolution = "0"
crt_switch_resolution_super = "2560"
crt_switch_resolution_use_custom_refresh_rate = "false"
crt_switch_timings = ""
crt_video_refresh_rate = "60.000000"
current_resolution_id = "0"
cursor_directory = "~/.config/retroarch/database/cursors"
desktop_menu_enable = "true"
discord_allow = "false"
discord_app_id = "475456035851599874"
driver_switch_enable = "true"
dynamic_wallpapers_directory = "default"
emuelec_exit_to_kodi = "false"
enable_device_vibration = "true"
facebook_stream_key = ""
fastforward_ratio = "0.000000"
filter_by_current_core = "false"
flicker_filter_enable = "false"
flicker_filter_index = "0"
fps_show = "false"
fps_update_interval = "256"
framecount_show = "false"
frame_time_counter_reset_after_fastforwarding = "false"
frame_time_counter_reset_after_load_state = "false"
frame_time_counter_reset_after_save_state = "false"
frontend_log_level = "1"
game_specific_options = "true"
gamma_correction = "0"
global_core_options = "false"
history_list_enable = "true"
input_ai_service_axis = "nul"
input_ai_service_btn = "nul"
input_ai_service_mbtn = "nul"
input_ai_service = "nul"
input_analog_deadzone = "0.000000"
input_analog_sensitivity = "1.500000"
input_audio_mute_axis = "nul"
input_audio_mute_btn = "nul"
input_audio_mute = "f9"
input_audio_mute_mbtn = "nul"
input_autodetect_enable = "true"
input_auto_game_focus = "0"
input_auto_mouse_grab = "false"
input_axis_threshold = "0.500000"
input_bind_hold = "2"
input_bind_timeout = "5"
input_cheat_index_minus_axis = "nul"
input_cheat_index_minus_btn = "nul"
input_cheat_index_minus_mbtn = "nul"
input_cheat_index_minus = "t"
input_cheat_index_plus_axis = "nul"
input_cheat_index_plus_btn = "nul"
input_cheat_index_plus_mbtn = "nul"
input_cheat_index_plus = "y"
input_cheat_toggle_axis = "nul"
input_cheat_toggle_btn = "nul"
input_cheat_toggle_mbtn = "nul"
input_cheat_toggle = "u"
input_close_content_axis = "nul"
input_close_content_btn = "nul"
input_close_content_mbtn = "nul"
input_close_content = "nul"
input_descriptor_hide_unbound = "false"
input_descriptor_label_show = "true"
input_desktop_menu_toggle_axis = "nul"
input_desktop_menu_toggle_btn = "nul"
input_desktop_menu_toggle = "f5"
input_desktop_menu_toggle_mbtn = "nul"
input_device_p1 = "0"
input_device_p10 = "0"
input_device_p11 = "0"
input_device_p12 = "0"
input_device_p13 = "0"
input_device_p14 = "0"
input_device_p15 = "0"
input_device_p16 = "0"
input_device_p2 = "0"
input_device_p3 = "0"
input_device_p4 = "0"
input_device_p5 = "0"
input_device_p6 = "0"
input_device_p7 = "0"
input_device_p8 = "0"
input_device_p9 = "0"
input_disk_eject_toggle_axis = "nul"
input_disk_eject_toggle_btn = "nul"
input_disk_eject_toggle_mbtn = "nul"
input_disk_eject_toggle = "nul"
input_disk_next_axis = "nul"
input_disk_next_btn = "nul"
input_disk_next_mbtn = "nul"
input_disk_next = "nul"
input_disk_prev_axis = "nul"
input_disk_prev_btn = "nul"
input_disk_prev_mbtn = "nul"
input_disk_prev = "nul"
input_driver = "udev"
input_duty_cycle = "3"
input_enable_hotkey_axis = "nul"
input_enable_hotkey_btn = "12"
input_enable_hotkey_mbtn = "nul"
input_enable_hotkey = "nul"
input_exit_emulator_axis = "nul"
input_exit_emulator_btn = "9"
input_exit_emulator = "escape"
input_exit_emulator_mbtn = "nul"
input_fps_toggle_axis = "nul"
input_fps_toggle_btn = "3"
input_fps_toggle = "f3"
input_fps_toggle_mbtn = "nul"
input_frame_advance_axis = "nul"
input_frame_advance_btn = "nul"
input_frame_advance = "k"
input_frame_advance_mbtn = "nul"
input_game_focus_toggle_axis = "nul"
input_game_focus_toggle_btn = "nul"
input_game_focus_toggle_mbtn = "nul"
input_game_focus_toggle = "scroll_lock"
input_grab_mouse_toggle_axis = "nul"
input_grab_mouse_toggle_btn = "nul"
input_grab_mouse_toggle = "f11"
input_grab_mouse_toggle_mbtn = "nul"
input_hold_fast_forward_axis = "nul"
input_hold_fast_forward_btn = "nul"
input_hold_fast_forward = "l"
input_hold_fast_forward_mbtn = "nul"
input_hold_slowmotion_axis = "nul"
input_hold_slowmotion_btn = "nul"
input_hold_slowmotion = "e"
input_hold_slowmotion_mbtn = "nul"
input_hotkey_block_delay = "5"
input_joypad_driver = "udev"
input_keyboard_layout = ""
input_libretro_device_p10 = "1"
input_libretro_device_p1 = "1"
input_libretro_device_p11 = "1"
input_libretro_device_p12 = "1"
input_libretro_device_p13 = "1"
input_libretro_device_p14 = "1"
input_libretro_device_p15 = "1"
input_libretro_device_p16 = "1"
input_libretro_device_p2 = "1"
input_libretro_device_p3 = "1"
input_libretro_device_p4 = "1"
input_libretro_device_p5 = "1"
input_libretro_device_p6 = "1"
input_libretro_device_p7 = "1"
input_libretro_device_p8 = "1"
input_libretro_device_p9 = "1"
input_load_state_axis = "nul"
input_load_state_btn = "4"
input_load_state = "f4"
input_load_state_mbtn = "nul"
input_max_users = "5"
input_menu_toggle_axis = "nul"
input_menu_toggle_btn = "2"
input_menu_toggle = "f1"
input_menu_toggle_gamepad_combo = "2"
input_menu_toggle_mbtn = "nul"
input_movie_record_toggle_axis = "nul"
input_movie_record_toggle_btn = "nul"
input_movie_record_toggle_mbtn = "nul"
input_movie_record_toggle = "o"
input_netplay_game_watch_axis = "nul"
input_netplay_game_watch_btn = "nul"
input_netplay_game_watch = "i"
input_netplay_game_watch_mbtn = "nul"
input_netplay_host_toggle_axis = "nul"
input_netplay_host_toggle_btn = "nul"
input_netplay_host_toggle_mbtn = "nul"
input_netplay_host_toggle = "nul"
input_nowinkey_enable = "false"
input_osk_toggle_axis = "nul"
input_osk_toggle_btn = "nul"
input_osk_toggle = "f12"
input_osk_toggle_mbtn = "nul"
input_overlay = ""
input_overlay_aspect_adjust_landscape = "0.000000"
input_overlay_aspect_adjust_portrait = "0.000000"
input_overlay_auto_rotate = "false"
input_overlay_auto_scale = "false"
input_overlay_enable_autopreferred = "true"
input_overlay_enable = "false"
input_overlay_hide_in_menu = "true"
input_overlay_hide_when_gamepad_connected = "false"
input_overlay_next_axis = "nul"
input_overlay_next_btn = "nul"
input_overlay_next_mbtn = "nul"
input_overlay_next = "nul"
input_overlay_opacity = "0.700000"
input_overlay_scale_landscape = "1.000000"
input_overlay_scale_portrait = "1.000000"
input_overlay_show_inputs = "2"
input_overlay_show_inputs_port = "0"
input_overlay_show_mouse_cursor = "true"
input_overlay_x_offset_landscape = "0.000000"
input_overlay_x_offset_portrait = "0.000000"
input_overlay_x_separation_landscape = "0.000000"
input_overlay_x_separation_portrait = "0.000000"
input_overlay_y_offset_landscape = "0.000000"
input_overlay_y_offset_portrait = "0.000000"
input_overlay_y_separation_landscape = "0.000000"
input_overlay_y_separation_portrait = "0.000000"
input_pause_toggle_axis = "nul"
input_pause_toggle_btn = "nul"
input_pause_toggle_mbtn = "nul"
input_pause_toggle = "p"
input_poll_type_behavior = "2"
input_quit_gamepad_combo = "4"
input_recording_toggle_axis = "nul"
input_recording_toggle_btn = "nul"
input_recording_toggle_mbtn = "nul"
input_recording_toggle = "nul"
input_remap_binds_enable = "true"
input_remapping_directory = "~/remappings"
input_reset_axis = "nul"
input_reset_btn = "nul"
input_reset = "h"
input_reset_mbtn = "nul"
input_rewind_axis = "nul"
input_rewind_btn = "6"
input_rewind_mbtn = "nul"
input_rewind = "r"
input_rumble_gain = "100"
input_runahead_toggle_axis = "nul"
input_runahead_toggle_btn = "nul"
input_runahead_toggle_mbtn = "nul"
input_runahead_toggle = "nul"
input_save_state_axis = "nul"
input_save_state_btn = "5"
input_save_state = "f2"
input_save_state_mbtn = "nul"
input_screenshot_axis = "nul"
input_screenshot_btn = "nul"
input_screenshot = "f8"
input_screenshot_mbtn = "nul"
input_send_debug_info_axis = "nul"
input_send_debug_info_btn = "nul"
input_send_debug_info = "f10"
input_send_debug_info_mbtn = "nul"
input_sensors_enable = "true"
input_shader_next_axis = "nul"
input_shader_next_btn = "nul"
input_shader_next = "m"
input_shader_next_mbtn = "nul"
input_shader_prev_axis = "nul"
input_shader_prev_btn = "nul"
input_shader_prev_mbtn = "nul"
input_shader_prev = "n"
input_state_slot_decrease_axis = "nul"
input_state_slot_decrease_btn = "nul"
input_state_slot_decrease = "f6"
input_state_slot_decrease_mbtn = "nul"
input_state_slot_increase_axis = "nul"
input_state_slot_increase_btn = "nul"
input_state_slot_increase = "f7"
input_state_slot_increase_mbtn = "nul"
input_streaming_toggle_axis = "nul"
input_streaming_toggle_btn = "nul"
input_streaming_toggle_mbtn = "nul"
input_streaming_toggle = "nul"
input_toggle_fast_forward_axis = "nul"
input_toggle_fast_forward_btn = "7"
input_toggle_fast_forward_mbtn = "nul"
input_toggle_fast_forward = "space"
input_toggle_fullscreen_axis = "nul"
input_toggle_fullscreen_btn = "nul"
input_toggle_fullscreen = "f"
input_toggle_fullscreen_mbtn = "nul"
input_toggle_slowmotion_axis = "nul"
input_toggle_slowmotion_btn = "nul"
input_toggle_slowmotion_mbtn = "nul"
input_toggle_slowmotion = "nul"
input_touch_scale = "1"
input_turbo_default_button = "0"
input_turbo_mode = "0"
input_turbo_period = "6"
input_volume_down_axis = "nul"
input_volume_down_btn = "nul"
input_volume_down_mbtn = "nul"
input_volume_down = "subtract"
input_volume_up = "add"
input_volume_up_axis = "nul"
input_volume_up_btn = "nul"
input_volume_up_mbtn = "nul"
joypad_autoconfig_dir = "/tmp/joypads"
keyboard_gamepad_enable = "true"
keyboard_gamepad_mapping_type = "1"
kiosk_mode_enable = "false"
kiosk_mode_password = ""
led_driver = "null"
libretro_directory = "/tmp/cores"
libretro_info_path = "/tmp/cores"
libretro_log_level = "1"
load_dummy_on_core_shutdown = "true"
location_allow = "false"
location_driver = "null"
log_dir = "~/.config/retroarch/logs"
log_to_file = "false"
log_to_file_timestamp = "false"
log_verbosity = "true"
materialui_auto_rotate_nav_bar = "true"
materialui_dual_thumbnail_list_view_enable = "true"
materialui_icons_enable = "true"
materialui_landscape_layout_optimization = "1"
materialui_menu_color_theme = "9"
materialui_menu_transition_animation = "0"
materialui_playlist_icons_enable = "true"
materialui_show_nav_bar = "true"
materialui_thumbnail_background_enable = "true"
materialui_thumbnail_view_landscape = "2"
materialui_thumbnail_view_portrait = "1"
memory_show = "false"
memory_update_interval = "256"
menu_battery_level_enable = "true"
menu_core_enable = "true"
menu_driver = "xmb"
menu_dynamic_wallpaper_enable = "false"
menu_enable_widgets = "true"
menu_font_color_blue = "255"
menu_font_color_green = "255"
menu_font_color_red = "255"
menu_footer_opacity = "1.000000"
menu_framebuffer_opacity = "0.899999"
menu_header_opacity = "1.000000"
menu_horizontal_animation = "true"
menu_insert_disk_resume = "true"
menu_left_thumbnails = "0"
menu_linear_filter = "false"
menu_mouse_enable = "false"
menu_navigation_browser_filter_supported_extensions_enable = "true"
menu_navigation_wraparound_enable = "true"
menu_pause_libretro = "true"
menu_pointer_enable = "false"
menu_rgui_full_width_layout = "true"
menu_rgui_shadows = "false"
menu_rgui_transparency = "true"
menu_savestate_resume = "true"
menu_scale_factor = "0.900000"
menu_screensaver_animation = "0"
menu_screensaver_animation_speed = "1.000000"
menu_screensaver_timeout = "0"
menu_scroll_delay = "256"
menu_scroll_fast = "false"
menu_shader_pipeline = "2"
menu_show_advanced_settings = "true"
menu_show_configurations = "true"
menu_show_core_updater = "false"
menu_show_dump_disc = "true"
menu_show_help = "true"
menu_show_information = "true"
menu_show_latency = "true"
menu_show_legacy_thumbnail_updater = "false"
menu_show_load_content_animation = "false"
menu_show_load_content = "true"
menu_show_load_core = "true"
menu_show_load_disc = "true"
menu_show_online_updater = "true"
menu_show_overlays = "true"
menu_show_quit_retroarch = "true"
menu_show_reboot = "false"
menu_show_restart_retroarch = "true"
menu_show_rewind = "true"
menu_show_shutdown = "false"
menu_show_sublabels = "true"
menu_show_video_layout = "true"
menu_swap_ok_cancel_buttons = "false"
menu_throttle_framerate = "true"
menu_thumbnails = "3"
menu_thumbnail_upscale_threshold = "0"
menu_ticker_smooth = "true"
menu_ticker_speed = "2.000000"
menu_ticker_type = "1"
menu_timedate_date_separator = "0"
menu_timedate_enable = "true"
menu_timedate_style = "11"
menu_unified_controls = "false"
menu_use_preferred_system_color_theme = "false"
menu_wallpaper = ""
menu_wallpaper_opacity = "1.000000"
menu_widget_scale_auto = "false"
menu_widget_scale_factor = "1.000000"
menu_widget_scale_factor_windowed = "1.000000"
menu_xmb_animation_horizontal_highlight = "0"
menu_xmb_animation_move_up_down = "0"
menu_xmb_animation_opening_main_menu = "0"
menu_xmb_thumbnail_scale_factor = "100"
midi_driver = "alsa"
midi_input = "Off"
midi_output = "Off"
midi_volume = "100"
netplay_allow_slaves = "true"
netplay_check_frames = "600"
netplay_input_latency_frames_min = "0"
netplay_input_latency_frames_range = "0"
netplay_ip_address = ""
netplay_ip_port = "55435"
netplay_max_connections = "3"
netplay_mitm_server = "nyc"
netplay_nat_traversal = "true"
netplay_nickname = ""
netplay_password = ""
netplay_public_announce = "true"
netplay_request_device_p10 = "false"
netplay_request_device_p11 = "false"
netplay_request_device_p12 = "false"
netplay_request_device_p13 = "false"
netplay_request_device_p14 = "false"
netplay_request_device_p15 = "false"
netplay_request_device_p16 = "false"
netplay_request_device_p1 = "false"
netplay_request_device_p2 = "false"
netplay_request_device_p3 = "false"
netplay_request_device_p4 = "false"
netplay_request_device_p5 = "false"
netplay_request_device_p6 = "false"
netplay_request_device_p7 = "false"
netplay_request_device_p8 = "false"
netplay_request_device_p9 = "false"
netplay_require_slaves = "false"
netplay_share_analog = "1"
netplay_share_digital = "1"
netplay_spectate_password = ""
netplay_start_as_spectator = "false"
netplay_stateless_mode = "false"
netplay_use_mitm_server = "false"
network_cmd_enable = "false"
network_cmd_port = "55355"
network_on_demand_thumbnails = "false"
network_remote_base_port = "55400"
network_remote_enable = "false"
network_remote_enable_user_p10 = "false"
network_remote_enable_user_p11 = "false"
network_remote_enable_user_p12 = "false"
network_remote_enable_user_p13 = "false"
network_remote_enable_user_p14 = "false"
network_remote_enable_user_p15 = "false"
network_remote_enable_user_p16 = "false"
network_remote_enable_user_p1 = "false"
network_remote_enable_user_p2 = "false"
network_remote_enable_user_p3 = "false"
network_remote_enable_user_p4 = "false"
network_remote_enable_user_p5 = "false"
network_remote_enable_user_p6 = "false"
network_remote_enable_user_p7 = "false"
network_remote_enable_user_p8 = "false"
network_remote_enable_user_p9 = "false"
notification_show_autoconfig = "false"
notification_show_cheats_applied = "true"
notification_show_config_override_load = "false"
notification_show_fast_forward = "true"
notification_show_netplay_extra = "false"
notification_show_patch_applied = "true"
notification_show_refresh_rate = "true"
notification_show_remap_load = "false"
notification_show_screenshot_duration = "2"
notification_show_screenshot = "false"
notification_show_screenshot_flash = "1"
notification_show_set_initial_disk = "true"
overlay_directory = "/tmp/overlays"
ozone_collapse_sidebar = "false"
ozone_menu_color_theme = "1"
ozone_scroll_content_metadata = "false"
ozone_sort_after_truncate_playlist_name = "true"
ozone_truncate_playlist_name = "true"
pause_nonactive = "true"
perfcnt_enable = "false"
playlist_compression = "false"
playlist_cores = "/usr/lib/libretro/stella_libretro.so;/usr/lib/libretro/atari800_libretro.so;/usr/lib/libretro/prosystem_libretro.so;/usr/lib/libretro/virtualjaguar_libretro.so;/usr/lib/libretro/handy_libretro.so;/usr/lib/libretro/hatari_libretro.so;/usr/lib/libretro/beetle_wswan_libretro.so;/usr/lib/libretro/beetle_wswan_libretro.so;/usr/lib/libretro/nxengine_libretro.so;/usr/lib/libretro/chailove_libretro.so;/usr/lib/libretro/bluemsx_libretro.so;/tmp/cores/vice_xpet_libretro.so;/usr/lib/libretro/vice_x64_libretro.so;/usr/lib/libretro/vice_x64_libretro.so;/usr/lib/libretro/vice_x64_libretro.so;/usr/lib/libretro/puae_libretro.so;/usr/lib/libretro/vice_xplus4_libretro.so;/usr/lib/libretro/vice_xvic_libretro.so;/usr/lib/libretro/dinothawr_libretro.so;/usr/lib/libretro/prboom_libretro.so;/usr/lib/libretro/dosbox_libretro.so;/usr/lib/libretro/fbneo_libretro.so;/usr/lib/libretro/reminiscence_libretro.so;/usr/lib/libretro/vecx_libretro.so;/usr/lib/libretro/lutro_libretro.so;/usr/lib/libretro/o2em_libretro.so;/usr/lib/libretro/mame2003_plus_libretro.so;/usr/lib/libretro/mame2010_libretro.so;/usr/lib/libretro/freeintv_libretro.so;/usr/lib/libretro/bluemsx_libretro.so;/usr/lib/libretro/bluemsx_libretro.so;/usr/lib/libretro/beetle_supergrafx_libretro.so;/usr/lib/libretro/beetle_pce_fast_libretro.so;/usr/lib/libretro/nestopia_libretro.so;/usr/lib/libretro/mgba_libretro.so;/usr/lib/libretro/mgba_libretro.so;/usr/lib/libretro/gambatte_libretro.so;/usr/lib/libretro/gambatte_libretro.so;/usr/lib/libretro/dolphin_libretro.so;/usr/lib/libretro/citra_libretro.so;/usr/lib/libretro/parallel_n64_libretro.so;/usr/lib/libretro/desmume_libretro.so;/usr/lib/libretro/desmume_libretro.so;/usr/lib/libretro/desmume_libretro.so;/usr/lib/libretro/desmume_libretro.so;/usr/lib/libretro/desmume_libretro.so;/usr/lib/libretro/nestopia_libretro.so;/usr/lib/libretro/snes9x2010_libretro.so;/usr/lib/libretro/snes9x2010_libretro.so;/usr/lib/libretro/beetle_vb_libretro.so;/usr/lib/libretro/dolphin_libretro.so;/usr/lib/libretro/pokemini_libretro.so;/usr/lib/libretro/tyrquake_libretro.so;/usr/lib/libretro/scummvm_libretro.so;/usr/lib/libretro/picodrive_libretro.so;/usr/lib/libretro/flycast_libretro.so;/usr/lib/libretro/genesis_plus_gx_libretro.so;/usr/lib/libretro/genesis_plus_gx_libretro.so;/usr/lib/libretro/genesis_plus_gx_libretro.so;/usr/lib/libretro/picodrive_libretro.so;/usr/lib/libretro/genesis_plus_gx_libretro.so;/usr/lib/libretro/yabause_libretro.so;/usr/lib/libretro/fuse_libretro.so;/usr/lib/libretro/beetle_ngp_libretro.so;/usr/lib/libretro/beetle_ngp_libretro.so;/usr/lib/libretro/play_libretro.so;/usr/lib/libretro/ppsspp_libretro.so;/usr/lib/libretro/pcsx_rearmed_libretro.so;/usr/lib/libretro/theodore_libretro.so;/usr/lib/libretro/tic80_libretro.so;/usr/lib/libretro/4do_libretro.so"
playlist_directory = "~/playlists"
playlist_entry_remove_enable = "1"
playlist_entry_remove = "false"
playlist_entry_rename = "false"
playlist_fuzzy_archive_match = "false"
playlist_names = "Atari - 2600.lpl;Atari - 5200.lpl;Atari - 7800.lpl;Atari - Jaguar.lpl;Atari - Lynx.lpl;Atari - ST.lpl;Bandai - WonderSwan Color.lpl;Bandai - WonderSwan.lpl;Cave Story.lpl;ChaiLove.lpl;Coleco - ColecoVision.lpl;Commodore - 64 (PP).lpl;Commodore - 64 (Tapes).lpl;Commodore - 64.lpl;Commodore - Amiga.lpl;Commodore - Plus-4.lpl;Commodore - PET.lpl;Commodore - VIC20.lpl;Dinothawr.lpl;DOOM.lpl;DOS.lpl;FBNeo - Arcade Games.lpl;Flashback.lpl;GCE - Vectrex.lpl;Lutro.lpl;Magnavox - Odyssey2.lpl;MAME 2003-Plus.lpl;MAME 2010.lpl;Mattel - Intellivision.lpl;Microsoft - MSX2.lpl;Microsoft - MSX.lpl;NEC - PC Engine SuperGrafx.lpl;NEC - PC Engine - TurboGrafx 16.lpl;Nintendo - Famicom Disk System.lpl;Nintendo - Game Boy Advance (e-Cards).lpl;Nintendo - Game Boy Advance.lpl;Nintendo - Game Boy Color.lpl;Nintendo - Game Boy.lpl;Nintendo - GameCube.lpl;Nintendo - Nintendo 3DS.lpl;Nintendo - Nintendo 64.lpl;Nintendo - Nintendo DS.lpl;Nintendo - Nintendo DS Decrypted.lpl;Nintendo - Nintendo DS (Download Play) (BETA).lpl;Nintendo - Nintendo DSi Decrypted.lpl;Nintendo - Nintendo DSi (DLC).lpl;Nintendo - Nintendo Entertainment System.lpl;Nintendo - Satellaview.lpl;Nintendo - Super Nintendo Entertainment System.lpl;Nintendo - Virtual Boy.lpl;Nintendo - Wii.lpl;Nintendo - Pokemon Mini (PokeMini).lpl;Quake.lpl;ScummVM.lpl;Sega - 32X.lpl;Sega - Dreamcast.lpl;Sega - Game Gear.lpl;Sega - Master System - Mark III.lpl;Sega - Mega Drive - Genesis.lpl;Sega - PICO.lpl;Sega - SG-1000.lpl;Sega - Saturn.lpl;Sinclair - ZX Spectrum +3.lpl;SNK - Neo Geo Pocket Color.lpl;SNK - Neo Geo Pocket.lpl;Sony - PlayStation 2.lpl;Sony - PlayStation Portable.lpl;Sony - PlayStation.lpl;Thomson - MOTO.lpl;TIC-80.lpl;The 3DO Company - 3DO.lpl"
playlist_portable_paths = "false"
playlist_show_entry_idx = "true"
playlist_show_inline_core_name = "0"
playlist_show_sublabels = "true"
playlist_sort_alphabetical = "true"
playlist_sublabel_last_played_style = "0"
playlist_sublabel_runtime_type = "0"
playlist_use_old_format = "false"
quick_menu_show_add_to_favorites = "true"
quick_menu_show_cheats = "true"
quick_menu_show_close_content = "true"
quick_menu_show_controls = "true"
quick_menu_show_core_options_flush = "false"
quick_menu_show_download_thumbnails = "true"
quick_menu_show_information = "true"
quick_menu_show_options = "true"
quick_menu_show_recording = "true"
quick_menu_show_reset_core_association = "true"
quick_menu_show_restart_content = "true"
quick_menu_show_resume_content = "true"
quick_menu_show_save_content_dir_overrides = "true"
quick_menu_show_save_core_overrides = "false"
quick_menu_show_save_game_overrides = "false"
quick_menu_show_save_load_state = "true"
quick_menu_show_set_core_association = "true"
quick_menu_show_shaders = "true"
quick_menu_show_start_recording = "true"
quick_menu_show_start_streaming = "true"
quick_menu_show_streaming = "true"
quick_menu_show_take_screenshot = "true"
quick_menu_show_undo_save_load_state = "false"
quit_on_close_content = "0"
quit_press_twice = "true"
record_driver = "null"
recording_config_directory = ""
recording_output_directory = "~/roms/screenshots"
resampler_directory = ""
rewind_buffer_size = "20971520"
rewind_buffer_size_step = "10"
rewind_enable = "false"
rewind_granularity = "1"
rgui_aspect_ratio = "0"
rgui_aspect_ratio_lock = "0"
rgui_background_filler_thickness_enable = "true"
rgui_border_filler_enable = "true"
rgui_border_filler_thickness_enable = "true"
rgui_browser_directory = "~/roms"
rgui_config_directory = "~/.config/retroarch/config"
rgui_extended_ascii = "false"
rgui_inline_thumbnails = "false"
rgui_internal_upscale_level = "0"
rgui_menu_color_theme = "4"
rgui_menu_theme_preset = ""
rgui_particle_effect = "0"
rgui_particle_effect_screensaver = "true"
rgui_particle_effect_speed = "1.000000"
rgui_show_start_screen = "false"
rgui_swap_thumbnails = "false"
rgui_switch_icons = "true"
rgui_thumbnail_delay = "0"
rgui_thumbnail_downscaler = "0"
run_ahead_enabled = "false"
run_ahead_frames = "1"
run_ahead_hide_warnings = "false"
run_ahead_secondary_instance = "true"
runtime_log_directory = "default"
save_file_compression = "false"
savefile_directory = "~/.config/retroarch/saves"
savefiles_in_content_dir = "true"
savestate_auto_index = "false"
savestate_auto_load = "false"
savestate_auto_save = "false"
savestate_directory = "~/.config/retroarch/states"
savestate_file_compression = "true"
savestate_max_keep = "0"
savestates_in_content_dir = "false"
savestate_thumbnail_enable = "true"
scan_without_core_match = "false"
screen_brightness = "100"
screen_orientation = "0"
screenshot_directory = "~/roms/screenshots"
screenshots_in_content_dir = "false"
settings_show_accessibility = "true"
settings_show_achievements = "true"
settings_show_ai_service = "true"
settings_show_audio = "true"
settings_show_configuration = "true"
settings_show_core = "true"
settings_show_directory = "true"
settings_show_drivers = "true"
settings_show_file_browser = "true"
settings_show_frame_throttle = "true"
settings_show_input = "true"
settings_show_latency = "true"
settings_show_logging = "true"
settings_show_network = "true"
settings_show_onscreen_display = "true"
settings_show_playlists = "true"
settings_show_power_management = "true"
settings_show_recording = "true"
settings_show_saving = "true"
settings_show_user_interface = "true"
settings_show_user = "true"
settings_show_video = "true"
show_hidden_files = "false"
slowmotion_ratio = "3.000000"
soft_filter_enable = "false"
soft_filter_index = "0"
sort_savefiles_by_content_enable = "false"
sort_savefiles_enable = "false"
sort_savestates_by_content_enable = "false"
sort_savestates_enable = "false"
sort_screenshots_by_content_enable = "false"
state_slot = "0"
statistics_show = "false"
stdin_cmd_enable = "false"
streaming_mode = "0"
suspend_screensaver_enable = "true"
sustained_performance_mode = "false"
system_directory = "~/roms/bios"
systemfiles_in_content_dir = "false"
threaded_data_runloop_enable = "true"
thumbnails_directory = "~/thumbnails"
twitch_stream_key = ""
ui_companion_enable = "false"
ui_companion_start_on_boot = "true"
ui_companion_toggle = "false"
ui_menubar_enable = "true"
use_last_start_directory = "false"
user_language = "0"
vibrate_on_keypress = "true"
video_adaptive_vsync = "false"
video_allow_rotate = "true"
video_aspect_ratio = "-1.000000"
video_aspect_ratio_auto = "true"
video_black_frame_insertion = "0"
video_context_driver = ""
video_crop_overscan = "true"
video_ctx_scaling = "false"
video_disable_composition = "false"
video_driver = "gl"
video_filter = ""
video_filter_dir = "~/.config/retroarch/filters/video"
video_font_enable = "true"
video_font_path = "/usr/share/retroarch-assets/xmb/monochrome/font.ttf"
video_font_size = "32.000000"
video_force_aspect = "true"
video_force_srgb_disable = "false"
video_frame_delay = "0"
video_frame_delay_auto = "false"
video_fullscreen = "true"
video_fullscreen_x = "0"
video_fullscreen_y = "0"
video_gpu_record = "false"
video_gpu_screenshot = "false"
video_hard_sync = "false"
video_hard_sync_frames = "0"
video_hdr_display_contrast = "5.000000"
video_hdr_enable = "false"
video_hdr_expand_gamut = "true"
video_hdr_max_nits = "1000.000000"
video_hdr_paper_white_nits = "200.000000"
video_layout_directory = "~/.config/retroarch/layouts"
video_layout_enable = "true"
video_layout_path = ""
video_layout_selected_view = "0"
video_max_swapchain_images = "3"
video_message_color = "ffff00"
video_message_pos_x = "0.049999"
video_message_pos_y = "0.049999"
video_monitor_index = "0"
video_msg_bgcolor_blue = "0"
video_msg_bgcolor_enable = "false"
video_msg_bgcolor_green = "0"
video_msg_bgcolor_opacity = "1.000000"
video_msg_bgcolor_red = "0"
video_notch_write_over_enable = "false"
video_oga_vertical_enable = "false"
video_post_filter_record = "false"
video_record_config = ""
video_record_quality = "4"
video_record_scale_factor = "1"
video_record_threads = "2"
video_refresh_rate = "60.000000"
video_rotation = "0"
video_scale = "3.000000"
video_scale_integer = "false"
video_scale_integer_overscale = "false"
video_shader_delay = "0"
video_shader_dir = "/tmp/shaders"
video_shader_enable = "false"
video_shader_preset_save_reference_enable = "true"
video_shader_remember_last_dir = "false"
video_shader_watch_files = "false"
video_shared_context = "false"
video_smooth = "false"
video_stream_config = ""
video_stream_port = "56400"
video_stream_quality = "10"
video_stream_scale_factor = "1"
video_stream_url = ""
video_swap_interval = "1"
video_threaded = "true"
video_vsync = "true"
video_window_auto_height_max = "1080"
video_window_auto_width_max = "1920"
video_window_custom_size_enable = "false"
video_windowed_fullscreen = "false"
video_windowed_position_height = "720"
video_windowed_position_width = "1280"
video_windowed_position_x = "0"
video_windowed_position_y = "0"
video_window_opacity = "100"
video_window_save_positions = "false"
video_window_show_decorations = "true"
vrr_runloop_enable = "false"
wifi_driver = "null"
wifi_enabled = "true"
xmb_alpha_factor = "75"
xmb_font = "/usr/share/retroarch-assets/xmb/monochrome/font.ttf"
xmb_layout = "2"
xmb_menu_color_theme = "4"
xmb_shadows_enable = "true"
xmb_theme = "0"
xmb_vertical_thumbnails = "false"
youtube_stream_key = ""

View file

@ -0,0 +1,2 @@
audio_filter_dir = "/usr/share/retroarch/filters/32bit/audio"
video_filter_dir = "/usr/share/retroarch/filters/32bit/video"

View file

@ -0,0 +1,2 @@
audio_filter_dir = "/usr/share/retroarch/filters/64bit/audio"
video_filter_dir = "/usr/share/retroarch/filters/64bit/video"

View file

@ -14,7 +14,7 @@ PKG_TOOLCHAIN="make"
PKG_AUTORECONF="no"
pre_make_target() {
if [[ "${DEVICE}" =~ RG351 ]]
if [[ "${DEVICE}" =~ RG351 ]] || [[ "${DEVICE}" =~ RGB20S ]]
then
PKG_MAKE_OPTS_TARGET+=" platform=RK3326"
elif [[ "${DEVICE}" =~ RG503 ]] || [[ "${DEVICE}" =~ RG353P ]]

View file

@ -37,7 +37,7 @@ PKG_TOOLCHAIN="make"
PKG_PATCH_DIRS+="${DEVICE}"
make_target() {
if [[ "${DEVICE}" =~ RG351 ]]
if [[ "${DEVICE}" =~ RG351 ]] || [[ "${DEVICE}" =~ RGB20S ]]
then
PKG_MAKE_OPTS_TARGET+=" platform=RG351x"
elif [[ "${DEVICE}" =~ RG503 ]] || [[ "${DEVICE}" =~ RG353P ]]

View file

@ -0,0 +1 @@
RG351P

View file

@ -48,7 +48,7 @@ pre_configure_target() {
pre_make_target() {
export BUILD_SYSROOT=${SYSROOT_PREFIX}
case ${DEVICE} in
RG351P|RG351V|RG351MP)
RG351P|RG351V|RG351MP|RGB20S)
PKG_MAKE_OPTS_TARGET+=" platform=RG351x"
;;
RG353P|RG503)

View file

@ -0,0 +1 @@
RG351P

View file

@ -40,7 +40,7 @@ PKG_AUTORECONF="no"
if [ "${ARCH}" = "arm" ]
then
make_target() {
if [[ "${DEVICE}" =~ RG351 ]]
if [[ "${DEVICE}" =~ RG351 ]] || [[ "${DEVICE}" =~ RGB20S ]]
then
make CC=${CC} platform=RG351x
elif [[ "${DEVICE}" =~ RG503 ]] || [[ "${DEVICE}" =~ RG353P ]]

View file

@ -0,0 +1 @@
RG351P

View file

@ -30,7 +30,7 @@ pre_make_target() {
fi
case ${DEVICE} in
RG351P|RG351V|RG351MP)
RG351P|RG351V|RG351MP|RGB20S)
PKG_MAKE_OPTS_TARGET=" platform=odroidgoa"
;;
RG552)

View file

@ -26,7 +26,7 @@ fi
pre_configure_target() {
sed -e "s|^GIT_VERSION ?.*$|GIT_VERSION := \" ${PKG_VERSION:0:7}\"|" -i Makefile
case ${DEVICE} in
RG351P|RG351V|RG351MP)
RG351P|RG351V|RG351MP|RGB20S)
PKG_MAKE_OPTS_TARGET=" platform=RK3326"
;;
RG552)

View file

@ -0,0 +1 @@
RG351P

View file

@ -48,7 +48,7 @@ pre_make_target() {
pre_configure_target() {
case ${DEVICE} in
RG351P|RG351V|RG351MP)
RG351P|RG351V|RG351MP|RGB20S)
PKG_MAKE_OPTS_TARGET=" platform=RK3326"
CFLAGS="${CFLAGS} -DLINUX -DEGL_API_FB"
CPPFLAGS="${CPPFLAGS} -DLINUX -DEGL_API_FB"

View file

@ -0,0 +1 @@
RG351P

View file

@ -27,14 +27,14 @@ fi
case ${ARCH} in
arm)
case ${DEVICE} in
RG351P|RG351V|RG351MP)
PKG_MAKE_OPTS_TARGET=" platform=RG351x"
RG351P|RG351V|RG351MP|RGB20S)
PKG_MAKE_OPTS_TARGET+=" platform=RG351x"
;;
RG503|RG353P)
PKG_MAKE_OPTS_TARGET+=" platform=RK3566"
;;
RG552)
PKG_MAKE_OPTS_TARGET=" platform=${DEVICE}"
PKG_MAKE_OPTS_TARGET+=" platform=${DEVICE}"
;;
esac
;;

View file

@ -0,0 +1 @@
RG351P

View file

@ -26,7 +26,7 @@ fi
case ${ARCH} in
arm)
case ${DEVICE} in
RG351P|RG351V|RG351MP)
RG351P|RG351V|RG351MP|RGB20S)
PKG_MAKE_OPTS_TARGET=" platform=RG351x"
;;
RG503|RG353P)

View file

@ -0,0 +1 @@
RG351P

View file

@ -26,7 +26,7 @@ fi
case ${ARCH} in
arm)
case ${DEVICE} in
RG351P|RG351V|RG351MP)
RG351P|RG351V|RG351MP|RGB20S)
PKG_MAKE_OPTS_TARGET=" platform=RG351x"
;;
RG503|RG353P)

View file

@ -0,0 +1 @@
RG351P

View file

@ -16,7 +16,7 @@ PKG_PATCH_DIRS+="${TARGET_ARCH}/${DEVICE}"
make_target() {
cd ${PKG_BUILD}
if [[ "${DEVICE}" =~ RG351 ]]
if [[ "${DEVICE}" =~ RG351 ]] || [[ "${DEVICE}" =~ RGB20S ]]
then
make -f Makefile.libretro GIT_VERSION=${PKG_VERSION} platform=RG351x
elif [[ "${DEVICE}" =~ RG503 ]] || [[ "${DEVICE}" =~ RG353P ]]

View file

@ -0,0 +1 @@
RG351P

View file

@ -0,0 +1 @@
RG351P

View file

@ -65,15 +65,6 @@ else
PKG_CMAKE_OPTS_TARGET+=" -DUSE_WAYLAND_WSI=OFF"
fi
case ${TARGET_ARCH} in
arm)
PKG_CMAKE_OPTS_TARGET+=" -DARMV7=ON"
;;
aarch64)
PKG_CMAKE_OPTS_TARGET+=" -DARM64=ON"
;;
esac
PKG_CMAKE_OPTS_TARGET+="${PKG_CMAKE_OPTS_TARGET} \
-DUSE_SYSTEM_FFMPEG=OFF \
-DCMAKE_BUILD_TYPE=Release \

View file

@ -16,7 +16,7 @@ PKG_AUTORECONF="no"
pre_make_target() {
export BUILD_SYSROOT=${SYSROOT_PREFIX}
if [[ "${DEVICE}" =~ RG351 ]]
if [[ "${DEVICE}" =~ RG351 ]] || [[ "${DEVICE}" =~ RGB20S ]]
then
PKG_MAKE_OPTS_TARGET+=" platform=RK3326"
elif [[ "${DEVICE}" =~ RG503 ]] || [[ "${DEVICE}" =~ RG353P ]]

View file

@ -26,7 +26,7 @@ index 700146a..f853845 100644
+ GLES := 1
+ GLES31 := 1
+
+# Anbernic RG351P/M, RG351MP, RG351V
+# Anbernic RG351P/M, RG351MP, RG351V, RGB20S
+else ifeq ($(platform), RK3326)
+ TARGET := $(TARGET_NAME)_libretro.so
+ fpic := -fPIC

View file

@ -46,7 +46,7 @@ fi
pre_configure_target() {
case ${DEVICE} in
RG351P|RG351V|RG351MP|RG353P|RG503|RG552)
RG351P|RG351V|RG351MP|RG353P|RG503|RG552|RGB20S)
PKG_MAKE_OPTS_TARGET+=" -C yabause/src/libretro platform=rockpro64 HAVE_NEON=0 FORCE_GLES=1"
;;
*)

View file

@ -0,0 +1 @@
RG351P

View file

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

View file

@ -0,0 +1,2 @@
190000004b4800000011000000010000,GO-Super Gamepad,x:b2,a:b1,b:b0,y:b3,back:b12,start:b13,dpleft:b10,dpdown:b9,dpright:b11,dpup:b8,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b14,guide:b15,leftx:a0,lefty:a1,rightx:a2,righty:a3,platform:Linux,

View file

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

View file

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

View file

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

View file

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

View file

@ -45,7 +45,7 @@ esac
### Bluetooth support for some devices
case "${DEVICE}" in
RG503|RG353P|RG552|RG351P|RG351V|RG351MP)
RG503|RG353P|RG552|RG351P|RG351V|RG351MP|RGB20S)
PKG_TOOLS+=" pygobject"
;;
esac
@ -126,8 +126,11 @@ post_install() {
mkdir -p ${INSTALL}/usr/lib/autostart/daemons
cp ${PKG_DIR}/sources/autostart/common/* ${INSTALL}/usr/lib/autostart/common
cp ${PKG_DIR}/sources/autostart/daemons/* ${INSTALL}/usr/lib/autostart/daemons
mkdir -p ${INSTALL}/usr/lib/autostart/quirks
cp -r ${PKG_DIR}/sources/autostart/quirks/* ${INSTALL}/usr/lib/autostart/quirks
if [ -d "${PKG_DIR}/sources/autostart/${DEVICE}" ]
then
mkdir -p ${INSTALL}/usr/lib/autostart/${DEVICE}
cp ${PKG_DIR}/sources/autostart/${DEVICE}/* ${INSTALL}/usr/lib/autostart/${DEVICE}
fi
chmod -R 0755 ${INSTALL}/usr/lib/autostart ${INSTALL}/usr/bin/autostart
enable_service jelos-autostart.service
@ -148,19 +151,16 @@ post_install() {
EOF
cp ${PKG_DIR}/sources/scripts/* ${INSTALL}/usr/bin
chmod 0755 ${INSTALL}/usr/bin/* ||:
enable_service jelos-automount.service
if [ -d "${PKG_DIR}/sources/asound/${DEVICE}" ]
then
cp ${PKG_DIR}/sources/asound/${DEVICE}/* ${INSTALL}/usr/config/
fi
cp ${PKG_DIR}/sources/asound/asound.conf.bluealsa ${INSTALL}/usr/config/
sed -i "s#@DEVICENAME@#${DEVICE}#g" ${INSTALL}/usr/config/system/configs/system.cfg
if [[ "${DEVICE}" =~ RG351P ]]
if [[ "${DEVICE}" =~ RG351P ]] || [[ "${DEVICE}" =~ RGB20S ]]
then
sed -i "s#.integerscale=1#.integerscale=0#g" ${INSTALL}/usr/config/system/configs/system.cfg
sed -i "s#.rgascale=0#.rgascale=1#g" ${INSTALL}/usr/config/system/configs/system.cfg

View file

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

View file

@ -0,0 +1 @@
RG351P

View file

@ -0,0 +1,21 @@
#!/bin/bash
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2021-present Fewtarius (https://github.com/fewtarius)
. /etc/profile
# Enable GPIO 77 for power LED manipulation
echo ${DEVICE_LED} > /sys/class/gpio/export
# Enable WIFI GPIO for WIFI manipulation
echo ${DEVICE_WIFI} > /sys/class/gpio/export
# Power up the WIFI device
echo out > /sys/class/gpio/gpio${DEVICE_WIFI}/direction
echo 1 > /sys/class/gpio/gpio${DEVICE_WIFI}/value
# Enable PWM for rumble and turn rumble off during startup.
echo 0 > /sys/class/pwm/${DEVICE_PWM_MOTOR}/export
echo 1000000 > /sys/class/pwm/${DEVICE_PWM_MOTOR}/pwm0/period
echo 1 > /sys/class/pwm/${DEVICE_PWM_MOTOR}/pwm0/enable
echo 1000000 > /sys/class/pwm/${DEVICE_PWM_MOTOR}/pwm0/duty_cycle

View file

@ -0,0 +1 @@
RG351P

View file

@ -0,0 +1 @@
RG503

View file

@ -0,0 +1,11 @@
#!/bin/bash
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2021-present Fewtarius (https://github.com/fewtarius)
. /etc/profile
# Enable PWM for rumble and turn rumble off during startup.
echo 0 > /sys/class/pwm/${DEVICE_PWM_MOTOR}/export
echo 1000000 > /sys/class/pwm/${DEVICE_PWM_MOTOR}/pwm0/period
echo 1 > /sys/class/pwm/${DEVICE_PWM_MOTOR}/pwm0/enable
echo 1000000 > /sys/class/pwm/${DEVICE_PWM_MOTOR}/pwm0/duty_cycle

View file

@ -0,0 +1,16 @@
#!/bin/bash
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2021-present Fewtarius (https://github.com/fewtarius)
. /etc/profile
# Silence PWM
echo 0 > /sys/class/pwm/${DEVICE_PWM_MOTOR}/export
echo 1000000 > /sys/class/pwm/${DEVICE_PWM_MOTOR}/pwm0/period
echo 1 > /sys/class/pwm/${DEVICE_PWM_MOTOR}/pwm0/enable
echo 1000000 > /sys/class/pwm/${DEVICE_PWM_MOTOR}/pwm0/duty_cycle
# Enable WIFI
echo ${DEVICE_WIFI} > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio${DEVICE_WIFI}/direction
echo 1 > /sys/class/gpio/gpio${DEVICE_WIFI}/value
fbset -g 1152 1920 1152 1920 32

View file

@ -0,0 +1,10 @@
#!/bin/bash
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2021-present Fewtarius (https://github.com/fewtarius)
. /etc/profile
if [ ! -e "/storage/.config/profile.d/99-mixer" ]
then
set-audio esset "DAC"
fi

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -12,7 +12,7 @@ PKG_TOOLCHAIN="autotools"
case ${DEVICE} in
RG503|RG353P|RG351P|RG351V|RG351MP)
RG503|RG353P|RG351P|RG351V|RG351MP|RGB20S)
PKG_VERSION="1.8.3"
PKG_PATCH_DIRS+="4.x"
PKG_CONFIGURE_OPTS_TARGET="--with-kernel=$(kernel_path)

View file

@ -12,7 +12,7 @@ PKG_SHORTDESC="Zero config VPN. Installs on any device in minutes, manages firew
PKG_TOOLCHAIN="manual"
case ${DEVICE} in
RG351P|RG351V|RG351MP|RG503|RG353P)
RG351P|RG351V|RG351MP|RG503|RG353P|RGB20S)
PKG_DEPENDS_TARGET+=" wireguard-linux-compat"
;;
esac

View file

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

View file

@ -18,7 +18,7 @@ case $1 in
fi
# RG351x devices are notorious for losing USB when they sleep.
if [[ "${HW_DEVICE}" =~ RG351 ]]
if [[ "${HW_DEVICE}" =~ RG351 ]] || [[ "${HW_DEVICE}" =~ RGB20S ]]
then
modprobe -r dwc2
fi
@ -34,7 +34,7 @@ case $1 in
post)
alsactl restore -f /storage/.config/asound.state
if [[ "${HW_DEVICE}" =~ RG351 ]]
if [[ "${HW_DEVICE}" =~ RG351 ]] || [[ "${HW_DEVICE}" =~ RGB20S ]]
then
modprobe -i dwc2
fi

View file

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

View file

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

View file

@ -20,11 +20,11 @@ diff -rupN es-theme-minielec.orig/theme.xml es-theme-minielec/theme.xml
+ <include ifArch="rg503,amberelec-rg503" name="16-9" displayName="16:9" />
+ <include ifArch="rg552,amberelec-rg552" name="5-3" displayName="5:3" />
+ <include ifArch="rg351p,amberelec-rg351p" name="3-2" displayName="3:2" />
+ <include ifArch="rg353p,rg351mp,rg351v,amberelec-rg351mp,amberelec-rg351v" name="4-3" displayName="4:3" />
+ <include ifNotArch="rg351p,rg351mp,rg351v,amberelec-rg351p,amberelec-rg351mp,amberelec-rg351v" name="16-9" displayName="16:9" />
+ <include ifNotArch="rg503,rg552,rg351p,rg351mp,rg351v,amberelec-rg552,amberelec-rg351p,amberelec-rg351mp,amberelec-rg351v" name="4-3" displayName="4:3" />
+ <include ifNotArch="rg503,rg552,rg351p,rg351mp,rg351v,amberelec-rg552,amberelec-rg351p,amberelec-rg351mp,amberelec-rg351v" name="3-2" displayName="3:2" />
+ <include ifNotArch="rg552,rg351p,rg351mp,rg351v,amberelec-rg552,amberelec-rg351p,amberelec-rg351mp,amberelec-rg351v" name="5-3" displayName="5:3" />
+ <include ifArch="rg353p,rg351mp,rgb20s,rg351v,amberelec-rg351mp,amberelec-rg351v" name="4-3" displayName="4:3" />
+ <include ifNotArch="rg351p,rg351mp,rgb20s,rg351v,amberelec-rg351p,amberelec-rg351mp,amberelec-rg351v" name="16-9" displayName="16:9" />
+ <include ifNotArch="rg503,rg552,rg351p,rg351mp,rgb20s,rg351v,amberelec-rg552,amberelec-rg351p,amberelec-rg351mp,amberelec-rg351v" name="4-3" displayName="4:3" />
+ <include ifNotArch="rg503,rg552,rg351p,rg351mp,rgb20s,rg351v,amberelec-rg552,amberelec-rg351p,amberelec-rg351mp,amberelec-rg351v" name="3-2" displayName="3:2" />
+ <include ifNotArch="rg552,rg351p,rg351mp,rgb20s,rg351v,amberelec-rg552,amberelec-rg351p,amberelec-rg351mp,amberelec-rg351v" name="5-3" displayName="5:3" />
+ </subset>
<subset name="display-top-bar" displayName="display top bar?">

View file

@ -9,7 +9,7 @@ PKG_SITE="https://github.com/JustEnoughLinuxOS/rkbin"
PKG_URL="${PKG_SITE}.git"
PKG_LONGDESC="rkbin: Rockchip Firmware and Tool Binaries"
PKG_TOOLCHAIN="manual"
if [[ "${DEVICE}" =~ RG351 ]]
if [[ "${DEVICE}" =~ RG351 ]] || [[ "${DEVICE}" =~ RGB20S ]]
then
PKG_VERSION="73945d35fd3a7fe1c7037209e36dd5a0b32c5560"
fi

View file

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

View file

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

View file

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

View file

@ -0,0 +1,44 @@
<?xml version="1.0"?>
<inputList>
<inputConfig type="keyboard" deviceName="Keyboard" deviceGUID="-1">
<input name="up" type="key" id="1073741906" value="1" />
<input name="down" type="key" id="1073741905" value="1" />
<input name="left" type="key" id="1073741904" value="1" />
<input name="right" type="key" id="1073741903" value="1" />
<input name="a" type="key" id="27" value="1" />
<input name="b" type="key" id="13" value="1" />
<input name="pagedown" type="key" id="34" value="1" />
<input name="pageup" type="key" id="33" value="1" />
<input name="select" type="key" id="8" value="1" />
<input name="start" type="key" id="32" value="1" />
<input name="x" type="key" id="61" value="1" />
<input name="y" type="key" id="45" value="1" />
</inputConfig>
<inputConfig type="joystick" deviceName="GO-Super Gamepad" deviceGUID="190000004b4800000011000000010000">
<input name="a" type="button" id="1" value="1" />
<input name="b" type="button" id="0" value="1" />
<input name="down" type="button" id="9" value="1" />
<input name="hotkeyenable" type="button" id="12" value="1" />
<input name="left" type="button" id="10" value="1" />
<input name="leftanalogdown" type="axis" id="1" value="1" />
<input name="leftanalogleft" type="axis" id="0" value="-1" />
<input name="leftanalogright" type="axis" id="0" value="1" />
<input name="leftanalogup" type="axis" id="1" value="-1" />
<input name="leftshoulder" type="button" id="4" value="1" />
<input name="leftthumb" type="button" id="14" value="1" />
<input name="lefttrigger" type="button" id="6" value="1" />
<input name="right" type="button" id="11" value="1" />
<input name="rightanalogdown" type="axis" id="3" value="1" />
<input name="rightanalogleft" type="axis" id="2" value="-1" />
<input name="rightanalogright" type="axis" id="2" value="1" />
<input name="rightanalogup" type="axis" id="3" value="-1" />
<input name="rightshoulder" type="button" id="5" value="1" />
<input name="rightthumb" type="button" id="15" value="1" />
<input name="righttrigger" type="button" id="7" value="1" />
<input name="select" type="button" id="12" value="1" />
<input name="start" type="button" id="13" value="1" />
<input name="up" type="button" id="8" value="1" />
<input name="x" type="button" id="2" value="1" />
<input name="y" type="button" id="3" value="1" />
</inputConfig>
</inputList>

View file

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

View file

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

View file

@ -34,16 +34,16 @@ PKG_DEPENDS_TARGET="${PKG_EMUS} ${PKG_RETROARCH} ${LIBRETRO_CORES}"
### Emulators or cores for specific devices
case "${DEVICE}" in
RG351P|RG351V|RG351MP)
RG351P|RG351V|RG351MP|RGB20S)
PKG_DEPENDS_TARGET+=" common-shaders glsl-shaders"
;;
RG552)
PKG_DEPENDS_TARGET+=" duckstationsa dolphinsa dolphin slang-shaders beetle-saturn"
PKG_DEPENDS_TARGET+=" duckstationsa dolphinsa dolphin slang-shaders"
;;
RG503|RG353P)
PKG_DEPENDS_TARGET+=" duckstationsa common-shaders glsl-shaders"
;;
handheld)
PKG_DEPENDS_TARGET+=" duckstationsa dolphinsa dolphin pcsx2sa pcsx2 desmume bsnes citra slang-shaders minivmac minivmacsa"
PKG_DEPENDS_TARGET+=" duckstationsa dolphinsa dolphin pcsx2sa pcsx2 desmume bsnes citra slang-shaders"
;;
esac

View file

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

View file

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

View file

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

View file

@ -33,3 +33,10 @@ for dtb in $(find ${LINUX_DTS_DIR} -name "*.dtb") ; do
cp -a $dtb ${RELEASE_DIR}/3rdparty/bootloader
fi
done
if [ -n "${SD_DTB}" ]; then
SD_UBOOT_DTB=$(get_build_dir u-boot)/arch/arm/dts/${SD_DTB}.dtb
if [ -f $SD_UBOOT_DTB ]; then
cp -a $SD_UBOOT_DTB ${RELEASE_DIR}/3rdparty/bootloader
fi
fi

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,40 @@
# Device definition file for the PowKiddy RGB20S
# Device Features
DEVICE_HAS_FAN=false
DEVICE_FAKE_JACKSENSE=true
DEVICE_VOLUMECTL=true
DEVICE_POWER_LED=true
DEVICE_AUDIO_MIXER="Playback"
DEVICE_PLAYBACK_PATH_SPK="SPK"
DEVICE_PLAYBACK_PATH_HP="HP"
DEVICE_HEADPHONE_DEV="/dev/input/by-path/platform-rk817-sound-event"
DEVICE_BRIGHTNESS="70"
SPLASH_LOADER="imagemagick"
UI_SERVICE="emustation.service"
# Kernel Modules
DEVICE_INTERNAL_WIFI=false
# DEVICE_WIFI_MODULE=""
# GPIOS
DEVICE_WIFI="5"
DEVICE_LED="77"
DEVICE_PWM_MOTOR="pwmchip0"
#DEVICE_PWM_FAN=""
DEVICE_JACK="86"
# FREQ governors
CPU_FREQ=("/sys/devices/system/cpu/cpufreq/policy0")
GPU_FREQ="/sys/devices/platform/ff400000.gpu/devfreq/ff400000.gpu"
DMC_FREQ="/sys/devices/platform/dmc/devfreq/dmc"
# Affinity
SLOW_CORES="taskset -c 0-3"
FAST_CORES="${SLOW_CORES}"
# Volume Keys
#DEVICE_KEY_VOLUMEDOWN=
#DEVICE_KEY_VOLUMEUP=
DEVICE_VOL_MODIFIER="BTN_MODE"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,155 @@
################################################################################
# setup device defaults
################################################################################
# The TARGET_CPU variable controls which processor should be targeted for
# generated code.
case $TARGET_ARCH in
aarch64)
TARGET_KERNEL_ARCH="arm64"
TARGET_PATCH_ARCH="aarch64"
TARGET_FLOAT="hard"
TARGET_CPU="cortex-a35"
TARGET_CPU_FLAGS="+crc+fp+simd"
TARGET_FPU="fp-armv8"
TARGET_FEATURES="64bit"
;;
arm)
TARGET_KERNEL_ARCH="arm64"
TARGET_PATCH_ARCH="aarch64"
TARGET_FLOAT="hard"
TARGET_CPU="cortex-a35"
TARGET_CPU_FLAGS="+crc"
TARGET_FPU="crypto-neon-fp-armv8"
TARGET_FEATURES="32bit"
;;
esac
# Kernel target
KERNEL_TARGET="Image"
BOOTLOADER="u-boot"
PARTITION_TABLE="msdos"
DEVICE_DTB=("rk3326-rgb20s-linux" "rgb20s-uboot")
UBOOT_DTB="${DEVICE_DTB[0]}"
SD_DTB="${DEVICE_DTB[1]}"
UBOOT_CONFIG="odroidgoa_defconfig"
PKG_SOC="px30"
PKG_DATAFILE="$PKG_RKBIN/bin/rk33/rk3326_ddr_333MHz_v1.15.bin"
PKG_LOADER="$PKG_RKBIN/bin/rk33/rk3326_miniloader_v1.28.bin"
PKG_BL31="$PKG_RKBIN/bin/rk33/rk3326_bl31_v1.22.elf"
PKG_LOAD_ADDR="0x00200000"
BOOT_INI=true
BOOT_PART="1:1"
# Additional kernel make parameters (for example to specify the u-boot loadaddress)
KERNEL_MAKE_EXTRACMD=""
KERNEL_MAKE_EXTRACMD+=" rockchip/${DEVICE_DTB[0]}.dtb"
# Display Resolution
SPLASH_RESOLUTION="640x480"
# Mali GPU family
MALI_FAMILY="bifrost-g31"
OPENGLES="libmali"
OPENGL="no"
VULKAN_SUPPORT="no"
MALI_VERSION="r13p0"
GRAPHIC_DRIVERS=""
# Displayserver to use (weston / x11 / no)
DISPLAYSERVER="no"
# Windowmanager to use (fluxbox / weston / no)
WINDOWMANAGER="no"
# Define the CPU
HW_CPU="Rockchip RK3326"
# kernel serial console
EXTRA_CMDLINE="quiet rootwait console=tty0 ssh consoleblank=0 systemd.show_status=0 loglevel=0 panic=20"
# additional packages to install
ADDITIONAL_PACKAGES=" emulators gamesupport 351files"
# additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware)
# Space separated list is supported,
# e.g. FIRMWARE="dvb-firmware misc-firmware wlan-firmware"
FIRMWARE="misc-firmware wlan-firmware" #rockchip-firmware
# additional drivers to install:
# for a list of additional drivers see packages/linux-drivers
# Space separated list is supported,
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
ADDITIONAL_DRIVERS="RTL8812AU RTL8814AU RTL8821AU RTL8821CU RTL88x2BU"
# build and install driver addons (yes / no)
DRIVER_ADDONS_SUPPORT="no"
# driver addons to install:
# for a list of additinoal drivers see packages/linux-driver-addons
# Space separated list is supported,
DRIVER_ADDONS=""
# debug tty path
DEBUG_TTY="/dev/ttyFIQ0"
# build and install PulseAudio support (yes / no)
PULSEAUDIO_SUPPORT="yes"
# build and install bluetooth support (yes / no)
BLUETOOTH_SUPPORT="no"
# build and install Avahi (Zeroconf) daemon (yes / no)
AVAHI_DAEMON="no"
# build with NFS support (mounting nfs shares via the OS) (yes / no)
NFS_SUPPORT="no"
# build with Samba Client support (mounting samba shares via the OS) (yes / no)
SAMBA_SUPPORT="no"
# build and install Samba Server (yes / no)
SAMBA_SERVER="yes"
# build and install SFTP Server (yes / no)
SFTP_SERVER="yes"
# build and install OpenVPN support (yes / no)
OPENVPN_SUPPORT="no"
# build and install diskmounter support (udevil)
# this service provide auto mounting support for external drives in the
# mediacenter also automount internally drives at boottime via udev (yes / no)
UDEVIL="yes"
# build and install exFAT fuse support (yes / no)
EXFAT="yes"
# build and install NTFS-3G fuse support (yes / no)
NTFS3G="no"
# build and install hfs filesystem utilities (yes / no)
HFSTOOLS="no"
# Support for partitioning and formating disks in initramfs (yes / no)
# This adds support for parted and mkfs.ext3/4 to initramfs for OEM usage
INITRAMFS_PARTED_SUPPORT="no"
# build with swap support (yes / no)
SWAP_SUPPORT="yes"
# swap support enabled per default (yes / no)
SWAP_ENABLED_DEFAULT="yes"
# swapfile size if SWAP_SUPPORT=yes in MB
SWAPFILESIZE="384"
# cron support (yes / no)
CRON_SUPPORT="no"
# Settings package name - blank if not required
DISTRO_PKG_SETTINGS=""
# htop tool (yes / no)
HTOP_TOOL="yes"

View file

@ -18,7 +18,7 @@ PKG_STAMP="${KERNEL_TARGET} ${KERNEL_MAKE_EXTRACMD}"
PKG_PATCH_DIRS+="${DEVICE}"
case ${DEVICE} in
RG351P|RG351V|RG351MP)
RG351P|RG351V|RG351MP|RGB20S)
PKG_URL="${PKG_SITE}/rk3326-kernel.git"
PKG_VERSION="0b4eef36a"
GET_HANDLER_SUPPORT="git"

File diff suppressed because it is too large Load diff

View file

@ -13,7 +13,7 @@ GET_HANDLER_SUPPORT="git"
PKG_PATCH_DIRS+="${DEVICE}"
case ${DEVICE} in
RG351P|RG351V|RG351MP)
RG351P|RG351V|RG351MP|RGB20S)
PKG_URL="${PKG_SITE}/rk3326-uboot.git"
PKG_VERSION="120aff9560"
;;
@ -23,7 +23,7 @@ case ${DEVICE} in
;;
RG353P|RG503)
PKG_URL="${PKG_SITE}/rk356x-uboot.git"
PKG_VERSION="62a0e69"
PKG_VERSION="dcb37cb"
;;
esac

File diff suppressed because it is too large Load diff

View file

@ -121,9 +121,7 @@ TARGET_CONFIGURE_OPTS="--host=${TARGET_NAME} \
--sysconfdir=/etc \
--libdir=/usr/lib \
--libexecdir=/usr/lib \
--localstatedir=/var \
--disable-static \
--enable-shared"
--localstatedir=/var"
TARGET_CMAKE_OPTS="-DCMAKE_TOOLCHAIN_FILE=${CMAKE_CONF} \
-DCMAKE_INSTALL_PREFIX=/usr \
@ -146,14 +144,11 @@ HOST_CONFIGURE_OPTS="--host=${HOST_NAME} \
--sbindir=${TOOLCHAIN}/sbin \
--sysconfdir=${TOOLCHAIN}/etc \
--libexecdir=${TOOLCHAIN}/lib \
--localstatedir=${TOOLCHAIN}/var \
--disable-static \
--enable-shared"
--localstatedir=${TOOLCHAIN}/var"
HOST_CMAKE_OPTS="${CMAKE_GENERATOR} \
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_CONF} \
-DCMAKE_INSTALL_PREFIX=${TOOLCHAIN} \
-DCMAKE_BUILD_TYPE=Release"
-DCMAKE_INSTALL_PREFIX=${TOOLCHAIN}"
HOST_MESON_OPTS="--prefix=${TOOLCHAIN} \
--bindir=${TOOLCHAIN}/bin \