Repository navigation
Troubleshooting
This page covers general problems on Windows, Linux, and macOS. For AI-specific issues see AI Troubleshooting.
| Check | Action |
|---|---|
| .NET runtime | Install the .NET 10.0 runtime (on Windows choose .NET Desktop Runtime) |
| Log file | Read the rolling app<yyyyMMdd>.log in the per-user data folder for the exact failure |
| Corrupt settings | Delete Settings.dat from the per-user data folder to reset to defaults |
| Permissions | Screenshots are the only files written next to the executable; if saving them fails, move the application to a user-writable folder such as ~/apps/FindRomCover or rely on the fallback to the per-user data folder. Logs and settings already live in the per-user data folder |
| Antivirus | Some scanners flag single-file .NET executables; allow the file if you trust it |
| Linux/macOS | Ensure the binary is executable (chmod +x FindRomCover) and start it from a terminal once to see any startup message |
A fatal startup error is shown in a dialog and written to the log.
The Google Web and Bing Web tabs use the platform web view:
| Platform | Runtime | Notes |
|---|---|---|
| Windows | Microsoft Edge WebView2 Runtime | Pre-installed on most Windows 10/11 systems |
| macOS | WKWebView | Part of the operating system |
| Linux | WebKitGTK | Install the WebKitGTK runtime from your distribution's package manager |
If the runtime is unavailable, FindRomCover explains the problem and can open the runtime download page or the system browser instead; all other features keep working. To recover the embedded tabs:
- Follow the in-app prompt to open the runtime download page (or install WebKitGTK on Linux).
- Install the runtime and restart FindRomCover.
- If the problem persists, update your operating system and reinstall the runtime.
| Tab | What to try |
|---|---|
| Local Files | Lower the similarity threshold, switch algorithm, check the image folder |
| Google Web / Bing Web | Refine the Extra Query; verify the browser loads at all |
| Google API | Check the API key, quota, and Extra Query |
Also make sure the selected game has a meaningful name; enable MAME descriptions for arcade titles.
Open Settings > API Settings... and enter a Google API key. The Local Files and web tabs do not need a key.
- Verify the image folder is writable.
- For web searches, save the image manually inside the image folder — automatic one-click saving is not possible due to browser security.
- Confirm a game is selected; the watcher renames new images to the selected game.
- Check the log for
ImageFolderWatcheror conversion errors.
Some image hosts answer automated requests with an HTTP 200 status but send an HTML block page instead of image data. FindRomCover detects this before converting:
- The download is skipped with a log warning naming the host, the returned Content-Type, and the start of the payload.
- When a provider thumbnail is available (Google API results, AI Batch Fill), it is tried automatically — but it is only saved if it meets the Min cover width setting (default 200 px); undersized thumbnails are rejected and the candidate is skipped.
- Otherwise the candidate is skipped and the next one is tried.
This is a host-side block, not an application bug — try another result, another search tab, or a different model run. Entries mentioning no decode delegate for the same reason are logged as warnings, not errors.
mame.dat ships with the application and is copied to the output folder on build.
- If it is missing, copy a fresh one next to the
FindRomCoverexecutable. - If it is corrupt, replace it with a fresh copy.
- Without it, MAME descriptions are unavailable and searches fall back to cleaned filenames.
FindRomCover quarantines unreadable files instead of failing:
| File | Meaning |
|---|---|
Settings.dat.corrupt |
Settings database that could not be read; defaults were restored |
settings.dat.legacy |
Backup of the old encrypted settings file after SQLite migration |
settings.xml.migrated |
Legacy settings.xml moved aside after a successful migration |
QueryHistory.dat.corrupt |
Query-history database that could not be read; a fresh one was created |
The quarantine file appears in the folder that held the unreadable file (the per-user data folder or the application folder). To recover, restore a backup of the per-user data folder. See Data Storage.
| Cause | Suggestion |
|---|---|
| Network image folder | Move covers to a local disk |
| Huge collection | Narrow the supported extensions; rely on the trigram index |
| Slow local AI model | Lower Image max size and Max candidates, raise the AI timeout |
| Many results loading | Lower the thumbnail size |
- Open the log window (
Settings > Show/Hide Log Window). - Note the error message and when it happens.
- Search the GitHub Issues for the message.
- If it is new, open an issue with the log excerpt and reproduction steps.
Include:
- the application version and OS/architecture;
- steps to reproduce;
- the relevant log entries;
- whether Google API or AI Assist was involved.
Remove any paths or information you do not want to share before posting. Automatic bug reports and their privacy implications are described in Bug Reports.
-
Case-sensitive file systems — cover filenames must match the ROM base name exactly. On Windows the check is case-insensitive; on Linux and macOS
sonic.pngdoes not coverSonic.zip. - Web view — install WebKitGTK from your distribution's package manager; WKWebView is included with macOS.
- Tray icon — minimizing hides the window to the tray; some Linux desktop environments do not display tray icons, so use the taskbar or close the window instead.
-
Screenshots — the
Screenshotfolder next to the executable is tried first; the per-user data folder is used when the application folder is not writable. -
Settings encryption — the key is derived from the machine name, so copying
Settings.datbetween machines invalidates stored API keys.
FindRomCover — find and download missing cover art for your retro gaming ROM collection.
Getting Started
User Guide
- Interface Overview
- Folders & Scanning
- Local Files Search
- Web Search (Google Web & Bing Web)
- Google Custom Search API
- Image Handling
- Missing Covers List
- Screenshots
AI Vision Assist
- AI Vision Assist
- Providers & Models
- AI Settings
- Picking Covers
- Batch Fill
- Query History
- Recommended Models
- AI Troubleshooting
Configuration
- Settings Overview
- Themes & Appearance
- Similarity Algorithms
- Supported Extensions
- Data Storage
- Logs & Diagnostics
- Bug Reports
- Privacy
Reference
Development
More