From 8b8ebab7c95af8ac136960d13263db14d5916b39 Mon Sep 17 00:00:00 2001 From: Apaczer <94932128+Apaczer@users.noreply.github.com> Date: Wed, 5 Feb 2025 20:23:32 +0100 Subject: [PATCH] PKG: optimize `lr-scummvm` - disable Tooltip - reduce engines count (inline with LITE+ legacy) - cap framerate->50Hz & samplerate-> 44100Hz --- ...gui-Tooltip-disable-tooltip-entirely.patch | 82 +++++++++++++++++ ...e-optimize-by-reducing-engines-count.patch | 91 +++++++++++++++++++ ...tions-cap-frames-30Hz-and-samprate-4.patch | 35 +++++++ 3 files changed, 208 insertions(+) create mode 100644 package/miyoo/retroarch/libretro-scummvm/0002-gui-Tooltip-disable-tooltip-entirely.patch create mode 100644 package/miyoo/retroarch/libretro-scummvm/0003-LIBRETRO-Makefile-optimize-by-reducing-engines-count.patch create mode 100644 package/miyoo/retroarch/libretro-scummvm/0004-LIBRETRO-core-options-cap-frames-30Hz-and-samprate-4.patch diff --git a/package/miyoo/retroarch/libretro-scummvm/0002-gui-Tooltip-disable-tooltip-entirely.patch b/package/miyoo/retroarch/libretro-scummvm/0002-gui-Tooltip-disable-tooltip-entirely.patch new file mode 100644 index 00000000..25c1ea35 --- /dev/null +++ b/package/miyoo/retroarch/libretro-scummvm/0002-gui-Tooltip-disable-tooltip-entirely.patch @@ -0,0 +1,82 @@ +From a6eecfa329b7fa39707a208e7071cb7b37ccb53f Mon Sep 17 00:00:00 2001 +From: Apaczer <94932128+Apaczer@users.noreply.github.com> +Date: Fri, 31 Jan 2025 21:09:07 +0100 +Subject: [PATCH 2/4] gui/Tooltip: disable tooltip entirely + +it is unreliable & slow +--- + gui/Tooltip.cpp | 55 ------------------------------------------------- + 1 file changed, 55 deletions(-) + +diff --git a/gui/Tooltip.cpp b/gui/Tooltip.cpp +index 23e5b5f7437..ef12c467dff 100644 +--- a/gui/Tooltip.cpp ++++ b/gui/Tooltip.cpp +@@ -37,64 +37,9 @@ Tooltip::Tooltip() : + } + + void Tooltip::setup(Dialog *parent, Widget *widget, int x, int y) { +- assert(widget->hasTooltip()); +- +- _parent = parent; +- +- setMouseUpdatedOnFocus(false); +- +- _maxWidth = g_gui.xmlEval()->getVar("Globals.Tooltip.MaxWidth", 100); +- _xdelta = g_gui.xmlEval()->getVar("Globals.Tooltip.XDelta", 0); +- _ydelta = g_gui.xmlEval()->getVar("Globals.Tooltip.YDelta", 0); +- _xpadding = g_gui.xmlEval()->getVar("Globals.Tooltip.XPadding", 2); +- _ypadding = g_gui.xmlEval()->getVar("Globals.Tooltip.YPadding", 2); +- +- const Graphics::Font *tooltipFont = g_gui.theme()->getFont(ThemeEngine::kFontStyleTooltip); +- +- _wrappedLines.clear(); +- _w = tooltipFont->wordWrapText(widget->getTooltip(), _maxWidth - _xpadding * 2, _wrappedLines) + _xpadding * 2; +- _h = (tooltipFont->getFontHeight() + 2) * _wrappedLines.size() + _ypadding * 2; +- +- _x = MIN(parent->_x + x + _xdelta + _xpadding, g_system->getOverlayWidth() - _w - _xpadding * 2); +- _y = MIN(parent->_y + y + _ydelta + _ypadding, g_system->getOverlayHeight() - _h - _ypadding * 2); +- +- if (g_gui.useRTL()) +- _x = g_system->getOverlayWidth() - _w - _x + g_gui.getOverlayOffset(); +- +- if (ConfMan.hasKey("tts_enabled", "scummvm") && +- ConfMan.getBool("tts_enabled", "scummvm")) { +- Common::TextToSpeechManager *ttsMan = g_system->getTextToSpeechManager(); +- if (ttsMan == nullptr) +- return; +- ttsMan->say(widget->getTooltip(), Common::TextToSpeechManager::QUEUE_NO_REPEAT); +- } + } + + void Tooltip::drawDialog(DrawLayer layerToDraw) { +- int num = 0; +- int h = g_gui.theme()->getFontHeight(ThemeEngine::kFontStyleTooltip) + 2; +- +- Dialog::drawDialog(layerToDraw); +- +- int16 textX = g_gui.useRTL() ? _x - 1 - _xpadding : _x + 1 + _xpadding; +- int16 textY = _y + 1 + _ypadding; +- +- Graphics::TextAlign textAlignment = g_gui.useRTL() ? Graphics::kTextAlignRight : Graphics::kTextAlignLeft; +- +- for (Common::U32StringArray::const_iterator i = _wrappedLines.begin(); i != _wrappedLines.end(); ++i, ++num) { +- g_gui.theme()->drawText( +- Common::Rect(textX, textY + num * h, textX + _w, textY + (num + 1) * h), +- *i, +- ThemeEngine::kStateEnabled, +- textAlignment, +- ThemeEngine::kTextInversionNone, +- 0, +- false, +- ThemeEngine::kFontStyleTooltip, +- ThemeEngine::kFontColorNormal, +- false +- ); +- } + } + + } +-- +2.45.2.windows.1 + diff --git a/package/miyoo/retroarch/libretro-scummvm/0003-LIBRETRO-Makefile-optimize-by-reducing-engines-count.patch b/package/miyoo/retroarch/libretro-scummvm/0003-LIBRETRO-Makefile-optimize-by-reducing-engines-count.patch new file mode 100644 index 00000000..280e660c --- /dev/null +++ b/package/miyoo/retroarch/libretro-scummvm/0003-LIBRETRO-Makefile-optimize-by-reducing-engines-count.patch @@ -0,0 +1,91 @@ +From 41720885dc0a6b0355f2b6a612eaf026bedddac8 Mon Sep 17 00:00:00 2001 +From: Apaczer <94932128+Apaczer@users.noreply.github.com> +Date: Mon, 3 Feb 2025 21:22:13 +0100 +Subject: [PATCH 3/4] LIBRETRO-Makefile: optimize by reducing engines count + (LITE) + +- discard HIGH_DEF engines from lite_engine.list & inline with legacy +- add also -fno-PIC +--- + backends/platform/libretro/Makefile | 5 +++-- + backends/platform/libretro/lite_engines.list | 21 +++++++++++++------- + 2 files changed, 17 insertions(+), 9 deletions(-) + +diff --git a/backends/platform/libretro/Makefile b/backends/platform/libretro/Makefile +index af2063fef82..c66c6cccfa0 100644 +--- a/backends/platform/libretro/Makefile ++++ b/backends/platform/libretro/Makefile +@@ -280,9 +280,9 @@ else ifeq ($(platform), miyoo) + LD = /opt/miyoo/usr/bin/arm-linux-g++ + AR = /opt/miyoo/usr/bin/arm-linux-ar cru + RANLIB = /opt/miyoo/usr/bin/arm-linux-ranlib +- DEFINES += -DDINGUX -fomit-frame-pointer -ffast-math -march=armv5te -mtune=arm926ej-s -fPIC ++ DEFINES += -DDINGUX -fomit-frame-pointer -ffast-math -march=armv5te -mtune=arm926ej-s -fno-PIC + DEFINES += -ffunction-sections -fdata-sections -DDEFAULT_PERF_TUNER -DREDUCE_MEMORY_USAGE -DUNCACHED_PLUGINS +- LDFLAGS += -shared -Wl,--gc-sections -Wl,--version-script=$(ROOT_PATH)/link.T -fPIC ++ LDFLAGS += -shared -Wl,--gc-sections -Wl,--version-script=$(ROOT_PATH)/link.T -fno-PIC + USE_VORBIS = 0 + USE_THEORADEC = 0 + USE_TREMOR = 1 +@@ -290,6 +290,7 @@ else ifeq ($(platform), miyoo) + USE_CURL = 0 + USE_MT32EMU = 0 + USE_HIGHRES := 0 ++ LITE := 1 + + # MIYOOMINI + else ifeq ($(platform), miyoomini) +diff --git a/backends/platform/libretro/lite_engines.list b/backends/platform/libretro/lite_engines.list +index bc681b60598..29fabf9583d 100644 +--- a/backends/platform/libretro/lite_engines.list ++++ b/backends/platform/libretro/lite_engines.list +@@ -1,32 +1,39 @@ ++access + agi + agos +-agos2 + cine + cruise + draci + drascula + eob + gob +-groovie + he + ihnm + kyra ++lab + lol + lure + made +-mortevielle + parallaction ++plumbers + queen + saga + sci +-sci32 + scumm + scumm_7_8 + sherlock + sky +-sword1 +-sword2 + teenagent + tinsel +-touche + tucker ++bbvs ++cge ++cge2 ++dreamweb ++hugo ++illusions ++mads ++supernova ++tsage ++voyeur ++xeen +-- +2.45.2.windows.1 + diff --git a/package/miyoo/retroarch/libretro-scummvm/0004-LIBRETRO-core-options-cap-frames-30Hz-and-samprate-4.patch b/package/miyoo/retroarch/libretro-scummvm/0004-LIBRETRO-core-options-cap-frames-30Hz-and-samprate-4.patch new file mode 100644 index 00000000..8c829e39 --- /dev/null +++ b/package/miyoo/retroarch/libretro-scummvm/0004-LIBRETRO-core-options-cap-frames-30Hz-and-samprate-4.patch @@ -0,0 +1,35 @@ +From 21bc17a426facfbf5fb1c40f75377b3212e4335d Mon Sep 17 00:00:00 2001 +From: Apaczer <94932128+Apaczer@users.noreply.github.com> +Date: Tue, 4 Feb 2025 22:45:05 +0100 +Subject: [PATCH 4/4] LIBRETRO-core-options: cap frames=30Hz and + samprate=44,1kHz + +--- + backends/platform/libretro/include/libretro-core-options.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/backends/platform/libretro/include/libretro-core-options.h b/backends/platform/libretro/include/libretro-core-options.h +index 0c959b78da8..2e49481c748 100644 +--- a/backends/platform/libretro/include/libretro-core-options.h ++++ b/backends/platform/libretro/include/libretro-core-options.h +@@ -249,7 +249,7 @@ struct retro_core_option_v2_definition option_defs_us[] = { + { "25 Hz", NULL }, + { NULL, NULL }, + }, +- "disabled" ++ "30 Hz" + }, + { + "scummvm_samplerate", +@@ -263,7 +263,7 @@ struct retro_core_option_v2_definition option_defs_us[] = { + { "44100 Hz", NULL }, + { NULL, NULL }, + }, +- "48000 Hz" ++ "44100 Hz" + }, + /* Button mappings */ + { +-- +2.45.2.windows.1 +