GameLynx manual

Everything the app can do, with screenshots of the app itself. It runs on a Steam Deck, on a desktop and on an Android phone, and it reads Steam, PlayStation, or both at once. The screenshots are from the Deck; Phone and desktop lists what each one can and cannot do.

What GameLynx is

GameLynx is a second look at the games you already own. Steam and PlayStation show what you bought; GameLynx shows what you can do with it: how many hours your backlog holds, what is nearly finished, what has not been touched since you bought it, and what on your wishlist is on sale right now. Both services land in one library, with a small mark on each card saying where a game came from.

The library in GameLynx
The library. The rail with filters and counts on the left, your games on the right.

Everything stays local

Your library lives in a database on the device itself. There is no server.

Works offline

Without a connection everything stays visible. Only updating has to wait.

Changes nothing in Steam

GameLynx reads. All it asks Steam is: start this game, or install it.

Installing on a Steam Deck

  1. Switch to desktop mode.
  2. Download the latest GameLynx.AppImage from the releases page and put it in ~/Applications.
  3. Make it executable: right click, Properties, Executable.
  4. Add it to Steam as a non-Steam game so you can start it in Game Mode as well.

Two settings on the shortcut

Compatibility off. Right click GameLynx, Properties, Compatibility, and leave the box unticked. Proton runs Windows programs; this is a Linux one, and forcing a compatibility tool is the most common reason it refuses to start.

Launch options, if Game Mode stays black. Most installs need none, so try it without first. If GameLynx opens on the desktop but shows nothing in Game Mode, put this in Properties, Shortcut, Launch options:

LD_PRELOAD= %command% --appimage-extract-and-run

Part What it does
LD_PRELOAD= Empties the variable Steam fills with its overlay library. That library is pushed into everything Steam starts and can stop a window from ever appearing under gamescope. You lose the Steam overlay inside GameLynx, which has no use for it.
%command% Where Steam puts the program itself. Anything before it is environment, anything after it is an argument.
--appimage-extract-and-run Unpacks the AppImage to a temporary folder instead of mounting it through FUSE. Game Mode's session is a poor place to be mounting things.

You do not need --no-sandbox. Every build wraps its own executable so that flag is always passed. Adding it by hand changes nothing.

After that the app keeps itself current. When a new version exists it is fetched in the background and a small block appears in the rail with a button to restart into it. See Updates.

Connecting Steam

On first launch GameLynx asks for your Steam account. On a Deck the app already knows who is signed in, so that is usually one confirmation. What it also needs is a Steam Web API key: you get one at steamcommunity.com/dev/apikey and paste it into the setup screen.

Mind your privacy setting. Steam only shares your library when Game details is set to Public. Set to private, an empty list comes back, and the app says so rather than pretending otherwise.

Then the first sync runs. It fetches your library, then achievements, completion times, prices and artwork. The first time takes a few minutes; after that it is keeping up rather than catching up.

Adding PlayStation

Trophies for a PlayStation game
Trophies read the way achievements do, with how rare each one is and when you earned it. The tab is named after whichever service the game came from.

Settings has a tab for every account you have linked, and a + PlayStation beside them. Pressing it opens Sony's own sign-in page in a window of its own. Your password is typed to Sony; GameLynx never sees it and keeps only the session Sony hands back afterwards.

After that, the first sync reads what you played and for how long, and your trophies per game. Sony hands over two lists that share no key, so GameLynx asks a third question — which trophy set belongs to which game — rather than matching on titles, which used to miss games whose trophy set is filed under a different name.

What you get

Played games with hours, first and last played, trophies with rarity and unlock dates, and your trophy level with every platinum, gold, silver and bronze.

What is missing

No wishlist and no prices: Sony's mobile API refuses both, and no price service tracks consoles the way IsThereAnyDeal tracks PC shops.

Artwork

Sony ships one small icon per game, so covers, banners and logos come from SteamGridDB — and you can pick a different one yourself.

A game with no trophy progress at all has no trophy set on Sony's side, so GameLynx shows none. That is Sony reporting on your account, not the game lacking trophies.

Phone and desktop

The library on a phone
The same library on a phone: tall artwork, one Filter button, and a mark in the corner saying which service each game came from.

One app, two shapes. The Deck and desktop build reads your local Steam installation and can act on it; the phone cannot, and does not pretend to.

Feature Deck & desktop Phone
Library, hours, backlog in hoursYesYes
Steam and PlayStation togetherYesYes
Achievements and trophiesYesYes
Wishlist, prices, record lowsYesYes
Statistics and completion timesYesYes
Backup and restoreYesYes
Play a gameYesNo
Install, and pick the driveYesNo
Size on disk, installed stateYesOnly what a backup carried
Steam collectionsYesYes, out of a backup
Family sharingYesYes, out of a backup
Artwork you replaced yourselfYes, from Steam itselfYes, out of a backup
Games you add yourself (Switch, 3DS, …)YesYes
Controller navigationYesTouch
FiltersA rail, always visibleOne Filter button

Everything in the top half of that table travels in a backup, so a phone restored from a Deck knows what you hid, what you finished and which completion times you corrected — and the other way round.

Adding a game yourself

For what you play somewhere this app cannot reach: a Switch, a 3DS, a console in a cupboard. On a phone + Add a game sits at the foot of the filter panel; on a Deck and a desktop it is in the rail.

  1. Type the name and press Search — you are searching HowLongToBeat.
  2. Pick the right entry. It shows the year, the platforms and how long it takes.
  3. Say where you play it. The buttons come from that entry itself, so a Switch game cannot end up filed under Dreamcast.

The game arrives with its box art and all four HowLongToBeat times, and counts towards your backlog. The corner of the card carries the platform in its maker's own colour — Nintendo red, Xbox green, PlayStation blue.

Its own page has Time played: two boxes, hours and minutes. What you type is saved as you leave the box and counts in your totals — but not in the per-month chart, because 113 hours of Zelda from three years ago did not happen this afternoon. Remove this game takes it out again, and it stays out: your other devices will not hand it back.

No achievements, no price, no installing. None of those exist for a game that came from no shop here, and the screen does not pretend otherwise.

The rail

The rail is the app's steering wheel. Every entry is a question about your library with the answer beside it, so you can see what a filter would give you before you press it.

The rail with filters and counts
The rail, with how many games each entry holds.
Entry What it shows
Backlog Everything unfinished and not hidden. The list you land on.
Perfect Games where you unlocked every achievement, or every trophy.
In progress Started, but not far along.
Finished What you marked as done yourself. Steam has no idea; you do.
Hidden What you put out of sight, plus whatever you hid on Steam itself.
Family Games somebody in your Steam family owns. Not yours, still playable.
Installed What is on this Deck right now.
Non-Steam What you added to Steam by hand: emulators, launchers, loose games.
Wishlist Your Steam wishlist, with prices. See Wishlist.

Exactly one entry is lit at any moment: the one you are looking at. At the foot of the rail sit Statistics, Settings and, in desktop mode, a button to close the app.

A card, read

Every game is one card, and every card says six things. They are always in the same place, so you can read them without reading.

A card with its parts numbered 1 2 3 4 5 6 7
  • 1Steam's own tall capsule. Where none exists you get a flat tile with a plus on it.
  • 2The name as Steam writes it.
  • 3How long the game runs according to HowLongToBeat. "No estimate" means no match was found, and you can make one by hand.
  • 4Time played on the left, when you last played on the right.
  • 5Achievements: the count and the percentage. "No achievements" means the game has none.
  • 6What it takes on disk, or would take if you installed it.
  • 7The button: Play when it is here, Install when it is not. While something is downloading this is the percentage instead.

A label can sit in the top right corner: Family for a game from your Steam family, Non-Steam for something you added yourself. A gold badge at the bottom left of the artwork means every achievement is unlocked.

Three densities

Three small buttons sit at the top right. They answer the same question three ways: how much of a game do you want to see at once. Your choice is remembered.

List

The densest of the three, for the thing a card is bad at: finding a title you already have in mind. The figures sit in fixed columns, so you can run your eye down one of them.

The library as a list
List: about twenty rows where four cards would fit.

Cards

The default. Enough picture to recognise a game, enough text to choose one.

Large cards

The same card with more room. For when you are browsing rather than searching.

The library with large cards
Large cards: two columns instead of three.

Collections

The collections you made in Steam itself are here too. You can pick one or several at once, and you can have the list grouped with a heading per collection.

The collections menu
Several at once is fine. "Group by collection" puts headings between them, with everything that belongs to none of them last.

Hiding and marking finished

Two things only you know: whether you are done with a game, and whether you never want to see it again. Both sit in the menu you open with Y on a card, with a right click, or with the button that appears in the corner of a card once your mouse is over it. On a phone you swipe the card left.

The menu of things you can do to one game
Mark it finished, hide it, or open it.

Hidden games drop out of every list and every count except Hidden. They are also left out of the HowLongToBeat lookups, so hiding keeps the app quicker and the traffic smaller.

A game's own page

Open a card and you get the whole game. The wide artwork with its logo at the top, and everything the app knows below it.

A game's page
The chips under the artwork are the collections the game sits in.
Figures and charts on a game's page
When you played, by month and by hour of the day. The app builds those charts itself out of what it sees change at every sync: Steam keeps a total, not a history.

Three actions sit at the bottom:

  • Look up completion times again asks HowLongToBeat once more.
  • Pick the HowLongToBeat entry lets you choose the right one.
  • Fetch artwork and achievements again re-downloads both.

Choosing artwork yourself

Artwork sits in the corner of the wide image. It offers what the SteamGridDB community has made for that game, in the four shapes this app draws:

  • Cover — the tall picture on the cards.
  • Wide — the landscape one, in the list view.
  • Banner — the wide image at the top of this page.
  • Logo — the wordmark drawn over it.

If SteamGridDB files the game under another name — an edition, a subtitle, the Japanese title — type it in the field and press Search. What you choose travels to your other devices through your Google Drive folder, straight away rather than at tomorrow's exchange. Use the original puts it back, there too.

Achievements

The second tab on a game's page. Unlocked ones carry their date, the rest carry what percentage of all players has them.

The achievement list
Sort by rarity, by when you unlocked them, or by name.

Steam leaves hidden achievements blank. GameLynx fills those descriptions in from what SteamHunters knows, so you are not looking at an empty line.

The lists are fetched for your whole library and kept, pictures and all, so they work without a connection. Once you have played, the unlocked state is read again as soon as you open the page; and if the list has grown — which is what a DLC with achievements does — the whole list is fetched again.

Playing

The button on the card starts the game through Steam. On a Deck that works in Game Mode as readily as on the desktop; GameLynx asks Steam to start the game and everything after that happens as it always does.

When the game is not here the button says Install. While something is downloading the card counts the percentage and turns into Play the moment it is in.

Installing, and which drive

A Deck has an internal disk and usually an SD card. Which of the two a game lands on is a real decision, and you make it here before the download starts rather than in a window Steam throws up afterwards.

The panel that asks which drive
Per drive: what is free, how many games are already there, and how full it is. The download size sits at the top.

If a game will not fit comfortably that line turns amber with not enough room. GameLynx allows two gigabytes of headroom: a drive filled to the last byte is a broken Deck.

No SD card, no question. With only one drive, or when Steam cannot be reached, the panel skips itself and Steam installs the way it always did. You notice nothing.

Wishlist

Your Steam wishlist is a page of its own, with the same cards but different figures: no play time and no achievements, since you do not have those yet, but prices.

The wishlist
Sorted by the biggest discount by default, so the best offer is first.
A wishlist card up close
Today's price, the old price struck through, the discount, the shop, and the lowest it has ever been.

The button here says Store. It opens the shop holding the offer, inside Steam itself, because in Game Mode there is no other browser.

On a phone the rows look like your library — tall artwork, the same spacing — with today's shop underneath and the lowest price ever with the date it was set. Pull the list down to fetch the prices again; that asks for your wishlist and its prices only, not the whole sync.

A nudge when something goes on sale (phone only)

There is a bell at the top of the wishlist. It sets up one notification a day, at a time you choose. It is off until you turn it on.

  • It only speaks when something is newly on sale since the day before. The same discount as yesterday says nothing.
  • One notification for everything, with the first few names in it.
  • The check happens on the phone itself: it asks Steam what your wishlist costs today and nothing else. No server is involved.
  • Android decides when a background check really runs. On a phone that has been asleep for a while it may arrive an hour or two after the time you picked.

The bell is not on the desktop or the Deck. An app that is closed cannot check anything, and in Game Mode a notification from a non-Steam app is never drawn.

Prices and record lows

Prices come from IsThereAnyDeal, which keeps a price history across some fifty shops. That history is the point: 75% off means nothing if the game was half that last winter.

What it says What it means
€12.49 The least you can pay for it anywhere today.
€49.99 What that same shop normally asks.
-75% The difference between those two.
All-time low €8.43 The lowest ever recorded, anywhere.
Lowest it has ever been Today's price matches or beats that record.

Only offers with a Steam key. Shops selling their own copy, such as GOG, Epic, Ubisoft, Microsoft, EA and Blizzard, stay out of view. Their prices are real, but the game would land in a library other than the one this app is about.

The app also remembers the lowest price it has ever seen itself, and records when something falls below it. That is not the same as a discount badge: shops announce a discount at every sale, this only speaks up when it is genuinely cheaper than anything we saw before.

Statistics

At the foot of the rail, or from Settings. Everything, added up.

The statistics screen
Your backlog in hours, what you have played, what you never started, and your achievement percentage across the whole library.

Below that come the charts: played per month, played per hour of the day, and the value of your library at today's shop prices. That last one is emphatically not what you paid; what you handed over at the time lives on your Steam account page and nowhere an app can reach.

At the top are three tabs and a row of years:

  • Overview — the figures above. Pick a year and they answer for that year: what you played then, what you finished, and how many achievements you unlocked. The charts follow along.
  • Per game — how long you played each game and when you last touched it, with its sessions underneath. Sorted by what you touched last.
  • Per year — a year as the months it consisted of, with the games and their hours per month.

A year in which you did play but whose hours are not known by the day says Unknown rather than 0h. Steam keeps one total per game and never when it happened; GameLynx only starts counting from the first time it saw your hours rise.

Statistics on a phone
The same figures on a phone, with the year buttons at the top.

Your year, read as a year

Pick a finished year in Statistics and a card with that year on it appears at the top. Press it.

What you get, in this order:

  • How long you played, across how many games, in how many sessions.
  • Finished, unlocked, your best month and your longest run of days.
  • Where the hours went — a bar in each maker's own colours, so Steam, PlayStation and the Switch on your shelf sit side by side.
  • Most played, with the artwork.
  • The timeline: January at the top, December at the bottom, each month showing the covers of what you played with the hours on them. Tap one to open the game. Games under an hour are counted below the row rather than drawn.

All of it comes from what GameLynx recorded itself, plus whatever you brought in. An empty month stays empty — that is part of a year too.

Bringing in what you kept elsewhere

GameLynx builds its history by noticing what changes, so it knows nothing about the years before it was on your devices. These three buttons in Settings fill that in. Each one shows what it found before it writes anything.

A DekuDeals collection

Your notes there are private, so this works from the page itself: in a signed-in browser, open your collection filtered to Completed, save each page with Save as → Page Source, and pick the files. GameLynx reads the name, the platform, the hours and the date out of your note and adds them as games of your own.

A HowLongToBeat backup

The CSV it exports knows something no service publishes: the day you finished a game. Games already here are given that date, so they count in their own year; games it has never heard of are added by hand. A Steam game's playtime is left alone — that figure belongs to Steam.

The years Steam keeps

Steam publishes a year in review each December, month by month and game by game, at a public address. One press of Fetch the years Steam knows writes those years into your own history, sessions and all — and sessions are something only Valve counts.

Fixing completion times

Completion times come from HowLongToBeat, matched on title. Usually that works, but not always: emulator entries carry the console's name, Pokémon games are filed without the word "Version", and a sequel is sometimes listed under a name the first game does not share.

The screen for fixing completion times
Settings, then "Fix missing matches". Two lists: without an estimate, and matched but unconfirmed.

Pick an entry yourself and it is pinned: the weekly refresh leaves it alone. You have given the answer, after all.

Backup to Google Drive

Everything this app knows and Steam does not exists in one place: what you hid, what you finished, your play history, the matches you fixed by hand. A Deck that dies takes it with it. That is what this backup is for.

The backup settings
Settings, then "Back up to Google Drive".
  1. Press Sign in with Google and sign in.
  2. The first backup goes up straight away.
  3. After that, once a day while the app is open. The last 24 are kept.

Every device writes to a file of its own — blyx-phone-a4f2.json, blyx-mac-7c1d.json — with a short id in the name, so two devices of a kind cannot overwrite each other. Merging happens per game and per decision: whoever decided last is right, whether that is hiding, finishing, a pinned completion time or hours you typed in yourself. Hours Steam keeps only ever go up, because a counter does not run backwards.

The files land in a GameLynx Backups folder in your own Drive, so you can get at them. GameLynx asks for the narrowest access Google offers: files the app creates, and nothing else in your Drive.

Every device writes its own file and reads the others. Merging happens per game and by the moment a decision was made: hide a game on your Deck yesterday and unhide it on your phone today, and today wins — whichever device it was.

Artwork you replaced yourself

Steam keeps replaced artwork in a folder only the machine it sits on can read. GameLynx puts scaled copies in the same Drive folder — Covers, Capsules, Heroes and Logos — so your phone and your Mac show the same covers as your Deck. That happens once per launch, so a picture you replace today is everywhere tomorrow.

Storage and cache

Artwork and achievement icons are kept on the device, so the app opens quickly and keeps working offline. How much that may cost is up to you.

The storage settings
A limit per kind, with what is in use beside it.

Syncing

GameLynx syncs by itself: at launch, and when you come back after a while away. On a Deck and a desktop the foot of the rail says what it is doing and how far it has got — fetching achievement lists for a large library is minutes of work. On a phone the same line sits under the title.

If you would rather not wait, Sync now sits directly above Statistics in the rail. It is also the answer to "has it seen the achievements I just unlocked?" — and on a phone you can pull the achievement list down to ask the same thing, which costs a single request.

While the app is open GameLynx checks every five minutes whether your playtime has risen — two requests — and on a Deck or a desktop it reads the Steam client's own files as well, which change the moment a game exits. Every rise it sees is a session. Looking more often makes the history sharper: two evenings between two glances would otherwise look like one.

A rise is only counted once. Steam counts a game that is running, idle time and all, and writes down the real figure when you close it — so a total can go down again, and GameLynx takes those minutes back out of the evening that claimed them. And because a backup from another device can put an older total back, every session remembers the total it read: sessions two devices both saw are settled against each other rather than added up.

Since when is it yours?

Steam's library says what you own and never since when. GameLynx asks the two places that do know: your family library, which dates every game in your family group — your own and the ones shared with you — and your licence list, which goes back to your very first purchase and remembers whether it was a retail key, a gift or the store. The earliest of the two wins.

You see it on a game's own page — "In your account since 2 March 2023", or "Shared with you" for a family game — and you can sort your library by Added. A free-to-play game has no purchase to date, so it keeps none and sorts last. It is worked out once and carried in your backup, so your other devices have it without asking Steam anything.

Updates

The app checks for a new version itself and fetches it in the background. Once it is in, a small block appears at the foot of the rail with a button to restart. Nothing appears while there is nothing to report.

By hand works too: Settings, then Check for updates. The version you are running is written there as well.

Controls

The app is built for a Deck in your hands. A bar along the bottom always says what the buttons do at that moment, and it only names buttons Steam actually passes through.

Button Does
Stick or D-pad Moves the selection to whatever lies that way.
A Chooses what is selected.
B Closes a panel, or goes back.
X The shortcut on a game: Play, Install or Store.
Y The menu with hiding and marking finished.
Menu Opens the sort menu.
Two squares Opens search.

A keyboard does the same: the arrows move, Enter chooses, Esc goes back, and X, Y, M and F do what the table says. The mouse keeps working and the two never fight.

Steam's keyboard. To type in Game Mode, open it with Steam + X. GameLynx never asks for it, because a window that summons a keyboard uninvited keeps doing so.

Offline

Without a connection the whole app stays usable: your library, your figures, the artwork, the achievement lists and the sizes are all on the device. What cannot happen is updating, and the app says so rather than pretending.

Playing and installing keep working as long as Steam itself is running; those two go straight to Steam rather than through GameLynx.

Where the data comes from

Almost nothing on these screens was collected here. Your library is Valve's, the completion times were submitted by players, the price history has been kept by others for years.

The full list is in the app under Settings, at Thanks & credits: who provides what, whose trademarks are whose, and which open-source packages this is built from.

The credits screen in the app
Settings, then "Thanks & credits".

When something goes wrong

The library is empty after connecting

Almost always the privacy setting: Game details has to be Public in your Steam profile. Change it and run the sync again.

A game has no artwork

Not every game has every size on Steam. Open the game and press Fetch artwork and achievements again. If it stays empty the image does not exist, and the app shows a flat tile rather than a broken picture.

The completion time is wrong

Matching happens on title. Pick the right entry through Fixing completion times; your choice is never overwritten afterwards.

The keyboard keeps coming back

Close it with B and leave the search field. If it still returns, something has changed in Steam itself; write down what you did, because that is exactly the kind of thing that got solved before by measuring it.

Something went wrong during a sync

Settings, then What went wrong. It lists what failed, with the time beside it.