batocera-display

Solid

Use when working on how games look on a Batocera cabinet: CRT and other shaders, shaderset resolution and per-game shader overrides, bezel/overlay artwork and alignment, generating missing .info sidecars, filtering unusable bezels, pinning the display resolution, or diagnosing moire and cropped/misaligned game viewports inside bezels. Covers why a shaderset seems invalid, why .info top values are not alpha coordinates, and why Mega-Bezel per-game art fails. Not for performance/framerate tuning (batocera-tuning).

AI & Automation 4 stars 0 forks Updated 2 days ago MIT

Install

View on GitHub

Quality Score: 80/100

Stars 20%
23
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Batocera Display Shaders, bezels, and display mode — everything about how the picture looks. Assumes the connection pattern, `batocera.conf`/configgen model, and verify loop from `batocera-ops`. Because display changes are visual, the `batocera-ops` **remote verify loop** (ES HTTP API launch + `batocera-screenshot`) is your primary tool here: never declare a shader or bezel "working" from the config alone — launch it and look. ## Shaders Shaders are assigned per-system (or per-game) in `batocera.conf`. Two key mechanisms and the traps around each. ### `shaderset` resolves against TWO search paths `<system>.shaderset=<name>` is a **folder-name lookup** resolved against both: 1. `/userdata/shaders/configs/<name>/` (user-installed) 2. `/usr/share/batocera/shaders/configs/<name>/` (system-bundled) Checking only one path is enough to wrongly declare a preset invalid. Some built-in names are aliases that resolve to a preset deep under `/usr/share/batocera/shaders/`. Before concluding a `shaderset` value is dead: ```bash SSHB "find /userdata/shaders /usr/share/batocera/shaders -maxdepth 3 -iname '<name>*'" ``` And read the launch log for the shader actually used on the last launch — it is authoritative: ```bash SSHB "grep -i 'set-shader\|shader' /userdata/system/logs/es_launch_stdout.log | tail" ``` ### Two shader keys: `shaderset` vs `-renderer.shader` - `<system>.shaderset=<name>` — a Batocera shaderset folder (may bundle bezel art, e.g. Koko-AIO/Duimon presets). -...

Details

Author
t3chnaztea
Repository
t3chnaztea/batocera-skills
Created
3 weeks ago
Last Updated
2 days ago
Language
Python
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Solid

batocera-tuning

Use when a Batocera cabinet feels slow, laggy, or stuttery, or when tuning performance: EmulationStation menu/carousel lag, a slow-since-boot frontend, CPU governor stuck in powersave, overclock or CPU-speed core options that seem to do nothing, run-ahead / input latency, framerate that drops the longer the machine runs, or a 3D-heavy game (PSX/PS2/Dreamcast/N64 class) that crashes or stutters — Vulkan errors in emulator logs, picking a rendering resolution or graphics backend the hardware can afford. Covers the diagnostic order (check the throttle first), the v43 governor-at-boot failure, the emulator-name vs rom-dir-name overclock scoping trap, ES event-hook frame cost, and hardware-tier detection (batocera-info / batocera-vulkan). Not for shader visual quality (batocera-display).

4 Updated 2 days ago
t3chnaztea
Data & Documents Solid

batocera-roms

Use when working with ROMs and gamelists on a Batocera cabinet: figuring out which directory a system's ROMs go in, why a game does not appear in the menu, which file formats and extensions a system accepts, curating a large library by hiding rather than deleting, editing gamelist.xml safely, cleaning up multi-disc games, or verifying dumps against No-Intro/Redump DATs. Covers extensionless-ROM-in-zip failures, the 3DO/Opera no-m3u trap, cave3rd, and the es_systems_custom.cfg landmine. Not for shaders/bezels (batocera-display), or ROM directories renamed by a Batocera version upgrade (batocera-maintenance).

4 Updated 2 days ago
t3chnaztea
AI & Automation Solid

batocera-ops

Use when connecting to or operating a Batocera arcade/retro-gaming cabinet over SSH: establishing the connection, understanding its read-only rootfs and /userdata layout, finding config/log/ROM paths, applying changes safely, verifying a display/config change end-to-end without a controller, or diagnosing why a setting reverts to its default on every launch (configgen). Foundation for the other batocera-* skills (roms, display, tuning, maintenance). Covers sshpass, batocera.conf, EmulationStation, the ES HTTP API, and batocera-screenshot. Not for game recommendations.

4 Updated 2 days ago
t3chnaztea