Technical Anshu
Tutorials Blog
Ventoy Theme Guide

Ventoy Themes for Different Screen Resolutions with Resolution Fit

Your stick boots on small laptops and big monitors alike, and one wallpaper cannot suit both. Carry one theme per resolution and let resolution_fit choose automatically - here is the setup and its one strict naming rule.

By Technical AnshuVentoy Theme Guide7 minute read
Watch the video first for the single-theme setup this guide extends

One wallpaper cannot look right on every screen. A theme designed at 1920x1080 turns tiny or stretched on a 1024x768 laptop and soft on a 4K monitor - and a technician's stick boots on all of them. Ventoy's answer is to carry several themes, one per resolution, and let the resolution_fit option pick the matching one at every boot. Here is the exact setup, including the naming rule everything depends on.

ventoy.json - theme array with resolution_fit
{ "theme": { "file": [ "/ventoy/themes/theme_1024x768/theme.txt", "/ventoy/themes/theme_1600x900/theme.txt", "/ventoy/themes/theme_1920x1080/theme.txt" ], "default_file": 0, "resolution_fit": 1, "gfxmode": "max" } }
Three themes, one per resolution - resolution_fit filters this list by the resolution the machine actually boots at
1

Build One Theme Folder per Resolution

Create a folder per resolution you meet in the field - 1024x768, 1600x900 and 1920x1080 cover most machines. Each folder holds a complete small theme: a theme.txt and a wallpaper exported at exactly that resolution. Keep the design identical across the set (same colours, same logo placement) so the menu feels like one product at every size. Do not just resize one image and call it done - adjust the menu box in each theme.txt so text stays readable at the small size.

2

The Naming Rule - Resolution in the Path

This is the part everyone misses. With resolution_fit on, Ventoy filters themes by checking whether the theme file's full path contains the resolution string, like 1600x900 - with a lowercase x. The string can live in a folder name (theme_1600x900) or in the file name (theme_1600x900.txt). A folder named Theme_1600X900 with a capital X does not match. Name every folder with the exact pattern from the start and the filter works first time.

3

Set the Three Options Together

  1. file becomes a list of theme paths instead of one path
  2. default_file must be 0 - with any other value, resolution_fit does nothing (0 normally means random choice; with the filter on, the random choice happens only among matching themes)
  3. resolution_fit is set to 1 (it exists in Ventoy 1.0.86 and later)
  4. gfxmode set to "max" lets each machine boot at its best resolution, so the matching theme is the right one

If exactly one theme matches the booted resolution, it is used every time - which is the normal, predictable case.

4

Switching Manually When You Need To

Automatic selection is the default story, not a lock-in. Press F5 and open Tools - Resolution Configuration to change the current resolution - with resolution_fit on, Ventoy immediately swaps to the theme matching the new resolution. Tools - Theme Select lets you preview any installed theme for that session; the choice is temporary and the next boot goes back to the automatic rule. Use these menus while designing the set, then let the filter run the show in the field.

Honest limit: resolution_fit matches the resolution the machine actually boots at, which firmware sometimes caps below the panel's native resolution. If a machine insists on 1024x768, it gets the 1024x768 theme - that is the system working as designed, not a theme bug.

Watch the Full Setup in the Video

The video covers one theme end to end - this guide multiplies it per resolution.

Watch Full Video
Frequently Asked Questions

What happens if no theme matches the booted resolution?

Ventoy filters the list down to themes whose path contains the current resolution string. If your set has no match for an unusual resolution, keep one broadly usable theme in the list and test your set on the oldest machine you support - in practice the common resolutions (1024x768, 1600x900, 1920x1080) cover nearly every PC.

Why is resolution_fit not working on my stick?

Check the three conditions together: file must be a list of more than one theme, default_file must be 0, and resolution_fit must be 1 - and Ventoy must be 1.0.86 or later. Also check the path naming: the resolution string uses a lowercase x, like 1600x900.

Can I still force one favourite theme at every boot?

Yes. Set default_file to the position of that theme in the file list (1 for the first, 2 for the second) - but note resolution_fit then switches off, because it only works when default_file is 0. It is a choice: one fixed theme, or automatic per-resolution selection.

This guide is based on the Ventoy Custom Wallpaper Setup video by Technical Anshu - Add Your Branding - Stuck on a step? Ask in the video comments, help is always there.