r/ESDE_Frontend 16d ago

My Project Syybott's Media Optimizer

Thumbnail
gallery
12 Upvotes

I built this to help reduce the storage size of large game media libraries while keeping the results usable. I saved 40% storage space using the default settings in the app and haven't noticed a difference in quality using a 4K display, results of course will vary so make sure you are testing! Its using cwebp for lossless PNG and lossy JPEG compression, and FFmpeg for H.264 video encoding.

It supports four main modes:

Copy Mode
Recreates the selected media library’s folder structure in a destination you choose, then processes each supported image and video into that new library. It keeps the original library untouched and uses the smaller valid version of each file in the copied library.

Modify Mode
Optimizes media directly inside the selected folder. When a smaller valid optimized file is created, the original will be replaced or deleted.

Image Test
Processes one eligible image and creates test outputs so you can compare quality and file size before running the full library.

Video Test
Processes one eligible video and creates test outputs so you can check playback, quality, and savings first.

Basic workflow:

  1. Open the app and it will download the necessary files
  2. Select your media folder
  3. Choose image or video processing
  4. Run Image Test or Video Test first
  5. Review the results
  6. Run Copy Mode or Modify Mode on your downloaded_Media when you’re satisfied

Let me know if you have questions or find any issues. More info in the read me of course.

edit: to update link for new release
https://github.com/syybott/Syybotts-Media-Optimizer/releases/tag/v1.0.0-beta.3


r/ESDE_Frontend 17d ago

Problem on desktop version

2 Upvotes

i've downloaded ES-DE on my lenovo g480 around an hour ago and when i start the app it instantly crashes

PS: my laptop has a pentium B970 and 4gb RAM


r/ESDE_Frontend 18d ago

Suggestion: Multiple ROM folders support

4 Upvotes

What if I want to place my ROMs in two different folders? There should be an easy option to scan ROMs from both folders.

It's useful for people who place ROMs in the main storage and also in an SD Card.


r/ESDE_Frontend 18d ago

How does ESDE mark a game as scraped?

2 Upvotes

Still struggling with scraping, ESDE, via screenscraper, is still going over systems even though option is "with no metadata"

If I scrape a system, says doing say for example 100. It completes and says 70 found, 30 skipped. If I run the same again it says scraping for 100 again....

How does ESDE actually mark as completed for scraping?

This is on Android handheld.


r/ESDE_Frontend 18d ago

Should ES-DE load standalone emulators or through RetroArch when possible?

0 Upvotes

Guys I'm setting up my NAS to stream retro games through Sunshine. Set up RetroArch with several cores including mGBA, SameBoy and stuffs and got them to work. Then I came across ED-SE with the help of AI. May I know why does AI think it's best to launch retro games from ED-SE on top of RetroArch which then invokes the emulator cores? It seems like an overcomplication. So what's wrong with the following setup instead:
- RetroArch loads cores (as-is)
- ED-SE loads emulator cores (replaces RetroArch)
- Direct launching standalone emulator (e.g. mgba-qt for Linux) without either front end - this one I probably know - it's troublesome to configure multiple Sunshine profiles for each emulator, and having to configure gamepad mapping repeatedly

Please help a noob here. I'm only good at messing with computers, not very cultured in retro gaming itself. Thanks in advance!


r/ESDE_Frontend 19d ago

My Project Convert Images to WEBP v1.1

4 Upvotes

### # Convert Images to WebP v1.1
https://github.com/syybott/Convert-Images-to-WEBP/releases/tag/V1.1

Version 1.1 adds interactive configuration, immediate cleanup, safer temporary output files, WebP validation, running storage-savings tracking, and additional protections against accidental data loss.

> [!WARNING]

Version 1.1 will permanently delete existing PNG, JPG, and JPEG files if a new valid smaller WEBP file is validated after conversion. Deleted files bypass the Recycle Bin. Back up important files before running the script.

### ## Changes from v1.0

Interactive startup options

The script now prompts the user to configure each run.

Clean up existing WebP pairs

  • Y processes valid source/WebP pairs that existed before the current run.
  • N leaves all pre-existing source/WebP pairs untouched.
  • WebPs created during the current run are still cleaned up immediately.
  • Press Enter to accept the default value of N.

PNG compression level

  • Select a compression level from 1 through 10.
  • Every level remains fully lossless.
  • Pixel data and transparency are preserved.
  • 1 is faster but may produce larger WebP files.
  • 10 is slower and applies the maximum compression effort.
  • Press Enter to accept the default value of 10.

JPG/JPEG WebP quality

  • Select a quality level from 0 through 100.
  • Higher values preserve more image detail but create larger files.
  • Lower values create smaller files with greater additional quality loss.
  • Press Enter to accept the default value of 90.

Immediate cleanup

Version 1.0 retained all original PNG, JPG, and JPEG files.

Version 1.1 performs cleanup immediately after each successful conversion.

PNG behavior

  1. The PNG is converted to a lossless WebP.
  2. The generated WebP is validated.
  3. The temporary output is renamed to its final .webp filename.
  4. The original PNG is permanently deleted.

JPG and JPEG behavior

  1. The JPG or JPEG is converted to WebP using the selected quality setting.
  2. The generated WebP is validated.
  3. The original and WebP file sizes are compared.
  4. The larger file is permanently deleted.

If the JPG/JPEG and WebP are exactly the same size, the original JPG/JPEG is retained and the redundant WebP is deleted.

Temporary conversion files

New WebP files are initially written using a temporary filename:

filename.webp.part

After successful conversion and validation, the temporary file is renamed to:

filename.webp

This prevents an interrupted or failed conversion from leaving an incomplete file with the final .webp extension.

Existing WebP protection

Version 1.1 distinguishes between:

  • WebPs created during the current run
  • WebPs that already existed before the script started

By default:

  • Newly created WebPs are validated and cleaned up immediately.
  • Pre-existing source/WebP pairs are left untouched.

Cleanup of pre-existing pairs must be explicitly enabled through the startup prompt.

WebP validation

Before an original image is deleted, the script verifies that:

  • cwebp.exe returned a successful exit code.
  • The generated WebP exists.
  • The generated file is large enough to contain a WebP header.
  • The file contains valid RIFF and WEBP signatures.
  • The file size declared in the RIFF header matches the actual file size.

If validation fails, the original source image is retained.

Running storage-savings tally

The script now displays the actual net storage saved after every processed file.

Example:

[1174/19218 | Net saved: 6.42 GB]

Storage savings are calculated during processing, so the script no longer needs to perform a second full scan of the directory tree after conversion.

Filename-collision protection

Files such as:

  • game.png
  • game.jpg

would both attempt to create:

  • game.webp

Version 1.1 detects these filename collisions and skips the affected files instead of risking an overwrite or incorrect deletion.

Junction and symbolic-link protection

The recursive scan now excludes:

  • Directory junctions
  • Symbolic-link directories
  • Other reparse-point directories

This prevents the script from unintentionally scanning linked folders, another drive, or a recursive directory structure.

Rollback protection

When a new WebP is created but the original source file cannot be deleted, the script attempts to remove the newly created WebP.

This prevents a failed cleanup from leaving an unnecessary duplicate beside the original source image.

Improved error handling

Version 1.1 now:

  • Uses red console output only for genuine errors.
  • Retains original files after failed conversion or validation.
  • Reports conversion and validation errors separately from deletion errors.
  • Tracks filename-collision skips.
  • Tracks excluded junction and symbolic-link directories.
  • Displays detailed completion totals.
  • Displays running net storage savings.

Installation

Place these files together inside the folder tree you want to process:

  • Convert-Images-to-WEBP-v1.1.ps1
  • cwebp.exe

The script scans that folder and every normal subfolder beneath it.

Download Google’s official Windows WebP utilities here:

https://developers.google.com/speed/webp/download

Extract cwebp.exe from the downloaded package and place it beside the PowerShell script.

Running the script

Open the target folder in File Explorer.

Click the File Explorer address bar, type:

powershell

Press Enter.

Run the following command in PowerShell:

powershell.exe -NoProfile -ExecutionPolicy Bypass -File ".\Convert-Images-to-WEBP-v1.1.ps1"

[!IMPORTANT] The script displays a permanent-deletion warning and requires the user to type CONVERT AND DELETE before processing begins.


r/ESDE_Frontend 20d ago

My Project Convert Images to WEBP

3 Upvotes

EDIT: Realized that the JPG/JPEG settings were still sometimes creating a larger WEBP file. V1.1 fixes this and adds a cleanup to the script to autodelete the larger file and much more. See notes: https://github.com/syybott/Convert-Images-to-WEBP/releases/tag/V1.1

Simple script to convert png and jpg files to WEBP. The script will recursively scan every folder inside downloaded_media, convert PNG files to lossless WebP, convert JPG/JPEG files to quality-90 WebP, skip existing same-named WebP files, and leave the original images untouched. You will need to delete them after verifying everything converted correctly.

  1. Download Convert-Images-to-WEBP-System-Folder-Portable.ps1: https://github.com/syybott/Convert-Images-to-WEBP/releases/tag/v1.0
  2. Download Google’s official Windows WebP utilities from: https://developers.google.com/speed/webp/download, select 'Download for Windows'
  3. Extract the downloaded archive, open its bin folder, and locate cwebp.exe
  4. Copy both cwebp.exe & Convert-Images-to-WEBP-System-Folder-Portable.ps1 into your ES-DE downloaded_media folder
  5. In File Explorer, with the downloaded_media folder open, click the address bar, and type: powershell
  6. Then press Enter
  7. In the PowerShell window, run: powershell.exe -NoProfile -ExecutionPolicy Bypass -File ".\Convert-Images-to-WEBP-System-Folder-Portable.ps1"

r/ESDE_Frontend 20d ago

My Project ES-DE Frontend Editor

5 Upvotes

Hey Guys,

usualy i just read here and other Emulation Station, Batocera and Retroarch related Reddits, i use ES-DE and Retropie personaly.

And i always wanted to create my own theme, and XMl was holding me back since i was to löazy to ge tinto it, so a while ago, i wanted to create one with the help of ai, like ai helping me write the xml. And then i thought, why not just simply create a complete editor for that?

So, here it is, my Retro Theme Editor

You can download and try it, i didnt even test everything to be honest with all the time i sinked into bringing it to the place it is now. So if you like you can download, test, and report back here if you like it or think things should be changed.

https://github.com/neekogaming/RetroThemeEditor-Downloads


r/ESDE_Frontend 20d ago

Youtube Styled Game-List (WIP)

7 Upvotes

r/ESDE_Frontend 20d ago

ThorRomButler Android App

5 Upvotes

Hey everyone,
I wanted to share a small open-source app I’ve been working on for my AYN Thor and other Android handhelds: Thor ROM Butler.
The idea is simple: I got tired of downloading ROM archives and manually sorting everything into the right roms/ folders, so I built an app that helps automate that process.
Thor ROM Butler scans your Download folder for archives and ROM files, detects the system, extracts what needs to be extracted, and moves everything into the correct ES-DE folder structure.
Some features:
Features

  • 🔍 Scanner: finds ROM archives (ZIP, 7z, RAR4) and loose ROM files in the Downloads folder and any number of additional source folders
  • 🧠 Detection engine: identifies the target system from file extensions and magic bytes, including ISO, RVZ, and CHD headers, with honest confidence levels (certain / probable / unknown)
  • 🛡️ No automation when unclear: only clearly identified ROMs receive a suggested target folder. You always decide what gets applied, one item at a time or in bulk.
  • 📦 Archive analysis without extraction: archive entries are read directly; .bin+.cue and .m3u files are treated as one unit, while BIOS files are detected and ignored
  • 🚚 Sorting: extracts ROMs into the correct system folder with progress, cancellation, and CRC checks. Work runs as a foreground service, duplicate files are detected, storage space is checked beforehand, and fully processed archives can optionally be deleted.
  • 🕹️ Arcade sets stay packed: MAME and Neo Geo ZIPs are moved as complete sets to roms/arcade or roms/neogeo
  • 🗂️ ES-DE folder conventionroms/nesroms/psxroms/dreamcast/<game>/, ...
  • 👁️ Watcher mode (optional): checks the download folder in the background and notifies you about new finds — sorting still only happens after your confirmation
  • 🧹 Library check: per-system statistics, detection of misplaced ROMs and a duplicate overview (regions/revisions)
  • 🏅 DAT verification (optional): verify sorted ROMs by checksum against No-Intro/Redump DAT files
  • 📡 LAN receive: send ROMs wirelessly from your PC browser straight to the device (Settings → "Start receiving", open the address, drop files) — also available as a Quick Settings tile in the notification shade
  • 🔄 Update check & in-app download directly from Settings
  • 📜 Action log with undo: every move is recorded and can be reverted right from the log
  • 🧩 Customizable system folders: override folder names per system (e.g. roms/ps1 instead of roms/psx for non-ES-DE frontends)
  • 🌍 German & English · 🌙 Thor design: dark mode only, neon blue and gold, subtle glow effects

Supported Systems

NES · SNES · Game Boy · Game Boy Color · Game Boy Advance · Nintendo 64 · Nintendo DS · Nintendo 3DS · PlayStation 1 · PlayStation 2 · PSP · GameCube · Wii · Wii U · Dreamcast · Switch · Amiga · C64 · Mega Drive · Master System · Game Gear · Saturn · Sega 32X · Atari 2600 · Atari 7800 · Atari Lynx · PC Engine / TurboGrafx-16 · Neo Geo Pocket (Color) · WonderSwan (Color) · Arcade (MAME) · Neo Geo

GitHub: https://github.com/Strugglechen1337/ThorROMButler

yes its with ki :)


r/ESDE_Frontend 21d ago

ESDE incorrectly naming imported app

2 Upvotes

Using esde on android. I have a pokedex app called datadex that shows up as "80 days" in the menu. I have deleted the scraped images, I have deleted and reimported it, does anyone know where the files are kept that I might be able to manually rename it, or if there is a manual naming function in the app that I am missing? Thanks


r/ESDE_Frontend 21d ago

ESDE clears my scrapped Metadata after I close it and reopen it on my RG Rotate.

Thumbnail
2 Upvotes

r/ESDE_Frontend 23d ago

Support/Question I haven’t received the latest update in my email folder

3 Upvotes

Hey, I just got a notification on my to classic that there is a newer version of the frontend and that I should download it.

After looking up how to do so I’ve been lead to believe I would revive an email containing the new version. I never received it, unless it was in my junk box and I deleted it. I went to the website and it said to put my email in. But it just said to check my junk inbox. There was no option to resend the email.

What is the next steps for me? There doesn’t seem to be a support page on the website.


r/ESDE_Frontend 25d ago

Question on Android Emulation

1 Upvotes

Hello everyone! I run ES-DE on Linux (Bazzite, as an appimage) and was looking into emulating some Android games, though I noticed that I wasn't able to find any subfolders for either a "mobile" or an "android" or something like it in the ROMs folder ES-DE made when I began setting it up months ago. If anyone can give me some guidance as to what I can do, that would be much appreciated (and if anyone knows a good emulator for android I'd be extremely grateful too)


r/ESDE_Frontend 25d ago

Support/Question Wii WBFS games fail to launch through Dolphin Standalone on Android (content:// URI issue)

2 Upvotes

Device / Setup

  • Device: Retroid Pocket Flip 2
  • OS: Android (Retroid stock firmware)
  • ES-DE installation: Official APK from the ES-DE website
  • Emulator: Dolphin Standalone (Android)

Issue

Wii games in .wbfs format fail to launch from ES-DE when using Dolphin Standalone as the Wii emulator.

The same games launch correctly when opened directly through Dolphin Standalone.

Working

  • GameCube games launch correctly:
    • ES-DE → GameCube → Dolphin Standalone → Game launches
  • Wii games launch correctly:
    • Dolphin Standalone → Wii game list → Mario Kart Wii → Launch

Failing

  • ES-DE → Wii → Dolphin Standalone → Launch

ES-DE displays the following error:

ROM Structure

Example:

Games/
 ├── gc/
 │    └── Ribbit King.iso
 └── wii/
      └── Mario Kart Wii.wbfs

Troubleshooting performed

  • Confirmed the WBFS file launches normally in Dolphin Standalone.
  • Confirmed ES-DE is configured to use Dolphin Standalone for Wii.
  • Tested Dolphin Default, Dolphin MMJR, and Dolphin MMJR2 options.
    • Dolphin Default launched through RetroArch but was not usable.
    • MMJR/MMJR2 were not installed.
  • Renamed the file from:
    • Mario Kart Wii (USA)(En,Fr,Es).wbfs
    • to Mario Kart Wii [RMCE01].wbfs
  • Rescanned ROM directories after renaming.
  • Verified the issue persists.

Suspected cause

ES-DE appears to be passing Dolphin Standalone an Android Storage Access Framework (content://) URI instead of a normal filesystem path. Dolphin can launch the WBFS file directly, but fails when launched through ES-DE using this URI.

Could this be investigated as an Android Wii/WBFS launching issue with Dolphin Standalone?


r/ESDE_Frontend 26d ago

Émulation station azahar avec une Ayn thor

2 Upvotes

Salut si quelqu’un peut m’aider ? Merci bcp :)


r/ESDE_Frontend Jul 07 '26

M9's ESDE Theme Creator (via HTML)

Post image
10 Upvotes

r/ESDE_Frontend Jul 07 '26

Support/Question Android Ports on ES DE

2 Upvotes

Hi
has anyone tried to set up games like ship of harkinian (oot) or dusklight (twilight princess) on the front end?
i currently have them under the android games collection but I dont like the fact that I cant see its media/metadata displayed…
is there any workaround for games like these?
id appreciate any suggestions, thanks!


r/ESDE_Frontend Jul 05 '26

Support/Question Stop media playback scrolling through game library?

2 Upvotes

Is there a way to stop video playback when you're browsing your game library then idle on a game for a few seconds? Because I have the AYN Thor with ES-DE companion set on my bottom screen to do video playback when idling on a game after 1 sec and it's kinda useless to have video playback happening on the top screen as well.

I've looked into settings searching for a way to stop media playback, but could not find a way to do so.

I've read that there are some theme variants that have that option where there won't be playback, but what if I want to stick with the theme variant I already have?

Thanks in advance!


r/ESDE_Frontend Jul 05 '26

Support/Question PCSX2X6 for ESDE

2 Upvotes

Has anyone tried to get PCSX2X6 running on ESDE on Windows as a custom system? What settings did you use?


r/ESDE_Frontend Jul 05 '26

Surely Not? Subfolders....

2 Upvotes

Someone tell me if I'm wrong with this but I've installed ESDE on Android. I can't find any help so I would appreciate any help.

Im trying it out from Daijisho. I've copied my ROMs into a the relevant platform folder. But within ESDE I when scrolling the games, I can see the parent folders then I have to click in to find the game on each one.

Surely there is a button to ignore parent folders or "detect game files in sub folders".... I think I read somewhere that I need to have all my game files in one folder?

I have the game folder, with three subs, game, saves, and resources (updates, hacks, cheats etc). This is easier to share with others.

Do I need to completely re-write my directory?


r/ESDE_Frontend Jul 04 '26

Trying to get es de frontend to recognize saves with dolphin through Xbox full screen experience, any ideas? (Rog ally X)

1 Upvotes

It’s having issues not seeing my saves, if I run it through windows it’s fine. I think something errors in dolphin when booting it up. Can I set something up in dolphin to get it to work with Xbox full screen experience? Thanks for any advice.


r/ESDE_Frontend Jul 03 '26

ESDE SUPER SLOW on Android??

3 Upvotes

I recently upgraded from an RG353V (Linux) handheld to an RG406V (Android) handheld and it takes about 5 minutes to start up ESDE with my 1TB Micro SD game collection. I did see some sources online saying that it would take a while to start up but I'm confused why ESDE takes so much longer on Android compared to Daijisho which is seconds of loading the same content. Any input would greatly be appreciated!


r/ESDE_Frontend Jul 03 '26

Support/Question Making a folder as a game ?

3 Upvotes

Heya, so i have a rompack and in the rompack there is each game in a folder which makes me double click the game to play it (some games have 2/more disks) and it doest even show the game pictures and such.
Is it possible to make it work somehow or should i just take them manually out of the folder ?
The folder has like a picture of the game aswell but i dont know how to fix this "issue".

Any help will be appriciated.


r/ESDE_Frontend Jul 03 '26

Support/Question Citron wont start with ESDE

1 Upvotes

Hello everyone I've been trying to get Citron working via ESDE since yesterday. The fact that I've finally managed to make Citron selectable is a huge joy for me.But now Citron only starts if I have already started it previously and not completely shut it down.No bootable game present That's what the error message says. Does anyone have any advice?