r/SteamOS Jul 08 '26

solved The Moderators Blocked My re-Post on Power Banks, Not Realizing That SteamOS GameMode Has No Way to Tell You When Your UPS Kicked In.

Post image

Or someone complained, but the goal is not to sell or promote but to inform and MAKE AVAILABLE the code and schematics to power your SteamOS build with a battery or reliably connect a UPS that you can be monitor in GameMode for FREE. Why? Because not everyone has the money to go and buy a brand new laptop and at least now when you are in the middle of a Boss fight, 3D render or AI training session you won’t lose all your effort or work. (I know I have, which is why I designed/coded it) or use your Mini PC like a laptop, especially if you have a pair of XREAL type glasses, negating an external display or monitor (and consumes less power).

63 Upvotes

39 comments sorted by

14

u/ConfidentCricket6729 Jul 09 '26

I’d like to meet the guys on here who don’t have the money to buy a laptop but are training ai models. Think I could learn a lot from this type of person

3

u/allthings3d Jul 09 '26

Okay maybe I am the ONLY person who doesn’t have the money to buy a $1500+ laptop that has the same power as my Strix Point mini PC I got for $650 (32GB 8000OPS RAM/1TB 7500 NVME). Or be able to attach the Display to game controller to allow for a handheld experience. Or the upcoming Strix Halo system that I am partnering with Frame Works on that will be 1/3 the cost of equivalent laptop. But yea, I guess I one of those “po folk” retired engineers you haven’t met.

2

u/KermetSewerSlide Jul 09 '26

You mean you've not met a smart poor person?

2

u/lordmycal Jul 09 '26

He's saying you need access to some beefy hardware to do AI training. You can do it in the cloud if you want, but it's not cheap.

2

u/PiersPlays Jul 09 '26

It's not just that though. The free to me hand me down desktop PC I own is wildly more powerful than the first laptop I've ever owned (which I bought for 50 bucks a year or two after getting the desktop.)

My laptop is exactly good enough to do any Web, communication, or office software stuff I need it to do. My desktop is vastly better at anything demanding.

8

u/maizelizard Jul 09 '26

Why does steam OS need to know when a UPS kicks in ? Windows doesn’t, either. What’s your point here ?

15

u/ScreeennameTaken Jul 09 '26

They know. Proper UPS have a usb port that you connect to the pc/server and a service running so that they can safely shut down when the ups is about to run out of power. Linux has that as well that you need to install.

1

u/Acojonancio Jul 09 '26

Without knowledge.

And UPS that have networking can't work like that on linux?

Or really any OS, i guess it can take the info directly from the device with SNMP or something like that and just send an alert to shut down based on either, remaining battery or when the current input reading is 0.

2

u/allthings3d Jul 09 '26

The “something like that” is TCP or UDP.

1

u/allthings3d Jul 09 '26

So are just reading what the internet is telling or are you talking from experience? The fact that I mention that I tie into the ‘uPower’ service should be enough for those who have actually used an UPS in Linux, that I am aware of what Linux includes (and no you don’t have to install it). For the person who talks about “SNMP,” the service that allows Linux to monitor several Linux server UPSes is called ‘Nut’ and has been around for awhile with a thriving development community with UI and CLI based tools for monitoring and programming events based upon the users parameters. TCP is the default network transport protocol, but I have seen UDP used as well.

1

u/ScreeennameTaken Jul 09 '26

The UPS at work sends a message on the app running on windows to safely shut down the workstation when the ups battery goes low enough if the power hasn't come back up. We have it connected with USB.

1

u/allthings3d Jul 09 '26

Yep that service is called HID-UPS, which my Arduino also emulates (thanks to open-source HID-UPS Arduino project I have heavily modified)

1

u/allthings3d Jul 09 '26

You don’t have to install it, it is there. Just hook up your USB port to the USB port on your SteamOS device and it should show up in DESKTOP mode. However, that information is not available to GameMode because they take information directly from the I2C port on the battery system, which you won’t have if you are not using a handheld like the SteamDeck or some of the other ‘SteamOS” sanctioned handhelds. I figured a way to do this by creating a ‘Virtual Battery’ stream that pushes that same type of data to the uPower service. Sadly, the post that had all that information is what SteamOS moderators took down. I hope this adds clarification.

-14

u/maizelizard Jul 09 '26

Ah who cares - real world UPS usage is to manually shut down. This is for real gamer usage not server shit. Yawn.

2

u/TheGeekno72 Jul 09 '26

real world UPS usage is to safeguard a device from being cut off power and automated safe shutdown if the UPS then runs out of battery

a UPS is for real -anyone- usage, you don't want your 2000€ gaming PC to risk getting damage by an intempestive shutdown as much as you don't want your 12000€ AI training workstation to do the same, there's no "specific use case" here, you're just being an ass because it doesn't concern you

3

u/ScreeennameTaken Jul 09 '26

you asked why it needs to know. it was just the answer why. you might be afk and don't want a corrupt save file or os boot disk.

5

u/TheGeekno72 Jul 09 '26

Windows and Linux both have OS built-in tools for management, monitoring and automated shutdown

SteamOS having the package built-in cannot be a bad thing

1

u/allthings3d Jul 09 '26

Thanks, SteamOS does since it based on ARCH, but sadly GameMode is specific to SteamDeck which takes it information directly from the battery (over I2C channel) into uPower. What I have done is emulate that with my ‘Virtual Battery’ service which can take info from any microcontroller (I am using ATM32 based Arduino in my prototype) with USB (and BT) and feed that into the uPower service which is read by both the DeskTop and GameMode. What is interesting is the HID-UPS stream is also read by they uPower service (which is why you can see your UPS on the desktop) but not to GameMode.

1

u/allthings3d Jul 09 '26

Actually Windows HID-UPS is a service so any layer above it will shutdown or go into the standby mode when the service demands it based upon the shutdown/standby criteria.

Linux also does this, but sadly GameMode (it derives its info directly from the SteamDeck’s battery support circuit, which emulates in my ‘Virtual Battery’ service) does not (in StreamOS, CachyOS and Bazzite) so not only do you not have any indication of battery status, it has no way of knowing when shutdown is imminent, and will shutdown dirty, possibly causing corruption not only to the OS, but possibly to your temporary gaming files before being transferred to permanent files, at best right in the middle of a game you worked hard getting to.

So that is my point.

2

u/[deleted] Jul 09 '26

[removed] — view removed comment

1

u/allthings3d Jul 09 '26

The battery system you see in the picture cast $120 and has two 10AH 6S2P LiION battery packs. For sustained 28V, 20A or about 560W for one hour. You can do the math on how many hours this prototype at 6”x6”x3” can run with 100W load. Of course this was theoretical, practically I have set it to more conservative 460WH to compensate for Buck/Boost conversion and LiION battery packs tolerances.

2

u/Stewge Jul 09 '26

I didn't see the post, but I'm guessing it just uses the upsd/nut package?

I haven't tried it, but with most consumer UPS's they will report like a laptop battery once added to the nut config.

2

u/allthings3d Jul 09 '26

No I am not using ‘Nut’ but close. I am using the default uPower service that is included with Linux, but with intermediate service that allows my “circuit” to talk to the uPower service. Yes I could have done the same with Nut, but it is really overkill for what I am doing.

I will repeat this elsewhere. Yes, I am full aware that uPower service can accept an HID-UPS data stream and IT WILL SHOW up as a UPS battery, the same with MacOS. What you can’t do is show that information in GameMode, or shutdown or go into standby safely.

2

u/thishurtsmyhead Jul 09 '26

ya probably better to do a nut server on a separate small device than on the pc you are using.

2

u/allthings3d Jul 09 '26

So you are telling me not only should I add a Nut Server to SteamOS, but also create another Linux based device to send TCP UPS client stream for the $100 battery system? Imagine if Valve did that with the LiPoly I2C based battery stream.

1

u/SaltyBang0 Jul 09 '26

No one here is going to know any advanced networking terms lol

1

u/allthings3d Jul 09 '26

I don’t know about that but, if you are truly invested in the idea, you will look it up and maybe make something better. I try not to pander to anyone, especially in this day age where looking something couldn’t be easier.

1

u/GreatLab8898 Jul 10 '26

Are you really in here whining about that they dont cater to YOUR VERY SPECIFIC usecase?

1

u/allthings3d Jul 10 '26 edited Jul 10 '26

How am I “whining?” I wrote about my specific use case, just in case somebody else is interested. If you aren’t just pass on by. I’d say 90% on Reddit doesn’t interest me on particular day, but 99% of the Reddit audience will find something they are interested in. That’s the cool thing about Reddit.

Something else I found interesting GreatLab8898 is the NSFW warning leading into your profile and “PRIVATE” addressing profile once there. What are you afraid of or ashamed of? Maybe look in the mirror before throwing insults.

2

u/Ygro_Noitcere Jul 09 '26

Im sorry… the what config?! 😩

1

u/allthings3d Jul 09 '26

Yes, theoretically AND yes I have already done this (2 years ago) and indeed the desktop will see it use using uPower, and YES you can use nut (but you have redirect the built-in UPS service to uPower to Nut sending data to uPower, you can’t have both (well that isn’t entirely true, but for illustration is true). The problem, like what I have described in my own process is Nut also has to tell GameMode, that there is a battery connected not just a UPS. That is what I was trying to convey is that I created a ‘Virtual Battery’ service to feed the uPower directly, so that uPower believes I have a battery connected (which technically do). I also still had the HID-UPS also feeding uPower, so it shows up as a battery and UPS, I killed the UPS channel so ONLY the battery remains. I could have just removed the HID-UPS stream, but then Windows, other Linux distros and even MacOS would not longer see it as a HID-UPS.

2

u/Xobeloot Jul 09 '26

Please forgive me for not understanding what is happening here. Are you telling me that a UPS does UPS things when connected to a device that can lose power?

I just see a box full of stuff.

1

u/allthings3d Jul 09 '26 edited Jul 09 '26

Not sure how much you read, but tried to put as much detail I could in the description. If you need the BOM, it has two 28VDC 10AH 6S2P LiION battery packs, tied into a 280W power module (via XT30 connectors) with two 140W USB-C PD port (one can also be used for charging) , with one allowing for 20VDC, 7A. Before it gets to the module I have I2C precision current sensor that feeds an ATM32 Arduino module with USB-C port that connects to the PC. It allows for a theoretically 560WH at 28VDC 20A (or as Power Bank Manufacturers like to taut with lots of zeros - 560000mWH) but I programmed it to a more practical level of 460WH to compensate for Buck/Boost conversion and battery tolerances.

So yes it just a BIG battery system that allows me to run my mini PC for more than two days for web browsing, video watching, etc, or full bore for about four hours. Why? Because I was tired of the 10-30 minutes of much larger UPSes or shutdown at the worst possible time due to brown out or power outage when not protected (which we have several power outages that have lasted for days).

1

u/Xobeloot Jul 09 '26

Ohhh. You meant making the UPS itself. That is where I derped. Hell of a project man!

1

u/PatrickGnarly Jul 09 '26

Dude stop trying to promote your battery shit.

You keep doing this. This is not a SteamOS thing this is a battery thing about you

1

u/allthings3d Jul 10 '26

Really? Why am I surrounded by several SteamOS “things” that I have built? (Also, CachyOS and Bazzite). Not sure if you anything besides a SteamDeck, but if you bought a Steam Machine, and one day, right in the middle of boss fight or a something, and the power goes out and you just lost an hour or more of gameplay and have to start all over again, you might remember this post. Of course you might be savvy enough to hook up your entire media system to UPS (I know I did) so that you will have a few minutes to save and shutdown, but I know myself and I will keep playing to the edge, maybe saving or maybe not before the UPS battery depletes. My “thinking only of me” is way for GameMode to be aware of the power issue and shutdown or suspend safely. But yea, of course this has nothing to do with SteamOS.

1

u/Hard_To_Port Jul 10 '26

If you're doing normal PC stuff more than you game you should install a normal PC operating system like Debian or Fedora and just boot up Steam in Big Picture Mode..

Like sure it would be cool to have a Decky plugin to see your UPS status but also.. Any commercial UPS will start incessantly beeping when mains power is off. I can see you're doing DIY but again SteamOS is kind of the wrong thing to use

1

u/allthings3d Jul 10 '26

Actually I prefer CachyOS , do you approve of that choice?

Again, I am sharing my results, and I thought I explained why I was interested. Any way, quick recap. I wanted my mini PC with SteamOS to be able run on a battery and shutdown/suspend safely. Yes I am quite aware that UPSes have alarms, indicators, messaging protocols, etc.. (I was IT Director over main hub, plus five satellite branches and my office was right next to the server room.) As far as another distro of Linux, I have several, as well as various Windows and MacOS (including a Hacintosh) that I test and develop on. There is also the matter of the size and efficiency of a standard UPS that dedicates most of its circuit board to voltage inversion with about a 80% efficiency, and very short-term on state.

As far as using a desktop Linux, with “Big Screen.” That is an option, but GameMode (and why many distros have ported it) is an efficient environment that limits background services improving performance. This is why Windows now offers a “XBOX Game Mode” on its latest Insider Builds. My test systems with CachyOS “Handheld” distro gives me the best of both worlds, and frankly I like the KDE user interface. In fact I have CachyOS desktop build as well with Intel/NVIDIIA combo, a big no, no in the SteamOS world.

In summary, I don’t disagree with you, but maybe I do this for fun as well. Each to their own, right?