Steam Deck

18483 readers
72 users here now

A place to discuss and support all things Steam Deck.

Replacement for r/steamdeck_linux.

As Lemmy doesn't have flairs yet, you can use these prefixes to indicate what type of post you have made, eg:
[Flair] My post title

The following is a list of suggested flairs:
[Discussion] - General discussion.
[Help] - A request for help or support.
[News] - News about the deck.
[PSA] - Sharing important information.
[Game] - News / info about a game on the deck.
[Update] - An update to a previous post.
[Meta] - Discussion about this community.

Some more Steam Deck specific flairs:
[Boot Screen] - Custom boot screens/videos.
[Selling] - If you are selling your deck.

These are not enforced, but they are encouraged.

Rules:

Link to our Matrix Space

founded 4 years ago
MODERATORS
1
2
 
 

These are lists of some tools and software that are useful for Steam Deck and can enhance your experience with it, as well as all the websites and other such Steam Deck resources I know.

I made these lists for the wiki on Reddit's SteamDeck sub and I thought it was a pretty useful to keep around. I wanted to dump them here for everybody to preserve them and to maybe find a new home for this Steam Deck resource.

Let me know what you think.

List of tools and homebrew

Below is a list of tools and homebrew that can enhance your experience with the Steam Deck. Since the Steam Deck offers most things that a normal Linux desktop environment can, tools are included that can be found in the Discover store (including from non-default repositories) and have proven to be an especially good fit.

Emulation and non-steam games

  • BCML Installer for Steam Deck

    BCML (a modding tool voor Breath of the Wild for WiiU) can be difficult to get running on Steam Deck, because it uses an immutable filesystem and the version of Python installed by default is higher than what BCML supports. This script helps people install it.

  • BoilR

    Add non-steam games to your steam library.

  • Emudeck

    This script automates downloading, installing and setting up a large list of different emulators.

  • EmulationStation DE

    A graphical and themeable emulator front-end that allows you to access all your favorite games in one place, which is installed by Emudeck and Retrodeck, but can also be used by itself.

  • Mod Organizer 2 Linux Installer

    This project aims to make modding and playing Bethesda games on Linux as easy as possible. It does that by providing installers which automatically setup a working experience for the user.

  • Retrodeck

    A flatpak application containing a large list of different emulators.

  • SGDBoop

    A tool that automatically applies assets from SteamGridDB directly to your Steam library, removing the need to download and set them manually.

  • Steam ROM Manager

    Steam ROM Manager is a super flexible tool for adding non-Steam games to steam in bulk and managing their artwork assets. It can be installed with Emudeck, but can also be used by itself.

File management

  • Deck Drive Manager

    Copy Steam Games From Your PC to Your Steam Deck SD Card.

  • Disk Usage Analyzer

    A tool for managing your used and free space.

  • Firelight

    Filelight is an application to visualize the disk usage on your computer by showing folders using an easy-to-understand view of concentric rings. Filelight makes it simple to free up space!

  • gdu

    If you prefer the command-line, gdu is a fast disk usage analyzer with console interface, written in Go.

  • Shortix

    A script that creates human readable symlinks for Proton game prefixes. Reddit release post

  • Steam Deck Shader Cache Killer

    Script to Purge The Steam Decks Shader Cache/ Compat Data. Reddit release post

File transfer and synchronization

  • Deck Screenshot Sync

    A work-in-progress auto-uploader for screenshots made from the Deck onto your PC or phone. Reddit post by u/ Xinerki.

  • MEGASync

    Easy automated syncing between your computers and your MEGA Cloud Drive.

  • OpenCloudSaves

    Open Cloud Saves is an open source application for managing your saves games across Windows, MacOs, and Linux (including SteamOS).

  • Syncthing

    Syncthing is a file synchronization tool like Dropbox, except that it can work with your own machines and without a server. This can be very useful for keeping non-Steam and emulator save games in sync or backed up.

  • Warpinator

    Send and Receive Files across the Network

Launchers

  • Alfea

    Alfae is an experimental project to launch GOG/Local/ItchIo/Epic/Bottles Games in an organised fashion. Also can add games to deck UI.

  • Bottles

    Runs Windows software on Linux with Bottles.

  • Heroic Game Launcher

    Heroic is an Open Source Games Launcher. Right now it supports launching games from the Epic Games Store using Legendary and GOG Games using our custom implementation with gogdl.

  • Lutris

    Lutris is a video game preservation platform aiming to keep your video game collection up and running for the years to come.

  • NonSteamLaunchers

    Installs the latest GE-Proton and several non-Steam launchers under one Proton prefix folder and adds them to your Steam library. Reddit release post for v2.7

  • Steam Tinker Launch

    Steam Tinker Launch is a versatile Linux wrapper tool for use with the Steam client which allows for easy graphical configuration of game tools, such as GameScope, MangoHud, modding tools and a bunch more. It supports both games using Proton and native Linux games, and works on both X11 and Wayland.

Plugins and mods

Remote access and game streaming

  • AnyDesk

    AnyDesk allows you to connect to your Steam Deck desktop remotely, like TeamViewer.

  • Barrier

    Share mouse and keyboard over the local network.

  • Chiaki4deck

    Chiaki4deck is a fork of Chiaki, adding features for the Steam Deck. It is a free and Open Source Client for PlayStation 4 and PlayStation 5 Remote Play. It can be used to play in real time on a PlayStation as long as there is a network connection.

  • Deskreen

    Turn any device into a secondary screen for your computer. Streams your Steam Deck screen to a browser on another machine.

  • KDE Connect

    Enables communication between all your devices.

  • Moonlight

    Moonlight allows you to play your PC games on almost any device, whether you're in another room or miles away from your gaming rig.

  • NoMachine

    Like AnyDesk, allows remote desktop connections to your Steam Deck. Disabling read-only on the filesystem is required to install, but otherwise works very well.

  • Remote Mouse

    Use your phone as a keyboard and mouse, and copy/paste between devices (apps for iOS and for Android available.) Gained improved support for Linux and Steam Deck in December 2022.

  • Rustdesk

    An open source TeamViewer alternative, remote desktop software. Works out of the box, no configuration required. Use the AppImage from the nightly build.

  • Steam Link

    Connect your Steam Deck or other Steam devices with each other for remote streaming.

  • Sunshine

    Sunshine is a self-hosted game stream host for Moonlight, offering low latency, cloud gaming server capabilities.

  • Unified Remote

    Remote control app for your Steam Deck. Turn your smartphone into a universal remote control, control mouse, keyboard and more.

Other tools

  • Boot Video Randomizer

    Replace the Deck startup video file with a file of the user's choice. Randomizer provides two features: individual random set and on-boot randomization. Reddit release post

  • CoreKeyboard

    CoreKeyboard is an X11-based virtual keyboard. It has the advantage over Valve's built-in keyboard to offer access to special keys such as Ctrl, Alt and function keys.

  • Great on Deck browser extension for Chrome or Firefox

    See what games are verified for the Steam Deck and which medal they have on ProtonDB in the Steam store.

  • Ludusavi

    Backup tool for PC game saves. Here is the Reddit release post.

  • ProtonUp-Qt

    Install and manage Wine- and Proton-based compatibility tools for Steam and Lutris with this graphical user interface.

  • Qbert

    Qbert generates a root overlay where you can install whatever software you need without messing your filesystem. NOTICE: something is broken atm, Qbert is not creating a correct overlay so basically the software is not working as intended.

  • SC Controller

    User-mode driver, mapper and GTK3 based GUI for Steam Controller, DS4 and similar controllers. Steam Deck support added in version 0.4.8.8.

  • Steam Deck SD Card Scanner

    An application to help you keep track of the different games you have on your SD Cards. If you ever found yourself wondering if you already have a game installed on a different SD Card then this is for you. Reddit post by u/ddotthomas.

  • Steam Deck Utilities by CryoByte33

    Scripts and utilities to enhance the Steam Deck experience, particularly performance.

  • Steam Shortcut Editor

    Allows you to modify the shortcuts file quickly and set game name to be the appid, so you have access to community controls. Link to Reddit post

  • Vibrant Deck CLI

    A simple command line utility to tweak the screen saturation of the Steam Deck.

List of Steam Deck-related websites

Here is a collection of websites that offer information, guides and news about the Steam Deck.

Official Valve sites

Linux and Steam Deck gaming sites

  • ProtonDB

    Crowdsourced Linux and Steam Deck game compatibility reports.

  • GamingOnLinux

    GamingOnLinux deals with games on Linux (which the Steam Deck runs) in general, but has consistently reported on Steam Deck-related news.

  • Linux Gaming Central

    Linux Gaming Central is dedicated to giving you news on the Linux gaming front. The link above points to the "Steam Deck" tag on the site.

  • Boiling Steam

    Boiling Steam is dedicated to covering the world of PC Linux Gaming since 2014. The site often reports on the Steam Deck, as the search results the link points to show.

  • Are We Anti-Cheat Yet?

    A comprehensive and crowd-sourced list of games using anti-cheats and their compatibility with GNU/Linux or Wine/Proton.

Steam Deck community sites

  • Steam Deck Community

    An independent Steam Deck Forum.

  • Steam Deck Life

    A Steam Deck blog for the latest news, tips and tricks and more.

  • Steam Deck HQ

    A web site with game reviews with optimal configuration, tips and guides, and news.

  • ShareDeck

    An unofficial site to find and share Steam Deck performance configurations.

  • overkill.wtf

    overkill.wtf primarily focuses on the Steam Deck, with a hint of Switch, PC gaming and whatever else we find interesting at that moment--but mostly Steam Deck.

  • Great on Deck

    Unofficial Steam Deck compatibility website. Verification, performance reviews and tweaks for Steam Deck. Emulation guides, Epic Games Store, Ubisoft Connect games and more.

  • CheckMyDeck

    Check Steam Deck compatibility of your Steam library.

  • sdeck.wiki

    A list of Steam Deck resources.

  • Steam Deck Guide

    A guide covering Steam Deck, including the applications and tools that will make you better and more efficient with your Steam Deck device.

  • Steam Deck Repo

    A website where you can upload and share community-made Steam Deck boot videos (plus in the future, other things like themes and an app to automatically apply them to the Steam Deck)!

  • Steam Deck Linux Wiki

    This wiki aims to be a useful resource for those that want to explore the desktop side of the Steam Deck.

  • Steam Deck Guide

    This guide contains all kinds of useful tips that were found online. Hopefully it will help you use your Steam Deck to the fullest.

List of Steam Deck-related subreddits and Lemmy communities

These other places covering the Steam Deck also exist on sites like Reddit and Lemmy:

  • r/SteamDeck
  • r/DeckSupport
  • r/steamdeck_linux
  • r/SteamDeckBootVids
  • r/SteamDeckEmulation
  • r/SteamDeckGames
  • r/SteamDeckModded
  • r/SteamDeckMods
  • r/SteamDeckTech
  • r/SteamDeckTinker
  • r/SteamDeckTricks
  • r/SteamDeckWins
  • r/SteamDeckYuzu
  • r/SteamOS
  • r/WindowsOnDeck
  • r/BestOfSteamDeck
  • r/linux_gaming

List of Steam Deck-related podcasts

If you enjoy listening to Steam Deck news in your car or elsewhere, these podcasts might be for you:

List of Steam Deck-related Discord servers

Get together and discuss the Steam Deck on these Discord servers:

  • Steam Deck Discord

    The main Steam Deck Discord, not affiliated with Valve, Valve employees are known to lurk on the Discord.

  • Steam Deck Homebrew

    Steam Deck Homebrew Discord server, with, among others, a channel for Decky support.

3
4
 
 

Hi there.
I just got my first steam deck earlier this week, so I've been watching tutorial videos on installing and setting up things such as decky or emudeck. One thing that seems odd to me but I'm definitely noticing as a trend is that these videos are having you download an installer, then move that file to the desktop, then run the installer.

As long as I've been using computers I've always just run the installer right from wherever it downloaded to, including in Linux and haven't seen an issue. I did that here too and they installed just fine as far as I can tell. Is there something I'm missing about this? Why would multiple videos mention this step if it didn't matter?

My guess is this doesn't matter, but i thought it was interesting.

5
6
 
 

The post says AUR builds are being blocked and soon Linux support will be dropped entirely.

7
8
 
 

I'm sure you'll know by now that some time ago I did a full interview-ish effort with the dev team behind RomM. RomM - three our of five of the team gave me answers on their history of the project, emulation as a whole, self-hosting, ROMs and building what they did.

That RomM Project is an open-source, self-hosted application that's designed to organize and give you a nice, clean and pretty way to view and play your retro video game collections. Its got a clean, responsive web interface that allows users to scan their ROM libraries, then grabs the metadata from sources like IGDB, MobyGames, and Screenscraper, and playing games directly in your browser via built-in EmulatorJS support.

It supports over 400 gaming platforms (seriously), accommodates various naming conventions, multi-disk games, and custom tags. It even integrates with tools like Playnite and muOS, and upcoming features include device syncing for games, saves, and emulator settings.

I reached out to the team again about their new release for RomM - RomM 4.0.0, which also included at the same time a full Android app made by a community member. They agreed to share their thoughts and experiences putting it together with me, and while 24 or so hours ago I shared a full 'article' I wrote on this, based on these answers they gave me, I'm sharing their full answers here on Lemmy with you.


I write these little interviews, Q&As and articles with devs from all kinds of gaming, Linux and Steam Deck projects and programs. Its fun for me, and I love to help people get a peek behind the curtain, and get to know who is behind these bits of software they might know and love.

I've previous shared interviews on Lemmy with:

Do be warned, this is a little rough, since I intended to cherry-pick the quotes for an article, there might be some general statements from one dev, then some direct answers to direct questions from another.

Regardless, I do hope you enjoy this!



With danblu3:

About the Android App:

Our main goal is to have RomM reachable from any platform, we want to be the centre piece of your retro library and an android app has always been an idea in the devs head. That said, the Android app is not something we claim (fully) an amazing user by the discord name of "MattSays" actually made the application and just dropped it into our discord one day without warning, we did have a very basic and functional version from a user called "samnwella" which did do the job, but it was clunky and I know they won't mind me saying this. MattSays dropped it and the UI was there, the functions was there, everything. It was gorgeous even from a 1.0 release. Community reaction has been positive, bugs have been raised and already squashed, and in relation to the RomM team both Zurdi and Arcane have reached out to MattSays for further discussion, it's currently being branded as the official Android connector app for RomM and as for team status for MattSays, that is up in the air. The future? It's definitely bright for the Android app, the dev is very keen and even wants to get save syncing up and running. Imagine this flow: Going into ES-DE and with the recent Android app launch update you open the RomM android app, using your controller you scroll to a game you fancy playing, press A and that's it, downloaded, you exit the app, back to es-de, scrape the game and play. No removed SD cards, no plugging into your PC, no dealing with SMB users or NFS perms, just, done. Dusted. The future is very bright for this app.

About the new 4.0.0 release:

Right. So. 4.0 4.0 from many different point of views is huge, from preservation enthusiasts, from retro nerds, from the people who just want a retro fix and the completionists, 4.0 is HUGE. Before I go on to say what 4.0 is let me explain about hash matching, I'll make this very simple and it's possible I might get something a little bit wrong here or there but the theory is correct. A hash is like a signature, and each ROM (file) has a unique signature, some people way back when began groups to dump these games in the name of preservation and put all this together into a library called .dats, these .dats files store a unique signature and this unique signature will match to a game name, it's development date, if it was ever released to retail etc etc. Two of the biggest names of these groups is NoIntro and Redump, they both specialise in different media formats but with them combined they built a "digital bible" of what game is what signature, with 4.0 we finally introduce hash matching with the help of two incredibly skilled developers. Why is hash matching better, why am I so excited?

  • It's faster, much much faster. Right now when a ROM is scanned into RomM it breaks apart the file name, removes the (tags) and then sends an API call to the metadata agent of your choice with the name, even though we began to get a high success rate it relied HEAVILY on your files being named correctly.

With hash matching, ROM reads the unique signature of the file and is told near instantly what the game is and what data is needed to be scraped, without wasting time doing a fuzzy match.

  • It's more accurate

The fact we can now match on hash means that you could have a game named "TLOZ: AltP.zip" which is a snes game from way back when and you named it like for ease of use, you load it into RomM and are confused why it doesn't match, you know it's the legend of zelda! But RomM does not, because of the weird name you chose, like come on? It's one of the best games, give it the full name! Anyway, with hash matching it'll look inside and see the game file, extract and work out the signature and instantly match it against the matching signature online, pulling all metadata and information it needs, without you needing to rename your whole collection.

  • It's prettier - Now we have confidence in what your matching, we've made SteamgridDB a metadata agent, it was before but we left it to user decision. Now that we are confident in the matching we can pull gorgeous artwork for the matched games directly from SteamgridDB, and we still give user the choice if they want to change it.

Now that is out the way, I want to give a huge shout out to Yukine for making Playmatch and FlibbleHexEyes for making Hasheous both these technologies have been implemented in RomM and honestly they are flawless. Yukine has been a regular around discord and I'm pretty sure he began working on hash matching pretty damn quickly just for his own benefit, he then released a small tool which caught the eye of the RomM team, a few conversations later and here we are with it as a service. It's essentially a 2 in 1 service where it does the hash matching through a lighting quick database and then proxies that over to IGDB to pull the relevant metadata from their servers, all in record time compared to our API to IGDB route. Then onto FlibbleHexEyes, people who are around the self hosting scene might recognise the names, and yes he is the lead dev and creator of Gaseous, I would say a competitor but not really only because of how well we get on with him, the self hosted space is large and there is enough room for all of us, no point sniffling creativity! It's another hash matching service (we go from 0 to 2!) and it's similar in the vein of playmatch, just on its own location and maintained directly by Flibble.

Without these two amazing devs 4.0 would not be as huge as it is now. We have more news as well! In 4.0 we introduced launchbox support, this is essentially an offline database that is downloaded every day and used for matching. It does not do hash matching but it does fair better with ROM hacks on testing, it's also very good for people who want to control exactly what is coming in and out of their server as it does not need an API key and the queries are ran locally (until we go to LB to collect the art) Something that might have been missed is that we also support retro achievements! This is purely display purposes but if you have a matching hash, 9.9/10 you have a matching retro achievement and it will update your status on how your doing when it resyncs, it's a nice little QoL feature and we even show the difference between hardcore and soft core achievements. Want to help contribute? Well now it's now easier then ever with an official devcontainers RomM container, which will be explained further in the release notes but the environment is contained in the container, just pull it and start developing, no setting up extra libraries and so forth. 4.0 is huge for RomM. It's deserving of the major number and this has lit a fire under the dev team, I'm sure there will be a small hiatus between updates to let them recover but as we always keep saying. We're just getting started.



With Yukine (community member and contributor:

What changes are you making?

The main changes for RomM 4.0 besides adding new Metadata sources (like LaunchBox) is the integration of Playmatch and Hasheous I've created the Pull Request to add Playmatch Support into RomM and arcane added Hasheous support a little bit later Playmatch (and Hasheous too) is a Microservice which does Hash based matching for Roms, it incoperates DAT files from Groups such as No-Intro and Redump and keeps a database of those Roms with a mapping to external Gaming Databases such as IGDB, right now only IGDB is support but i plan to add other Gaming Databases such as Screenscraper, MobyGames, Launchbox, SteamGridDB and more

How was your experience, making these changes with RomM?

The Pull Request to RomM wasn't really all that hard, even me who doesn't usually do or write python was able to integrate it quite easily into RomM that said there was work the RomM Team did before my change was merged to ensure that the logic runs in the correct order What i mean by that is that in RomM 3.10.x it used to be so that the resolution step of Metadata was running before the calcuation of hashes When you integrate services which require you to send the hashes of files for the metadata provider resolution you usually want these hashes calculated which before wasn't possible because Matching of Metadata Provider was running before the hash calculation step After arcaneasada changed that and did some other side work the Playmatch PR was quite fast ready to be merged, i think it took less than 2 weeks to get it merged into RomM

How long has this release been 'in the works' for?

As i said above the PR itself was only ~2 weeks of work but Playmatch itself was quite a lot more work I've started Playmatch back in June 2024 (over a year ago already ) as a side Project of mine, at the time RomM was quite a bit more immature especially the Metadata Matching part, i personally have quite a big Rom collection and when only ~40% of all games got a match on IGDB i was quite annoyed because i didn't want to go through my whole collection and manually match all the unidentified games to get the nice looking metadata for them Out of annoyance i thought how i would fix that, thinking about other Projects who also use Metadata Providers i checked out how they solved it and then i also found Hasheous at the time which basically was @FlibblesHexEyes Solution to the issue. After checking it out i decided that while i know C# and i think he did a good Job i wasn't quite sure if i would've solved it this way and the database structure of it wasn't quite speaking to me (when i thought about performance and how many req/s it would likely get) so i decided that i could probably write a small microservice myself and i oriented myself at Hasheous but also at Skyhook which is a Metadata API Sonarr uses and how they solved a lot of issues with that

What can the users, both existing and new, expect from this 4.0.0 release?

Generally speaking 4.0 with Playmatch and Hasheous enabled should improve Automatic Metadata matchinig a lot. When users enable them they will be queried for each rom and if either has a metadata match in there database it will be used This makes RomM a lot less reliant on Rom Names and exact naming matches and basically kills the naming requirement completely assuming the Rom Hash is in either Playmatch and Hasheous (usually if your ROM matches the No-Intro or Redump DAT thats the case) and has a Provider match in either. Playmatch does by default automatically try to match ROMs it gets from the dat files to IGDB but sometimes that also fails when for example the ROM name is localized and on IGDB there is no Alias for that name. Playmatch also allows users to "suggest" manual mappings for No-Intro/Redump roms, if a rom was not automatically mapped due to naming issues i described before users can now use a Discord Bot to suggest a mapping to be added to Playmatch, after an Admin (currently thats me) reviews it and approves it it'll be added to playmatch and RomM can make use of it This Discord Bot is also added to the RomM Server so that users can do the suggestion there if they like to, this also helps out the whole community (so when the next person then checks playmatch for the same hash it already has a mapping!) which is generally the ideal state that the community can "maintain" a mapping database themself

Any significant difficulties? Anything you're particularly proud of with this release?

There were a lot of difficulties to be fair but thats normal Playmatch is written in Rust which is a Memory Safe Language and a very fast and performant language too. When i initially thought about how i would create Playmatch i had a few key aspects in Mind.

It needs to be fast and handle a lot of http req/s when a lot of RomM users run library scans

It should keep a low memory usage so i can run on a small VPSIt should have a good Database ORM because i dislike writing raw SQL queries in code generally My choices were between Rust, Golang and C# but i decided for Rust because the HTTP Server Actix im using has decently fast benchmarks, the language can run a http api on only a few MB ram and also the Database Driver im using (SeaORM) is great and very fast for database queries Playmatch does a lot of things automatically by now, it can automatically download & import dats and after import also automatically try to match unmatched games to IGDB for example the matching logic is also decently smart, the datting group No-Intro for example has a cloneof id relationship set in there dat file, basically if a game like Pokemon Emerald has multiple versions (different regions, Demos, Betas etc) they write it down in the dat file with an id and a clone of id field, Playmatch can make usage of that and use it for matching, if any game gets matched playmatch automatically matches the games parents and of the parent other child games as well so that if i manually match lets say No-Intros German Pokemon Platin ROM playmatch will check the database and see that other roms (Like the Italy Pokemon Platin Rom) is a clone of the same parent (The Europe or USA Pokemon Platin Rom usually) and then apply the same mapping to it as well For automatically matches this is a great benefit, like if one of the different region name is either the Direct Name or an Alias of the Game on IGDB then we can match all versions of a game This fixes the issue for localized rom naming a lot as well, if you use any Rom Manager or tool which renames your ROMs to match names from No-Intro/Redump dats this will now not make the Identify step of RomM fail because the name is localized and not like that on IGDB and also if one region gets matched now all region gets matched! this makes it less annoying to manually match as well when instead of 20 matches for all different versions (Regions, Beta, different Revisions) of Pokemon Platin you just match any of it and Playmatch does the other one fully automatically Another big issue generally is compression, RomM does not enforce any format when accepting ROM files for Platforms, users usually want to compress there roms if possible to save space zipping Roms is one way but usually the compression rate is not that good especially for newer consoles with for example encryption (which decreases compression rate by a ton) so most Homebrew Communities have developed own formats to compress ROMs a few examples are Wii / Gamecube raw format is .iso and the a common compression format is .rvz which is supported by Dolpin Emulator Wii U Raw format is .ISO but the common compression format is .wux A lot of Disc based system Emulators support .chd files which is a format the MAME team developed with a very good compression rate DAT groups such as No-Intro and Redump usually only create dat files for "RAW" or original formats so if you want to compress your roms it will not be matching to Playmatch anymore as Playmatch only holds rom data which is from a DAT group Luckly the Community already has made DAT files for a few of those formats but depending on the format and compression used these formats might have some randomness depending on what compression level and settings are used Playmatch currently has community dats for .rvz, .wux and decrypted PS3 Games



With FlibblesHexEyes - community member and contributor:

Hey! So, just to clarify I'm not part of the Romm team, though I do work closely with them.

I work on Hasheous (https://hasheous.org/), which provides hash based ROM matching to metadata providers as well as metadata proxying.

Hasheous came about from my other project called Gaseous Server (which is similar to Romm - started about the same time) where I noticed a major point of friction for users was matching their ROM files to metadata providers such as IGDB.

This led me to begin the Hasheous project where a user adding a ROM to their ROM Manager of choice (Hasheous was always designed to be client agnostic and not favour one client over another).

The idea here is that when adding a ROM, instead of the user having to manually say that file is "Choplifter", the client (Romm or Gaseous), would reach out to Hasheous and say "do you know what this file with this SHA1 hash is?" and Hasheous would respond with information about the ROM and where the client could find metadata such as summaries, and cover art.

Which led to solving a further point of friction for users which is that many metadata providers require an API key - and an often convoluted method to generate them - which led to Hasheous having the ability to proxy some metadata providers.

This allows users of Romm (and others) to have a completely friction free experience when adding ROMs to their libraries. It's this part that I'm particularly proud of.

It's taken me about a year to get Hasheous to where it is today. By far the biggest issue is that of data integrity. Hasheous relies on DAT providers (such as TOSEC and NoIntro) who all name games slightly differently. The same is also true of the metadata providers. Examples include that a DAT might name a game with a dash, which the metadata provider might use a colon. Individually these are reasonably easy to match, but at scale it gets a lot harder. So building out a community contribution method (to fix bad matches) that is abuse resistant was also a challenge.



With MattSays - community member and developer responsible for the Android app:

Yeah sure! You may want to know why I decided to make this app. I recently got into retrogaming handhelds and in particular Android retro handhelds, and I also discovered the existence of RomM. However, to my surprise there wasn't an app that could easily handle all of my rom collection without having to go to my browser and manually do all the steps required to just play my desired games. So I developed a client that could improve the usability of RomM on Android without too much hassle and shared all of this with the charming community that instantly tested it and gave me precious feedback.


And that's that!

Well, like I said, perhaps a little rougher than my regular efforts at these, but the contents in the answers really did deserve to be read through, but anyone interested. I love how passionate about gaming, self-hosting and emulation the team (and contributors) are in RomM. It makes me smile to see!

You can find more on The RomM Project with these links:

And don't forget, if you like this kind of gaming nonsense I share, you can find me on Mastodon, where I tend to post every day:

9
 
 

Hi everyone,

As far as I know, the only plugin I’d use and need doesn’t exist.

I understand why Valve wants to keep things simple and doesn’t offer a way to have separate power profiles/resolutions, but would have thought someone would have created a plugin for such a user case.

Of course I don’t have the ability to do it myself, but it sounds simpler to realise than a lot of other plugins.

For those who are playing docked and handheld, how do you manage?

I’ve read that some users are just toggling on and off the per game profile, but it’s just a workaround.

10
 
 

I saw that no one had shared Junk Store's newly released version '2.0' announcement, so I figured I'd format it for Lemmy and post it here.

Is anyone picking it up? Or trying it out?

Anyway, everything below here is their words that I'm pasting in:


The wait is over! Junk Store 2.0 is now live, and we’re excited for you to try it! You’ve heard the fuss, now you can judge it for yourself. If it’s not for you, no hard feelings; all we ask is that you make up your own mind.

Check it out in action here

Get it here

What is Junk Store 2.0?

Junk Store 2.0 is a fully extensible game launcher designed to help you easily install and manage games from platforms like Epic, GOG, Amazon, and more — all without the hassle of complex workarounds. It’s faster, more stable, and includes a ton of new features to enhance your experience on the Steam Deck.

Try Junk Store 2.0 Now!

We know you’ve been waiting for a faster, more stable, and expanded experience, and Junk Store 2.0 delivers just that. While we continue to scale up some of our supporting systems, we’re offering a 25% discount on your first year if you sign up before the end of the month. Use the code EarlyBird at checkout to take advantage of the savings Learn more here

What Users Are Saying

  • “Junk Store 2.0 gives me access to dozens of games I already own on platforms I rarely use — without all the convoluted workarounds.” — Anonymous

  • “JS allows me the freedom to choose stores with better deals, DRM-free options, or freebies — without sacrificing the joy and simplicity of the Steam Deck.” — BadServo

  • “This is f*ing great and well worth the sub. It’s leagues better than before and blows the Decky Loader version out of the water.” — Zer04evr

  • “It's the perfect Swiss Army knife for my Deck!” — Tiny Tech

How to Try It?

  • 7-day Free Trial – Try before you buy! If you cancel within the first 7 days, you won’t be charged.

  • 25% off your first year – Discount available until the end of the month.

Why Upgrade?

You’ll still have access to the old version of Junk Store, but we truly believe the new version offers too many improvements to ignore. Whether it's the download queue, the new extension generation tools, or the ability to view up to 1,000 games, this is the future of Junk Store. Check out "What’s New" here

Hear from the Developer:

  • Hear from the developer himself in this interview with Gardiner Bryant: Watch here

  • Listen to Gardiner Bryant: Watch it here

We’re Here to Help

Junk Store is a living project. We’re constantly working on improvements, and we need your feedback to make it even better. If you run into any issues, let us know — we’re a small team, but we strive for fast resolutions.

Thank you for your support — Game on!

11
 
 

Hello, everyone!

I was lucky enough to get in touch with Wouter, the solo developer behind the Linux game launcher Minigalaxy. He was generous with his time and happy to answer a bunch of random questions I sent his way over the course of a few days. What started as a quick chat turned into this fun little Q&A.

A few hours ago, I posted an article here on Lemmy that used some of his replies as the backbone for a short piece about Minigalaxy. But the more I looked over his answers, the more I felt they deserved to be shared on their own, unedited and in full. So here they are...straight from the source.

I like to do these little Q&A's, interviews and pieces on these projects and programs, because it's a fun chance to get to see what's behind the curtain - hear from the devs which you rarely get to.

Minigalaxy itself is a lightweight, open-source game launcher for Linux, designed specifically for running GOG games with ease. It keeps things simple and streamlined: no bloat, just the basics like installing, updating, and launching your games.

It works on the Steam Deck (and I wonder how many here might have actually tried it?)

I hope you might enjoy these, it was a fun time, and Minigalaxy itself is a great little Linux program :)

All questions by me, and all answers are by wouter!


Minigalaxy:


Q. I'd like to start with what inspired you to create Minigalaxy? Was it the 'typical' reason? - I know that everyone (do you know Lignuin from Heroic? I'd say you do, he and I both think that GOG's own Galaxy 2.0 is essentially abandoned now) is dissatisfied with the software GOG themselves present.

A. So I wrote Minigalaxy at at time where Lutris was the only other option, but it wasn't as easy to use as I'd like. I also wanted to do a project using python, since that language was still quite new to me. So I decided to write my own client. The idea was to have my own easy to use GOG specific launcher. The initial version was a bit rough and still saw some crashes, but it got better over time. In the beginning I was only planning to make it able to install Linux games, but then it ended up taking off and people started contributing. A contributor who's account name on GitHub is Kzimir wrote the initial wine support.

Q. Minigalaxy seems to be known for its minimalism. Was that a deliberate design choice from the start? I'm a big fan of that, by the way!

A. It was deliberate, I wanted a good overview of the GOG games I can play and an easy way to install them 😄

Q. Why focus solely on GOG support, instead of building a more universal launcher?

A. In the last 6 years I've contributed to a lot of open source projects, but the only launchers I've been using have been Steam and Minigalaxy, so I've not really ran into an opportunity to contribute to other launchers. Besides Minigalaxy I spend a lot of time contributing to PSPDEV, which is a homebrew SDK for the Playstation Portable, and to open source games and game preservation projects.

I think other launchers do a great job integrating multiple platforms. I really like that Minigalaxy is so focused specifically on GOG. I think that gives it its own niche and allows us to offer a level of uniformity while still providing a lot of specific info from GOG. For example filtering on genre would be hard if you're dealing with multiple platforms

Wouter's unprompted statement:

I do have to say that I was not expecting as much community engagement as there has been when I originally started. It was initially just something I wanted to have, but also made available to others. Then when I implemented translation support the contributions really started rolling in and even some programmers joined and added features I wouldn't have thought about. Lately GB609 on Github came in an he fixed most of the outstanding bugs. It has been really cool to work with the over 50 contributors over the years

I recently made translation easier by adding support for Weblate and we now have a 100% complete Ukrainian translation which we didn't have before. It's things like that which just blow me away

To give another example, being able to ship a full Taiwanese Mandarin translation with the third release I did was unexpected, but insanely cool

Q. How has the Linux/GOG gaming community responded to Minigalaxy?

A. The community has been really nice 😄They've really helped to keep me going. Minigalaxy has had so many contributions from the community. Translation, small fixes on the website and even new features and bug fixes

Q. What keeps you motivated to maintain the project?

A. I think that has been my main drive. Minigalaxy has had the features I want from it for a while now, but the community keeps bringing in new ideas and even implementing them

Q. Is there any way people can support you — contributing code, donations, spreading the word?

A. I don't want donations, but contributions are always welcome. It is now super easy to contributed translations, I think it would be really nice if some more people could help out with that 😄


And that's that!

It was short, but their time is valuable, and this was more a chat than a full-blown interview. I am very glad wouter agreed to chat at all: projects like Minigalaxy, which are done free for the community who love gaming are amazing, and I think he deserved a little time to share his views!


I do hope you'll forgive me posting the entirety in full here, so soon after my other link. And I hope you enjoyed this little post also!

12
 
 

Hello everybody!!!

Sorry it’s been so long since my last updates here on Lemmy. I do know its been too long between my Steam Deck / Gaming News posts (and I pinkie-swear that will change sometime soon!), but at least I have some things to share here which I hope you’ll find interesting.

I’ve been lucky in that a friend on Mastodon has asked me to help contribute to his weekly gaming ‘magazine’ - a site he’s launched a week or so ago with the idea of being:

...a site where we can write about games, technology, and nerdy culture in a relaxed, informal fashion. Where we can celebrate creators, game developers and anyone else who makes a positive contribution to the gaming community on the fediverse.

So, this time, I’ve written some things for this site as a contributor, and I’d love to get your thoughts on what I’ve written.


An article:

First is an article on RomM's new release version 0 4.0.0 (along with its Android app release!), which is a little different to how I’ve typically written and shared on Lemmy before. You might remember that I’ve interviewed the team behind RomM before, and shared it here on Lemmy. They’re all lovely people!

For this I wrote more of an 'article' - but also was in touch with all the devs responsible for the changes in this release, so you'll find them sprinkled throughout!

The link to my RomM article is here!


Minigalaxy:

The developer behind the Linux GOG launcher for games, Minigalaxy was kind enough to chat to me over a few days so I could hear more about the work and what brought the launcher into being.

I'm super grateful that they wanted to chat, and Minigalaxy is such a fun program, if you haven't already then you should check it out!

[The direct link to that article I wrote is here]


An interview:

Lastly was to be an interview with the developer behind Falkor, an independent game launcher built almost entirely by one develop. Designed to be personal, customisable, and community-driven, Falkor was built to stay in line with the dev's plan: a 'user-first alternative to the other launchers available'.

In our conversation, he shared his journey as a dev, insights on the plugin architecture, thoughts on legal boundaries, and future plans for Falkor, including Proton support and deeper community involvement.

Sadly, a few hours before posting, he actually ceased work on Falkor with an announcement in his Discord, and has stepped back from it. So that one is no longer being posted!


What's Next:

But I have also got plenty more in the works to share. I’ve been in touch with:

  • PortMaster (though this one might be taking a little longer than I first anticipated)

  • The person behind the emulation compatibility report site called EmuReady

  • The dev team who have made Ocean Keeper: Dome Survival on Steam - they've been super kind and are arranging the dev team to answer my questions, and provide me with promo material to use

  • And another handful of teams and devs – projects and independent games, which I suppose I’ll share when the time is right!

What I'd love most from all of you here is to hear what you think. These posts have entirely been for all of you on Lemmy in the past. But sharing these on this site does mean RSS will be easier for you (for those who ask how to RSS my posts).

Would you like me to share my articles and interviews here in Lemmy as they were, or through this fediverse-centric site instead? Or both?

Please share what you think. My style writing these, the format, the fact they’re on a site, just give me your thoughts.

If you’d just like a link to the site itself, its here:

https://magazine.fediverse.games/

One other thing, if you'd like to contribute to that site, then Mr Dendry stated:

...if you have a product or project you'd like to be featured on this site please reach out! Additionally, if you're a writer and you want to contribute, please let me know as it would be great to have a few people writing here aside from me.

Hope you’re all well, and enjoying gaming lately. Again, all apologies for my absence from Lemmy lately :)

13
14
 
 

I was wondering, is there any reason why I should buy the Steam Deck abroad in France instead of in my home of Canada?

So I (Canadian) am surprising my friend (from France) with a Steam Deck in October when I go visit them. It will just be the cheaper LCD version, since they won’t care about (or notice) the difference in quality.

Aside from buying adapters for the plug, I literally can’t think of a reason why I should buy it directly in Europe as opposed to getting it in Canada. It would be a lot easier since I can have it delivered to my address, don’t need a specific day and time for it to be delivered, don’t have to deal with any issues of ordering things in a foreign country (sometimes you need to have a local address to order and have things delivered, etc)

That said, I wanted to still check and see if there’s something I’m forgetting or just outright unaware of. I know there’s specific power requirements for the Steam Deck, but mine worked just fine with an adapter when I was last there in January.

15
 
 

I used the Sunshine game streaming software and the WiiU homebrew port of Moonlight to get game streaming working on a WiiU gamepad. It's sort of like a bootleg Steam Deck, and it works surprisingly well, but it mostly just made me want a Steam Deck.

16
 
 

The game collection page on Humble Bundle has been refreshed, and with this update, the storefront has added a new games bundle. Called Indie Roulette, it has 10 titles that are worth $166 and are playable on the Steam Deck. They can be scored for as low as $12.

17
 
 

I picked up Horizon Forbidden West in the steam sale recently and wanted to play on the deck. The deck is a little underpowered for this title so wanted to use my much more capable main PC Running Manjaro to render and stream to the deck over Remote Play

stats for host

██████████████████  ████████   user@host 
██████████████████  ████████   ------------ 
██████████████████  ████████   OS: Manjaro Linux x86_64 
██████████████████  ████████   Host: B550 GAMING X 
████████            ████████   Kernel: 6.15.6-1-MANJARO 
████████  ████████  ████████   Uptime: 8 mins 
████████  ████████  ████████   Packages: 1721 (pacman), 9 (flatpak) 
████████  ████████  ████████   Shell: bash 5.3.0 
████████  ████████  ████████   Resolution: 1920x1080, 1920x1080 
████████  ████████  ████████   DE: Plasma 6.3.6 
████████  ████████  ████████   WM: KWin 
████████  ████████  ████████   Theme: Breeze-Dark [GTK2], Breeze [GTK3] 
████████  ████████  ████████   Icons: breeze [GTK2/3] 
████████  ████████  ████████   Terminal: konsole 
                               CPU: AMD Ryzen 9 3900X (24) @ 4.673GHz 
                               GPU: AMD ATI Radeon RX 6800/6800 XT / 6900 XT 
                               Memory: 4879MiB / 31988MiB 

The Deck can see the host and start the game remotely it then goes to a loading screen

It sits there for a while. the host has a notification pop up saying the deck has connected.

Then it seems to crash out on the deck back to the library launch page where "Connect" is no longer an option. after about 20 secs "Connect" becomes an option again. rinse and repeat.

i've tried this many times... very occasionally i'll get a single frame of video though with a red signal icon in the bottom right before it crashes out again

This is the contents of the streaming_log.txt file on the host for the time in which i'm trying to connect to shortly after the attempt crashes out

[2025-07-19 11:32:00] Client version: 1751405894
[2025-07-19 11:32:00][7.100208] Desktop state changed: desktop: { pos:    0,   0 size: 3840,1080 } primary: { pos:    0,   0 size: 1920,1080 }
[2025-07-19 11:32:00][7.100734] Caching cursor image for , size 32x32, serial 10, cache size = 0
[2025-07-19 11:33:38][105.453199] Game Recording - would start recording game 2420110, but recording for this game is disabled
[2025-07-19 11:33:38][105.453323] Adding process 11100 for gameID 2420110
[2025-07-19 11:33:38][105.577101] Adding process 11112 for gameID 2420110
[2025-07-19 11:33:38][105.644840] Adding process 11116 for gameID 2420110
[2025-07-19 11:33:39][105.958141] Clearing capture only gameID
[2025-07-19 11:33:39][105.970027] Streaming initialized and listening on port 0
[2025-07-19 11:33:39][106.621845] Adding process 11273 for gameID 2420110
[2025-07-19 11:33:41][108.092624] Adding process 11305 for gameID 2420110
[2025-07-19 11:33:41][108.093077] Adding process 11306 for gameID 2420110
[2025-07-19 11:33:41][108.193944] Adding process 11307 for gameID 2420110
[2025-07-19 11:33:41][108.194357] Adding process 11310 for gameID 2420110
[2025-07-19 11:33:41][108.245064] Adding process 11312 for gameID 2420110
[2025-07-19 11:33:41][108.296708] Adding process 11316 for gameID 2420110
[2025-07-19 11:33:41][108.347523] Adding process 11340 for gameID 2420110
[2025-07-19 11:33:41][108.398512] Adding process 11345 for gameID 2420110
[2025-07-19 11:33:42][108.802207] Adding process 11382 for gameID 2420110
[2025-07-19 11:33:42][109.722724] Adding process 11480 for gameID 2420110
[2025-07-19 11:33:44][111.266574] Adding process 11594 for gameID 2420110
[2025-07-19 11:33:45][112.005064] Adding process 11633 for gameID 2420110
[2025-07-19 11:33:50][117.233483] Streaming started to steamdeck at 0.0.0.0:0, audio channels = 2, MTU = 1172
[2025-07-19 11:33:50][117.233499] Streaming quality: k_EStreamQualityBalanced
[2025-07-19 11:33:50][117.233506] Streaming bitrate: Automatic
[2025-07-19 11:33:50][117.233514] Device form factor: computer
[2025-07-19 11:33:50][117.233692] Maximum capture: 1280x800 59.56 FPS
[2025-07-19 11:33:50][117.233706] Video Streaming: enabled
[2025-07-19 11:33:50][117.233715] Audio Streaming: enabled
[2025-07-19 11:33:50][117.233723] Input Streaming: enabled
[2025-07-19 11:33:50][117.234546] =====================================================================
[2025-07-19 11:33:50][117.234570] Game: Horizon Forbidden West™ Complete Edition (2420110)
[2025-07-19 11:33:50][117.234602] Setting target bitrate to 15000 Kbit/s, burst bitrate is 75000 Kbit/s
[2025-07-19 11:33:50][117.234745] Creating new audio encoder for codec 3
[2025-07-19 11:33:50][117.235269] Encoder audio init succeeded, now have 1 encoder(s)
[2025-07-19 11:33:50][117.239609] Adding window 119537665 for process 11306 and gameID 2420110
[2025-07-19 11:33:50][117.239729] Adding window 119537666 for process 11306 and gameID 2420110
[2025-07-19 11:33:50][117.239819] Adding window 119537667 for process 11306 and gameID 2420110
[2025-07-19 11:33:50][117.239933] Adding window 134217729 for process 11594 and gameID 2420110
[2025-07-19 11:33:50][117.240088] Adding window 134217730 for process 11594 and gameID 2420110
[2025-07-19 11:33:50][117.240166] Adding window 134217731 for process 11594 and gameID 2420110
[2025-07-19 11:33:50][117.240258] Adding window 140509185 for process 11633 and gameID 2420110
[2025-07-19 11:33:50][117.240340] Adding window 140509186 for process 11633 and gameID 2420110
[2025-07-19 11:33:50][117.240490] Caching cursor image for left_ptr, size 32x32, serial 107, cache size = 1
[2025-07-19 11:33:50][117.242648] GameScope focus changed to appID 0
[2025-07-19 11:33:50][117.242767] Window title set to Horizon Forbidden West™ Complete Edition
[2025-07-19 11:33:50][117.242951] Streamed game has created a window
[2025-07-19 11:33:50][117.243033] Changing record window: 0x8000001 (134217729)
[2025-07-19 11:33:50][117.243042] Video capture state changed
[2025-07-19 11:33:50][117.243693] >>> Starting desktop stream
[2025-07-19 11:33:50][117.243815] Video capture state changed
[2025-07-19 11:33:50][117.243825] SynchronizeClientState(): setting capture size 786x443
[2025-07-19 11:33:50][117.243846] SynchronizeClientState(): setting title to Horizon Forbidden West™ Complete Edition
[2025-07-19 11:33:50][117.243863] SynchronizeClientState(): setting icon 32x32
[2025-07-19 11:33:50][117.243927] SynchronizeClientState(): setting cursor to 107
[2025-07-19 11:33:50][117.243941] SynchronizeClientState(): setting activity to k_EStreamActivityGame: Horizon Forbidden West™ Complete Edition
[2025-07-19 11:33:50][117.248372] Recording system audio
[2025-07-19 11:33:50][117.250877] PulseAudio: Sink alsa_output.pci-0000_09_00.4.analog-stereo is default
[2025-07-19 11:33:50][117.251043] PulseAudio: Adding sink[61] alsa_output.pci-0000_07_00.1.hdmi-stereo-extra3 with priority 1, monitor is alsa_output.pci-0000_07_00.1.hdmi-stereo-extra3.monitor
[2025-07-19 11:33:50][117.251077] PulseAudio: Adding sink[65] alsa_output.pci-0000_09_00.4.analog-stereo with priority 3, monitor is alsa_output.pci-0000_09_00.4.analog-stereo.monitor
[2025-07-19 11:33:50][117.251093] PulseAudio: Recording on device alsa_output.pci-0000_09_00.4.analog-stereo.monitor
[2025-07-19 11:33:50][117.251142] Audio mix: start=175664648, returned=0
[2025-07-19 11:33:50][117.251150] Audio source [System Pulse]: init=0, adjustment=0, through=0, last_start=0, mixed=0, drop_before=0, drop_after=0
[2025-07-19 11:33:50][117.261242] PulseAudio: Connected to device alsa_output.pci-0000_09_00.4.analog-stereo.monitor (65, not suspended).
[2025-07-19 11:33:50][117.261256] PulseAudio: Using sample spec 's16le 2ch 48000Hz', channel map 'front-left,front-right'.
[2025-07-19 11:33:50][117.334944] >>> Switching video stream from NONE to Desktop_MovieStream
[2025-07-19 11:33:50][117.420863] Building new pipeline
[2025-07-19 11:33:50][117.421273] Trying to create an encoder for streaming: [hardware_enabled=false][hardware_suppressed=false]
[2025-07-19 11:33:50][117.421287] Allowed Codecs: 5,4
[2025-07-19 11:33:50][117.422676] Created encoder X264 for codec 4
[2025-07-19 11:33:50][117.422880] Detected 24 logical processors, using 4 threads
[2025-07-19 11:33:50][117.422896] Configuring encoder: [threads=4][width=786][height=444][preset=superfast][tune=zerolatency]
[2025-07-19 11:33:50][117.427868] Video Encoder Changed
[2025-07-19 11:33:50][117.432907] >>> Capture method set to Desktop OpenGL NV12 + libx264 main (4 threads)
[2025-07-19 11:33:50][117.436865] >>> Capture resolution set to 786x444
[2025-07-19 11:33:50][117.436886] >>> Capture colorspace set to BT.601 limited range
[2025-07-19 11:33:50][117.486327] CLIENT: Got control packet k_EStreamControlSetQoS
[2025-07-19 11:33:50][117.539024] CLIENT: Got control packet k_EStreamControlSetTargetBitrate
[2025-07-19 11:33:50][117.539047] CLIENT: Starting audio stream: frequency=48000, channels=2
[2025-07-19 11:33:50][117.539054] CLIENT: Opened audio device: format=2, channels=2, frequency=48000
[2025-07-19 11:33:50][117.539063] CLIENT: Initialized audio decoder: codec=3, sample rate=48000, channels=2
[2025-07-19 11:33:50][117.539069] CLIENT: Got control packet k_EStreamControlStartAudioData
[2025-07-19 11:33:50][117.539075] CLIENT: Got control packet k_EStreamControlSetSpectatorMode
[2025-07-19 11:33:50][117.539096] CLIENT: Got control packet k_EStreamControlSetCaptureSize
[2025-07-19 11:33:50][117.539103] CLIENT: Got control packet k_EStreamControlSetTitle
[2025-07-19 11:33:50][117.539122] CLIENT: Got control packet k_EStreamControlSetIcon
[2025-07-19 11:33:50][117.539128] CLIENT: Got control packet k_EStreamControlSetCursor
[2025-07-19 11:33:50][117.539136] CLIENT: Got control packet k_EStreamControlSetActivity
[2025-07-19 11:33:51][118.147025] CLIENT: Sending HID device 28de/1205/2 Valve Software Steam Deck Controller at /dev/hidraw2
[2025-07-19 11:33:51][118.197693] CLIENT: Got control packet k_EStreamControlStartVideoData
[2025-07-19 11:33:51][118.197717] CLIENT: Got control packet k_EStreamControlVideoEncoderInfo
[2025-07-19 11:33:51][118.349489] CLIENT: SteamNetworkingSockets connection: Connected SDR->ams->ams  Ping: 199ms IN: 145.1kbit 43.1 pkt/s qual 58.9% OUT: 93.0kbit 35.0 pkt/s qual ???%%
[2025-07-19 11:33:51][118.501068] CLIENT: Got control packet k_EStreamControlSetCursorScale
[2025-07-19 11:33:52][119.360232] CLIENT: Got video sequence 279, expected 4, sending lost data notification
[2025-07-19 11:33:53][119.779720] CLIENT: Didn't get keyframe, resending lost data notification
[2025-07-19 11:33:53][120.134502] CLIENT: Got control packet k_EStreamControlSetCursorImage
[2025-07-19 11:33:53][120.134529] CLIENT: Didn't get keyframe, resending lost data notification
[2025-07-19 11:33:55][122.321620] CLIENT: Didn't get keyframe, resending lost data notification
[2025-07-19 11:33:57][123.799436] CLIENT: SteamNetworkingSockets connection: Connected SDR->ams->ams  Ping: 322ms IN: 492.9kbit 111.3 pkt/s qual 17.7% OUT: 478.9kbit 266.0 pkt/s qual ???%%
[2025-07-19 11:33:57][124.166174] CLIENT: Got control packet k_EStreamControlControllerConfigMsg
[2025-07-19 11:33:57][124.166201] CLIENT: Got control packet k_EStreamControlControllerConfigMsg
[2025-07-19 11:33:57][124.166212] CLIENT: Got control packet k_EStreamControlControllerConfigMsg
[2025-07-19 11:33:58][125.344745] CLIENT: Didn't get keyframe, resending lost data notification
[2025-07-19 11:33:58][125.446057] CLIENT: [SteamNetworkingSockets] [#2825836948 P2P SDR steamid:76561198054417817 vport 0] SDR routing message updated, revision 6.  (#2 route ams4-waw was not sent)
[2025-07-19 11:33:59][126.660963] CLIENT: [SteamNetworkingSockets] [#2825836948 P2P SDR steamid:76561198054417817 vport 0] Requesting session from fra#380 (162.254.197.36:27026).  Ping = 129 = 41+11+77 (front+interior+remote).  Rank=2 Score=-1
[2025-07-19 11:34:01][128.666863] CLIENT: [SteamNetworkingSockets] [#2825836948 P2P SDR steamid:76561198054417817 vport 0] Sent P2P RoutesChanged(peer_acked=5,current=6) to ams#180 (155.133.248.41:27056), but we have reason to believe that it might not get through end-to-end.  Also sending via steam
[2025-07-19 11:34:01][128.666889] CLIENT: [SteamNetworkingSockets] [#2825836948 P2P SDR steamid:76561198054417817 vport 0] Requesting session from fra#380 (162.254.197.36:27026).  Ping = 129 = 41+11+77 (front+interior+remote).  Rank=2 Score=-1
[2025-07-19 11:34:01][128.666898] CLIENT: [SteamNetworkingSockets] [#2825836948 P2P SDR steamid:76561198054417817 vport 0] Received P2PSessionEstablished from fra#380 (162.254.197.36:27026), token @d804
[2025-07-19 11:34:01][128.666907] CLIENT: [SteamNetworkingSockets] [#2825836948 P2P SDR steamid:76561198054417817 vport 0] Selecting fra#380 (162.254.197.36:27026) as backup #1 (Ping = 129 = 41+11+77 (front+interior+remote).  Rank=1 Score=140)
[2025-07-19 11:34:01][128.666914] CLIENT: [SteamNetworkingSockets] [#2825836948 P2P SDR steamid:76561198054417817 vport 0] SDR routing message updated, revision 7.  (POP 'fra' session changed)
[2025-07-19 11:34:01][128.717544] CLIENT: SteamNetworkingSockets connection: Connected SDR->ams->vie  Ping: 588ms IN: 437.8kbit 112.0 pkt/s qual 19.7% OUT: 766.1kbit 337.5 pkt/s qual ???%%
[2025-07-19 11:34:02][128.768386] CLIENT: Got control packet k_EStreamControlControllerConfigMsg
[2025-07-19 11:34:02][128.768426] CLIENT: Got control packet k_EStreamControlControllerConfigMsg
[2025-07-19 11:34:02][128.768443] CLIENT: Got control packet k_EStreamControlControllerConfigMsg
[2025-07-19 11:34:02][128.768465] CLIENT: Got control packet k_EStreamControlControllerPersonalizationUpdate
[2025-07-19 11:34:02][128.768479] CLIENT: Got control packet k_EStreamControlControllerConfigMsg
[2025-07-19 11:34:02][128.768503] CLIENT: Got control packet k_EStreamControlControllerConfigMsg
[2025-07-19 11:34:02][128.768515] CLIENT: Got control packet k_EStreamControlControllerConfigMsg
[2025-07-19 11:34:03][130.251483] CLIENT: Didn't get keyframe, resending lost data notification
[2025-07-19 11:34:14][141.158440] CLIENT: [SteamNetworkingSockets] [#2825836948 P2P SDR steamid:76561198054417817 vport 0] SDR routing message updated, revision 8.  (POP 'ams' last sent ping 122 is outside ping range 149-406 (3 buckets))
[2025-07-19 11:34:14][141.158474] CLIENT: SteamNetworkingSockets connection: Connected SDR->ams->vie  Ping: 715ms IN: 324.2kbit 93.1 pkt/s qual 15.7% OUT: 1016.7kbit 397.8 pkt/s qual 32.0%
[2025-07-19 11:34:19][146.038894] CLIENT: SteamNetworkingSockets connection: Connected SDR->ams->vie  Ping: 395ms IN: 255.7kbit 85.3 pkt/s qual 15.3% OUT: 1120.5kbit 399.1 pkt/s qual 32.0%
[2025-07-19 11:34:20][147.079068] CLIENT: SteamNetworkingSockets connection: Connected SDR->ams->vie  Ping: 504ms IN: 359.1kbit 98.6 pkt/s qual 18.2% OUT: 1085.3kbit 406.5 pkt/s qual 32.0%
[2025-07-19 11:34:20][147.079099] CLIENT: [SteamNetworkingSockets] [#2825836948 P2P SDR steamid:76561198054417817 vport 0] Switched primary to ams4#34 (172.255.8.172:27048) (Ping = 129 = 41+11+77 (front+interior+remote).  Rank=1 Score=140) from ams#180 (155.133.248.41:27056) (Ping = 411 = 318+16+77 (front+interior+remote).  Rank=4 Score=550  (Penalty: other=100)  Connection gap 5410ms.)
[2025-07-19 11:34:20][147.079109] CLIENT: [SteamNetworkingSockets] [#2825836948 P2P SDR steamid:76561198054417817 vport 0] Selecting fra#380 (162.254.197.36:27026) as backup #1 (Ping = 129 = 41+11+77 (front+interior+remote).  Rank=1 Score=140)
[2025-07-19 11:34:20][147.079120] CLIENT: [SteamNetworkingSockets] [#2825836948 P2P SDR steamid:76561198054417817 vport 0] SDR routing message updated, revision 9.  (POP 'ams4' last sent ping 34 is outside ping range 122-304 (1 buckets))
[2025-07-19 11:34:20][147.079128] CLIENT: [SteamNetworkingSockets] [#2825836948 P2P SDR steamid:76561198054417817 vport 0] SDR routing message updated, revision 10.  (POP 'ams4' last sent ping 122 is outside ping range 213-304 (2 buckets))
[2025-07-19 11:34:20][147.079137] CLIENT: Didn't get keyframe, resending lost data notification
[2025-07-19 11:34:20][147.079146] CLIENT: [SteamNetworkingSockets] [#2825836948 P2P SDR steamid:76561198054417817 vport 0] Switched to backup #1 fra#380 (162.254.197.36:27026) (Ping = 129 = 41+11+77 (front+interior+remote).  Rank=1 Score=140) as primary, from ams4#34 (172.255.8.172:27048) (Ping = 347 = 252+18+77 (front+interior+remote).  Rank=3 Score=379  Connection gap 555ms.)
[2025-07-19 11:34:20][147.079169] CLIENT: [SteamNetworkingSockets] [#2825836948 P2P SDR steamid:76561198054417817 vport 0] Selecting par#55 (185.25.182.19:27023) as backup #1 (Ping = 131 = 34+20+77 (front+interior+remote).  Rank=2 Score=242  (Penalty: other=100)  Connection gap 34601ms.)
[2025-07-19 11:34:25][151.876557] Dropped 61 video frames
[2025-07-19 11:34:26][152.900701] Dropped 59 video frames
[2025-07-19 11:34:27][153.924922] Dropped 59 video frames
[2025-07-19 11:34:28][154.949036] Dropped 61 video frames
[2025-07-19 11:34:29][155.973372] Dropped 59 video frames
[2025-07-19 11:34:30][156.997428] Dropped 59 video frames
[2025-07-19 11:34:31][158.004813] Caching cursor image for , size 32x32, serial 92, cache size = 2
[2025-07-19 11:34:31][158.005462] SynchronizeClientState(): setting cursor to 92
[2025-07-19 11:34:31][158.021801] Dropped 61 video frames
[2025-07-19 11:34:31][158.106763] Caching cursor image for default, size 32x32, serial 66, cache size = 3
[2025-07-19 11:34:31][158.107338] SynchronizeClientState(): setting cursor to 66
[2025-07-19 11:34:31][158.157956] Caching cursor image for , size 32x32, serial 89, cache size = 4
[2025-07-19 11:34:31][158.158363] SynchronizeClientState(): setting cursor to 89
[2025-07-19 11:34:31][158.411871] SynchronizeClientState(): setting cursor to 10
[2025-07-19 11:34:31][158.715547] Caching cursor image for , size 32x32, serial 99, cache size = 5
[2025-07-19 11:34:31][158.715858] SynchronizeClientState(): setting cursor to 99
[2025-07-19 11:34:32][158.766567] Caching cursor image for , size 32x32, serial 100, cache size = 6
[2025-07-19 11:34:32][158.766907] SynchronizeClientState(): setting cursor to 100
[2025-07-19 11:34:32][159.046007] Dropped 59 video frames
[2025-07-19 11:34:33][159.985245] GameScope focus changed to appID 0
[2025-07-19 11:34:33][159.985406] Window title set to user : tail — Konsole
[2025-07-19 11:34:33][159.985856] Changing record window: 0x5e0000f (98566159)
[2025-07-19 11:34:33][159.985870] Video capture state changed
[2025-07-19 11:34:33][159.985884] SynchronizeClientState(): setting capture size 1920x1080
[2025-07-19 11:34:33][159.985910] SynchronizeClientState(): setting title to user : tail — Konsole
[2025-07-19 11:34:33][159.985932] SynchronizeClientState(): setting icon 16x16
[2025-07-19 11:34:33][159.985960] SynchronizeClientState(): setting activity to k_EStreamActivityDesktop: Steam Controller Configs - Desktop
[2025-07-19 11:34:33][159.989240] "SessionStats"
{
        "GameNameID"            "Horizon Forbidden West™ Complete Edition"
        "appid"         "2420110"
        "TimeSubmitted"         "1752921273"
        "ResolutionX"           "786"
        "ResolutionY"           "444"
        "CaptureDescriptionID"          "Desktop OpenGL NV12 + libx264 main (4 threads)"
        "DecoderDescriptionID"          ""
        "BandwidthLimit"                "15000"
        "FramerateLimit"                "60"
        "Transport"             "4"
        "SlowGamePercent"               "0"
        "SlowCapturePercent"            "0"
        "SlowConvertPercent"            "0"
        "SlowEncodePercent"             "0"
        "SlowNetworkPercent"            "0"
        "SlowDecodePercent"             "0"
        "SlowDisplayPercent"            "0"
        "AvgClientBitrate"              "0"
        "StdDevClientBitrate"           "0"
        "AvgServerBitrate"              "0"
        "StdDevServerBitrate"           "0"
        "AvgLinkBandwidth"              "0"
        "AvgPingMS"             "0"
        "StdDevPingMS"          "0"
        "AvgCaptureMS"          "0"
        "StdDevCaptureMS"               "0"
        "AvgConvertMS"          "0"
        "StdDevConvertMS"               "0"
        "AvgEncodeMS"           "0"
        "StdDevEncodeMS"                "0"
        "AvgNetworkMS"          "0"
        "StdDevNetworkMS"               "0"
        "AvgDecodeMS"           "0"
        "StdDevDecodeMS"                "0"
        "AvgDisplayMS"          "0"
        "StdDevDisplayMS"               "0"
        "AvgFrameMS"            "0"
        "StdDevFrameMS"         "0"
        "AvgFPS"                "0"
        "StdDevFPS"             "0"
        "BigPicture"            "0"
        "KeyboardMouseInput"            "0"
        "SteamControllerInput"          "1"
        "TouchControllerInput"          "0"
        "GameControllerInput"           "0"
        "XBox360ControllerInput"                "0"
        "XBoxOneControllerInput"                "0"
        "PS3ControllerInput"            "0"
        "PS4ControllerInput"            "0"
        "PS5ControllerInput"            "0"
        "OtherControllerInput"          "0"
        "GameControllerVID"             "10462"
        "GameControllerPID"             "4613"
        "WasSpectating"         "0"
        "RemotePlayTogether"            "0"
}
[2025-07-19 11:34:33][160.039716] Detected 24 logical processors, using 4 threads
[2025-07-19 11:34:33][160.039735] Configuring encoder: [threads=4][width=1280][height=720][preset=superfast][tune=zerolatency]
[2025-07-19 11:34:33][160.043246] Video Encoder Changed
[2025-07-19 11:34:33][160.046652] >>> Capture resolution set to 1280x720
[2025-07-19 11:34:33][160.070619] Dropped 57 video frames
[2025-07-19 11:34:34][161.094540] Dropped 61 video frames
[2025-07-19 11:34:34][161.489024] Caching cursor image for blank, size 16x16, serial 101, cache size = 7
[2025-07-19 11:34:34][161.489198] SynchronizeClientState(): setting cursor hidden
[2025-07-19 11:34:34][161.753170] SynchronizeClientState(): setting cursor visible
[2025-07-19 11:34:34][161.753214] SynchronizeClientState(): setting cursor to 101
[2025-07-19 11:34:35][161.806261] SynchronizeClientState(): setting cursor to 100
[2025-07-19 11:34:35][161.958182] SynchronizeClientState(): setting cursor to 10
[2025-07-19 11:34:35][162.118632] Dropped 59 video frames
[2025-07-19 11:34:35][162.373515] Caching cursor image for , size 32x32, serial 9, cache size = 8
[2025-07-19 11:34:35][162.373890] SynchronizeClientState(): setting cursor to 9
[2025-07-19 11:34:35][162.728623] SynchronizeClientState(): setting cursor to 10
[2025-07-19 11:34:36][163.142997] Dropped 59 video frames
[2025-07-19 11:34:37][164.167020] Dropped 61 video frames
[2025-07-19 11:34:37][164.246955] GameScope focus changed to appID 0
[2025-07-19 11:34:37][164.247107] Window title set to Breath — Konsole
[2025-07-19 11:34:37][164.247506] Changing record window: 0x40000f (4194319)
[2025-07-19 11:34:37][164.247521] SynchronizeClientState(): setting title to Breath — Konsole
[2025-07-19 11:34:38][165.191550] Dropped 59 video frames
[2025-07-19 11:34:39][165.929996] Encoding complete
[2025-07-19 11:34:39][165.981052] >>> Stopped desktop stream
[2025-07-19 11:34:39][165.995555] PulseAudio: Context connection terminated

i've had a look through and lines of note i've found

[2025-07-19 11:33:50][117.233483] Streaming started to steamdeck at 0.0.0.0:0, audio channels = 2, MTU = 1172

I have kind of a weird setup in that my network has two subnets. the host is on 10.0.0.X range while the deck is on 192.168.1.X range. Routing has been set up, i can ssh from the 192 network to machines on the 10 network and vice versa. not sure if this is related to that.

[2025-07-19 11:33:39][105.970027] Streaming initialized and listening on port 0

i didn't know there was a port 0

[2025-07-19 11:34:28][154.949036] Dropped 61 video frames

several examples of this, the stream is limited to 60fps according to another line in the log so i guess all frames are being dropped?

I won't paste the session stats as it's a large object and it's visible in the raw log above. lots of 0 in there though

Not sure where to go from here

18
75
submitted 2 weeks ago* (last edited 2 weeks ago) by kadup@lemmy.world to c/steamdeck@sopuli.xyz
 
 

Hey folks! I have one of the original batches of LCD Steam Decks, with an upgraded SSD.

My battery is still at around 99% of it's original capacity, I love the device, finally found a protective case I enjoy after trying 4 different models, and I don't like the OLED panels used in the OLED model so I'm fine.

But I always thought the fan sounded horrendously bad, specially at bed, with a whiny sound that starts even before it ramps up and only gets worse. You might think wearing headphones fixes it, but I'm not always playing with headphones and my partner trying to sleep most definitely wouldn't agree with the thought that this is a solution. I heard about replacing the Delta with the Huaying fan, but I didn't think the difference would be that big... it will move the same amount of air, right?

Well... I just replaced mine and it's a gigantic difference, I like this upgrade even more so than the SSD one. At maximum speed it does sound like air moving, which is expected, but that's it: air. Not some terrible whining. And when it's running at around 3500 RPM? Pretty much silent, I have to bring the device close to my ears to hear it.

So if anybody out there is still carrying their original models with Delta fans... Do your ears a favor, it's worth getting the better fan. Though I bought mine on Aliexpress for cheaper than iFixit sells it, original part.

If you have a revised unit with the new shielding and the Delta fan, there's a membrane that supposedly helps muffle the whine, I'm not sure how effective that is though, I suspect it still sounds worse than the Huaying.

Also, quick tip: the iFixit guide tells you to lift the metal shielding, but you can replace the fan just fine without doing so. I replaced the thermal paste a while back (early units were also known for having some dry spots) and would rather not disrupt the thermal pads any further, so if you're not comfortable removing the entire shielding... just don't, there's a cut out specifically so you can access the fan connector.

19
 
 

Hi everyone!

So I've got my LCD Steam Deck for around a month and I've been only playing docked (no dock but with a USB-C cable) to my computer screen so far, but I plan on playing it on the go as soon as we go on vacation or as soon as I start playing another game than Frostpunk which requires a mouse.

For now I have a few questions:

-I have a Philips screen Model 273B9 and its resolution is 1920x1080@50HZ. Sometimes the resolution is all fucked up when I turn on the Steam Deck and sometimes it's fine. I've tried disabling the automatic adaptation in the Deck settings, but so far, I haven't found a perfect solution. I'm also a bit lost about the necessity of changing the in game resolution settings or the Steam per game properties settings for resolution.

-Is it possible to have a setup (TDP, Framerate, resolution, effects, controller settings) for when the Steam Deck is linked to my screen and charging through the USB-C cable coming out of it and another more economical setup for when I'm on the go. Ideally I'd want the Steam Deck to detect these situations automatically, but I don't mind having to just select a profile every time I'm going from one situation to another.

-As I'm often buying games from my Surface Go running Fedora or my iPhone (through Firefox, not the app), is there a way to see if a game is steam deck verified on the store from these devices? In a way, I'd want Steam to know that my only gaming device is a Steam Deck and that everything I'm ordering is for this device.

-I also plan on buying around half of my games on GOG. Can someone confirm that I'd get achievements through Heroic? I feel a bit ashamed to say that I've been addicted to trophies on Playstation for years..

-Can you use Steam input to modify controller settings for non-steam games?

-I also haven't found a way to get a swiss vitual keyboard in the UI (QWERTZ with é,è,à). Is it impossible because the Deck isn't officialy sold in Switzerland? I can do it in desktop mode, but the one from the Steam UI is still the one appearing no matter what I do.

Thanks a lot in advance for your help!

20
 
 

https://www.empiresmod.com/

https://forums.empiresmod.com/index.php?threads/empires-official-discord.20577/

(ughh yes most of the community is on discord what can you do but make fediverse posts....)

I want to recommend an oddball game here for a potential LAN steamdeck game or just a fun free multiplayer steam deck game in general (it has bots too).

I have mixed feelings about the Source engine, I mean obviously love it and all the games that came out on it, but it never did vehicles well partially from a handling perspective and also source engine level design always seemed to end up blocky and awkward for vehicles to manuever on.

Lots of games of course integrated vehicles successfully into their core gameplay, but the most successful mechanically and by far the most interesting in my opinion is the Empires Mod.

The really cool thing about this game is that the original release date was 2008, and yet it is still in development with a very small but loving fan base. The gunplay plays like a faster counter strike, very arcade-y and at the heart of it relatively simple but it works, it is fun and there is lots of skill to it.

https://www.youtube.com/watch?v=CCgoylOR1s0

https://m.youtube.com/watch?v=nNhQWZsIl_o

Here is some relatively recent gameplay showing how much depth and team strategy there is to Empires Mod. This game is like Natural Selection 2 or other games where each team has an RTS like commander and structures must be built to produce an engine that can take over the map from the enemy.

Check it out, the game looks janky in the way all lovable Source Engine games are but I think if you give it a chance you might find it really fun.

Also... there are a lot of mechanics to the game and they have really put a lottttt of effort into little tooltips that explain functions of the game everywhere to you. It is actually pretty slick even if the presentation is usually amateur, who cares the underlying game is cool as heck.

I found the default Steam Deck bindings worked great, I just recommend using gyroscope to help aim. I think source accepts gamepad input too, but I have just stuck with the default Steam Deck WASD & Mouse profile and it works already really well off the bat no tweaking for Empires Mod!

Needless to say, this game runs NO PROBLEM on the Steam Deck lol. I am not convinced the Source engine is obsolete, primarily because handhelds like the Steam Deck pose the question ok you can have better graphics but what are you trading it for? I think games like Empires Mod on the source engine deserve to be remembered and rediscovered on a new medium of devices!

21
22
 
 

Do you ever change proton version of games if they run for performance reasons, or do you just stick to the default config?

For example, let's say a game is about a year old, so it would run on an early proton 9. Might changing to GE 10-8 improve performance and battery runtime / FPS?

I started thinking about this when I gave a shot to Wuthering Waves. It runs out of the box, but GPU is a little bit less under pressure with GE 10-8.

What's your take?

23
24
 
 

Got gifted a copy of Elden Ring Nightreign, but found that when using the seamless coop mod (for 2 player games), the deck controls would no longer work.

Anyways it turns out the solution is to set this as the launch options for the seamless mod executable:

SteamAppId=2622380 SteamGameId=2622380 SteamOverlayGameId=2622380 %command%

This makes the coop launcher be identified as the game itself, preventing any steam input issues. Note: if you seemingly get stuck on a steam loading screen after launching the game like this, you may just need to press the steam button and swap windows to the game.

25
 
 

This plugin allows two decks to connect directly to one another, allowing multiplayer lan games to work without any wifi network available.

view more: next ›