Merge branch 'ogu' of github.com:JustEnoughLinuxOS/distribution into ogu-merge

This commit is contained in:
fewtarius 2023-04-01 12:48:40 +00:00
commit 77eab3b5ef
No known key found for this signature in database
GPG key ID: F4AE55305D1B8C1A
59 changed files with 15123 additions and 283 deletions

View file

@ -39,6 +39,10 @@ RK3566:
PROJECT=Rockchip DEVICE=RK3566 ARCH=arm ./scripts/build_distro
PROJECT=Rockchip DEVICE=RK3566 ARCH=aarch64 ./scripts/build_distro
OGU:
PROJECT=Amlogic DEVICE=OGU ARCH=arm ./scripts/build_distro
PROJECT=Amlogic DEVICE=OGU ARCH=aarch64 ./scripts/build_distro
update:
PROJECT=PC DEVICE=handheld ARCH=x86_64 ./scripts/update_packages

View file

@ -1,5 +1,5 @@
# determines TARGET_CPU, if not forced by user
if [ -z "${TARGET_CPU}" ]; then
if [ -z "$TARGET_CPU" ]; then
TARGET_CPU=cortex-a53
fi
@ -9,8 +9,8 @@
# cortex-a72.cortex-a53
# determine architecture's family
case ${TARGET_CPU} in
generic|cortex-a35|cortex-a53|cortex-a57|cortex-a72|exynos-m1|qdf24xx|thunderx|xgene1|cortex-a57.cortex-a53|cortex-a72.cortex-a53|cortex-a55|cortex-a76.cortex-a55)
case $TARGET_CPU in
generic|cortex-a35|cortex-a53|cortex-a57|cortex-a72|exynos-m1|qdf24xx|thunderx|xgene1|cortex-a57.cortex-a53|cortex-a72.cortex-a53|cortex-a55|cortex-a76.cortex-a55|cortex-a73.cortex-a53)
TARGET_SUBARCH=aarch64
TARGET_VARIANT=armv8-a
TARGET_ABI=eabi
@ -22,8 +22,8 @@
TARGET_KERNEL_ARCH=arm64
# setup ARCH specific *FLAGS
TARGET_CFLAGS="-march=${TARGET_VARIANT}${TARGET_CPU_FLAGS} -mabi=lp64 -Wno-psabi -mtune=${TARGET_CPU}"
TARGET_CFLAGS="-march=${TARGET_VARIANT}${TARGET_CPU_FLAGS} -mabi=lp64 -Wno-psabi -mtune=$TARGET_CPU"
# Disable runtime checking support of ARMv8.0's optional LSE feature. Breaks gdb and mesa compile.
TARGET_CFLAGS="${TARGET_CFLAGS} -mno-outline-atomics"
TARGET_LDFLAGS="-march=${TARGET_VARIANT}${TARGET_CPU_FLAGS} -mtune=${TARGET_CPU}"
GCC_OPTS="--with-abi=lp64 --with-arch=${TARGET_VARIANT}"
TARGET_LDFLAGS="-march=${TARGET_VARIANT}${TARGET_CPU_FLAGS} -mtune=$TARGET_CPU"
GCC_OPTS="--with-abi=lp64 --with-arch=$TARGET_VARIANT"

View file

@ -1,5 +1,5 @@
# determines TARGET_CPU, if not forced by user
if [ -z "${TARGET_CPU}" ]; then
if [ -z "$TARGET_CPU" ]; then
TARGET_CPU=cortex-a8
fi
@ -23,28 +23,28 @@
# neon-vfpv4.
# determine architecture's family
case ${TARGET_CPU} in
case $TARGET_CPU in
arm1176jzf-s)
TARGET_SUBARCH=armv6zk
TARGET_ABI=eabi
TARGET_FPU_FLAGS="-mfloat-abi=${TARGET_FLOAT} -mfpu=${TARGET_FPU}"
TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU"
;;
cortex-a7|cortex-a15|cortex-a17|cortex-a15.cortex-a7|cortex-a17.cortex-a7)
TARGET_SUBARCH=armv7ve
TARGET_ABI=eabi
TARGET_FPU_FLAGS="-mfloat-abi=${TARGET_FLOAT} -mfpu=${TARGET_FPU}"
TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU"
TARGET_FEATURES+=" neon"
;;
cortex-a5|cortex-a8|cortex-a9)
TARGET_SUBARCH=armv7-a
TARGET_ABI=eabi
TARGET_FPU_FLAGS="-mfloat-abi=${TARGET_FLOAT} -mfpu=${TARGET_FPU}"
TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU"
TARGET_FEATURES+=" neon"
;;
cortex-a35|cortex-a53|cortex-a72.cortex-a53|cortex-a55|cortex-a76.cortex-a55)
cortex-a35|cortex-a53|cortex-a72.cortex-a53|cortex-a55|cortex-a76.cortex-a55|cortex-a73.cortex-a53)
TARGET_SUBARCH=armv8-a
TARGET_ABI=eabi
TARGET_FPU_FLAGS="-mfloat-abi=${TARGET_FLOAT} -mfpu=${TARGET_FPU}"
TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU"
TARGET_FEATURES+=" neon"
;;
esac
@ -58,7 +58,7 @@
TARGET_KERNEL_ARCH=${TARGET_KERNEL_ARCH:-arm}
# setup ARCH specific *FLAGS
TARGET_CFLAGS="-march=${TARGET_VARIANT} -mtune=${TARGET_CPU} -mabi=aapcs-linux -Wno-psabi -Wa,-mno-warn-deprecated"
[ -n "${TARGET_FPU}" ] && TARGET_CFLAGS="${TARGET_CFLAGS} ${TARGET_FPU_FLAGS}"
TARGET_LDFLAGS="-march=${TARGET_VARIANT} -mtune=${TARGET_CPU}"
GCC_OPTS="--with-abi=aapcs-linux --with-arch=${TARGET_SUBARCH} --with-float=${TARGET_FLOAT} --with-fpu=${TARGET_FPU}"
TARGET_CFLAGS="-march=$TARGET_VARIANT -mtune=$TARGET_CPU -mabi=aapcs-linux -Wno-psabi -Wa,-mno-warn-deprecated"
[ -n "$TARGET_FPU" ] && TARGET_CFLAGS="$TARGET_CFLAGS $TARGET_FPU_FLAGS"
TARGET_LDFLAGS="-march=$TARGET_VARIANT -mtune=$TARGET_CPU"
GCC_OPTS="--with-abi=aapcs-linux --with-arch=$TARGET_SUBARCH --with-float=$TARGET_FLOAT --with-fpu=$TARGET_FPU"

View file

@ -3,7 +3,7 @@
# Copyright (C) 2022-present Fewtarius
PKG_NAME="fileman"
PKG_VERSION="c201a81f23af0449c2a7a55533604e12401bc84d"
PKG_VERSION="b5d97989dd70e4f043501249845478a14d769aed"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/JustEnoughLinuxOS/fileman"

View file

@ -22,7 +22,7 @@ if [ "${OPENGLES_SUPPORT}" = yes ]; then
fi
case ${DEVICE} in
RK35*)
RK35*|OGU)
PKG_MAKE_OPTS_TARGET=" platform=${DEVICE}"
;;
esac

View file

@ -46,7 +46,7 @@ fi
pre_configure_target() {
case ${DEVICE} in
RK35*)
RK35*|OGU)
PKG_MAKE_OPTS_TARGET+=" -C yabause/src/libretro platform=rockpro64 HAVE_NEON=0 FORCE_GLES=1"
;;
*)

View file

@ -0,0 +1,148 @@
[General]
LastFilename =
ShowLag = False
ShowFrameCount = False
ISOPaths = 1
RecursiveISOPaths = False
NANDRootPath =
WirelessMac =
[Interface]
ConfirmStop = True
UsePanicHandlers = True
OnScreenDisplayMessages = True
HideCursor = False
AutoHideCursor = False
MainWindowPosX = 403
MainWindowPosY = 148
MainWindowWidth = 800
MainWindowHeight = 600
Language = 0
ShowToolbar = True
ShowStatusbar = True
ShowLogWindow = False
ShowLogConfigWindow = False
ExtendedFPSInfo = False
ThemeName40 = Clean Blue
PauseOnFocusLost = False
[Display]
FullscreenResolution = Auto
Fullscreen = True
RenderToMain = False
RenderWindowXPos = -1
RenderWindowYPos = -1
RenderWindowWidth = 640
RenderWindowHeight = 480
RenderWindowAutoSize = False
KeepWindowOnTop = False
ProgressiveScan = False
PAL60 = True
DisableScreenSaver = True
ForceNTSCJ = False
[GameList]
ListDrives = False
ListWad = True
ListElfDol = True
ListWii = True
ListGC = True
ListJap = True
ListPal = True
ListUsa = True
ListAustralia = True
ListFrance = True
ListGermany = True
ListItaly = True
ListKorea = True
ListNetherlands = True
ListRussia = True
ListSpain = True
ListTaiwan = True
ListWorld = True
ListUnknown = True
ListSort = 3
ListSortSecondary = 0
ColorCompressed = True
ColumnPlatform = True
ColumnBanner = True
ColumnNotes = True
ColumnFileName = False
ColumnID = False
ColumnRegion = True
ColumnSize = True
ColumnState = True
[Core]
HLE_BS2 = False
TimingVariance = 40
CPUCore = 4
Fastmem = True
CPUThread = True
DSPHLE = True
SkipIdle = True
SyncOnSkipIdle = True
SyncGPU = False
SyncGpuMaxDistance = 200000
SyncGpuMinDistance = -200000
SyncGpuOverclock = 1.00000000
FPRF = False
AccurateNaNs = False
DefaultISO =
DVDRoot =
Apploader =
EnableCheats = True
SelectedLanguage = 0
OverrideGCLang = False
DPL2Decoder = False
Latency = 2
MemcardAPath =
MemcardBPath =
AgpCartAPath =
AgpCartBPath =
SlotA = 1
SlotB = 255
SerialPort1 = 255
BBA_MAC =
SIDevice0 = 6
AdapterRumble0 = True
SimulateKonga0 = False
SIDevice1 = 6
AdapterRumble1 = True
SimulateKonga1 = False
SIDevice2 = 0
AdapterRumble2 = True
SimulateKonga2 = False
SIDevice3 = 0
AdapterRumble3 = True
SimulateKonga3 = False
WiiSDCard = False
WiiKeyboard = False
WiimoteContinuousScanning = False
WiimoteEnableSpeaker = False
RunCompareServer = False
RunCompareClient = False
EmulationSpeed = 1.00000000
FrameSkip = 0x00000003
Overclock = 4.00000000
OverclockEnable = False
GFXBackend = Vulkan
GPUDeterminismMode = auto
PerfMapDir =
[Movie]
PauseMovie = False
Author =
DumpFrames = False
DumpFramesSilent = False
ShowInputDisplay = False
[DSP]
EnableJIT = True
DumpAudio = False
DumpUCode = False
Backend = ALSA
Volume = 100
CaptureLog = False
[Input]
BackgroundInput = False
[FifoPlayer]
LoopReplay = True
[Analytics]
ID = 5082f0c30a7e422b1220107f69d6c108
Enabled = False
PermissionAsked = True

View file

@ -0,0 +1,29 @@
[GCPad1]
Device = evdev/0/GO-Ultra Gamepad
Buttons/A = Button 0
Buttons/B = Button 3
Buttons/Start = Button 12
Buttons/X = Button 1
Buttons/Y = Button 2
Buttons/Z = Button 7
Buttons/Hotkey = Button 17
C-Stick/Dead Zone = 25.000000000000000
C-Stick/Down = Axis 3+
C-Stick/Left = Axis 2-
C-Stick/Modifier = Control_L
C-Stick/Modifier/Range = 50.000000000000000
C-Stick/Right = Axis 2+
C-Stick/Up = Axis 3-
D-Pad/Down = Button 9
D-Pad/Left = Button 10
D-Pad/Right = Button 11
D-Pad/Up = Button 8
Main Stick/Dead Zone = 25.000000000000000
Main Stick/Down = Axis 1+
Main Stick/Left = Axis 0-
Main Stick/Modifier = Shift_L
Main Stick/Modifier/Range = 50.000000000000000
Main Stick/Right = Axis 0+
Main Stick/Up = Axis 1-
Triggers/L = Button 4
Triggers/R = Button 5

View file

@ -0,0 +1,55 @@
[Hardware]
VSync = False
Adapter = 0
[Settings]
AspectRatio = 0
Crop = False
wideScreenHack = False
UseXFB = False
UseRealXFB = False
SafeTextureCacheColorSamples = 128
ShowFPS = False
LogRenderTimeToFile = False
OverlayStats = False
OverlayProjStats = False
DumpTextures = False
HiresTextures = False
ConvertHiresTextures = False
CacheHiresTextures = False
DumpEFBTarget = False
FreeLook = False
UseFFV1 = False
EnablePixelLighting = False
FastDepthCalc = True
MSAA = 1
SSAA = False
EFBScale = 2
TexFmtOverlayEnable = False
TexFmtOverlayCenter = False
Wireframe = False
DisableFog = False
EnableShaderDebugging = False
BorderlessFullscreen = False
SWZComploc = True
SWZFreeze = True
SWDumpObjects = False
SWDumpTevStages = False
SWDumpTevTexFetches = False
SWDrawStart = 0
SWDrawEnd = 100000
[Enhancements]
ForceFiltering = False
MaxAnisotropy = 0
PostProcessingShader =
[Stereoscopy]
StereoMode = 0
StereoDepth = 20
StereoConvergencePercentage = 100
StereoSwapEyes = False
[Hacks]
EFBAccessEnable = False
BBoxEnable = False
ForceProgressive = True
EFBToTextureEnable = True
EFBScaledCopy = False
EFBEmulateFormatChanges = False

View file

@ -0,0 +1,27 @@
[Wiimote1]
Device = evdev/0/GO-Ultra Gamepad
Extension = Classic
Source = 1
Classic/Buttons/A = Button 1
Classic/Buttons/B = Button 0
Classic/Buttons/X = Button 2
Classic/Buttons/Y = Button 3
Classic/Buttons/ZL = Button 6
Classic/Buttons/ZR = Button 7
Classic/Buttons/- = Button 12
Classic/Buttons/+ = Button 17
Classic/Buttons/Home = Button 8
Classic/Left Stick/Up = Axis 1-
Classic/Left Stick/Down = Axis 1+
Classic/Left Stick/Left = Axis 0-
Classic/Left Stick/Right = Axis 0+
Classic/Right Stick/Up = Axis 3-
Classic/Right Stick/Down = Axis3+
Classic/Right Stick/Left = Axis 2-
Classic/Right Stick/Right = Axis 2+
Classic/Triggers/L = Button 4
Classic/Triggers/R = Button 5
Classic/D-Pad/Up = Button 8
Classic/D-Pad/Down = Button 9
Classic/D-Pad/Left = Button 10
Classic/D-Pad/Right = Button 11

View file

@ -0,0 +1,26 @@
[Wiimote1]
Device = evdev/0/GO-Ultra Gamepad
Extension = Nunchuk
Buttons/A = Button 0
Buttons/B = Button 1
Buttons/1 = Button 3
Buttons/2 = Button 2
Buttons/- = Button 12
Buttons/+ = Button 17
D-Pad/Up = Button 8
D-Pad/Down = Button 9
D-Pad/Left = Button 10
D-Pad/Right = Button 11
Buttons/Home = Button 13
Shake/X = Button 4
Shake/Y = Button 4
Shake/Z = Button 4
Nunchuk/Buttons/C = Button 5
Nunchuk/Buttons/Z = Button 7
Nunchuk/Stick/Up = Axis 1-
Nunchuk/Stick/Down = Axis 1+
Nunchuk/Stick/Left = Axis 0-
Nunchuk/Stick/Right = Axis 0+
Nunchuk/Shake/X = Button 6
Nunchuk/Shake/Y = Button 6
Nunchuk/Shake/Z = Button 6

View file

@ -0,0 +1,16 @@
[Wiimote1]
Device = evdev/0/GO-Ultra Gamepad
Buttons/A = Button 0
Buttons/B = Button 1
Buttons/1 = Button 3
Buttons/2 = Button 2
Buttons/- = Button 12
Buttons/+ = Button 17
Buttons/Home = Button 13
Shake/X = Button 4
Shake/Y = Button 4
Shake/Z = Button 4
D-Pad/Up = Button 8
D-Pad/Down = Button 9
D-Pad/Left = Button 10
D-Pad/Right = Button 11

View file

@ -0,0 +1,27 @@
[Wiimote1]
Device = evdev/0/Microsoft X-Box 360 pad
Extension = Classic
Source = 1
Classic/Buttons/A = Button 1
Classic/Buttons/B = Button 0
Classic/Buttons/X = Button 3
Classic/Buttons/Y = Button 2
Classic/Buttons/ZL = Axis 2+
Classic/Buttons/ZR = Axis 5+
Classic/Buttons/- = Button 6
Classic/Buttons/+ = Button 7
Classic/Buttons/Home = Button 8
Classic/Left Stick/Up = Axis 1-
Classic/Left Stick/Down = Axis 1+
Classic/Left Stick/Left = Axis 0-
Classic/Left Stick/Right = Axis 0+
Classic/Right Stick/Up = Axis 4-
Classic/Right Stick/Down = Axis 4+
Classic/Right Stick/Left = Axis 3-
Classic/Right Stick/Right = Axis 3+
Classic/Triggers/L = Button 4
Classic/Triggers/R = Button 5
Classic/D-Pad/Up = Axis 7-
Classic/D-Pad/Down = Axis 7+
Classic/D-Pad/Left = Axis 6-
Classic/D-Pad/Right = Axis 6+

View file

@ -8,7 +8,7 @@ PKG_LONGDESC="Dolphin is a GameCube / Wii emulator, allowing you to play games f
PKG_TOOLCHAIN="cmake"
case ${DEVICE} in
RK3588|handheld)
RK3588|handheld|OGU)
PKG_SITE="https://github.com/dolphin-emu/dolphin"
PKG_URL="${PKG_SITE}.git"
PKG_VERSION="4d164fcb77487b0cb732e0423961fd042c3e7e3b"

View file

@ -0,0 +1,328 @@
[Main]
SettingsVersion = 3
EmulationSpeed = 1.000000
FastForwardSpeed = 0.000000
TurboSpeed = 0.000000
SyncToHostRefreshRate = false
IncreaseTimerResolution = true
InhibitScreensaver = true
StartPaused = false
StartFullscreen = true
PauseOnFocusLoss = false
PauseOnMenu = true
SaveStateOnExit = true
CreateSaveStateBackups = true
CompressSaveStates = true
ConfirmPowerOff = true
LoadDevicesFromSaveStates = false
ApplyCompatibilitySettings = true
ApplyGameSettings = true
AutoLoadCheats = true
DisableAllEnhancements = false
RewindEnable = false
RewindFrequency = 10.000000
RewindSaveSlots = 10
RunaheadFrameCount = 0
[Console]
Region = Auto
Enable8MBRAM = false
[CPU]
ExecutionMode = Recompiler
OverclockEnable = false
OverclockNumerator = 1
OverclockDenominator = 1
RecompilerMemoryExceptions = false
RecompilerBlockLinking = true
RecompilerICache = false
FastmemMode = MMap
[GPU]
Renderer = Software
Adapter =
ResolutionScale = 1
Multisamples = 1
UseDebugDevice = false
PerSampleShading = false
UseThread = true
ThreadedPresentation = true
UseSoftwareRendererForReadbacks = false
TrueColor = true
ScaledDithering = true
TextureFilter = Nearest
DownsampleMode = Disabled
DisableInterlacing = true
ForceNTSCTimings = false
WidescreenHack = false
ChromaSmoothing24Bit = false
PGXPEnable = false
PGXPCulling = true
PGXPTextureCorrection = true
PGXPVertexCache = false
PGXPCPU = false
PGXPPreserveProjFP = false
PGXPTolerance = -1.000000
PGXPDepthBuffer = false
PGXPDepthClearThreshold = 1228800.000000
FullscreenMode =
[Display]
CropMode = Overscan
ActiveStartOffset = 0
ActiveEndOffset = 0
LineStartOffset = 0
LineEndOffset = 0
Force4_3For24Bit = false
AspectRatio = Auto (Game Native)
CustomAspectRatioNumerator = 0
LinearFiltering = true
IntegerScaling = false
Stretch = false
PostProcessing = false
ShowOSDMessages = true
ShowFPS = false
ShowSpeed = false
ShowResolution = false
ShowCPU = false
ShowGPU = false
ShowStatusIndicators = true
ShowInputs = false
ShowEnhancements = false
DisplayAllFrames = false
InternalResolutionScreenshots = false
VSync = false
MaxFPS = 0.000000
OSDScale = 100.000000
[CDROM]
ReadaheadSectors = 8
RegionCheck = false
LoadImageToRAM = false
LoadImagePatches = false
MuteCDAudio = false
ReadSpeedup = 1
SeekSpeedup = 1
[Audio]
Backend = Cubeb
Driver =
StretchMode = TimeStretch
BufferMS = 50
OutputLatencyMS = 20
OutputVolume = 100
FastForwardVolume = 100
OutputMuted = false
DumpOnBoot = false
[Hacks]
DMAMaxSliceTicks = 1000
DMAHaltTicks = 100
GPUFIFOSize = 16
GPUMaxRunAhead = 128
[BIOS]
SearchDirectory = /storage/roms/bios
PathNTSCU =
PathNTSCJ =
PathPAL =
PatchTTYEnable = false
PatchFastBoot = true
[Controller1]
Type = AnalogController
[Controller2]
Type = None
[Controller3]
Type = None
[Controller4]
Type = None
[Controller5]
Type = None
[Controller6]
Type = None
[Controller7]
Type = None
[Controller8]
Type = None
[MemoryCards]
Card1Type = PerGameTitle
Card2Type = None
UsePlaylistTitle = true
Directory = memcards
[ControllerPorts]
MultitapMode = Disabled
PointerXScale = 8.000000
PointerYScale = 8.000000
PointerXInvert = false
PointerYInvert = false
[Cheevos]
Enabled = false
TestMode = false
UnofficialTestMode = false
UseFirstDiscFromPlaylist = true
RichPresence = false
ChallengeMode = false
[Logging]
LogLevel = Debug
LogFilter =
LogToConsole = true
LogToDebug = true
LogToWindow = false
LogToFile = true
[Debug]
ShowVRAM = false
DumpCPUToVRAMCopies = false
DumpVRAMToCPUCopies = false
ShowGPUState = false
ShowCDROMState = false
ShowSPUState = false
ShowTimersState = false
ShowMDECState = false
ShowDMAState = false
[TextureReplacements]
EnableVRAMWriteReplacements = false
PreloadTextures = false
DumpVRAMWrites = false
DumpVRAMWriteForceAlphaChannel = true
DumpVRAMWriteWidthThreshold = 128
DumpVRAMWriteHeightThreshold = 128
[Folders]
Cache = cache
Cheats = cheats
Covers = covers
Dumps = dump
GameSettings = gamesettings
InputProfiles = inputprofiles
SaveStates = savestates
Screenshots = screenshots
Shaders = shaders
Textures = textures
[InputSources]
SDL = true
SDLControllerEnhancedMode = false
Evdev = false
XInput = false
RawInput = false
[Pad1]
Type = AnalogController
Up = SDL-0/DPadUp
Right = SDL-0/DPadRight
Down = SDL-0/DPadDown
Left = SDL-0/DPadLeft
Triangle = SDL-0/X
Circle = SDL-0/B
Cross = SDL-0/A
Square = SDL-0/Y
Select = SDL-0/Button12
Start = SDL-0/Button17
L1 = SDL-0/LeftShoulder
R1 = SDL-0/RightShoulder
L2 = SDL-0/+LeftTrigger
R2 = SDL-0/+RightTrigger
L3 = SDL-0/Button14
R3 = SDL-0/Button15
LLeft = SDL-0/-LeftX
LRight = SDL-0/+LeftX
LDown = SDL-0/+LeftY
LUp = SDL-0/-LeftY
RLeft = SDL-0/-RightX
RRight = SDL-0/+RightX
RDown = SDL-0/+RightY
RUp = SDL-0/-RightY
[Pad2]
Type = None
[Pad3]
Type = None
[Pad4]
Type = None
[Pad5]
Type = None
[Pad6]
Type = None
[Pad7]
Type = None
[Pad8]
Type = None
[Hotkeys]
Screenshot = SDL-0/Back & SDL-0/A
ToggleWidescreen = SDL-0/Button12 & SDL-0/Y
OpenPauseMenu = SDL-0/Button12 & SDL-0/X
LoadSelectedSaveState = SDL-0/Button12 & SDL-0/LeftShoulder
SaveSelectedSaveState = SDL-0/Button12 & SDL-0/RightShoulder
SelectPreviousSaveStateSlot = SDL-0/Back & SDL-0/+RightY
SelectNextSaveStateSlot = SDL-0/Back & SDL-0/-RightY
ToggleFastForward = SDL-0/Button12 & SDL-0/+RightTrigger
PowerOff = SDL-0/Button12 & SDL-0/Button17
Reset = SDL-0/Back & SDL-0/B
ChangeDisc = SDL-0/Back & SDL-0/-RightX
SwapMemoryCards = SDL-0/Back & SDL-0/+RightX
Rewind = SDL-0/Button12 & SDL-0/+LeftTrigger
[NoGUI]
WindowX = 0
WindowY = 0
WindowWidth = 854
WindowHeight = 480
[GameList]
RecursivePaths = /storage/roms/psx

View file

@ -0,0 +1,27 @@
[input]
MouseSensitivity = 100
VirtualGamepadVibration = 20
device1 = 0
device1.1 = 1
device1.2 = 1
device2 = 0
device2.1 = 1
device2.2 = 1
device3 = 10
device3.1 = 10
device3.2 = 10
device4 = 10
device4.1 = 10
device4.2 = 10
maple_sdl_joystick_0 = 0
maple_sdl_joystick_1 = 1
maple_sdl_keyboard = 0
maple_sdl_mouse = 0
[window]
fullscreen = yes
height = 480
left = 536805376
maximized = no
top = 536805376
width = 640

View file

@ -0,0 +1,10 @@
[input]
maple_sdl_joystick_0 = 0
maple_sdl_joystick_1 = 1
device1 = 0
device1.1 = 1
device1.2 = 1
device2 = 0
device2.1 = 1
device2.2 = 1

View file

@ -0,0 +1,10 @@
[input]
maple_sdl_joystick_0 = 0
maple_sdl_joystick_1 = 1
device1 = 0
device1.1 = 1
device1.2 = 1
device2 = 0
device2.1 = 1
device2.2 = 1

View file

@ -0,0 +1,10 @@
[input]
maple_sdl_joystick_0 = 0
maple_sdl_joystick_1 = 1
device1 = 0
device1.1 = 1
device1.2 = 1
device2 = 0
device2.1 = 1
device2.2 = 1

View file

@ -42,9 +42,10 @@ PKG_CMAKE_OPTS_TARGET+=" -DUSE_OPENMP=ON"
makeinstall_target() {
mkdir -p ${INSTALL}/usr/bin
mkdir -p ${INSTALL}/usr/config/flycast
cp ${PKG_BUILD}/.${TARGET_NAME}/flycast ${INSTALL}/usr/bin/flycast
cp ${PKG_DIR}/scripts/* ${INSTALL}/usr/bin
cp ${PKG_DIR}/config/${DEVICE}/* ${INSTALL}/usr/config/flycast
chmod +x ${INSTALL}/usr/bin/start_flycastsa.sh
chmod +x ${INSTALL}/usr/bin/set_flycast_joy.sh
chmod +x ${INSTALL}/usr/bin/start_flycastsa.sh
}

View file

@ -1,232 +0,0 @@
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2020-present Shanti Gilbert (https://github.com/shantigilbert)
# Source predefined functions and variables
. /etc/profile
# Configure ADVMAME players based on ES settings
CONFIG_DIR="/storage/.config/flycast"
EMU_FILE="${CONFIG_DIR}/emu.cfg"
MAPPING_DIR="${CONFIG_DIR}/mappings"
source /usr/bin/joy_common.sh "flycast"
CONFIG_TMP_A="/tmp/jc/SDLflycastA.tmp"
CONFIG_TMP_D="/tmp/jc/SDLflycastD.tmp"
CONFIG_TMP_E="/tmp/jc/SDLflycastE.tmp"
BTN_H0=$(get_ee_setting flycast_btn_h0)
[[ -z "$BTN_H0" ]] && BTN_H0=255
declare -A FLYCAST_D_INDEXES=(
[h0.1]=$(( BTN_H0+1 ))
[h0.4]=$(( BTN_H0+2 ))
[h0.8]=$(( BTN_H0+3 ))
[h0.2]=$(( BTN_H0+4 ))
)
# Only needed for version 3.
#declare -A FLYCAST_D_BIND=(
# [a]=1
# [b]=0
# [x]=3
# [y]=2
# [leftshoulder]=4
# [rightshoulder]=5
# [lefttrigger]=6
# [righttrigger]=7
# [back]=8
# [start]=9
# [guide]=10
# [dpup]=11
# [dpdown]=12
# [dpleft]=13
# [dpright]=14
#)
# Regular buttons a,b,x,y flipped.
declare -A FLYCAST_D_BUTTONS=(
[x]="btn_y"
[y]="btn_x"
[a]="btn_b"
[b]="btn_a"
[leftshoulder]="btn_c"
[rightshoulder]="btn_d"
[lefttrigger]="btn_trigger_left"
[righttrigger]="btn_trigger_right"
[back]="btn_menu"
[start]="btn_start"
[guide]="btn_escape"
[dpup]="btn_dpad1_up"
[dpdown]="btn_dpad1_down"
[dpleft]="btn_dpad1_left"
[dpright]="btn_dpad1_right"
[leftx,0]="axis_x"
[leftx,1]="axis_dpad1_x"
[lefty,0]="axis_y"
[lefty,1]="axis_dpad1_y"
[rightx]="axis_right_x"
[righty]="axis_right_y"
)
BTN_SWAP_XY=$(get_ee_setting flycast_joy_swap_xy)
if [[ "$BTN_SWAP_XY" == "1" ]]; then
FLYCAST_D_BUTTONS[x]="btn_x"
FLYCAST_D_BUTTONS[y]="btn_y"
fi
BTN_SWAP_AB=$(get_ee_setting flycast_joy_swap_ab)
if [[ "$BTN_SWAP_AB" == "1" ]]; then
FLYCAST_D_BUTTONS[a]="btn_a"
FLYCAST_D_BUTTONS[b]="btn_b"
fi
# Cleans all the inputs for the gamepad with name $GAMEPAD and player $1
clean_pad() {
#echo "Cleaning pad $1 $2" #debug
[[ -f "${CONFIG_TMP_A}" ]] && rm "${CONFIG_TMP_A}"
[[ -f "${CONFIG_TMP_D}" ]] && rm "${CONFIG_TMP_D}"
[[ -f "${CONFIG_TMP_E}" ]] && rm "${CONFIG_TMP_E}"
}
# Sets pad depending on parameters.
# $1 = Player Number
# $2 = js[0-7]
# $3 = Device GUID
# $4 = Device Name
set_pad() {
local DEVICE_GUID=$3
local JOY_NAME="$4"
# Insert the correct configs into emu.cfg to enable sdl to work.
declare -i LN=$( cat "$EMU_FILE" | grep -n "\[input\]" | cut -d: -f1 | head -1 )
declare -i index=$(( $1 - 1 ))
sed -i "/device${1}/d" "$EMU_FILE"
sed -i "/maple_sdl_joystick_${index}/d" "$EMU_FILE"
local DEVICE="maple_sdl_joystick_${index} = ${index}\ndevice${1} = 0\ndevice${1}.1 = 1\ndevice${1}.2 = 1\n"
[[ "$LN" -gt "0" ]] && LN=$(( LN+1 )) && sed -i "${LN} i ${DEVICE}" "$EMU_FILE"
local CONFIG="${MAPPING_DIR}/SDL_${JOY_NAME}.cfg"
[[ -f "${CONFIG}" ]] && return
#echo "DEVICE_GUID=${DEVICE_GUID}"
touch "${CONFIG_TMP_A}"
touch "${CONFIG_TMP_D}"
touch "${CONFIG_TMP_E}"
echo "axis_right_x_inverted = no" >> ${CONFIG_TMP_A}
echo "axis_right_y_inverted = no" >> ${CONFIG_TMP_A}
echo "axis_x_inverted = no" >> ${CONFIG_TMP_A}
echo "axis_y_inverted = no" >> ${CONFIG_TMP_A}
local GC_RECORD
[[ -f "${CONFIG}" ]] && GC_RECORD=$(cat "${CONFIG}" | grep -E "^dead_zone \= [0-9]*$")
[[ -z "$GC_RECORD" ]] && GC_RECORD="dead_zone = 10"
echo "$GC_RECORD" >> ${CONFIG_TMP_E}
[[ -f "${CONFIG}" ]] && rm "${CONFIG}"
echo "mapping_name = $JOY_NAME" >> ${CONFIG_TMP_E}
echo "version = 2" >> ${CONFIG_TMP_E}
local GC_CONFIG=$(cat "$GCDB" | grep "${DEVICE_GUID}" | grep "platform:Linux" | head -1)
echo "GC_CONFIG=$GC_CONFIG"
[[ -z $GC_CONFIG ]] && return
local GC_MAP=$(echo $GC_CONFIG | cut -d',' -f3-)
set -f
local GC_ARRAY=(${GC_MAP//,/ })
for index in "${!GC_ARRAY[@]}"; do
local REC=${GC_ARRAY[$index]}
local BUTTON_INDEX=$(echo $REC | cut -d ":" -f 1)
local TVAL=$(echo $REC | cut -d ":" -f 2)
local BTN_TYPE="${TVAL:1}"
local FC_INDEX_D=${FLYCAST_D_BUTTONS[$BUTTON_INDEX]}
local ABORT_ENTRY=0
local BTN_TYPE=${TVAL:0:1}
local NUM=${TVAL:1}
if [[ $BUTTON_INDEX == "leftx" || $BUTTON_INDEX == "lefty" ]]; then
FC_INDEX_D=${FLYCAST_D_BUTTONS[$BUTTON_INDEX,0]}
echo "${FC_INDEX_D} = $NUM" >> ${CONFIG_TMP_D}
FC_INDEX_D=${FLYCAST_D_BUTTONS[$BUTTON_INDEX,1]}
echo "${FC_INDEX_D} = $NUM" >> ${CONFIG_TMP_A}
continue
fi
if [[ ! -z "$FC_INDEX_D" ]]; then
[[ $BUTTON_INDEX == "lefttrigger" ]] && ABORT_ENTRY=1
[[ $BUTTON_INDEX == "righttrigger" ]] && ABORT_ENTRY=1
[[ $BUTTON_INDEX == "back" ]] && ABORT_ENTRY=1 && echo "${FC_INDEX_D} = $NUM" >> ${CONFIG_TMP_E}
[[ $BUTTON_INDEX == "guide" ]] && ABORT_ENTRY=1 && echo "${FC_INDEX_D} = $NUM" >> ${CONFIG_TMP_E}
if [[ $ABORT_ENTRY == 0 ]]; then
[[ $BTN_TYPE == "a" ]] && echo "${FC_INDEX_D} = $NUM" >> ${CONFIG_TMP_D}
[[ $BTN_TYPE == "b" ]] && echo "${FC_INDEX_D} = $NUM" >> ${CONFIG_TMP_D}
[[ $BTN_TYPE == "h" ]] && NUM=${FLYCAST_D_INDEXES[$TVAL]} && echo "${FC_INDEX_D} = ${NUM}" >> ${CONFIG_TMP_D}
fi
fi
local FC_INDEX_A=${FLYCAST_D_BUTTONS[$BUTTON_INDEX]}
if [[ ! -z "$FC_INDEX_A" ]]; then
case $BUTTON_INDEX in
"lefttrigger")
echo "${FC_INDEX_A} = $NUM" >> ${CONFIG_TMP_A}
;;
"righttrigger")
echo "${FC_INDEX_A} = $NUM" >> ${CONFIG_TMP_A}
;;
esac
fi
done
echo "[compat]" >> "${CONFIG}"
cat "${CONFIG_TMP_A}" | sort >> "${CONFIG}"
echo -e "\n[dreamcast]" >> "${CONFIG}"
cat "${CONFIG_TMP_D}" | sort >> "${CONFIG}"
echo -e "\n[emulator]" >> "${CONFIG}"
cat "${CONFIG_TMP_E}" | sort >> "${CONFIG}"
rm "${CONFIG_TMP_A}"
rm "${CONFIG_TMP_D}"
rm "${CONFIG_TMP_E}"
local ARCADE_CFG="${CONFIG:0:-4}_arcade.cfg"
cp -f "${CONFIG}" "${ARCADE_CFG}"
sed -i '/axis_dpad1_x =/d' "${CONFIG}"
sed -i '/axis_dpad1_y =/d' "${CONFIG}"
}
init_config() {
mkdir -p "/storage/.config/flycast/mappings"
# Adjust the emulator config file to load sdl controller files.
local SDL_JOYSTICK="maple_sdl_joystick_0 = 0\nmaple_sdl_joystick_1 = 1\n"
local DEVICES="device1 = 0\ndevice1.1 = 1\ndevice1.2 = 1\ndevice2 = 0\ndevice2.1 = 1\ndevice2.2 = 1\n"
if [[ ! -f "$EMU_FILE" ]]; then
echo "[input]" >> "$EMU_FILE"
echo -e "$SDL_JOYSTICK" >> "$EMU_FILE"
echo -e "${DEVICES}" >> "$EMU_FILE"
return
fi
}
init_config
jc_get_players

View file

@ -1,23 +1,25 @@
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2021-present Shanti Gilbert (https://github.com/shantigilbert)
# Copyright (C) 2023-present BrooksyTech (https://github.com/brooksytech)
# Source predefined functions and variables
. /etc/profile
mkdir -p "/storage/.local/share/"
#Check if flycast exists in .config
if [ ! -d "/storage/.config/flycast" ]; then
mkdir -p "/storage/.config/flycast"
cp -r "/usr/config/flycast" "/storage/.config/"
fi
if [ ! -L "/storage/.local/share/flycast" ]; then
#Make flycast bios folder
if [ ! -d "/storage/roms/bios/dc" ]; then
mkdir -p "/storage/roms/bios/dc"
rm -rf "/storage/.local/share/flycast"
ln -sf "/storage/roms/bios/dc" "/storage/.local/share/flycast"
fi
AUTOGP=$(get_ee_setting flycast_auto_gamepad)
if [[ "${AUTOGP}" != "0" ]]; then
mkdir -p "/storage/.config/flycast/mappings"
/usr/bin/set_flycast_joy.sh
fi
#Link .config/flycast to .local
rm -rf "/storage/.local/share/flycast"
ln -sf "/storage/.config/flycast" "/storage/.local/share/flycast"
ln -sf "/storage/roms/bios/dc" "/storage/.local/share/flycast"
flycast "${1}"
#Run flycast emulator
/usr/bin/flycast "${1}"

View file

@ -0,0 +1,147 @@
Key_A=-1
Key_B=-1
Key_Select=-1
Key_Start=-1
Key_Right=-1
Key_Left=-1
Key_Up=-1
Key_Down=-1
Key_R=-1
Key_L=-1
Key_X=-1
Key_Y=-1
Joy_A=1
Joy_B=0
Joy_Select=6
Joy_Start=7
Joy_Right=65794
Joy_Left=1114376
Joy_Up=17891585
Joy_Down=16843012
Joy_R=86114303
Joy_L=35782655
Joy_X=3
Joy_Y=2
HKKey_Lid=-1
HKKey_Mic=-1
HKKey_Pause=-1
HKKey_Reset=-1
HKKey_FastForward=-1
HKKey_FastForwardToggle=-1
HKKey_FullscreenToggle=-1
HKKey_SwapScreens=-1
HKKey_SolarSensorDecrease=-1
HKKey_SolarSensorIncrease=-1
HKKey_FrameStep=-1
HKKey_SaveState=-1
HKKey_LoadState=-1
HKJoy_Lid=-1
HKJoy_Mic=10
HKJoy_Pause=-1
HKJoy_Reset=-1
HKJoy_FastForward=-1
HKJoy_FastForwardToggle=-1
HKJoy_FullscreenToggle=-1
HKJoy_SwapScreens=9
HKJoy_SolarSensorDecrease=-1
HKJoy_SolarSensorIncrease=-1
HKJoy_FrameStep=-1
HKJoy_SaveState=5
HKJoy_LoadState=4
JoystickID=0
WindowWidth=1920
WindowHeight=1080
WindowMax=0
ScreenRotation=0
ScreenGap=0
ScreenLayout=2
ScreenSwap=0
ScreenSizing=3
IntegerScaling=0
ScreenAspectTop=0
ScreenAspectBot=0
ScreenFilter=1
ScreenUseGL=0
ScreenVSync=0
ScreenVSyncInterval=1
3DRenderer=0
Threaded3D=1
GL_ScaleFactor=1
GL_BetterPolygons=0
LimitFPS=1
AudioSync=0
ShowOSD=1
ConsoleType=0
DirectBoot=1
JIT_Enable=0
JIT_MaxBlockSize=32
JIT_BranchOptimisations=1
JIT_LiteralOptimisations=1
JIT_FastMemory=1
ExternalBIOSEnable=0
BIOS9Path=
BIOS7Path=
FirmwarePath=
DSiBIOS9Path=
DSiBIOS7Path=
DSiFirmwarePath=
DSiNANDPath=
DLDIEnable=0
DLDISDPath=dldi.bin
DLDISize=0
DLDIReadOnly=0
DLDIFolderSync=0
DLDIFolderPath=
DSiSDEnable=0
DSiSDPath=dsisd.bin
DSiSDSize=0
DSiSDReadOnly=0
DSiSDFolderSync=0
DSiSDFolderPath=
FirmwareOverrideSettings=0
FirmwareUsername=melonDS
FirmwareLanguage=1
FirmwareBirthdayMonth=1
FirmwareBirthdayDay=1
FirmwareFavouriteColour=0
FirmwareMessage=
FirmwareMAC=
MPAudioMode=1
MPRecvTimeout=25
LANDevice=
DirectLAN=0
SavStaRelocSRAM=0
AudioInterp=0
AudioBitrate=0
AudioVolume=256
MicInputType=0
MicWavPath=
LastROMFolder=
RecentROM_0=
RecentROM_1=
RecentROM_2=
RecentROM_3=
RecentROM_4=
RecentROM_5=
RecentROM_6=
RecentROM_7=
RecentROM_8=
RecentROM_9=
SaveFilePath=/storage/roms/nds
SavestatePath=/storage/roms/savestates/nds
CheatFilePath=
EnableCheats=0
MouseHide=0
MouseHideSeconds=5
PauseLostFocus=0
DSBatteryLevelOkay=1
DSiBatteryLevel=15
DSiBatteryCharging=1
Camera0_InputType=0
Camera0_ImagePath=
Camera0_CamDeviceName=
Camera0_XFlip=0
Camera1_InputType=0
Camera1_ImagePath=
Camera1_CamDeviceName=
Camera1_XFlip=0

View file

@ -0,0 +1,663 @@
# Mupen64Plus Configuration File
# This file is automatically read and written by the Mupen64Plus Core library
[64DD]
# Filename of the 64DD IPL ROM
IPL-ROM = ""
# Filename of the disk to load into Disk Drive
Disk = ""
[Audio-SDL]
# Mupen64Plus SDL Audio Plugin config parameter version number
Version = 1.000000
# Frequency which is used if rom doesn't want to change it
DEFAULT_FREQUENCY = 33600
# Swaps left and right channels
SWAP_CHANNELS = False
# Size of primary buffer in output samples. This is where audio is loaded after it's extracted from n64's memory.
PRIMARY_BUFFER_SIZE = 16384
# Fullness level target for Primary audio buffer, in equivalent output samples. This value must be larger than the SECONDARY_BUFFER_SIZE. Decreasing this value will reduce audio latency but requires a faster PC to avoid choppiness. Increasing this will increase audio latency but reduce the chance of drop-outs.
PRIMARY_BUFFER_TARGET = 2048
# Size of secondary buffer in output samples. This is SDL's hardware buffer. The SDL documentation states that this should be a power of two between 512 and 8192.
SECONDARY_BUFFER_SIZE = 1024
# Audio resampling algorithm. src-sinc-best-quality, src-sinc-medium-quality, src-sinc-fastest, src-zero-order-hold, src-linear, speex-fixed-{10-0}, trivial
RESAMPLE = "trivial"
# Volume control type: 1 = SDL (only affects Mupen64Plus output) 2 = OSS mixer (adjusts master PC volume)
VOLUME_CONTROL_TYPE = 1
# Percentage change each time the volume is increased or decreased
VOLUME_ADJUST = 5
# Default volume when a game is started. Only used if VOLUME_CONTROL_TYPE is 1
VOLUME_DEFAULT = 100
# Synchronize Video/Audio
AUDIO_SYNC = False
[Core]
# Mupen64Plus Core config parameter set version number. Please don't change this version number.
Version = 1.010000
# Draw on-screen display if True, otherwise don't draw OSD
OnScreenDisplay = True
# Use Pure Interpreter if 0, Cached Interpreter if 1, or Dynamic Recompiler if 2 or more
R4300Emulator = 2
# Disable compiled jump commands in dynamic recompiler (should be set to False)
NoCompiledJump = False
# Disable 4MB expansion RAM pack. May be necessary for some games
DisableExtraMem = False
# Increment the save state slot after each save operation
AutoStateSlotIncrement = False
# Activate the R4300 debugger when ROM execution begins, if core was built with Debugger support
EnableDebugger = False
# Save state slot (0-9) to use when saving/loading the emulator state
CurrentStateSlot = 0
# Path to directory where screenshots are saved. If this is blank, the default value of ${UserDataPath}/screenshot will be used
ScreenshotPath = "/storage/roms/screenshots"
# Path to directory where emulator save states (snapshots) are saved. If this is blank, the default value of ${UserDataPath}/save will be used
SaveStatePath = "/storage/roms/n64"
# Path to directory where SRAM/EEPROM data (in-game saves) are stored. If this is blank, the default value of ${UserDataPath}/save will be used
SaveSRAMPath = "/storage/roms/n64"
# Path to a directory to search when looking for shared data files
SharedDataPath = "/storage/.config/game/configs/mupen64plussa"
# Force number of cycles per emulated instruction
CountPerOp = 0
# Randomize PI/SI Interrupt Timing
RandomizeInterrupt = True
# Duration of SI DMA (-1: use per game settings)
SiDmaDuration = -1
# Gameboy Camera Video Capture backend
GbCameraVideoCaptureBackend1 = ""
# Disk Save Format (0: Full Disk Copy (*.ndr/*.d6r), 1: RAM Area Only (*.ram))
SaveDiskFormat = 1
[CoreEvents]
# Mupen64Plus CoreEvents config parameter set version number. Please don't change this version number.
Version = 1.000000
# SDL keysym for stopping the emulator
Kbd Mapping Stop = 27
# SDL keysym for switching between fullscreen/windowed modes
Kbd Mapping Fullscreen = 0
# SDL keysym for saving the emulator state
Kbd Mapping Save State = 286
# SDL keysym for loading the emulator state
Kbd Mapping Load State = 288
# SDL keysym for advancing the save state slot
Kbd Mapping Increment Slot = 0
# SDL keysym for resetting the emulator
Kbd Mapping Reset = 290
# SDL keysym for slowing down the emulator
Kbd Mapping Speed Down = 291
# SDL keysym for speeding up the emulator
Kbd Mapping Speed Up = 292
# SDL keysym for taking a screenshot
Kbd Mapping Screenshot = 293
# SDL keysym for pausing the emulator
Kbd Mapping Pause = 112
# SDL keysym for muting/unmuting the sound
Kbd Mapping Mute = 109
# SDL keysym for increasing the volume
Kbd Mapping Increase Volume = 93
# SDL keysym for decreasing the volume
Kbd Mapping Decrease Volume = 91
# SDL keysym for temporarily going really fast
Kbd Mapping Fast Forward = 102
# SDL keysym for advancing by one frame when paused
Kbd Mapping Frame Advance = 47
# SDL keysym for pressing the game shark button
Kbd Mapping Gameshark = 103
# Joystick event string for stopping the emulator
Joy Mapping Stop = "J0B12/B17"
# Joystick event string for switching between fullscreen/windowed modes
Joy Mapping Fullscreen = ""
# Joystick event string for saving the emulator state
Joy Mapping Save State = "J0B12/B5"
# Joystick event string for loading the emulator state
Joy Mapping Load State = "J0B12/B4"
# Joystick event string for advancing the save state slot
Joy Mapping Increment Slot = ""
# Joystick event string for resetting the emulator
Joy Mapping Reset = "J0B12/B0"
# Joystick event string for slowing down the emulator
Joy Mapping Speed Down = ""
# Joystick event string for speeding up the emulator
Joy Mapping Speed Up = ""
# Joystick event string for taking a screenshot
Joy Mapping Screenshot = "J0B12/B1"
# Joystick event string for pausing the emulator
Joy Mapping Pause = "J0B6/B0"
# Joystick event string for muting/unmuting the sound
Joy Mapping Mute = ""
# Joystick event string for increasing the volume
Joy Mapping Increase Volume = ""
# Joystick event string for decreasing the volume
Joy Mapping Decrease Volume = ""
# Joystick event string for fast-forward
Joy Mapping Fast Forward = ""
# Joystick event string for advancing by one frame when paused
Joy Mapping Frame Advance = ""
# Joystick event string for pressing the game shark button
Joy Mapping Gameshark = "J0B6/B2"
# SDL keysym for save slot 0
Kbd Mapping Slot 0 = 48
# SDL keysym for save slot 1
Kbd Mapping Slot 1 = 49
# SDL keysym for save slot 2
Kbd Mapping Slot 2 = 50
# SDL keysym for save slot 3
Kbd Mapping Slot 3 = 51
# SDL keysym for save slot 4
Kbd Mapping Slot 4 = 52
# SDL keysym for save slot 5
Kbd Mapping Slot 5 = 53
# SDL keysym for save slot 6
Kbd Mapping Slot 6 = 54
# SDL keysym for save slot 7
Kbd Mapping Slot 7 = 55
# SDL keysym for save slot 8
Kbd Mapping Slot 8 = 56
# SDL keysym for save slot 9
Kbd Mapping Slot 9 = 57
[Input-SDL-Control1]
# Mupen64Plus SDL Input Plugin config parameter version number. Please don't change this version number.
version = 2.000000
# Controller configuration mode: 0=Fully Manual, 1=Auto with named SDL Device, 2=Fully automatic
mode = 2
# Specifies which joystick is bound to this controller: -1=No joystick, 0 or more= SDL Joystick number
device = 0
# SDL joystick name (or Keyboard)
name = "Xbox 360 Controller"
# Specifies whether this controller is 'plugged in' to the simulated N64
plugged = True
# Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 4=Transfer pak, 5=Rumble pak
plugin = 2
# If True, then mouse buttons may be used with this controller
mouse = False
# Scaling factor for mouse movements. For X, Y axes.
MouseSensitivity = "2.00,2.00"
# The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0. For X, Y axes.
AnalogDeadzone = "0,0"
# An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80). For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value
AnalogPeak = "32768,32768"
# Digital button configuration mappings
AnalogDeadzone = 4096,4096
AnalogPeak = 32768,32768
DPad R = hat(0 Right)
DPad L = hat(0 Left)
DPad D = hat(0 Down)
DPad U = hat(0 Up)
Start = button(7)
Z Trig = axis(2+)
B Button = button(2)
A Button = button(0)
C Button R = axis(3+,24000)
C Button L = axis(3-,24000) button(3)
C Button D = axis(4+,24000) button(1)
C Button U = axis(4-,24000)
R Trig = axis(5+) button(5)
L Trig = button(4)
Mempak switch =
Rumblepak switch =
X Axis = axis(0-,0+)
Y Axis = axis(1-,1+)
[Input-SDL-Control2]
# Mupen64Plus SDL Input Plugin config parameter version number. Please don't change this version number.
version = 2.000000
# Controller configuration mode: 0=Fully Manual, 1=Auto with named SDL Device, 2=Fully automatic
mode = 2
# Specifies which joystick is bound to this controller: -1=No joystick, 0 or more= SDL Joystick number
device = -1
# SDL joystick name (or Keyboard)
name = ""
# Specifies whether this controller is 'plugged in' to the simulated N64
plugged = False
# Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 4=Transfer pak, 5=Rumble pak
plugin = 2
# If True, then mouse buttons may be used with this controller
mouse = False
# Scaling factor for mouse movements. For X, Y axes.
MouseSensitivity = "2.00,2.00"
# The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0. For X, Y axes.
AnalogDeadzone = "4096,4096"
# An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80). For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value
AnalogPeak = "32768,32768"
# Digital button configuration mappings
DPad R = ""
DPad L = ""
DPad D = ""
DPad U = ""
Start = ""
Z Trig = ""
B Button = ""
A Button = ""
C Button R = ""
C Button L = ""
C Button D = ""
C Button U = ""
R Trig = ""
L Trig = ""
Mempak switch = ""
Rumblepak switch = ""
# Analog axis configuration mappings
X Axis = ""
Y Axis = ""
[Input-SDL-Control3]
# Mupen64Plus SDL Input Plugin config parameter version number. Please don't change this version number.
version = 2.000000
# Controller configuration mode: 0=Fully Manual, 1=Auto with named SDL Device, 2=Fully automatic
mode = 2
# Specifies which joystick is bound to this controller: -1=No joystick, 0 or more= SDL Joystick number
device = -1
# SDL joystick name (or Keyboard)
name = ""
# Specifies whether this controller is 'plugged in' to the simulated N64
plugged = False
# Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 4=Transfer pak, 5=Rumble pak
plugin = 2
# If True, then mouse buttons may be used with this controller
mouse = False
# Scaling factor for mouse movements. For X, Y axes.
MouseSensitivity = "2.00,2.00"
# The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0. For X, Y axes.
AnalogDeadzone = "4096,4096"
# An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80). For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value
AnalogPeak = "32768,32768"
# Digital button configuration mappings
DPad R = ""
DPad L = ""
DPad D = ""
DPad U = ""
Start = ""
Z Trig = ""
B Button = ""
A Button = ""
C Button R = ""
C Button L = ""
C Button D = ""
C Button U = ""
R Trig = ""
L Trig = ""
Mempak switch = ""
Rumblepak switch = ""
# Analog axis configuration mappings
X Axis = ""
Y Axis = ""
[Input-SDL-Control4]
# Mupen64Plus SDL Input Plugin config parameter version number. Please don't change this version number.
version = 2.000000
# Controller configuration mode: 0=Fully Manual, 1=Auto with named SDL Device, 2=Fully automatic
mode = 2
# Specifies which joystick is bound to this controller: -1=No joystick, 0 or more= SDL Joystick number
device = -1
# SDL joystick name (or Keyboard)
name = ""
# Specifies whether this controller is 'plugged in' to the simulated N64
plugged = False
# Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 4=Transfer pak, 5=Rumble pak
plugin = 2
# If True, then mouse buttons may be used with this controller
mouse = False
# Scaling factor for mouse movements. For X, Y axes.
MouseSensitivity = "2.00,2.00"
# The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0. For X, Y axes.
AnalogDeadzone = "4096,4096"
# An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80). For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value
AnalogPeak = "32768,32768"
# Digital button configuration mappings
DPad R = ""
DPad L = ""
DPad D = ""
DPad U = ""
Start = ""
Z Trig = ""
B Button = ""
A Button = ""
C Button R = ""
C Button L = ""
C Button D = ""
C Button U = ""
R Trig = ""
L Trig = ""
Mempak switch = ""
Rumblepak switch = ""
# Analog axis configuration mappings
X Axis = ""
Y Axis = ""
[Rsp-HLE]
# Mupen64Plus RSP HLE Plugin config parameter version number
Version = 1.000000
# Path to a RSP plugin which will be used when encountering an unknown ucode.You can disable this by letting an empty string.
RspFallback = ""
# Send display lists to the graphics plugin
DisplayListToGraphicsPlugin = True
# Send audio lists to the audio plugin
AudioListToAudioPlugin = False
[Transferpak]
# Filename of the GB ROM to load into transferpak 1
GB-rom-1 = ""
# Filename of the GB RAM to load into transferpak 1
GB-ram-1 = ""
# Filename of the GB ROM to load into transferpak 2
GB-rom-2 = ""
# Filename of the GB RAM to load into transferpak 2
GB-ram-2 = ""
# Filename of the GB ROM to load into transferpak 3
GB-rom-3 = ""
# Filename of the GB RAM to load into transferpak 3
GB-ram-3 = ""
# Filename of the GB ROM to load into transferpak 4
GB-rom-4 = ""
# Filename of the GB RAM to load into transferpak 4
GB-ram-4 = ""
[UI-Console]
# Mupen64Plus UI-Console config parameter set version number. Please don't change this version number.
Version = 1.000000
# Directory in which to search for plugins
PluginDir = "/usr/local/lib/mupen64plus"
# Filename of video plugin
VideoPlugin = "mupen64plus-video-rice"
# Filename of audio plugin
AudioPlugin = "mupen64plus-audio-sdl.so"
# Filename of input plugin
InputPlugin = "mupen64plus-input-sdl.so"
# Filename of RSP plugin
RspPlugin = "mupen64plus-rsp-cxd4.so"
[Video-General]
# Width of output window or fullscreen width
ScreenWidth = 854
# Height of output window or fullscreen height
ScreenHeight = 480
# Use fullscreen mode if True, or windowed mode if False
Fullscreen = True
# If true, activate the SDL_GL_SWAP_CONTROL attribute
VerticalSync = True
# Rotate screen contents: 0=0 degree, 1=90 degree, 2 = 180 degree, 3=270 degree
Rotate = 0
[Video-GLideN64]
###### Hardware Compatibility ######
# Leave enabled unless a mobile gpu doesn't support it.
EnableFragmentDepthWrite = 1
# Hardware per pixel lighting, supposedly good for GLES3.1 devices or higher.
EnableHWLighting = 0
###### Enhancements #######
# Internal render resoluton rather than output. So 2 x 240p is 480p, etc.
UseNativeResolutionFactor = 1
# Enable/Disable MultiSampling (0=off, 2,4,8,16=quality)
MultiSampling = 0
# Enable/Disable Fast Approximate Anti-Aliasing FXAA
FXAA = 0
# Max level of Anisotropic Filtering, 0 for off
anisotropy = 0
# Bilinear filtering mode (0=N64 3point, 1=standard)
# @rishooty: best to use this at 1x native res, any higher turn it off.
bilinearMode = 1
###### Compatibility ######
# Make texrect coordinates continuous to avoid black lines between them. (0=Off/default, 1=Auto, 2=Force)
CorrectTexrectCoords = 1
# Copy auxiliary buffers to RDRAM (default: 0)
EnableCopyAuxiliaryToRDRAM = 1
# Render 2D texrects in native resolution to fix misalignment between parts of 2D image. (0=Off/default, 1=Optimized, 2=Unoptimized)")
EnableNativeResTexrects = 1
###### Other ######
# Enable threaded video backend at the cost of input lag
ThreadedVideo = 1
# Screen aspect ratio (0=stretch, 1=force 4:3, 2=force 16:9, 3=adjust)
AspectRatio = 1
[Video-Glide64mk2]
# Enable full-scene anti-aliasing by setting this to a value greater than 1
wrpAntiAliasing = 0
# Card ID
card_id = 0
# If true, use polygon offset values specified below
force_polygon_offset = False
# Specifies a scale factor that is used to create a variable depth offset for each polygon
polygon_offset_factor = 0.000000
# Is multiplied by an implementation-specific value to create a constant depth offset
polygon_offset_units = 0.000000
# Vertical sync
vsync = True
# TODO:ssformat
ssformat = False
# Display performance stats (add together desired flags): 1=FPS counter, 2=VI/s counter, 4=% speed, 8=FPS transparent
show_fps = 0
# Clock enabled
clock = False
# Clock is 24-hour
clock_24_hr = True
# Wrapper resolution
wrpResolution = 0
# Wrapper VRAM
wrpVRAM = 0
# Wrapper FBO
wrpFBO = True
# Wrapper Anisotropic Filtering
wrpAnisotropic = True
# Texture Enhancement: Smooth/Sharpen Filters
ghq_fltr = 0
# Texture Compression: 0 for S3TC, 1 for FXT1
ghq_cmpr = 0
# Texture Enhancement: More filters
ghq_enht = 0
# Hi-res texture pack format (0 for none, 1 for Rice)
ghq_hirs = 1
# Compress texture cache with S3TC or FXT1
ghq_enht_cmpr = False
# Tile textures (saves memory but could cause issues)
ghq_enht_tile = 0
# Force 16bpp textures (saves ram but lower quality)
ghq_enht_f16bpp = False
# Compress texture cache
ghq_enht_gz = True
# Don't enhance textures for backgrounds
ghq_enht_nobg = False
# Enable S3TC and FXT1 compression
ghq_hirs_cmpr = False
# Tile hi-res textures (saves memory but could cause issues)
ghq_hirs_tile = False
# Force 16bpp hi-res textures (saves ram but lower quality)
ghq_hirs_f16bpp = False
# Compress hi-res texture cache
ghq_hirs_gz = True
# Alternative CRC calculation -- emulates Rice bug
ghq_hirs_altcrc = True
# Save tex cache to disk
ghq_cache_save = True
# Texture Cache Size (MB)
ghq_cache_size = 128
# Use full alpha channel -- could cause issues for some tex packs
ghq_hirs_let_texartists_fly = False
# Dump textures
ghq_hirs_dump = False
# Alternate texture size method: -1=Game default, 0=disable. 1=enable
alt_tex_size = -1
# Use first SETTILESIZE only: -1=Game default, 0=disable. 1=enable
use_sts1_only = -1
# Use spheric mapping only: -1=Game default, 0=disable. 1=enable
force_calc_sphere = -1
# Force positive viewport: -1=Game default, 0=disable. 1=enable
correct_viewport = -1
# Force texrect size to integral value: -1=Game default, 0=disable. 1=enable
increase_texrect_edge = -1
# Reduce fillrect size by 1: -1=Game default, 0=disable. 1=enable
decrease_fillrect_edge = -1
# Enable perspective texture correction emulation: -1=Game default, 0=disable. 1=enable
texture_correction = -1
# Set special scale for PAL games: -1=Game default, 0=disable. 1=enable
pal230 = -1
# 3DFX Dithered alpha emulation mode: -1=Game default, >=0=dithered alpha emulation mode
stipple_mode = -1
# 3DFX Dithered alpha pattern: -1=Game default, >=0=pattern used for dithered alpha emulation
stipple_pattern = -1
# Check microcode each frame: -1=Game default, 0=disable. 1=enable
force_microcheck = -1
# Force 0xb5 command to be quad, not line 3D: -1=Game default, 0=disable. 1=enable
force_quad3d = -1
# Enable near z clipping: -1=Game default, 0=disable. 1=enable
clip_zmin = -1
# Enable far plane clipping: -1=Game default, 0=disable. 1=enable
clip_zmax = -1
# Use fast CRC algorithm: -1=Game default, 0=disable. 1=enable
fast_crc = -1
# Adjust screen aspect for wide screen mode: -1=Game default, 0=disable. 1=enable
adjust_aspect = -1
# Force strict check in Depth buffer test: -1=Game default, 0=disable. 1=enable
zmode_compare_less = -1
# Apply alpha dither regardless of alpha_dither_mode: -1=Game default, 0=disable. 1=enable
old_style_adither = -1
# Scale vertex z value before writing to depth buffer: -1=Game default, 0=disable. 1=enable
n64_z_scale = -1
# Fast texrect rendering with hwfbe: -1=Game default, 0=disable. 1=enable
optimize_texrect = -1
# Do not copy auxiliary frame buffers: -1=Game default, 0=disable. 1=enable
ignore_aux_copy = -1
# Clear auxiliary texture frame buffers: -1=Game default, 0=disable. 1=enable
hires_buf_clear = -1
# Read alpha from framebuffer: -1=Game default, 0=disable. 1=enable
fb_read_alpha = -1
# Handle unchanged fb: -1=Game default, 0=disable. 1=enable
useless_is_useless = -1
# Set frambuffer CRC mode: -1=Game default, 0=disable CRC, 1=fast CRC, 2=safe CRC
fb_crc_mode = -1
# Filtering mode: -1=Game default, 0=automatic, 1=force bilinear, 2=force point sampled
filtering = -1
# Fog: -1=Game default, 0=disable. 1=enable
fog = -1
# Buffer clear on every frame: -1=Game default, 0=disable. 1=enable
buff_clear = -1
# Buffer swapping method: -1=Game default, 0=swap buffers when vertical interrupt has occurred, 1=swap buffers when set of conditions is satisfied. Prevents flicker on some games, 2=mix of first two methods
swapmode = -1
# Aspect ratio: -1=Game default, 0=Force 4:3, 1=Force 16:9, 2=Stretch, 3=Original
aspect = -1
# LOD calculation: -1=Game default, 0=disable. 1=fast, 2=precise
lodmode = -1
# Smart framebuffer: -1=Game default, 0=disable. 1=enable
fb_smart = -1
# Hardware frame buffer emulation: -1=Game default, 0=disable. 1=enable
fb_hires = -1
# Read framebuffer every frame (may be slow use only for effects that need it e.g. Banjo Kazooie, DK64 transitions): -1=Game default, 0=disable. 1=enable
fb_read_always = -1
# Render N64 frame buffer as texture: -1=Game default, 0=disable, 1=mode1, 2=mode2
read_back_to_screen = -1
# Show images written directly by CPU: -1=Game default, 0=disable. 1=enable
detect_cpu_write = -1
# Get frame buffer info: -1=Game default, 0=disable. 1=enable
fb_get_info = -1
# Enable software depth render: -1=Game default, 0=disable. 1=enable
fb_render = -1
# If true, skip up to maxframeskip frames to maintain clock schedule; if false, skip exactly maxframeskip frames
autoframeskip = False
# If autoframeskip is true, skip up to this many frames to maintain clock schedule; if autoframeskip is false, skip exactly this many frames
maxframeskip = 0
[Video-Rice]
# Mupen64Plus Rice Video Plugin config parameter version number
Version = 1
# Frame Buffer Emulation (0=ROM default, 1=disable)
FrameBufferSetting = 0
# Frequency to write back the frame buffer (0=every frame, 1=every other frame, etc)
FrameBufferWriteBackControl = 0
# Render-to-texture emulation (0=none, 1=ignore, 2=normal, 3=write back, 4=write back and reload)
RenderToTexture = 0
# Control when the screen will be updated (0=ROM default, 1=VI origin update, 2=VI origin change, 3=CI change, 4=first CI change, 5=first primitive draw, 6=before screen clear, 7=after screen drawn)
ScreenUpdateSetting = 4
# Force to use normal alpha blender
NormalAlphaBlender = False
# Use a faster algorithm to speed up texture loading and CRC computation
FastTextureLoading = False
# Use different texture coordinate clamping code
AccurateTextureMapping = True
# Force emulated frame buffers to be in N64 native resolution
InN64Resolution = False
# Try to reduce Video RAM usage (should never be used)
SaveVRAM = False
# Enable this option to have better render-to-texture quality
DoubleSizeForSmallTxtrBuf = False
# Force to use normal color combiner
DefaultCombinerDisable = False
# Enable game-specific settings from INI file
EnableHacks = True
# If enabled, graphics will be drawn in WinFrame mode instead of solid and texture mode
WinFrameMode = False
# N64 Texture Memory Full Emulation (may fix some games, may break others)
FullTMEMEmulation = False
# Enable vertex clipper for fog operations
OpenGLVertexClipper = False
# Enable/Disable SSE optimizations for capable CPUs
EnableSSE = True
# If this option is enabled, the plugin will skip every other frame
SkipFrame = False
# If enabled, texture enhancement will be done only for TxtRect ucode
TexRectOnly = False
# If enabled, texture enhancement will be done only for textures width+height<=128
SmallTextureOnly = False
# Select hi-resolution textures based only on the CRC and ignore format+size information (Glide64 compatibility)
LoadHiResCRCOnly = True
# Enable hi-resolution texture file loading
LoadHiResTextures = False
# Enable texture dumping
DumpTexturesToFiles = False
# Display On-screen FPS
ShowFPS = False
# Use Mipmapping? 0=no, 1=nearest, 2=bilinear, 3=trilinear
Mipmapping = 2
# Enable, Disable fog generation (0=Disable, 1=Enable)
FogMethod = 1
# Force to use texture filtering or not (0=auto: n64 choose, 1=force no filtering, 2=force filtering)
ForceTextureFilter = 0
# Primary texture enhancement filter (0=None, 1=2X, 2=2XSAI, 3=HQ2X, 4=LQ2X, 5=HQ4X, 6=Sharpen, 7=Sharpen More, 8=External, 9=Mirrored)
TextureEnhancement = 0
# Secondary texture enhancement filter (0 = none, 1-4 = filtered)
TextureEnhancementControl = 0
# Color bit depth to use for textures (0=default, 1=32 bits, 2=16 bits)
TextureQuality = 0
# Z-buffer depth (only 16 or 32)
OpenGLDepthBufferSetting = 16
# Enable/Disable MultiSampling (0=off, 2,4,8,16=quality)
MultiSampling = 0
# Color bit depth for rendering window (0=32 bits, 1=16 bits)
ColorQuality = 1
# OpenGL level to support (0=auto, 1=OGL_FRAGMENT_PROGRAM)
OpenGLRenderSetting = 0
# Enable/Disable Anisotropic Filtering for Mipmapping (0=no filtering, 2-16=quality). This is uneffective if Mipmapping is 0. If the given value is to high to be supported by your graphic card, the value will be the highest value your graphic card can support. Better result with Trilinear filtering
AnisotropicFiltering = 0
# If true, use polygon offset values specified below
ForcePolygonOffset = False
# Specifies a scale factor that is used to create a variable depth offset for each polygon
PolygonOffsetFactor = 0.000000
# Is multiplied by an implementation-specific value to create a constant depth offset
PolygonOffsetUnits = 0.000000

View file

@ -0,0 +1,21 @@
[GO-Ultra 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(17)
Z Trig = button(4) button(7)
B Button = button(3)
A Button = button(0)
C Button R = axis(2+)
C Button L = axis(2-) button (2)
C Button D = axis(3+) button (1)
C Button U = axis(3-)
R Trig = button(5)
L Trig = button(6)
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,154 @@
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"
desmume_screens_layout = "left/right"

View file

@ -0,0 +1,821 @@
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 = "8"
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 = "0"
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_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_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.300000"
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 = "0.350000"
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 = ""
playlist_directory = "~/playlists"
playlist_entry_remove_enable = "1"
playlist_entry_remove = "false"
playlist_entry_rename = "false"
playlist_fuzzy_archive_match = "false"
playlist_names = ""
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 = "854"
video_fullscreen_y = "480"
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 = "480"
video_window_auto_width_max = "854"
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 = ""
menu_driver = "ozone"

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

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

View file

@ -0,0 +1,51 @@
input_device = "GO-Ultra Gamepad"
input_driver = "udev"
input_b_btn = "0"
input_a_btn = "1"
input_x_btn = "2"
input_y_btn = "3"
input_l_btn = "4"
input_r_btn = "5"
input_l2_btn = "6"
input_r2_btn = "7"
input_up_btn = "8"
input_down_btn = "9"
input_left_btn = "10"
input_right_btn = "11"
input_select_btn = "12"
input_start_btn = "17"
input_l3_btn = "14"
input_r3_btn = "15"
input_l_x_plus_axis = "+0"
input_l_x_minus_axis = "-0"
input_l_y_plus_axis = "+1"
input_l_y_minus_axis = "-1"
input_r_x_plus_axis = "+2"
input_r_x_minus_axis = "-2"
input_r_y_plus_axis = "+3"
input_r_y_minus_axis = "-3"
# Hotkeys
input_enable_hotkey_btn = "12"
input_exit_emulator_btn = "13"
input_screenshot_btn = "0"
input_pause_toggle_btn = "1"
input_menu_toggle_btn = "2"
input_fps_toggle_btn = "3"
input_state_slot_increase_btn = "8"
input_state_slot_decrease_btn = "9"
input_load_state_btn = "4"
input_save_state_btn = "5"
input_rewind_btn = "6"
input_toggle_fast_forward_btn = "7"

View file

@ -30,7 +30,3 @@ if [ "${DISPLAYSERVER}" != "x11" ] && \
[ "${DISPLAYSERVER}" != "wl" ]; then
PKG_CONFIGURE_OPTS_TARGET="--disable-glx"
fi
if [ "${PROJECT}" == "Amlogic" -o "${PROJECT}" == "Amlogic-ng" ]; then
PKG_CONFIGURE_OPTS_TARGET+=" --disable-egl"
fi

View file

@ -0,0 +1,16 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2022-present BrooksyTech (https://github.com/brooksytech)
PKG_NAME="libmali-vulkan"
PKG_VERSION="1.0"
PKG_LICENSE="GPLv3"
PKG_ARCH="arm aarch64"
PKG_DEPENDS_TARGET="toolchain mesa vulkan-tools"
PKG_TOOLCHAIN="manual"
PKG_LONGDESC="Vulkan Mali drivers for s922x soc"
makeinstall_target() {
mkdir -p ${INSTALL}/usr/lib
mkdir -p ${INSTALL}/usr/share
tar -xvf ${PKG_DIR}/sources/${PKG_NAME}.tar.gz -C ${INSTALL}/
}

View file

@ -8,18 +8,9 @@ PKG_SHA256="dcdbe3f5362035ecc5ffce2140393de377038c44e00dfb8bae43816eec57dfc6"
PKG_LICENSE="Apache-2.0"
PKG_SITE="https://github.com/KhronosGroup/Vulkan-Loader"
PKG_URL="https://github.com/KhronosGroup/Vulkan-Loader/archive/v${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain Python3:host vulkan-headers"
PKG_DEPENDS_TARGET="toolchain Python3:host vulkan-headers libxcb libX11 libXrandr wayland"
PKG_LONGDESC="Vulkan Installable Client Driver (ICD) Loader."
configure_package() {
# Displayserver Support
if [ "${DISPLAYSERVER}" = "x11" ]; then
PKG_DEPENDS_TARGET+=" libxcb libX11 libXrandr"
elif [ "${DISPLAYSERVER}" = "wl" ]; then
PKG_DEPENDS_TARGET+=" wayland"
fi
}
pre_configure_target() {
PKG_CMAKE_OPTS_TARGET="-DBUILD_TESTS=OFF"

View file

@ -0,0 +1,30 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="RTL8188EU"
PKG_VERSION="96ecc776167a15cc7df4efc4f721ba5784c55c85"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/lwfinger/rtl8188eu"
PKG_URL="https://github.com/lwfinger/rtl8188eu/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain linux kernel-firmware"
PKG_NEED_UNPACK="${LINUX_DEPENDS}"
PKG_LONGDESC="Realtek RTL81xxEU Linux 3.x driver"
PKG_IS_KERNEL_PKG="yes"
pre_make_target() {
unset LDFLAGS
}
make_target() {
make modules \
ARCH=${TARGET_KERNEL_ARCH} \
KSRC=$(kernel_path) \
CROSS_COMPILE=${TARGET_KERNEL_PREFIX} \
CONFIG_POWER_SAVING=n
}
makeinstall_target() {
mkdir -p ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
cp *.ko ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
}

View file

@ -21,7 +21,7 @@ pre_configure_target() {
# Fix missing dispmanx
case ${DEVICE} in
RK35*)
RK35*|OGU)
PKG_MESON_OPTS_TARGET+=" -Dgl-graphene=disabled"
;;
esac

View file

@ -1088,4 +1088,31 @@
<input name="x" type="button" id="7" value="1" />
<input name="y" type="button" id="6" value="1" />
</inputConfig>
<inputConfig type="joystick" deviceName="GO-Ultra Gamepad" deviceGUID="03001354474f2d556c74726120476100">
<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="17" 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>

File diff suppressed because it is too large Load diff

View file

@ -30,7 +30,7 @@ LIBRETRO_CORES="2048-lr 81-lr a5200-lr atari800-lr beetle-gba-lr beetle-lynx-lr
### Emulators or cores for specific devices
case "${DEVICE}" in
handheld)
PKG_EMUS+=" duckstation-sa dolphin-sa cemu-sa citra-sa melonds-sa minivmacsa mupen64plus-sa pcsx2-sa \
PKG_EMUS+=" duckstation-sa dolphin-sa cemu-sa citra-sa melonds-sa minivmacsa mupen64plus-sa pcsx2-sa \
primehack rpcs3-sa ryujinx-sa xemu-sa yuzu-sa"
LIBRETRO_CORES+=" beetle-psx-lr bsnes-hd-lr citra-lr desmume-lr dolphin-lr lrps2-lr mame-lr minivmac-lr \
play-lr"
@ -43,6 +43,9 @@ case "${DEVICE}" in
PKG_DEPENDS_TARGET+=" common-shaders glsl-shaders pcsx_rearmed-lr box86 box64"
PKG_EMUS+=" yabasanshiro-sa"
;;
OGU)
PKG_EMUS+=" aethersx2-sa dolphin-sa duckstation-sa mupen64plus-sa yabasanshiro-sa box86 box64"
LIBRETRO_CORES+=" beetle-psx-lr bsnes-hd-lr dolphin-lr pcsx_rearmed-lr yabasanshiro-sa"
esac
PKG_DEPENDS_TARGET+=" ${PKG_EMUS} ${PKG_RETROARCH} ${LIBRETRO_CORES}"

View file

@ -0,0 +1,9 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
# Allow upgrades between arm and aarch64
if [ "$1" = "@PROJECT@.arm" -o "$1" = "@PROJECT@.aarch64" ]; then
exit 0
else
exit 1
fi

View file

@ -0,0 +1,54 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2023-present BrooksyTech (https://github.com/brooksytech)
PKG_UBOOT="$(get_build_dir u-boot)"
source ${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/options
FIP_DIR="${ROOT}/build.${DISTRO}-${DEVICE}.aarch64/amlogic-boot-fip-*"
case "${PKG_SOC}" in
s922x)
echo "uboot: encrypting u-boot.bin with fip..."
cp -av build/u-boot.bin ${FIP_DIR}/
cd ${FIP_DIR}
./build-fip.sh ${BOOT_FIP} u-boot.bin ${INSTALL}/usr/share/bootloader/fip
;;
esac
#Install a precombiled u-boot.bin until we can fix buildroot.
cp -rf ${PKG_DIR}/bin/u-boot.bin ${INSTALL}/usr/share/bootloader/
if [ "${BOOT_INI}" == true ]
then
echo "boot: create boot.ini..."
cat >${INSTALL}/usr/share/bootloader/boot.ini <<EOF
ODROIDGOU-UBOOT-CONFIG
setenv dtb_loadaddr "0x10000000"
setenv loadaddr "0x1B00000"
setenv bootargs "boot=UUID=@BOOT_UUID@ disk=UUID=@DISK_UUID@ ${EXTRA_CMDLINE}"
load mmc \${devno}:1 \${loadaddr} KERNEL
load mmc \${devno}:1 \${dtb_loadaddr} meson-g12b-odroid-go-ultra.dtb
fdt addr \${dtb_loadaddr}
booti \${loadaddr} - \${dtb_loadaddr}
EOF
fi
if [ "${EXT_LINUX_CONF}" == true ]
then
echo "boot: create extlinux.conf..."
mkdir -p "${INSTALL}/usr/share/bootloader/extlinux"
FDTMODE="FDT /${DEVICE_DTB}.dtb"
cat << EOF > "${INSTALL}/usr/share/bootloader/extlinux/extlinux.conf"
LABEL ${DISTRO}
LINUX /${KERNEL_NAME}
${FDTMODE}
APPEND boot=UUID=@BOOT_UUID@ disk=UUID=@DISK_UUID@ ${EXTRA_CMDLINE}
EOF
fi

View file

@ -0,0 +1,67 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2023-present BrooksyTech (https://github.com/brooksytech)
source ${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/options
#Write u-boot.bin to image
case "${DEVICE}" in
OGU)
if [ -f "${RELEASE_DIR}/3rdparty/bootloader/u-boot.bin" ]; then
echo "image: burn uboot.itb to image... (${PKG_SOC})"
dd if="${RELEASE_DIR}/3rdparty/bootloader/u-boot.bin" of="${DISK}" bs=512 seek=1 conv=sync,noerror,notrunc >"${SAVE_ERROR}" 2>&1 || show_error
fi
esac
#Create boot.ini
if [ "${BOOT_INI}" == true ]
then
echo "image: create boot.ini..."
cat >"${LE_TMP}/boot.ini" <<EOF
ODROIDGOU-UBOOT-CONFIG
setenv dtb_loadaddr "0x10000000"
setenv loadaddr "0x1B00000"
setenv bootargs "boot=UUID=${UUID_SYSTEM} disk=UUID=${UUID_STORAGE} ${EXTRA_CMDLINE}"
load mmc \${devno}:1 \${loadaddr} KERNEL
load mmc \${devno}:1 \${dtb_loadaddr} meson-g12b-odroid-go-ultra.dtb
fdt addr \${dtb_loadaddr}
booti \${loadaddr} - \${dtb_loadaddr}
EOF
mcopy -so "${LE_TMP}/boot.ini" ::
fi
#Copy device trees to part1
for DTB in ${DEVICE_DTB[@]}
do
if [ -e "${DTB}.dtb" ]
then
echo "image: copy device trees to image..."
mcopy -o "${DTB}.dtb" ::
fi
done
#Create extlinux.conf
if [ "${EXT_LINUX_CONF}" == true ]
then
mkdir -p "${LE_TMP}/extlinux"
echo "image: Set FTD to ${DEVICE_DTB}..."
FDTMODE="FDT /${DEVICE_DTB}.dtb"
echo "image: Set extlinux.conf..."
cat << EOF > "${LE_TMP}/extlinux/extlinux.conf"
LABEL ${DISTRO}
LINUX /${KERNEL_NAME}
${FDTMODE}
APPEND boot=UUID=${UUID_SYSTEM} disk=UUID=${UUID_STORAGE} ${EXTRA_CMDLINE}
EOF
mcopy -so "${LE_TMP}/extlinux" ::
fi

View file

@ -0,0 +1,30 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2023-present BrooksyTech (https://github.com/brooksytech)
mkdir -p ${RELEASE_DIR}/3rdparty/bootloader
if [ -n "${UBOOT_CONFIG}" ]; then
BOOTLOADER_DIR=$(get_build_dir ${BOOTLOADER})
KERNEL_DIR=$(get_build_dir linux)
case "${PKG_SOC}" in
s922x)
if [ -f ${INSTALL}/usr/share/bootloader/u-boot.bin ]; then
cp -a ${INSTALL}/usr/share/bootloader/u-boot.bin ${RELEASE_DIR}/3rdparty/bootloader
fi
;;
esac
fi
LINUX_DTS_DIR=$(get_build_dir linux)/arch/${TARGET_KERNEL_ARCH}/boot/dts/
for dtb in $(find ${LINUX_DTS_DIR} -name "*.dtb") ; do
if [ -f $dtb ]; then
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

View file

@ -0,0 +1,99 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2017-2021 Team LibreELEC (https://libreelec.tv)
# Copyright (C) 2021-present Fewtarius
[ -z "$SYSTEM_ROOT" ] && SYSTEM_ROOT=""
[ -z "$BOOT_ROOT" ] && BOOT_ROOT="/flash"
[ -z "$BOOT_PART" ] && BOOT_PART=$(df "$BOOT_ROOT" | tail -1 | awk {' print $1 '})
if [ -z "$BOOT_DISK" ]; then
case $BOOT_PART in
/dev/sd[a-z][0-9]*)
BOOT_DISK=$(echo $BOOT_PART | sed -e "s,[0-9]*,,g")
;;
/dev/mmcblk*)
BOOT_DISK=$(echo $BOOT_PART | sed -e "s,p[0-9]*,,g")
;;
esac
fi
# mount $BOOT_ROOT r/w
mount -o remount,rw $BOOT_ROOT
for arg in $(cat /proc/cmdline); do
case $arg in
boot=*)
boot="${arg#*=}"
case $boot in
/dev/mmc*)
BOOT_UUID="$(blkid $boot | sed 's/.* UUID="//;s/".*//g')"
;;
UUID=*|LABEL=*)
BOOT_UUID="$(blkid | sed 's/"//g' | grep -m 1 -i " $boot " | sed 's/.* UUID=//;s/ .*//g')"
;;
FOLDER=*)
BOOT_UUID="$(blkid ${boot#*=} | sed 's/.* UUID="//;s/".*//g')"
;;
esac
;;
disk=*)
disk="${arg#*=}"
case $disk in
/dev/mmc*)
DISK_UUID="$(blkid $disk | sed 's/.* UUID="//;s/".*//g')"
;;
UUID=*|LABEL=*)
DISK_UUID="$(blkid | sed 's/"//g' | grep -m 1 -i " $disk " | sed 's/.* UUID=//;s/ .*//g')"
;;
FOLDER=*)
DISK_UUID="$(blkid ${disk#*=} | sed 's/.* UUID="//;s/".*//g')"
;;
esac
;;
esac
done
CONFS=$SYSTEM_ROOT/usr/share/bootloader/extlinux/*.conf
for all_conf in $CONFS; do
conf="$(basename ${all_conf})"
echo "Updating ${conf}..."
cp -p $SYSTEM_ROOT/usr/share/bootloader/extlinux/${conf} $BOOT_ROOT/extlinux/${conf} &>/dev/null
sed -e "s/@BOOT_UUID@/$BOOT_UUID/" \
-e "s/@DISK_UUID@/$DISK_UUID/" \
-i $BOOT_ROOT/extlinux/${conf}
done
if [ -f $SYSTEM_ROOT/usr/share/bootloader/boot.ini ]; then
echo "Updating boot.ini..."
cp -p $SYSTEM_ROOT/usr/share/bootloader/boot.ini $BOOT_ROOT/boot.ini &>/dev/null
sed -e "s/@BOOT_UUID@/$BOOT_UUID/" \
-e "s/@DISK_UUID@/$DISK_UUID/" \
-i $BOOT_ROOT/boot.ini
fi
# update device tree
for all_dtb in $SYSTEM_ROOT/usr/share/bootloader/*.dtb; do
dtb=$(basename $all_dtb)
echo -n "Updating $dtb... "
cp -p $SYSTEM_ROOT/usr/share/bootloader/$dtb $BOOT_ROOT &>/dev/null
echo "done"
done
# update bootloader
MYDEV=$(awk '/^Hardware/ {print $4}' /proc/cpuinfo)
case ${MYDEV} in
if [ -f $SYSTEM_ROOT/usr/share/bootloader/u-boot.bin ]; then
echo -n "Updating uboot.bin... "
dd if=$SYSTEM_ROOT/usr/share/bootloader/u-boot.bin of=$BOOT_DISK conv=fsync,notrunc bs=512 seek=1 &>/dev/null
echo "done"
fi
# mount $BOOT_ROOT r/o
sync
mount -o remount,ro $BOOT_ROOT &>/dev/null
sync

View file

@ -0,0 +1,20 @@
# Device definition file for the Hardkernel Odroid Go Uptra Device
# Device Features
DEVICE_VOLUMECTL=true
DEVICE_AUDIO_MIXER="PCM"
DEVICE_PLAYBACK_PATH_SPK="SPK"
DEVICE_PLAYBACK_PATH_HP="HP"
UI_SERVICE="weston.service"
DEVICE_BRIGHTNESS="128"
SPLASH_LOADER="plymouth"
# GPIOS
DEVICE_TEMP_SENSOR="/sys/devices/virtual/thermal/thermal_zone*/temp"
# FREQ Governors
CPU_FREQ=("/sys/devices/system/cpu/cpufreq/policy0" "/sys/devices/system/cpu/cpufreq/policy2")
# Affinity
SLOW_CORES="taskset -c 0-3"
FAST_CORES="taskset -c 4-5"

View file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,158 @@
################################################################################
# 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_CPU="cortex-a73.cortex-a53"
TARGET_CPU_FLAGS="+crc+fp+simd"
TARGET_FPU="fp-armv8"
TARGET_FLOAT="hard"
TARGET_FEATURES="64bit"
;;
arm)
TARGET_KERNEL_ARCH="arm64"
TARGET_PATCH_ARCH="aarch64"
TARGET_CPU="cortex-a73.cortex-a53"
TARGET_CPU_FLAGS="+crc"
TARGET_FPU="neon-fp-armv8"
TARGET_FLOAT="hard"
TARGET_FEATURES="32bit"
;;
esac
# Kernel target
DEVICE_NAME="OGU"
KERNEL_TARGET="Image"
BOOTLOADER="u-boot"
PARTITION_TABLE="msdos"
DEVICE_DTB=("meson-g12b-odroid-go-ultra")
UBOOT_DTB="${DEVICE_DTB[0]}"
UBOOT_CONFIG="odroidgou_defconfig"
PKG_SOC="s922x"
BOOT_FIP="odroid-go-ultra"
BOOT_INI=true
EXT_LINUX_CONF=false
# Additional kernel make parameters (for example to specify the u-boot loadaddress)
KERNEL_MAKE_EXTRACMD+=" amlogic/${DEVICE_DTB[0]}.dtb"
# Define the CPU
HW_CPU="Amlogic S922x"
# Display Resolution
SPLASH_RESOLUTION="480x854"
# Mali GPU family
MALI_FAMILY="g52"
GRAPHIC_DRIVERS="panfrost"
# OpenGL(X) implementation to use (mesa / no)
OPENGL="mesa"
# OpenGL-ES implementation to use (mesa / no)
OPENGLES="mesa"
# Vulkan implementation to use (vulkan-loader / no)
VULKAN="vulkan-loader"
# VULKAN_SUPPORT
VULKAN_SUPPORT="yes"
# Displayserver to use (weston / x11 / no)
DISPLAYSERVER="wl"
# Windowmanager to use (fluxbox / weston / no)
WINDOWMANAGER="weston"
# kernel serial console
EXTRA_CMDLINE="rootwait quiet console=ttyAML0,115200n8 console=tty0 no_console_suspend net.ifnames=0 consoleblank=0 fbcon=rotate:3"
# additional packages to install
ADDITIONAL_PACKAGES=" emulators gamesupport"
# 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 libmali-vulkan"
# 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 RTL8821AU RTL8821CU RTL88x2BU RTL8188EU"
# 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

@ -0,0 +1,11 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2023-present BrooksyTech (https://github.com/brooksytech)
PKG_NAME="amlogic-boot-fip"
PKG_VERSION="e96b6a694380ff07d5a9e4be644ffe254bd18512"
PKG_LICENSE="GPLv3"
PKG_SITE="https://github.com/LibreELEC/amlogic-boot-fip"
PKG_URL="${PKG_SITE}.git"
PKG_DEPENDS_TARGET="toolchain"
PKG_SHORTDESC="Firmware Image Pacakge (FIP) sources used to sign Amlogic u-boot binaries"
PKG_TOOLCHAIN="manual"

View file

@ -0,0 +1,297 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
# Copyright (C) 2021-present 351ELEC (https://github.com/351ELEC)
# Copyright (C) 2022-present Fewtarius
# Copyright (C) 2022-present Brooksytech
PKG_NAME="linux"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/JustEnoughLinuxOS"
PKG_DEPENDS_HOST="ccache:host rsync:host openssl:host"
PKG_DEPENDS_TARGET="toolchain linux:host cpio:host kmod:host xz:host wireless-regdb keyutils util-linux binutils ncurses openssl:host initramfs ${KERNEL_EXTRA_DEPENDS_TARGET}"
PKG_DEPENDS_INIT="toolchain"
PKG_NEED_UNPACK="${LINUX_DEPENDS} $(get_pkg_directory busybox)"
PKG_LONGDESC="This package builds the kernel for Rockchip devices"
PKG_IS_KERNEL_PKG="yes"
PKG_STAMP="${KERNEL_TARGET} ${KERNEL_MAKE_EXTRACMD}"
PKG_PATCH_DIRS+="${DEVICE}"
case ${DEVICE} in
OGU)
PKG_VERSION="ebbf6b19d27cd2a11be22c0282a7bbfdab64bbe3"
PKG_URL="https://github.com/mdrjr/linux.git"
GET_HANDLER_SUPPORT="git"
PKG_GIT_CLONE_BRANCH="odroidg12-6.1.y"
;;
esac
PKG_KERNEL_CFG_FILE=$(kernel_config_path) || die
if [ -n "${KERNEL_TOOLCHAIN}" ]; then
PKG_DEPENDS_HOST="${PKG_DEPENDS_HOST} gcc-${KERNEL_TOOLCHAIN}:host"
PKG_DEPENDS_TARGET="${PKG_DEPENDS_TARGET} gcc-${KERNEL_TOOLCHAIN}:host"
HEADERS_ARCH=${TARGET_ARCH}
fi
if [ "${PKG_BUILD_PERF}" != "no" ] && grep -q ^CONFIG_PERF_EVENTS= ${PKG_KERNEL_CFG_FILE} ; then
PKG_BUILD_PERF="yes"
PKG_DEPENDS_TARGET="${PKG_DEPENDS_TARGET} elfutils libunwind zlib openssl"
fi
if [ "${TARGET_ARCH}" = "x86_64" ]; then
PKG_DEPENDS_TARGET="${PKG_DEPENDS_TARGET} intel-ucode:host kernel-firmware elfutils:host pciutils"
fi
if [[ "${KERNEL_TARGET}" = uImage* ]]; then
PKG_DEPENDS_TARGET="${PKG_DEPENDS_TARGET} u-boot-tools:host"
fi
post_patch() {
cp ${PKG_KERNEL_CFG_FILE} ${PKG_BUILD}/.config
sed -i -e "s|^CONFIG_INITRAMFS_SOURCE=.*$|CONFIG_INITRAMFS_SOURCE=\"${BUILD}/image/initramfs.cpio\"|" ${PKG_BUILD}/.config
sed -i -e '/^CONFIG_INITRAMFS_SOURCE=*./ a CONFIG_INITRAMFS_ROOT_UID=0\nCONFIG_INITRAMFS_ROOT_GID=0' ${PKG_BUILD}/.config
# set default hostname based on ${DEVICE}
sed -i -e "s|@DEVICENAME@|${DEVICE}|g" ${PKG_BUILD}/.config
# disable swap support if not enabled
if [ ! "${SWAP_SUPPORT}" = yes ]; then
sed -i -e "s|^CONFIG_SWAP=.*$|# CONFIG_SWAP is not set|" ${PKG_BUILD}/.config
fi
# disable nfs support if not enabled
if [ ! "${NFS_SUPPORT}" = yes ]; then
sed -i -e "s|^CONFIG_NFS_FS=.*$|# CONFIG_NFS_FS is not set|" ${PKG_BUILD}/.config
fi
# disable cifs support if not enabled
if [ ! "${SAMBA_SUPPORT}" = yes ]; then
sed -i -e "s|^CONFIG_CIFS=.*$|# CONFIG_CIFS is not set|" ${PKG_BUILD}/.config
fi
# disable iscsi support if not enabled
if [ ! "${ISCSI_SUPPORT}" = yes ]; then
sed -i -e "s|^CONFIG_SCSI_ISCSI_ATTRS=.*$|# CONFIG_SCSI_ISCSI_ATTRS is not set|" ${PKG_BUILD}/.config
sed -i -e "s|^CONFIG_ISCSI_TCP=.*$|# CONFIG_ISCSI_TCP is not set|" ${PKG_BUILD}/.config
sed -i -e "s|^CONFIG_ISCSI_BOOT_SYSFS=.*$|# CONFIG_ISCSI_BOOT_SYSFS is not set|" ${PKG_BUILD}/.config
sed -i -e "s|^CONFIG_ISCSI_IBFT_FIND=.*$|# CONFIG_ISCSI_IBFT_FIND is not set|" ${PKG_BUILD}/.config
sed -i -e "s|^CONFIG_ISCSI_IBFT=.*$|# CONFIG_ISCSI_IBFT is not set|" ${PKG_BUILD}/.config
fi
# install extra dts files
for f in ${PROJECT_DIR}/${PROJECT}/config/*-overlay.dts; do
[ -f "${f}" ] && cp -v ${f} ${PKG_BUILD}/arch/${TARGET_KERNEL_ARCH}/boot/dts/overlays || true
done
if [ -n "${DEVICE}" ]; then
for f in ${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/config/*-overlay.dts; do
[ -f "${f}" ] && cp -v ${f} ${PKG_BUILD}/arch/${TARGET_KERNEL_ARCH}/boot/dts/overlays || true
done
fi
}
make_host() {
:
}
makeinstall_host() {
make \
ARCH=${HEADERS_ARCH:-${TARGET_KERNEL_ARCH}} \
HOSTCC="${TOOLCHAIN}/bin/host-gcc" \
HOSTCXX="${TOOLCHAIN}/bin/host-g++" \
HOSTCFLAGS="${HOST_CFLAGS}" \
HOSTCXXFLAGS="${HOST_CXXFLAGS}" \
HOSTLDFLAGS="${HOST_LDFLAGS}" \
INSTALL_HDR_PATH=dest \
headers_install
mkdir -p ${SYSROOT_PREFIX}/usr/include
cp -R dest/include/* ${SYSROOT_PREFIX}/usr/include
}
pre_make_target() {
if [ "${TARGET_ARCH}" = "x86_64" ]; then
# copy some extra firmware to linux tree
mkdir -p ${PKG_BUILD}/external-firmware
cp -a $(get_build_dir kernel-firmware)/{amdgpu,amd-ucode,i915,radeon,e100,rtl_nic} ${PKG_BUILD}/external-firmware
cp -a $(get_build_dir intel-ucode)/intel-ucode ${PKG_BUILD}/external-firmware
FW_LIST="$(find ${PKG_BUILD}/external-firmware \( -type f -o -type l \) \( -iname '*.bin' -o -iname '*.fw' -o -path '*/intel-ucode/*' \) | sed 's|.*external-firmware/||' | sort | xargs)"
sed -i "s|CONFIG_EXTRA_FIRMWARE=.*|CONFIG_EXTRA_FIRMWARE=\"${FW_LIST}\"|" ${PKG_BUILD}/.config
fi
yes "" | kernel_make oldconfig
# regdb (backward compatability with pre-4.15 kernels)
if grep -q ^CONFIG_CFG80211_INTERNAL_REGDB= ${PKG_BUILD}/.config ; then
cp $(get_build_dir wireless-regdb)/db.txt ${PKG_BUILD}/net/wireless/db.txt
fi
makeinstall_host
}
make_target() {
if [ "${PKG_BUILD_PERF}" = "yes" ] ; then
( cd tools/perf
# arch specific perf build args
case "${TARGET_ARCH}" in
x86_64)
PERF_BUILD_ARGS="ARCH=x86"
;;
aarch64)
PERF_BUILD_ARGS="ARCH=arm64"
;;
*)
PERF_BUILD_ARGS="ARCH=${TARGET_ARCH}"
;;
esac
WERROR=0 \
NO_LIBPERL=1 \
NO_LIBPYTHON=1 \
NO_SLANG=1 \
NO_GTK2=1 \
NO_LIBNUMA=1 \
NO_LIBAUDIT=1 \
NO_LZMA=1 \
NO_SDT=1 \
CROSS_COMPILE="${TARGET_PREFIX}" \
JOBS="${CONCURRENCY_MAKE_LEVEL}" \
make ${PERF_BUILD_ARGS}
mkdir -p ${INSTALL}/usr/bin
cp perf ${INSTALL}/usr/bin
)
fi
( cd ${ROOT}
rm -rf ${BUILD}/initramfs
${SCRIPTS}/install initramfs
)
pkg_lock_status "ACTIVE" "linux:target" "build"
# arm64 target does not support creating uImage.
# Build Image first, then wrap it using u-boot's mkimage.
if [[ "${TARGET_KERNEL_ARCH}" == "arm64" && "${KERNEL_TARGET}" == uImage* ]]; then
if [ -z "${KERNEL_UIMAGE_LOADADDR}" -o -z "${KERNEL_UIMAGE_ENTRYADDR}" ]; then
die "ERROR: KERNEL_UIMAGE_LOADADDR and KERNEL_UIMAGE_ENTRYADDR have to be set to build uImage - aborting"
fi
KERNEL_UIMAGE_TARGET="${KERNEL_TARGET}"
KERNEL_TARGET="${KERNEL_TARGET/uImage/Image}"
fi
if [ -d "${INSTALL}/$(get_kernel_overlay_dir)" ]
then
rm -rf ${INSTALL}/$(get_kernel_overlay_dir)
fi
# the modules target is required to get a proper Module.symvers
# file with symbols from built-in and external modules.
# Without that it'll contain only the symbols from the kernel
kernel_make ${KERNEL_TARGET} ${KERNEL_MAKE_EXTRACMD} modules
kernel_make INSTALL_MOD_PATH=${INSTALL}/$(get_kernel_overlay_dir) modules_install
rm -f ${INSTALL}/$(get_kernel_overlay_dir)/lib/modules/*/build
rm -f ${INSTALL}/$(get_kernel_overlay_dir)/lib/modules/*/source
if [ -n "${KERNEL_UIMAGE_TARGET}" ] ; then
# determine compression used for kernel image
KERNEL_UIMAGE_COMP=${KERNEL_UIMAGE_TARGET:7}
KERNEL_UIMAGE_COMP=${KERNEL_UIMAGE_COMP:-none}
# calculate new load address to make kernel Image unpack to memory area after compressed image
if [ "${KERNEL_UIMAGE_COMP}" != "none" ] ; then
COMPRESSED_SIZE=$(stat -t "arch/${TARGET_KERNEL_ARCH}/boot/${KERNEL_TARGET}" | awk '{print $2}')
# align to 1 MiB
COMPRESSED_SIZE=$(( ((${COMPRESSED_SIZE} - 1 >> 20) + 1) << 20 ))
PKG_KERNEL_UIMAGE_LOADADDR=$(printf '%X' "$(( ${KERNEL_UIMAGE_LOADADDR} + ${COMPRESSED_SIZE} ))")
PKG_KERNEL_UIMAGE_ENTRYADDR=$(printf '%X' "$(( ${KERNEL_UIMAGE_ENTRYADDR} + ${COMPRESSED_SIZE} ))")
else
PKG_KERNEL_UIMAGE_LOADADDR=${KERNEL_UIMAGE_LOADADDR}
PKG_KERNEL_UIMAGE_ENTRYADDR=${KERNEL_UIMAGE_ENTRYADDR}
fi
mkimage -A ${TARGET_KERNEL_ARCH} \
-O linux \
-T kernel \
-C ${KERNEL_UIMAGE_COMP} \
-a ${PKG_KERNEL_UIMAGE_LOADADDR} \
-e ${PKG_KERNEL_UIMAGE_ENTRYADDR} \
-d arch/${TARGET_KERNEL_ARCH}/boot/${KERNEL_TARGET} \
arch/${TARGET_KERNEL_ARCH}/boot/${KERNEL_UIMAGE_TARGET}
KERNEL_TARGET="${KERNEL_UIMAGE_TARGET}"
fi
if [ "${PKG_SOC}" = "rk356x" ]; then
kernel_make ${KERNEL_TARGET} ${KERNEL_MAKE_EXTRACMD} ARCH=arm64 ${DEVICE_DTB[0]}.img
fi
}
makeinstall_target() {
. ${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/options
if [ "${BOOTLOADER}" = "u-boot" ]; then
mkdir -p ${INSTALL}/usr/share/bootloader
for dtb in arch/${TARGET_KERNEL_ARCH}/boot/dts/*.dtb arch/${TARGET_KERNEL_ARCH}/boot/dts/*/*.dtb; do
if [ -f ${dtb} ]; then
cp -v ${dtb} ${INSTALL}/usr/share/bootloader
fi
done
if [ "${PKG_SOC}" = "rk356x" ]; then
ARCH=arm64 scripts/mkimg --dtb ${DEVICE_DTB[0]}.dtb
ARCH=arm64 scripts/mkmultidtb.py RK3566-EVB
cp -v resource.img ${INSTALL}/usr/share/bootloader
ARCH=${TARGET_ARCH}
fi
elif [ "${BOOTLOADER}" = "bcm2835-bootloader" ]; then
mkdir -p ${INSTALL}/usr/share/bootloader/overlays
# install platform dtbs, but remove upstream kernel dtbs (i.e. without downstream
# drivers and decent USB support) as these are not required by LibreELEC
cp -p arch/${TARGET_KERNEL_ARCH}/boot/dts/*.dtb ${INSTALL}/usr/share/bootloader
rm -f ${INSTALL}/usr/share/bootloader/bcm283*.dtb
# install overlay dtbs
for dtb in arch/${TARGET_KERNEL_ARCH}/boot/dts/overlays/*.dtbo; do
cp ${dtb} ${INSTALL}/usr/share/bootloader/overlays 2>/dev/null || :
done
cp -p arch/${TARGET_KERNEL_ARCH}/boot/dts/overlays/README ${INSTALL}/usr/share/bootloader/overlays
fi
}
make_init() {
: # reuse make_target()
}
makeinstall_init() {
if [ -n "${INITRAMFS_MODULES}" ]; then
mkdir -p ${INSTALL}/etc
mkdir -p ${INSTALL}/usr/lib/modules
for i in ${INITRAMFS_MODULES}; do
module=`find .install_pkg/$(get_full_module_dir)/kernel -name ${i}.ko`
if [ -n "${module}" ]; then
echo ${i} >> ${INSTALL}/etc/modules
cp ${module} ${INSTALL}/usr/lib/modules/`basename ${module}`
fi
done
fi
if [ "${UVESAFB_SUPPORT}" = yes ]; then
mkdir -p ${INSTALL}/usr/lib/modules
uvesafb=`find .install_pkg/$(get_full_module_dir)/kernel -name uvesafb.ko`
cp ${uvesafb} ${INSTALL}/usr/lib/modules/`basename ${uvesafb}`
fi
}
post_install() {
if [ ! -d ${INSTALL}/$(get_full_firmware_dir) ]
then
mkdir -p ${INSTALL}/$(get_full_firmware_dir)/
fi
# regdb and signature is now loaded as firmware by 4.15+
if grep -q ^CONFIG_CFG80211_REQUIRE_SIGNED_REGDB= ${PKG_BUILD}/.config; then
cp $(get_build_dir wireless-regdb)/regulatory.db{,.p7s} ${INSTALL}/$(get_full_firmware_dir)
fi
}

View file

@ -0,0 +1,25 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2023-present BrooksyTech (https://github.com/brooksytech)
diff --git a/drivers/power/supply/rk818_charger.c b/drivers/power/supply/rk818_charger.c
index cdef0dcd1f8c..e5081332aa4a 100644
--- a/drivers/power/supply/rk818_charger.c
+++ b/drivers/power/supply/rk818_charger.c
@@ -275,7 +275,7 @@ static enum power_supply_property rk818_usb_power_props[] = {
};
static const struct power_supply_desc rk818_usb_desc = {
- .name = "rk818-usb",
+ .name = "rk818-usb-charger",
.type = POWER_SUPPLY_TYPE_USB,
.properties = rk818_usb_power_props,
.num_properties = ARRAY_SIZE(rk818_usb_power_props),
@@ -610,7 +610,7 @@ static enum power_supply_property rk818_charger_props[] = {
* but not me, not now. :)
*/
static const struct power_supply_desc rk818_charger_desc = {
- .name = "rk818-battery",
+ .name = "battery",
.type = POWER_SUPPLY_TYPE_BATTERY,
.properties = rk818_charger_props,
.num_properties = ARRAY_SIZE(rk818_charger_props),

View file

@ -0,0 +1,16 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2023-present Fewtarius
diff --git a/drivers/gpu/drm/drm_panel_orientation_quirks.c b/drivers/gpu/drm/drm_panel_orientation_quirks.c
index 3659f0465a72..b2b9b60a45eb 100644
--- a/drivers/gpu/drm/drm_panel_orientation_quirks.c
+++ b/drivers/gpu/drm/drm_panel_orientation_quirks.c
@@ -429,7 +429,7 @@ EXPORT_SYMBOL(drm_get_panel_orientation_quirk);
/* There are no quirks for non x86 devices yet */
int drm_get_panel_orientation_quirk(int width, int height)
{
- return DRM_MODE_PANEL_ORIENTATION_UNKNOWN;
+ return DRM_MODE_PANEL_ORIENTATION_LEFT_UP;
}
EXPORT_SYMBOL(drm_get_panel_orientation_quirk);

Binary file not shown.

View file

@ -0,0 +1,76 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
# Copyright (C) 2022-present Fewtarius
PKG_NAME="u-boot"
PKG_ARCH="arm aarch64"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/hardkernel/"
PKG_DEPENDS_TARGET="toolchain swig:host rkbin amlogic-boot-fip"
PKG_LONGDESC="U-Boot is a bootloader for embedded systems."
GET_HANDLER_SUPPORT="git"
PKG_PATCH_DIRS+="${DEVICE}"
case ${DEVICE} in
OGU)
PKG_URL="${PKG_SITE}/u-boot.git"
PKG_VERSION="9235942906216dc529c1e96f67dd2364a94d0738"
PKG_GIT_CLONE_BRANCH="odroidgoU-v2015.01"
;;
esac
PKG_IS_KERNEL_PKG="yes"
PKG_STAMP="${UBOOT_CONFIG}"
[ -n "${ATF_PLATFORM}" ] && PKG_DEPENDS_TARGET+=" atf"
PKG_NEED_UNPACK="${PROJECT}_DIR/${PROJECT}/bootloader"
[ -n "${DEVICE}" ] && PKG_NEED_UNPACK+=" ${PROJECT}_DIR/${PROJECT}/devices/${DEVICE}/bootloader"
post_patch() {
if [ -n "${UBOOT_CONFIG}" ] && find_file_path bootloader/config; then
PKG_CONFIG_FILE="${UBOOT_CONFIG}"
if [ -f "${PKG_CONFIG_FILE}" ]; then
cat ${FOUND_PATH} >> "${PKG_CONFIG_FILE}"
fi
fi
}
make_target() {
. ${PROJECT_DIR}/${PROJECT}/devices/${DEVICE}/options
if [ -z "${UBOOT_CONFIG}" ]; then
echo "UBOOT_CONFIG must be set to build an image"
else
if [ -e "${PROJECT_DIR}/projects/${PROJECT}/devices/${DEVICE}/u-boot/${UBOOT_CONFIG}" ]
then
cp ${PROJECT_DIR}/projects/${PROJECT}/devices/${DEVICE}/u-boot/${UBOOT_CONFIG} configs
fi
[ "${BUILD_WITH_DEBUG}" = "yes" ] && PKG_DEBUG=1 || PKG_DEBUG=0
cd ${PKG_BUILD}
echo "Building for MBR (${UBOOT_DTB})..."
[ -n "${ATF_PLATFORM}" ] && cp -av $(get_build_dir atf)/bl31.bin .
DEBUG=${PKG_DEBUG} CROSS_COMPILE="${TARGET_KERNEL_PREFIX}" LDFLAGS="" ARCH=arm make mrproper
DEBUG=${PKG_DEBUG} CROSS_COMPILE="${TARGET_KERNEL_PREFIX}" LDFLAGS="" ARCH=arm make ${UBOOT_CONFIG}
DEBUG=${PKG_DEBUG} CROSS_COMPILE="${TARGET_KERNEL_PREFIX}" LDFLAGS="" ARCH=arm _python_sysroot="${TOOLCHAIN}" _python_prefix=/ _python_exec_prefix=/ make HOSTCC="$HOST_CC" HOSTLDFLAGS="-L${TOOLCHAIN}/lib" HOSTSTRIP="true" CONFIG_MKIMAGE_DTC_PATH="scripts/dtc/dtc"
fi
}
makeinstall_target() {
mkdir -p ${INSTALL}/usr/share/bootloader
mkdir -p ${INSTALL}/usr/share/bootloader/fip
# Only install u-boot.img et al when building a board specific image
if [ -n "${UBOOT_CONFIG}" ]; then
find_file_path bootloader/install && . ${FOUND_PATH}
fi
# Always install the update script
find_file_path bootloader/update.sh && cp -av ${FOUND_PATH} ${INSTALL}/usr/share/bootloader
# Always install the canupdate script
if find_file_path bootloader/canupdate.sh; then
cp -av ${FOUND_PATH} ${INSTALL}/usr/share/bootloader
sed -e "s/@PROJECT@/${DEVICE:-${PROJECT}}/g" \
-i ${INSTALL}/usr/share/bootloader/canupdate.sh
fi
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,398 @@
diff --git a/arch/arm/cpu/armv8/axg/firmware/scp_task/lib/string.c b/arch/arm/cpu/armv8/axg/firmware/scp_task/lib/string.c
index 2e551f465c..ba29abe09d 100644
--- a/arch/arm/cpu/armv8/axg/firmware/scp_task/lib/string.c
+++ b/arch/arm/cpu/armv8/axg/firmware/scp_task/lib/string.c
@@ -19,7 +19,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-void *memcpy(void *dest, const void *src, unsigned int count)
+void *memcpy(void *dest, const void *src, unsigned long int count)
{
char *tmp = dest;
const char *s = src;
@@ -28,7 +28,7 @@ void *memcpy(void *dest, const void *src, unsigned int count)
*tmp++ = *s++;
return dest;
}
-void *memset(void *s, int c, unsigned int count)
+void *memset(void *s, int c, unsigned long int count)
{
char *xs = s;
diff --git a/arch/arm/cpu/armv8/axg/firmware/scp_task/task_apis.h b/arch/arm/cpu/armv8/axg/firmware/scp_task/task_apis.h
index 31ab63f795..c7b55bab98 100644
--- a/arch/arm/cpu/armv8/axg/firmware/scp_task/task_apis.h
+++ b/arch/arm/cpu/armv8/axg/firmware/scp_task/task_apis.h
@@ -46,8 +46,8 @@ void enter_suspend(unsigned int suspend_from);
void get_dvfs_info(unsigned int domain,
unsigned char *info_out, unsigned int *size_out);
void set_dvfs(unsigned int domain, unsigned int index);
-void *memcpy(void *dest, const void *src, unsigned int count);
-void *memset(void *s, int c, unsigned int count);
+void *memcpy(void *dest, const void *src, unsigned long int count);
+void *memset(void *s, int c, unsigned long int count);
void _udelay(unsigned int us);
unsigned int get_time(void);
diff --git a/arch/arm/cpu/armv8/g12a/firmware/scp_task/lib/string.c b/arch/arm/cpu/armv8/g12a/firmware/scp_task/lib/string.c
index 2e551f465c..ba29abe09d 100644
--- a/arch/arm/cpu/armv8/g12a/firmware/scp_task/lib/string.c
+++ b/arch/arm/cpu/armv8/g12a/firmware/scp_task/lib/string.c
@@ -19,7 +19,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-void *memcpy(void *dest, const void *src, unsigned int count)
+void *memcpy(void *dest, const void *src, unsigned long int count)
{
char *tmp = dest;
const char *s = src;
@@ -28,7 +28,7 @@ void *memcpy(void *dest, const void *src, unsigned int count)
*tmp++ = *s++;
return dest;
}
-void *memset(void *s, int c, unsigned int count)
+void *memset(void *s, int c, unsigned long int count)
{
char *xs = s;
diff --git a/arch/arm/cpu/armv8/g12a/firmware/scp_task/task_apis.h b/arch/arm/cpu/armv8/g12a/firmware/scp_task/task_apis.h
index 31ab63f795..c7b55bab98 100644
--- a/arch/arm/cpu/armv8/g12a/firmware/scp_task/task_apis.h
+++ b/arch/arm/cpu/armv8/g12a/firmware/scp_task/task_apis.h
@@ -46,8 +46,8 @@ void enter_suspend(unsigned int suspend_from);
void get_dvfs_info(unsigned int domain,
unsigned char *info_out, unsigned int *size_out);
void set_dvfs(unsigned int domain, unsigned int index);
-void *memcpy(void *dest, const void *src, unsigned int count);
-void *memset(void *s, int c, unsigned int count);
+void *memcpy(void *dest, const void *src, unsigned long int count);
+void *memset(void *s, int c, unsigned long int count);
void _udelay(unsigned int us);
unsigned int get_time(void);
diff --git a/arch/arm/cpu/armv8/g12b/firmware/scp_task/lib/string.c b/arch/arm/cpu/armv8/g12b/firmware/scp_task/lib/string.c
index 2e551f465c..ba29abe09d 100644
--- a/arch/arm/cpu/armv8/g12b/firmware/scp_task/lib/string.c
+++ b/arch/arm/cpu/armv8/g12b/firmware/scp_task/lib/string.c
@@ -19,7 +19,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-void *memcpy(void *dest, const void *src, unsigned int count)
+void *memcpy(void *dest, const void *src, unsigned long int count)
{
char *tmp = dest;
const char *s = src;
@@ -28,7 +28,7 @@ void *memcpy(void *dest, const void *src, unsigned int count)
*tmp++ = *s++;
return dest;
}
-void *memset(void *s, int c, unsigned int count)
+void *memset(void *s, int c, unsigned long int count)
{
char *xs = s;
diff --git a/arch/arm/cpu/armv8/g12b/firmware/scp_task/task_apis.h b/arch/arm/cpu/armv8/g12b/firmware/scp_task/task_apis.h
index 31ab63f795..c7b55bab98 100644
--- a/arch/arm/cpu/armv8/g12b/firmware/scp_task/task_apis.h
+++ b/arch/arm/cpu/armv8/g12b/firmware/scp_task/task_apis.h
@@ -46,8 +46,8 @@ void enter_suspend(unsigned int suspend_from);
void get_dvfs_info(unsigned int domain,
unsigned char *info_out, unsigned int *size_out);
void set_dvfs(unsigned int domain, unsigned int index);
-void *memcpy(void *dest, const void *src, unsigned int count);
-void *memset(void *s, int c, unsigned int count);
+void *memcpy(void *dest, const void *src, unsigned long int count);
+void *memset(void *s, int c, unsigned long int count);
void _udelay(unsigned int us);
unsigned int get_time(void);
diff --git a/arch/arm/cpu/armv8/gxb/firmware/scp_task/lib/string.c b/arch/arm/cpu/armv8/gxb/firmware/scp_task/lib/string.c
index a517cc4f34..1d5665bc98 100644
--- a/arch/arm/cpu/armv8/gxb/firmware/scp_task/lib/string.c
+++ b/arch/arm/cpu/armv8/gxb/firmware/scp_task/lib/string.c
@@ -1,4 +1,4 @@
-void *memcpy(void *dest, const void *src, unsigned int count)
+void *memcpy(void *dest, const void *src, unsigned long int count)
{
char *tmp = dest;
const char *s = src;
@@ -7,7 +7,7 @@ void *memcpy(void *dest, const void *src, unsigned int count)
*tmp++ = *s++;
return dest;
}
-void *memset(void *s, int c, unsigned int count)
+void *memset(void *s, int c, unsigned long int count)
{
char *xs = s;
diff --git a/arch/arm/cpu/armv8/gxb/firmware/scp_task/task_apis.h b/arch/arm/cpu/armv8/gxb/firmware/scp_task/task_apis.h
index 839ff09ed4..d9f18c3dd7 100644
--- a/arch/arm/cpu/armv8/gxb/firmware/scp_task/task_apis.h
+++ b/arch/arm/cpu/armv8/gxb/firmware/scp_task/task_apis.h
@@ -25,8 +25,8 @@ void enter_suspend(unsigned int suspend_from);
void get_dvfs_info(unsigned int domain,
unsigned char *info_out, unsigned int *size_out);
void set_dvfs(unsigned int domain, unsigned int index);
-void *memcpy(void *dest, const void *src, unsigned int count);
-void *memset(void *s, int c, unsigned int count);
+void *memcpy(void *dest, const void *src, unsigned long int count);
+void *memset(void *s, int c, unsigned long int count);
void _udelay(unsigned int us);
unsigned int get_time(void);
diff --git a/arch/arm/cpu/armv8/gxl/firmware/scp_task/lib/string.c b/arch/arm/cpu/armv8/gxl/firmware/scp_task/lib/string.c
index a517cc4f34..1d5665bc98 100644
--- a/arch/arm/cpu/armv8/gxl/firmware/scp_task/lib/string.c
+++ b/arch/arm/cpu/armv8/gxl/firmware/scp_task/lib/string.c
@@ -1,4 +1,4 @@
-void *memcpy(void *dest, const void *src, unsigned int count)
+void *memcpy(void *dest, const void *src, unsigned long int count)
{
char *tmp = dest;
const char *s = src;
@@ -7,7 +7,7 @@ void *memcpy(void *dest, const void *src, unsigned int count)
*tmp++ = *s++;
return dest;
}
-void *memset(void *s, int c, unsigned int count)
+void *memset(void *s, int c, unsigned long int count)
{
char *xs = s;
diff --git a/arch/arm/cpu/armv8/gxl/firmware/scp_task/task_apis.h b/arch/arm/cpu/armv8/gxl/firmware/scp_task/task_apis.h
index 839ff09ed4..d9f18c3dd7 100644
--- a/arch/arm/cpu/armv8/gxl/firmware/scp_task/task_apis.h
+++ b/arch/arm/cpu/armv8/gxl/firmware/scp_task/task_apis.h
@@ -25,8 +25,8 @@ void enter_suspend(unsigned int suspend_from);
void get_dvfs_info(unsigned int domain,
unsigned char *info_out, unsigned int *size_out);
void set_dvfs(unsigned int domain, unsigned int index);
-void *memcpy(void *dest, const void *src, unsigned int count);
-void *memset(void *s, int c, unsigned int count);
+void *memcpy(void *dest, const void *src, unsigned long int count);
+void *memset(void *s, int c, unsigned long int count);
void _udelay(unsigned int us);
unsigned int get_time(void);
diff --git a/arch/arm/cpu/armv8/gxtvbb/firmware/scp_task/lib/string.c b/arch/arm/cpu/armv8/gxtvbb/firmware/scp_task/lib/string.c
index a517cc4f34..1d5665bc98 100644
--- a/arch/arm/cpu/armv8/gxtvbb/firmware/scp_task/lib/string.c
+++ b/arch/arm/cpu/armv8/gxtvbb/firmware/scp_task/lib/string.c
@@ -1,4 +1,4 @@
-void *memcpy(void *dest, const void *src, unsigned int count)
+void *memcpy(void *dest, const void *src, unsigned long int count)
{
char *tmp = dest;
const char *s = src;
@@ -7,7 +7,7 @@ void *memcpy(void *dest, const void *src, unsigned int count)
*tmp++ = *s++;
return dest;
}
-void *memset(void *s, int c, unsigned int count)
+void *memset(void *s, int c, unsigned long int count)
{
char *xs = s;
diff --git a/arch/arm/cpu/armv8/gxtvbb/firmware/scp_task/task_apis.h b/arch/arm/cpu/armv8/gxtvbb/firmware/scp_task/task_apis.h
index f6239d4d22..729eec43b3 100644
--- a/arch/arm/cpu/armv8/gxtvbb/firmware/scp_task/task_apis.h
+++ b/arch/arm/cpu/armv8/gxtvbb/firmware/scp_task/task_apis.h
@@ -25,8 +25,8 @@ void enter_suspend(unsigned int suspend_from);
void get_dvfs_info(unsigned int domain,
unsigned char *info_out, unsigned int *size_out);
void set_dvfs(unsigned int domain, unsigned int index);
-void *memcpy(void *dest, const void *src, unsigned int count);
-void *memset(void *s, int c, unsigned int count);
+void *memcpy(void *dest, const void *src, unsigned long int count);
+void *memset(void *s, int c, unsigned long int count);
void _udelay(unsigned int us);
unsigned int get_time(void);
diff --git a/arch/arm/cpu/armv8/tl1/firmware/scp_task/lib/string.c b/arch/arm/cpu/armv8/tl1/firmware/scp_task/lib/string.c
index 2e551f465c..ba29abe09d 100644
--- a/arch/arm/cpu/armv8/tl1/firmware/scp_task/lib/string.c
+++ b/arch/arm/cpu/armv8/tl1/firmware/scp_task/lib/string.c
@@ -19,7 +19,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-void *memcpy(void *dest, const void *src, unsigned int count)
+void *memcpy(void *dest, const void *src, unsigned long int count)
{
char *tmp = dest;
const char *s = src;
@@ -28,7 +28,7 @@ void *memcpy(void *dest, const void *src, unsigned int count)
*tmp++ = *s++;
return dest;
}
-void *memset(void *s, int c, unsigned int count)
+void *memset(void *s, int c, unsigned long int count)
{
char *xs = s;
diff --git a/arch/arm/cpu/armv8/tl1/firmware/scp_task/task_apis.h b/arch/arm/cpu/armv8/tl1/firmware/scp_task/task_apis.h
index 31ab63f795..c7b55bab98 100644
--- a/arch/arm/cpu/armv8/tl1/firmware/scp_task/task_apis.h
+++ b/arch/arm/cpu/armv8/tl1/firmware/scp_task/task_apis.h
@@ -46,8 +46,8 @@ void enter_suspend(unsigned int suspend_from);
void get_dvfs_info(unsigned int domain,
unsigned char *info_out, unsigned int *size_out);
void set_dvfs(unsigned int domain, unsigned int index);
-void *memcpy(void *dest, const void *src, unsigned int count);
-void *memset(void *s, int c, unsigned int count);
+void *memcpy(void *dest, const void *src, unsigned long int count);
+void *memset(void *s, int c, unsigned long int count);
void _udelay(unsigned int us);
unsigned int get_time(void);
diff --git a/arch/arm/cpu/armv8/tm2/firmware/scp_task/lib/string.c b/arch/arm/cpu/armv8/tm2/firmware/scp_task/lib/string.c
index 2e551f465c..ba29abe09d 100644
--- a/arch/arm/cpu/armv8/tm2/firmware/scp_task/lib/string.c
+++ b/arch/arm/cpu/armv8/tm2/firmware/scp_task/lib/string.c
@@ -19,7 +19,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-void *memcpy(void *dest, const void *src, unsigned int count)
+void *memcpy(void *dest, const void *src, unsigned long int count)
{
char *tmp = dest;
const char *s = src;
@@ -28,7 +28,7 @@ void *memcpy(void *dest, const void *src, unsigned int count)
*tmp++ = *s++;
return dest;
}
-void *memset(void *s, int c, unsigned int count)
+void *memset(void *s, int c, unsigned long int count)
{
char *xs = s;
diff --git a/arch/arm/cpu/armv8/tm2/firmware/scp_task/task_apis.h b/arch/arm/cpu/armv8/tm2/firmware/scp_task/task_apis.h
index 31ab63f795..c7b55bab98 100644
--- a/arch/arm/cpu/armv8/tm2/firmware/scp_task/task_apis.h
+++ b/arch/arm/cpu/armv8/tm2/firmware/scp_task/task_apis.h
@@ -46,8 +46,8 @@ void enter_suspend(unsigned int suspend_from);
void get_dvfs_info(unsigned int domain,
unsigned char *info_out, unsigned int *size_out);
void set_dvfs(unsigned int domain, unsigned int index);
-void *memcpy(void *dest, const void *src, unsigned int count);
-void *memset(void *s, int c, unsigned int count);
+void *memcpy(void *dest, const void *src, unsigned long int count);
+void *memset(void *s, int c, unsigned long int count);
void _udelay(unsigned int us);
unsigned int get_time(void);
diff --git a/arch/arm/cpu/armv8/txhd/firmware/scp_task/lib/string.c b/arch/arm/cpu/armv8/txhd/firmware/scp_task/lib/string.c
index 7331c3a74d..675b63cb77 100644
--- a/arch/arm/cpu/armv8/txhd/firmware/scp_task/lib/string.c
+++ b/arch/arm/cpu/armv8/txhd/firmware/scp_task/lib/string.c
@@ -13,7 +13,7 @@
*
*/
-void *memcpy(void *dest, const void *src, unsigned int count)
+void *memcpy(void *dest, const void *src, unsigned long int count)
{
char *tmp = dest;
const char *s = src;
@@ -22,7 +22,7 @@ void *memcpy(void *dest, const void *src, unsigned int count)
*tmp++ = *s++;
return dest;
}
-void *memset(void *s, int c, unsigned int count)
+void *memset(void *s, int c, unsigned long int count)
{
char *xs = s;
diff --git a/arch/arm/cpu/armv8/txhd/firmware/scp_task/task_apis.h b/arch/arm/cpu/armv8/txhd/firmware/scp_task/task_apis.h
index 5c33a06641..9b0af54f67 100644
--- a/arch/arm/cpu/armv8/txhd/firmware/scp_task/task_apis.h
+++ b/arch/arm/cpu/armv8/txhd/firmware/scp_task/task_apis.h
@@ -40,8 +40,8 @@ void enter_suspend(unsigned int suspend_from);
void get_dvfs_info(unsigned int domain,
unsigned char *info_out, unsigned int *size_out);
void set_dvfs(unsigned int domain, unsigned int index);
-void *memcpy(void *dest, const void *src, unsigned int count);
-void *memset(void *s, int c, unsigned int count);
+void *memcpy(void *dest, const void *src, unsigned long int count);
+void *memset(void *s, int c, unsigned long int count);
void _udelay(unsigned int us);
unsigned int get_time(void);
diff --git a/arch/arm/cpu/armv8/txl/firmware/scp_task/lib/string.c b/arch/arm/cpu/armv8/txl/firmware/scp_task/lib/string.c
index 2e551f465c..ba29abe09d 100644
--- a/arch/arm/cpu/armv8/txl/firmware/scp_task/lib/string.c
+++ b/arch/arm/cpu/armv8/txl/firmware/scp_task/lib/string.c
@@ -19,7 +19,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-void *memcpy(void *dest, const void *src, unsigned int count)
+void *memcpy(void *dest, const void *src, unsigned long int count)
{
char *tmp = dest;
const char *s = src;
@@ -28,7 +28,7 @@ void *memcpy(void *dest, const void *src, unsigned int count)
*tmp++ = *s++;
return dest;
}
-void *memset(void *s, int c, unsigned int count)
+void *memset(void *s, int c, unsigned long int count)
{
char *xs = s;
diff --git a/arch/arm/cpu/armv8/txl/firmware/scp_task/task_apis.h b/arch/arm/cpu/armv8/txl/firmware/scp_task/task_apis.h
index fa1350d4ed..9f5a56b1d6 100644
--- a/arch/arm/cpu/armv8/txl/firmware/scp_task/task_apis.h
+++ b/arch/arm/cpu/armv8/txl/firmware/scp_task/task_apis.h
@@ -46,8 +46,8 @@ void enter_suspend(unsigned int suspend_from);
void get_dvfs_info(unsigned int domain,
unsigned char *info_out, unsigned int *size_out);
void set_dvfs(unsigned int domain, unsigned int index);
-void *memcpy(void *dest, const void *src, unsigned int count);
-void *memset(void *s, int c, unsigned int count);
+void *memcpy(void *dest, const void *src, unsigned long int count);
+void *memset(void *s, int c, unsigned long int count);
void _udelay(unsigned int us);
unsigned int get_time(void);
diff --git a/arch/arm/cpu/armv8/txlx/firmware/scp_task/lib/string.c b/arch/arm/cpu/armv8/txlx/firmware/scp_task/lib/string.c
index 2e551f465c..ba29abe09d 100644
--- a/arch/arm/cpu/armv8/txlx/firmware/scp_task/lib/string.c
+++ b/arch/arm/cpu/armv8/txlx/firmware/scp_task/lib/string.c
@@ -19,7 +19,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-void *memcpy(void *dest, const void *src, unsigned int count)
+void *memcpy(void *dest, const void *src, unsigned long int count)
{
char *tmp = dest;
const char *s = src;
@@ -28,7 +28,7 @@ void *memcpy(void *dest, const void *src, unsigned int count)
*tmp++ = *s++;
return dest;
}
-void *memset(void *s, int c, unsigned int count)
+void *memset(void *s, int c, unsigned long int count)
{
char *xs = s;
diff --git a/arch/arm/cpu/armv8/txlx/firmware/scp_task/task_apis.h b/arch/arm/cpu/armv8/txlx/firmware/scp_task/task_apis.h
index 89242ab5fb..2ce7d7dd5f 100644
--- a/arch/arm/cpu/armv8/txlx/firmware/scp_task/task_apis.h
+++ b/arch/arm/cpu/armv8/txlx/firmware/scp_task/task_apis.h
@@ -46,8 +46,8 @@ void enter_suspend(unsigned int suspend_from);
void get_dvfs_info(unsigned int domain,
unsigned char *info_out, unsigned int *size_out);
void set_dvfs(unsigned int domain, unsigned int index);
-void *memcpy(void *dest, const void *src, unsigned int count);
-void *memset(void *s, int c, unsigned int count);
+void *memcpy(void *dest, const void *src, unsigned long int count);
+void *memset(void *s, int c, unsigned long int count);
void _udelay(unsigned int us);
unsigned int get_time(void);

View file

@ -0,0 +1,56 @@
diff --git a/Makefile b/Makefile
index 730e8d752f..ad9f8ab12e 100644
--- a/Makefile
+++ b/Makefile
@@ -763,7 +763,7 @@ ifneq ($(CONFIG_BUILD_TARGET),)
ALL-y += $(CONFIG_BUILD_TARGET:"%"=%)
endif
-ALL-$(CONFIG_ODROID_COMMON) += bootimage
+#ALL-$(CONFIG_ODROID_COMMON) += bootimage
LDFLAGS_u-boot += $(LDFLAGS_FINAL)
ifneq ($(CONFIG_SYS_TEXT_BASE),)
@@ -875,8 +875,8 @@ $(ACS_BINARY): tools prepare u-boot.bin
bl21.bin: tools prepare u-boot.bin acs.bin
$(Q)$(MAKE) -C $(srctree)/$(CPUDIR)/${SOC}/firmware/bl21 all FIRMWARE=$@
-.PHONY : fip.bin bootimage
-fip.bin bootimage: $(ACS_BINARY) $(BL301_BINARY)
+.PHONY : fip.bin bootimage $(BL301_BINARY)
+fip.bin bootimage: $(ACS_BINARY)
$(Q)$(MAKE) -C $(srctree)/fip $@
#
diff --git a/fip/Makefile b/fip/Makefile
index 8c45e9763d..61eaf01832 100644
--- a/fip/Makefile
+++ b/fip/Makefile
@@ -79,7 +79,6 @@ $(buildtree)/fip/fip.bin: FORCE
$(buildsrc)/fip/$(SOC)/bl30.bin, \
$(buildtree)/fip/zero_tmp, \
$(buildtree)/fip/bl30_zero.bin, \
- $(buildtree)/scp_task/bl301.bin, \
$(buildtree)/fip/bl301_zero.bin, \
$(buildtree)/fip/bl30_new.bin, \
bl30)
diff --git a/include/configs/odroidgou.h b/include/configs/odroidgou.h
index 33351524e3..24bfae3304 100755
--- a/include/configs/odroidgou.h
+++ b/include/configs/odroidgou.h
@@ -452,7 +452,7 @@
#define CONFIG_LZMA 1
/* other functions */
-#define CONFIG_NEED_BL301 1
+#define CONFIG_NEED_BL301 0
#define CONFIG_NEED_BL32 1
#define CONFIG_CMD_RSVMEM 1
#define CONFIG_FIP_IMG_SUPPORT 1
@@ -516,4 +516,4 @@
#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */
-#endif
\ No newline at end of file
+#endif