Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't type a name for a save game on a Steam Deck (though quicksave works) #5710

Open
mikehgentry opened this issue Jan 11, 2024 · 13 comments
Open

Comments

@mikehgentry
Copy link

mikehgentry commented Jan 11, 2024

Observed behaviour

The game actually works reasonably well with a bit of tinkering on a Steam Deck. The major sticking point is that it seems to be impossible to save (possibly you could do it with an external keyboard?).

I can click the 'Save' button in the menu, which opens the save dialogue. I can click into the box for the name, and it'll give me a flashing cursor. I open the onscreen keyboard with Steam key + X. But typing doesn't appear to do anything - the box is obscured by the keyboard *, but once the keyboard is closed it's empty and seems to have lost focus (there's no cursor any more), making it impossible to actually save.

Expected behaviour

Can type a name for a saved game, or failing that be given an autofilled name.

Steps to reproduce

Hit a button bound to 'Esc', hit 'Save', hit the bar to type the name in, open the onscreen keyboard, try typing.

My pioneer version (and OS):

20231206 (from flatpak), SteamOS 3.5.7

Unfortunately I can't find any logs **, but I'm guessing they wouldn't say anything useful anyway. Let me know if there's anything useful I can tell you - it actually works surprisingly well on the platform, so would be amazing if you can figure out a way to fix it!

Cheers

* I've just discovered you can hit the menu key to move the keyboard. Neat!

** For the record, they're in /home/deck/.var/app/net.pioneerspacesim.Pioneer/.pioneer

@impaktor
Copy link
Member

Technically, we only support Windows & GNU/Linux computers, so this issue could be closed, unless someone wants to spend time tinkering on this.

Either way, thanks for letting us know. Never heard of pioneer + steam deck before.

@mikehgentry
Copy link
Author

mikehgentry commented Jan 12, 2024

SteamOS is a custom immutable Arch installation with a wayland compositor called Gamescope (which runs like a console), but with a few button pushes it'll load KDE instead.

So it's got its quirks, but it's probably closer to a normal Linux box than you'd expect.

edit - You'll find [possibly outdated] images here if you want to give it a whirl, don't see why it shouldn't run in a VM, though no idea if it's going to have the same onscreen keyboard + bug. I'll try it myself when I get the chance, and will update https://store.steampowered.com/steamos/buildyourown

[late edit - I've had a closer look and the only images you can find now are the Steam Deck recovery ones, presumably not one suitable for running in a VM. There's an unofficial project rebuilt from source here, https://github.com/HoloISO/holoiso , but not all of SteamOS is open, so I imagine that's going to be of limited use for bug reproduction]

@mikehgentry
Copy link
Author

Aha! I forgot there was a quicksave. That's usable, so the game is officially playable :)

(I suppose you could copy the quicksave file to different names in the file manager, but that's definitely awkward, so still hoping for a fix ideally)

@mikehgentry mikehgentry changed the title Can't save (can't type a name for the save) on a Steam Deck Can't type a name for a save game on a Steam Deck (though quicksave works) Jan 12, 2024
@Web-eWorks
Copy link
Member

So - this is a bug that unfortunately is hardware/platform specific with no way to reproduce or dig into without having the hardware in question. As a result, it's going to be very low priority unless I or someone else who does engine-level work happens to buy a Steam Deck or other SteamOS-based (e.g. ChimeraOS) handheld in the future.

While we've definitely been inching towards unofficial compatibility with controller-based navigation and handheld game consoles over the past years, Pioneer is still officially targeted only at desktop/laptop Windows and Linux machines with physical keyboard+mouse input devices. It's unlikely this will be fixed in the short term unless someone who has a Deck and knows enough C++ to dig around in the engine guts is willing to learn the codebase.

@mikehgentry
Copy link
Author

mikehgentry commented Jan 14, 2024

That's understandable.

I suppose one way of working around it would be for the game to automatically propose a name for a saved game based on the date / time (and maybe location?). Lots of games (and other programs) do this. If the name is pre-selected when the menu opens you only have to start typing to override it (or of course you can just click on a saved game that you intend to overwrite).

One interesting observation: you can type in both the save game menu and the search box in the starmap in Desktop mode, it just doesn't work in game mode. But even in desktop mode, backspace doesn't do anything.

edit: And it seems (probably unsurprisingly) this has happened in other games too https://www.reddit.com/r/Ryujinx/comments/xchot0/steam_deck_software_keyboard_input_not_working_in/

@impaktor
Copy link
Member

would be for the game to automatically propose a name for a saved game based on the date / time

Yeah, I like that idea. It has not been proposed before.

@Zireael07
Copy link

Thirding automatically proposing a date-time name for savegame

@mikehgentry
Copy link
Author

You could even put it on a button in the saved game menu if you didn't want it to do it by default.

[my obvious bias is obvious :) but anyway, I've verified that copying the save to different names through the file manager works, and you can load them and overwrite them in game, so that's an acceptable workaround for me whatever the outcome!]

@mikehgentry
Copy link
Author

I just found this. Looks like the original complaint is probably a SteamOS issue, not a Pioneer issue after all.

ValveSoftware/SteamOS#1053

@Web-eWorks
Copy link
Member

That certainly matches my expectations - we don't do anything strange when it comes to handling SDL events and as long as keydown/keyup inputs are being sent properly then Pioneer should "just work". I'll keep an eye on that issue.

@impaktor
Copy link
Member

for the game to automatically propose a name for a saved game based on the date / time

Looking at who has worked on this file in the past, I invite @mike-f1 @cwyss or @Max5377 to have a crack at it. (the former two might be shocked by the many changes in maser since last time).

@mikehgentry
Copy link
Author

From @bertogg in the above linked SteamOS thread. I can confirm this works!

Hi, if it's a Flatpak app, can you try setting the environment variable SteamDeck=0 ?

In Steam go to the game -> settings button -> Properties and in LAUNCH OPTIONS there should be something like:

"run" "--branch=stable" "--arch=x86_64" ...

Add the variable after "run" so it looks like this:

"run" "--env=SteamDeck=0" "--branch=stable" "--arch=x86_64" ...

It works around the problem with GZDoom for me, but if you can verify this with other games I would also appreciate it.

Thanks!

@Web-eWorks
Copy link
Member

Web-eWorks commented Jan 23, 2024

Excellent! I've done some digging into the transitively-linked issues and while there's technically the potential of a workaround from the application side to both have text input and also onscreen keyboard input, there's a possibility this issue will be addressed in SDL 2.30+ so I'd recommend to keep using the environment variable override for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants