uureel / batocera.pro

This repo is scheduled for phase out // Unofficial apps for Batocera, installation info below
http://batocera.pro
GNU General Public License v3.0
174 stars 37 forks source link

Freeze when exiting Steam #44

Closed scanti2 closed 1 week ago

scanti2 commented 4 months ago

I have a problem when running a game from Steam using the Steam shortcut in the Batocera menu.

If I exit Steam using the left side menu while the game is running, I exit back to the Batocera menu as I should.

However, if I exit the game first, taking me to the Steam front-end and then try to exit Steam I get a black screen with a Valve logo in the middle, surrounded by a rotating semi-circle, waiting thingy. If I try to force exit using alt+f4, I get a black screen.

I can still swap tty terminals using ctrl+alt+function key, but the Batocera front-end won't restart.

I've come up with a kludge that seems to work.

In Steam, in the game properties if I change the command line parameters to:

%command% ; (sleep 10 ; steam -shutdown) &

This seems to work. The sleep command gives Steam Cloud time to kick in and using steam -shutdown instead of pkill steam gives Steam Cloud time to finish.

I was wondering if there was a way to automate the process.

ghost commented 4 months ago

don't know how to automate that, but if it hangs, killall -9 steam and killall -9 emulationstation usually will get it es back.

ghost commented 4 months ago

you also didn't say if you were exiting the game via the overlay in bpm or cleanly exiting the game through the game's main menu exit option. For me, the latter doesn't cause steam to hang when closing it.

scanti2 commented 4 months ago

Sorry, when I exit the game via the game's menu is when I get the freeze.

It could be because I use an Nvidia card (T600). I know Nvidia and Linux don't get along sometimes.

I'll keep using my fix. I was just being lazy to see if there was a way to automate it.

Oh, and I'm using the older downloadable version of the container instead of building it from scratch, as I was getting authentication errors when I tried to build it.

ghost commented 4 months ago

Could be Nvidia.. Try rebuilding/updating the container after 24 hours. The keys/mirrors/packages are constantly in flux; usually they'll just work again after trying again later. I'm using AMD on mine.

scanti2 commented 4 months ago

I'll try rebuilding tomorrow. Thanks for your help.

scanti2 commented 4 months ago

I tried rebuilding and I still got the verification errors.

I had a look at the script and it seems that the repos have changed the archive type of archlinux-bootstrap-x86_64.tar.gz to archlinux-bootstrap-x86_64.tar.zst.

I tried changing the bash script and running it. It downloads and verifies the bootstrap but fails later in the script. I think the conty environment needs to set first? My Linux experience is limited. I tend to try it for about 3 weeks, until I break everything.

ghost commented 4 months ago

I fixed the script to work with the zst change.. seems to work.

scanti2 commented 4 months ago

The rebuild worked. Thanks for updating the script. When I was changing it I used zstd to decompress, maybe that caused my version of the script to fail.

I still get the freeze exiting Steam when running a game from a shortcut but my fix still works, so I'll keep on using that for the time being. The "killall -9 steam" command got me back to the Batocera front-end, so I didn't have to "shutdown -r now" each time I tested stuff.

Thank you for all your help.

ghost commented 4 months ago

downgrading from v40beta to v39 seemed to help mine. Still took a bit of time for steam to close out though.

ghost commented 4 months ago

working on latest v40 build too for me.

uureel commented 4 months ago

The rebuild worked. Thanks for updating the script. When I was changing it I used zstd to decompress, maybe that caused my version of the script to fail.

I still get the freeze exiting Steam when running a game from a shortcut but my fix still works, so I'll keep on using that for the time being. The "killall -9 steam" command got me back to the Batocera front-end, so I didn't have to "shutdown -r now" each time I tested stuff.

Thank you for all your help.

@scanti2 thx for input, mostly issue with steamspaghetti: spawns 30+ processes on launch and doesn't drop them all at all, so then it's also an ES issue: that one gets stuck in limbo thinking steam still runs;

moved entire steam system to a generator; this will enable pad2key -> hotkey+start to run the killalls on gamepad, and also a separate xbindkeys script to handle keyboards -> alt+escape will force-close steam stuff;

also ads stuff like picking desktopmode or bigpicturemode; seems to work ok, will merge some time in spare time after cleanups

image

cyberbol commented 4 months ago

Anyone can help me, please. Sorry for my English., I downloaded from arcade website 1tb image with games and batocera v39. Everything works fine, but i tried to install also Steam. Unfortunate either installing by flatpack or from here its not opening. Steam or Big Screen Steam not opening. Black screen for few second and back to menu. Any idea ?

ghost commented 4 months ago

Anyone can help me, please. Sorry for my English., I downloaded from arcade website 1tb image with games and batocera v39. Everything works fine, but i tried to install also Steam. Unfortunate either installing by flatpack or from here its not opening. Steam or Big Screen Steam not opening. Black screen for few second and back to menu. Any idea ?

With a preconfigured image, who knows what they did? That's why the batocera team doesn't support premodded/premade images.

uureel commented 1 week ago

this repo is scheduled for phase out