ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.21k stars 174 forks source link

-no-browser and -noreactlogin removal #9031

Open UFeindschiff opened 1 year ago

UFeindschiff commented 1 year ago

Your system information

Please describe your issue in as much detail as possible:

The latest Steam Client Beta removed support for the -no-browser and -noreactlogin flags with the client giving a warning about their removal and the instruction to inform Valve in case that causes any issues which is exactly what I'm doing here.

There is still an open issue with steamwebhelper having a memory leak, leading to insane amounts of memory usage after some time (issue #7266 ). As this issue is currently still unfixed, removing the only workaround (disabling the web component) seems like a very bad idea as it leaves users like myself with a Steam client which eats up multiple gigabytes worth of memory after a few hours of running in the background. While I personally have 128GB of memory installed and therefore it's not the end of the world if Steam uses 10 of them, people with less memory will most certainly greatly feel that impact. I therefore ask to either keep/bring back the -no-browser and -noreactlogin flags until that issue is fixed.

Another thing worth noting: If hardware is ever mentioned in any of the many reports about the steamwebhelper not working properly, most often an nVidia GPU is installed (as is on my machine). Maybe it's some issue about CEF not working properly with the proprietary nvidia driver... or maybe it's just one of many Chromium memory leaks which are marked as WontFix in the Chromium bugtracker...

I would ask you to either bring back support for using the Steam client without web functionality or - should you insist that a WebUI is the way going forward - maybe have a fallback embedded browser that isn't Chromium for the people having issues with it.

Steps for reproducing this issue:

  1. Start the Steam client and log in
  2. Let the client run for a few hours. Maybe browse your library and the store and chat with a few friends here and there
  3. Watch as steamwebhelper processes consume gigabytes of memory
kisak-valve commented 1 year ago

Hello @UFeindschiff, there's no value in fragmenting the discussion of the memory leak you're seeing across multiple issue reports. Let's use this issue report to focus on the removal of those launch options.

My understanding is that they were intended only for troubleshooting purposes and that they weren't supposed to be used as a long term workaround. We'll need to hear from a Steam dev if there's any intent to bring them back.

sol8712 commented 1 year ago

@UFeindschiff -no-browser fix: https://github.com/ValveSoftware/steam-for-linux/issues/9031#issuecomment-1442673589

I use Lutris launcher to keep all my various steam/origin/epic/emulated/vr games together and ready to easily play, i can see steamwebhelper using cpu time and ram unnecessarily, as someone running modern vr games on a gtx970 and a 12 year old i7, 2-3% cpu that steamwebhelper takes is just barley the difference for me being able to run these games, or having to spend hundreds more to be able to.

You can bet im not spending money on hardware so i can finally run steamwebhelper while playing HL Alyx. =P

sjnewbury commented 1 year ago

There was another big gain from using -no-browser: VRAM usage. With -no-browser, the steam client uses virtually no GPU memory, with the browser I've seen it use ~1GB, that 's a lot for lower end hardware.

Also, I'm currently experiencing a crash on attempting to launch the steam client on Gentoo, but I haven't made a bug report because I can't narrow down the cause as yet. I have been trying use -no-browser to eliminate steamwebhelper, especially since I managed to get a backtrace pointing to libv8. I had no idea it wasn't posible anymore.

mathew2214 commented 1 year ago

i would also appreciate once again having the option for a steam client that doesn't need excessive system resources. Steam worked just fine without a Chrome instance, why is it suddenly required now?

Wooty-B commented 1 year ago

Although not a supported platform, Steam is now broken on ARM platforms due to react login not working properly. I've used this as my daily workstation for over 2 years now so this is a truly sad day... So please release a native ARM client or consider creating a new flag for these use cases. Thanks!

BorisVjv commented 1 year ago

Why the Steam Dev removing the best feature that ever exist. the -no-browser ????

this shit was game changer!! it increase PC/Laptop performance by A LOT!!! WHILE PLAYING GAMES.

I DONT CARE ABOUT YOUR STUPID UI/web fkng browser YOU TRYING TO IMPLEMENTED.

I JUST WANT TO BOOT STEAM AND PLAY GAME. WHILE STEAM NOT KILLING MY RAMS.

THE PEOPLE BEHIND STEAM DEV IS DEAF AND SO STUBBORN.

IDK WHO TOLD THEM TO REMOVE THIS FEATURE. NOT EVERYONE HAVE NASA COMPUTER AT THEIR HOME.

REVERT THIS CHANGE. RE-ADD THIS -no-browser ???

you guys act like you read the "DATA". that only 1% of user is using it... where is that data even come from???

even so... by removing the feature whats gonna do to your stupid UI/web Browser ??? is removing the feature is increasing performance ??? it's not !!!

SO... BE A GOOD DOG AND LISTEN TO YOUR MASTER... THE USER... WHO PAID YOUR BILL.

FCKIN JACKASS DEV'S

mathew2214 commented 1 year ago

I agree with @BorisVjv statement completely. If valve's gonna force everybody to use the new system, at least make it objectively better than what we had. Software is supposed to become more optimized and demand less resources at a project evolves. Not the other way around.

Valve, Steam client itself shouldn't be such a huge burden. Why the hostility towards those trying to use older systems and want all of their horsepower to go to games? I am asking for an explanation of why Valve as a company seems to no longer care about the little guy, the 1%. I used to praise valve for being one of a very few companies that cares about the edge cases. Recently there's been a series of decisions at Valve like this that go in an opposite direction, I could list them. Why is Valve giving up on accessibility? You're pushing people and customers out of your community and ecosystem.

Steam client updates should make things MORE accessible and compatible. Not less.

SFort commented 1 year ago

the statment by borisVjv is extreamly rude but frankly i can relate to it. valve made the only launcher that didn't lag for years. this has now changed and i have purchase regrets. if i could move off steam, i'd now do it in a heart beat. on top of this being very bad for performance, the new ui is compleatly broken and doesn't let me join a friends lobby like it used to, now i need to explicitly have invites to games. i understand that users that wish to use the old client are a miniscule minority, but this is still needlesly cruel. used to jokingly cite steam whenever someone said any monopoly is a bad one and that has really come back to haunt me.

sol8712 commented 1 year ago

The equivalent of -no-browser is having a command run on boot to remove "execute" permissions from the steamwebhelper file. For Ubuntu and similar distros add this to your startup applications. For other distros just adjust steam path.

chmod -x "/home/USER/.steam/debian-installation/ubuntu12_64/steamwebhelper"

To start Steam normally run the command with chmod +x and web features instantly start working again.

@BorisVjv Github is not the place for these remarks nor will they reach the audience your hoping for, please bring this topic up on places like Reddit and Twitter to promote awareness of the bigger issue, the fact that you dont actually own your games on these services and they can (and sometimes must) update their infrastructure and essentially lock people on lower end hardware out of the games they paid for that work just fine on that lower hardware. Game devs can also force updates on you that break your compatibility with your games(like Skyrim or GTA).

Back when Steam launched many knew problems would arise like this in the future, but we were called crazy or that it was worth it for the convenience. Just the last few years the public is starting to see the problems, now people are starting to actually feel it. Only public pressure can make change.

mathew2214 commented 1 year ago

Replying to https://github.com/ValveSoftware/steam-for-linux/issues/9031#issuecomment-1442673589

removing execute perms from steamwebhelper renders the friends system completely inaccessible. also makes big picture mode inaccessible. BPM is necessary to change game properties and was even when -no-browser was still allowed. -no-browser hasnt been able to get the normal game properties window for quite some time.

while chmod -x steamwebhelper is effective at reducing system load, i wouldn't say its anywhere near the equivalent to -no-browser. i'm beginning to think that my days of using Steam might actually be near their end. My days of buying games there certainly are, at least until a more viable workaround to steamwebhelper is found. The load and instability of this new client is just intolerable now.

mathew2214 commented 1 year ago

i found somewhat of a workaround, its far from good, but somebody might find it useful. remove execute perms from steamwebhelper use a web browser of your choice to access the friends network in a separate window. you should then be able to use the steam client to launch games, but thats it. inviting/joining friends via the browser window sometimes works and soemtimes doesn't. i have no idea why its inconsistent.

Valve, please fix.

mathew2214 commented 1 year ago

steam now refuses to launch when attempting my previous suggestion. it mustve been patched. Valve's hatred of its community is starting to become very obvious.

so here's what i did to workaround now. this is how im gonna be using Steam for the forseeable future. Valve's servers are still hosting acceptable versions of the steam client. i have attached a file containing links to valve's servers. dllist.txt. dllist.txt

download this file into a new folder, we will recreate the Steam Client execs. Library folders and configs are not touched. wget -i dllist.txt unzip "*.zip*" rm -rI *"\\"* that last rf command removes some needless things that were created by my lack of expertise of using wget. there may very well be a better way to do this, but im unaware of it.

we should now have a Steam client of the version that still allows browserless. now we can just cp -rf ./ <steam location>

your system steam installation is now of a version that allows -no-browser. to run it, we must stop Steam from realizing what we've done, because it will try to force us to use an unreasonably heavy browser otherwise. Steam client in this state MUST be launched with steam -noverifyfiles -nobootstrapupdate -skipinitialbootstrap -norepairfiles -overridepackageurl -no-browser and that's how im running Steam currently.

credit to https://steamcommunity.com/id/deets for posting https://steamcommunity.com/groups/SteamClientBeta/discussions/3/3710433479207750727/?ctp=23#c3763355849153058822 this person is the real hero here. i am just relaying the message.

UPDATE: it seems Valve has changed some things in their servers and this download list no longer works. shame, since using the updated client doesnt work at all. thanks valve.

sol8712 commented 1 year ago

Just make sure you do the chmod -x steamwebhelper on boot automaticly using crontab or your system menus itll keep the chromium processes from running.

sol8712 commented 1 year ago

Ignore my previous post it seems that the current way of disabling steamwebhelper has been nerfed.

It is still very possible however, and im working on a clean workaround to keep the -no-browser function working.

Steam uses half of the cpu on idle with steamwebhelper disabled, this is especially important for running VR on lower spec systems.

sol8712 commented 1 year ago

Fix: To disable steamwebhelper while keeping Steam running just run like this:

steam & sleep 30 && kill -s SIGSTOP $(pgrep steamwebhelper) If you put this into a file to launch dont forget the #!/bin/bash at the beginning of the file.

This starts Steam then 30 seconds later stops steamwebhelper from running without removing the processes. This will create zombie processes but they can be safely ignored.

If anyone wants the Windows equivalent of this pm me.

neofeo commented 1 year ago

come on.... if Valve want to push Linux as a Steam platform it must allow us to execute steam without the browser! this is super unfair.. for some reason, the linux client consume a lot more ram than its windows counterpart, probably the windows steam browser is better optimized or the task manager its just laying... but hey, we need the option to disable the steam browser, even if its just for playing the games and not at every launch.

mathew2214 commented 1 year ago

yeah, valve no longer cares about accessibility. they fell for the "everything in the future is chrome" meme. im using my workaround to run the outdated steam client until they revert this.

UFeindschiff commented 1 year ago

I don't think using an outdated Steam is a good idea going forward. Lots of things will break soner rather than later. This is evidenced by the people who kept using an older version of the Steam client back when Valve was forcing the terrible new Library-UI against the will of much of the community. The people who kept using the older Steam client eventually ended up being unable to launch many games due to some manifest changes.

I think at this point it has become clear that Valve has started to embrace the Web-UI - the current Steam Client Beta removed VGUI elements completely and replaced them with web-UI elements, partially offering a much worse UI like the new Screenshot uploader which is absolutely terrible. The only good things that came from this is that they finally addressed GPU acceleration being broken on nvidia cards for many, many years and that they finally replaced that absolutely horrible VGUI file picker with a native file picker.

I think the best thing that could realistically happen going forward would be for Valve to release a proper documentation for the Steam WebSocket which would allow the community to implement their own lightweight UI.

mathew2214 commented 1 year ago

I don't think using an outdated Steam is a good idea going forward.

agreed. but Valve has forced my hand here. its hard to play games when the Steam Client itself is a significant strain on the system. new looks are fine, new backend and new features are fine. but updates to any software project should increase accessibility, not the opposite. a complete overhaul should make things perform better. valve's "everything must be chrome" stance has the opposite effect.

i believe i speak for quite a few people saying that my only gripe with the new Steam client is the unacceptable system load it induces. if chrome-steam ran just as fast, and used equal-to-or-less system resources than --no-browser, then this whole controversy would just disappear.

I think the best thing that could realistically happen going forward would be for Valve to release a proper documentation for the Steam WebSocket which would allow the community to implement their own lightweight UI.

agreed. i would love to see a community-made client frontend! is X11 even necessary? can we make a client that uses ncurses or emacs? maybe make a systemd daemon to simply interface with? so many possibilities.

neofeo commented 1 year ago

There is an attempt here https://github.com/20PercentRendered/opensteamclient

I am testing Steam on ARM Linux with an x86_64 emulator... steam alone, even on small mode consume like 2.4 GB of RAM, that's overkill for just a client to launch games....

SFort commented 1 year ago

There is an attempt here https://github.com/20PercentRendered/opensteamclient

Cool now we just need something that handles steam friends and valve to not refactor the client binaries