Skip to content

Customization

Appearance

These settings are found under Settings → Appearance, except Title, which lives under Settings → General.

Art Width

Controls how much screen space the box art panel takes up on the game list. Options range from 35% to 65% in 5% steps, or 0 to hide it entirely. The default is 40%.

Art Scale

Controls how box art is scaled within the art panel.

  • Fit (default) - scales the image to fit entirely within the panel
  • Original - displays the image at its original size
  • Fit Width - scales the image to fill the panel's width
  • Fit Height - scales the image to fill the panel's height

Background

Set a wallpaper by placing images in the Wallpapers/ folder and selecting one from Background Image. PNG and JPG are supported.

Background Tint adds a dark overlay on top of your wallpaper to keep text readable. It ranges from 0% (no tint) to 90% in 10% steps. This option only appears when a wallpaper is set.

You can also upload wallpapers through Nonna's Kitchen.

Colors

Cannoli has seven customizable colors:

  • Accent: Used for UI accents (badges, indicators, focus glow).
  • Background: Fills the screen behind all content when no wallpaper is set.
  • Highlight: The background color of the currently selected item.
  • Highlight Text: The text color of the currently selected item.
  • Status Bar: The color of the icons and text in the top status bar.
  • Text: The color used for body text in the launcher.
  • Title: The color used for all list titles (including IGM).

Each color can be picked from a grid of 16 presets or entered as a hex value.

See the Color Picker controls for details.

Font

Two fonts are built in:

  • Default (M PLUS 1 Code)
  • The OG (BPreplay)

You can add your own fonts by placing .ttf or .otf files in Config/Fonts/. They'll show up alongside the built-in options.

Portrait Margin

Adds bottom padding to the launcher and in-game overlay when the device is held in portrait orientation. Set in pixels; 0 disables the margin. Useful for portrait handhelds where the bottom edge of the screen sits under the device chassis or controls.

Status Bar

Controls what items appear in the status bar.

Items render left-to-right in the order listed:

Item Icon Behavior
Kitchen Running Appears while Nonna's Kitchen is serving files
Downloads Appears while downloading
Update Available 󰚰 Appears when an update is available
Bluetooth 󰂯 Appears when Bluetooth is on
Wi-Fi 󰖩 Appears when connected
VPN 󰯄 Hidden by default; appears when a VPN is active
Battery 󰁹 Choose Hide, Percent, or Icon
Clock 9:41 Renders as text; choose 12 or 24 hour

Text Size

Eight sizes are available, from compact (16) to large (30). The default is 24.

Title

Set a custom title that appears at the top of the launcher's platform screen.

Leave it empty for no title.

Found under Settings → General.


Box Art

Box art is the artwork displayed alongside the game list.

Folder Structure

Art is organized by platform using the same tags as your ROMs:

Art/
├── GBA/
│   ├── Pokémon - Recharged Yellow.png
│   └── Metroid - Zero Mission.jpg
├── SNES/
│   ├── Super Mario World.png
│   └── Zelda - A Link to the Past.webp

Naming

The art file must have the exact same name as the ROM file, minus the extension. Case matters.

ROM File Art File
Super Mario World.sfc Super Mario World.png
Pokémon - Recharged Yellow.gba Pokémon - Recharged Yellow.jpg

Supported Formats

PNG, JPG, WebP, Static GIFs, and BMP.

Adding Art

Two ways:

  • Manually - place image files in the correct Art/[platform]/ folder
  • Nonna's Kitchen - upload artwork through the web file manager

Removing Art

Highlight a game, press Start to open the context menu, and select Delete Art. This option only appears if art exists for that game.


Overlays

Overlays are images displayed on top of gameplay to simulate screen bezels or borders.

Overlays are stretched to fill the entire screen. The game renders behind the overlay, visible through any transparent regions in the image. There are no positioning, scaling, or opacity controls. What you see is what's in the image file.

Cannoli only supports PNGs as overlays.

Folder Structure

Like box art, overlays are organized by platform:

Overlays/
├── GBA/
│   ├── pokemon_bezel.png
│   └── gba_bezel.png
├── SNES/
│   └── trinitron_crt.png 

Applying Overlays

Open the In-Game Menu and go to Settings → Video. Use Left / Right to cycle through the overlays available for the current platform.

When you leave settings, you will be able to choose if these changes apply for the entire platform or just that game.

Cannoli does not ship with any overlays. You'll need to provide your own.


Shaders

Shaders apply visual effects to emulated games (scanlines, CRT masks, LCD grid patterns, sharpening).

Bundled Shaders

Cannoli ships with several shaders. They are copied into Shaders/ on launch:

  • crt-aperture - CRT preset with aperture-grille mask
  • crt-cannoli - 5-pass CRT with phosphor mask, scanlines, glow, curvature, vignette, and an optional phosphor sweep
  • crt-easymode - lightweight CRT preset
  • crt-geom - CRT preset with curvature and geometry correction
  • crt-lottes-fast - lightweight CRT preset by Timothy Lottes
  • dot - dot-matrix mask
  • lcd3x - LCD grid pattern
  • scanline - scanline overlay
  • sharp-bilinear-simple - integer-aware sharp pixel scaling
  • zfast-crt - lightweight CRT preset optimized for low-power GPUs
  • zfast-lcd - lightweight LCD preset

You can add your own .glslp presets to Shaders/.

Applying Shaders

Open the In-Game Menu and go to Settings → Video → Shader. Use Left / Right to cycle through available presets. Changes apply immediately.

Shader Settings

If the active preset exposes tunable parameters, a Shader Settings sub-screen becomes available under Settings → Video. Adjust values with Left / Right; changes apply live.

Override Hierarchy

Like overlays, shader selection and parameter values are saved for the platform or the current game.