Tender QAM Prototype static · 854×534 CSS px, the Deck at 1.5× · panel 348 / 854 px

DECIDED 2026-09-02 everything about one platform in one place Sync as its own page Restart Steam on the Sync page

Structure

Main stays narrow and is the entry point. Behind it are pages that are wide, where list and detail sit next to each other. Everything about one platform is in one place, Sync gets its own page. Drawn at the Deck's real metrics, measured on the device: 854 × 534 CSS px at 1.5× scale, so a wide page is the full screen, and the panel below Steam's top bar is 454 px tall.

New decided

Main narrow   Notices · Status · Sync button · Downloads · Menu
├─ Sync wide            Preview · History · Force Full Sync · Restart Steam
├─ Library wide
│   ├─ Platforms        List + detail: Sync · Core · BIOS · Remove
│   └─ Collections      Filter + wide list
├─ Settings wide        Sections left, content right
├─ Data Management wide  only global operations
└─ Downloads narrow      like today, through "View All"

Today

Main narrow   Status · Sync · Preview · Downloads · Menu
├─ Library         Platforms (Sync) · Collections
├─ System          Core · BIOS per platform
├─ Settings        eight sections stacked
├─ Data Management global + per platform (Shortcuts, Saves, BIOS)
└─ Downloads       reachable only when the queue has entries
ActionTodayNew
Start a syncMainMain, the button opens the Sync page
Check and apply the sync previewMain, one rowSync, as a table
Force Full Sync, Skip previewMainSync
Restart Steam now (session budget)MainSync (Main links to it)
Turn syncing a platform on/offLibraryLibrary › Platforms
Choose the emulator coreSystemLibrary › Platforms
Download BIOSSystemLibrary › Platforms
Delete BIOSSystem, Data ManagementLibrary › Platforms
Remove a platform's shortcutsData Management (modal)Library › Platforms
Delete a platform's save filesData Management (modal)Library › Platforms
Repair the RetroArch input_driverMain, SettingsSettings › Controller (Main links to it)
Migrate the save sortingSettings (Main links to it)Settings › Save Sync (Main links to it)
Pause, cancel a downloadDownloadsDownloads
Clean up removed RomM gamesData Management (modal)Data Management, as a page

Why everything about one platform in one place

  • Today there are three platform lists on three pages from three callables. Setting up a platform means Library, then System, then Data Management. Now one list and one detail.
  • "System" disappears as a page, and with it the question of what to call it.
  • Data Management becomes unambiguous: only what concerns the whole library.
  • Rejected: Library keeps only Sync, a page "Emulation" gets Core and BIOS, Data Management keeps the per-platform actions. It separates by topic but leaves three platform lists standing.

Why Sync is its own page

  • Main loses eight rows of sync controls and becomes status plus one button.
  • The preview gets the room for a table per platform (#886) and for the import choice (#1364).
  • Everything that concerns a sync run is in one place: preview, progress, history, Force Full Sync, the session budget with Restart Steam.

Main

Narrow. What you see when you open it: notices, status, the sync button, running downloads, the menu.

‹ Tender
Save file sorting changed 1
12 files still use the old layout.
Open Save Sync ›
Last sync paused
Steam's memory was high. Restart Steam, then resume.
Open Sync ›
Status 2
Connection
Connected
Last sync
last attempt 09:41 (ok)
2 h ago
Library
412 games · 14 platforms
Steam memory
1.2 GB
Sync Library 3
Shows what would change before it changes anything.
Downloads 4
Example Game A312 / 690 MB
+1 more downloading
View All ›
Menu 5
Sync ›
Library ›
Settings ›
Data Management ›
Panel 348 px, 41 % of the screen · content 300 px · 454 px tallUnchanged: status rows, download summary

Notes

  1. 1

    Notices report a problem and jump to the place where you fix it. Without exception. The input driver fix has its button only in Settings › Controller, the save sort migration in Settings › Save Sync, "Restart Steam now" on the Sync page. Main shows the notice and the jump.

  2. 2

    Status stays as it is today. Connection, Last sync, Library, Steam memory. The block gets a title so the notices above it do not blur into it (#1442).

  3. 3

    One button, four states. No preview: "Sync Library" computes one and opens the Sync page. A valid preview is waiting: the button reads "Review changes · 13 new" and opens the Sync page with exactly that preview, without computing again. A run is paused: "Resume Sync" continues it with one press, as today. A sync is running: progress and cancel as today. A preview is never discarded on Main, that happens only on the Sync page through Cancel or "Refresh preview".

  4. 4

    Downloads. Two rows at most, "View All" only when there are entries. As today.

  5. 5

    Menu. Sync, Library, Settings, Data Management. "System" sits inside Library › Platforms.

What goes away

  • The preview card with Apply, Cancel, expiry time and budget notice. Skip preview and Force Full Sync. The session budget box with Restart Steam.
  • The duplicated input driver fix and the duplicated save sort card.
  • Four untitled sections separated only by lines.

Sync

Wide. The preview as a table, the import choice side by side, history and options on the right. Everything that concerns a sync run is here.

‹ Tender
‹ BackSync
Last run paused 5
Steam's memory reached 1.9 GB. Restart Steam to free it, then resume where it stopped.
Restart Steam now
Resume anyway
Preview 1computed 09:41 · expires in 4:12 · Refresh
ScopeNewUpdatedRemoved
PlayStation410
SNES820
Game Boy Advance002
11 more platforms000
Collections101
Total1333
Estimated duration
about 2 min
Progress is saved every ~200 games. Keep the Deck awake for runs over 10 min.
How to import 2later, #1364
Import now

Adds shortcuts while Steam runs. Pauses if Steam's memory gets high.

Bulk import + restart

Writes shortcuts directly and restarts Steam. Faster above ~500 games.

Apply Sync
Cancel
Options 3
Skip preview
Apply without asking
Force Full Sync
Forgets what was synced and rebuilds everything.
Steam memory
Now
1.2 GB
Last run
+0.3 GB
Last runs 4
Today 09:41
3 added · 1 updated
ok
Yesterday 21:03
paused, memory high
paused
Aug 30 18:20
112 added
ok
Panel 854 px, the full screen width · content 806 px · 454 px tallLeft column flexible, right column 270 px

Notes

  1. 1

    Preview as a table. Today one row: "Games: 12 new / 3 updated" plus scope text. Wide, what happens is listed per platform. That makes the discrepancy from #886 visible instead of hidden in a total row.

  2. 2

    Import choice side by side. #1364 wants to offer two ways after the preview and describes them today as two sentences of prose, because two options do not fit next to each other in 300 px. Here they would have their room. It only comes with #1364, the page leaves the gap.

  3. 3

    Options move here from Main. Skip preview gets persisted in the process; today it is only local state and off again the next time you open the panel. Force Full Sync no longer sits directly under the sync button.

  4. 4

    History. Today only "last attempt HH:MM (status)" as a second row under Last sync. Three to five runs with their result are cheap here.

  5. 5

    The session budget lives here. The box with "Restart Steam now" and resuming, today on Main. Main only shows the notice "Last sync paused" with the jump to here.

Flow

  • "Sync Library" on Main opens this page and computes the preview. Apply happens here.
  • If a valid preview is already waiting, the button on Main opens this page with exactly that one. It is computed again only through "Refresh" next to the preview, and discarded only through Cancel.
  • With "Skip preview" on, the sync runs straight away and Main shows the progress as today. This page shows it too, with fine detail and cancel.

Library

Wide. Two tabs via L1/R1: Platforms and Collections. The Platforms tab is list plus detail.

‹ Tender
‹ BackLibrary
L1PlatformsCollectionsPlatformsCollections1R1
Enable all
Disable all
PlayStation1322
Sega Saturn48
Nintendo 6496
Dreamcast37
Game Boy210
Game Boy Advance143
SNES301
Sega Mega Drive188
PSP22
Nintendo DS64
Sega Game Gear41
NES276
PlayStation
psx · 132 ROMs on RomM · 128 shortcuts in Steam
Sync
Sync this platform
New games appear after the next sync
Emulator core 3
Beetle PSX HW
Default: Beetle PSX
›
Switching cores may affect save compatibility.
BIOS files 43 / 5 required
FileOn diskContents
scph5500.bin Japan✓verified
scph5501.bin USA✓verified
scph5502.bin Europe✓differs
scph1001.bin USA, altmissing—Download
psxonpsp660.bin optionalmissing—Download
Download required (2)
Download all
Delete BIOS (3)
Remove 5
Remove 128 shortcuts
Delete save files
Asks before it does anything.
Sync RomM favorites 6
One favorites collection found
Standard 12Smart 3Virtual 65
ShowMineAll
🔍 Search collections
Enable all
Disable all
CollectionTypeOwnerROMsSync
FavoritesStandardme37
Couch co-opStandardme24
KidsStandardme18
RPG backlogStandardme61
Speedrun practiceStandardme9
Translation patchesStandardme14
ShmupsStandardme33
Finished 2026Standardme7
Panel 854 px, the full screen width · content 806 px · 454 px tallList 264 px · detail 524 px

Notes

  1. 1

    Two tabs, at the top, via L1/R1. With two to four views of equal rank, tabs go to the top. The left column is for lists whose entries have a detail.

  2. 2

    The list on the left. Focus selects the platform, A toggles Sync. Green dot: BIOS complete. Yellow: BIOS missing. No dot: needs none. Enable all and Disable all at the top as today.

  3. 3

    Emulator core with the same context menu as today on the System page. The notice about save compatibility stays.

  4. 4

    BIOS files as a table: File, On disk, Contents. Contents is the third column from #1803. Download per file is #164; today one row encodes two facts in label and description and has no room for an action.

  5. 5

    Remove at the very bottom: the actions from today's platform modal in Data Management, without Delete BIOS, which already sits one group higher. Red, last, with a confirmation.

  6. 6

    Collections has no detail, so a wide list. A type filter instead of the hand-built button row, a row with name, type, owner, count, toggle. Favorites and Mine/All at the top. The search stays, and so does the cap of 50 results.

Applies to every wide page

  • List and detail scroll separately. The page fills the panel height instead of growing with its content.
  • Groups on the right have titles. Tables for anything with more than two facts per row. Destructive things red and last.

Settings

Wide. Sections on the left, content on the right, like Steam's own settings. Five sections instead of eight.

‹ Tender
‹ BackSettings
Connections
Save Sync1
Controller2
Library
Advanced
Save Sync
Save file sorting changed 3
12 files still use the old layout. From "by platform" to "by content directory".
Migrate 12 files
Dismiss
Sync
Enable save sync
Device
Registered as "deck-living-room"
Sync before launch
Sync after exit
Default save slot
default Edit
Save history limit
10 ▾
Sync all saves now
Registered devices 4
DeviceClientLast seen
deck-living-room (this device)tender 1.8.0 · SteamOSnow
deck-bedroomtender 1.7.2 · SteamOS3 days ago
desktop-pcromm-gavel 0.4 · Linux2 weeks ago
Panel 854 px, the full screen width · content 806 px · 454 px tallSections 220 px · content 568 px

Notes

  1. 1

    Sections on the left. Five instead of eight: Save Sort Migration becomes a notice, Registered Devices moves into Save Sync, SteamGridDB moves to the other services under Connections. That is where RomM, RetroAchievements (account and sign-in state, the home from #1627) and SteamGridDB sit. Focus on the left changes the content on the right, as in Steam's settings.

  2. 2

    Dots on sections that need action. Yellow on Controller: the input driver fix is waiting there. Green on Connections: signed in.

  3. 3

    The home of the save sort migration. Main shows the notice and links here. Migrating and dismissing only here.

  4. 4

    Devices as a table. Today client, version, platform, "last seen" and the shortened ID stand in one description row separated by dots.

What stays

  • Modals for text entry stay modals: RomM URL, account, API key, default slot. The on-screen keyboard needs the room.
  • The Library section keeps the two collection settings; they were deliberately moved there.

Data Management

Wide. The operation on the left, explanation, result and confirmation on the right. The cleanup dialog turns from a modal into a page.

‹ Tender
‹ BackData Management
Removed RomM games51
Remove all shortcuts
Uninstall all ROMs18 GB
Orphaned grid images
Non-Steam games7
Removed RomM games
Games that no longer exist on RomM but still have a shortcut or files here.
Scanned 09:52
5 candidates · 3.4 GB installed
Scan again
Candidates 2toggle on to keep a recovery bundle
GamePlatformInstalledRecovery bundle
Example Game APlayStation612 MB
Example Game BSNES2 MB
Example Game CDreamcast1.1 GB
Example Game DGame Boy Advancenot installed
Example Game EPlayStation1.7 GB
Recovery bundles need
1.7 GB · 41 GB free
Start cleanup (5) 3
Cancel
Panel 854 px, the full screen width · content 806 px · 454 px tallOperations 240 px · content 548 px

Notes

  1. 1

    The operations on the left. Five, all of them concern the whole library. The number on the right says what is waiting. The per-platform actions have moved to Library › Platforms.

  2. 2

    The candidate list as a table instead of a modal. Today an 886-line modal with scope toggles, a paged list, Load More and free space. As a page it has room and a way back.

  3. 3

    Confirming as today. Two taps or a modal, that stays. The progress of a running cleanup then stands in the same place.

The other four

  • Remove all shortcuts, Uninstall all ROMs, Orphaned grid images: on the right an explanation of what happens and what does not, then the button, then status. As today, only with room for the explanation.
  • Non-Steam games: on the right the whitelist as a table with search, the button with the RetroDECK warning underneath.

Downloads

Narrow, unchanged. Reachable through "View All" on Main.

‹ Tender
‹ BackDownloads
Example Game A (SNES)312 / 690 MB
Example Game B (Saturn) — Paused80 / 540 MB
Pause Example Game A
Cancel Example Game A
Resume Example Game B
Cancel Example Game B
Finished
Example Game C
Completed — 480 MB
Example Game D
Failed: server unreachable
Clear Completed
Panel 348 px, 41 % of the screen · content 300 px · 454 px tall

Notes

  • Stays narrow. A queue does not need a second axis.
  • The buttons still stand as their own rows under the list. If that is a problem, it is a separate change that needs no width: a tap on the row opens Pause / Resume / Cancel as a menu.
  • Stays reachable only through "View All"; an empty Downloads entry in the menu helps nobody.