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

Features for SteamDeck compatibility #18

Closed
actuallySIG opened this issue Dec 5, 2024 · 8 comments · Fixed by #19
Closed

Features for SteamDeck compatibility #18

actuallySIG opened this issue Dec 5, 2024 · 8 comments · Fixed by #19

Comments

@actuallySIG
Copy link

Greetings.

I would like to publish games for the SteamDeck certified as Verified on the compatibility ranking (see here: https://partner.steamgames.com/doc/steamdeck/compat#DeckCompatibilityChecklist). For this, it seems the extension would need to implement most of ISteamInput for controller support, as well as parts of ISteamUtils, specifically the functions related to text input via the on-screen keyboard, such as ShowGamepadTextInput(), ShowFloatingGamepadTextInput(), GetEnteredGamepadTextInput(), and GetEnteredGamepadTextLength(). Can support for these features be added in the extension?

Thank you.

@britzl
Copy link
Contributor

britzl commented Dec 23, 2024

Started working on this: #19

@britzl
Copy link
Contributor

britzl commented Dec 29, 2024

@actuallySIG could you please try this version and let me know if it works as expected?

https://github.com/defold/extension-steam/archive/refs/heads/Issue-18-steamdeck-compatibility.zip

@actuallySIG
Copy link
Author

actuallySIG commented Jan 3, 2025

@britzl I'd love to test it, but I've run into an issue. I'm currently using a Linux machine running Ubuntu 22.04, and whenever I try to build a Defold project with the extension imported, the build fails and I receive an error message in the console stating:
"dmengine: error while loading shared libraries: libsdkencryptedappticket.so: cannot open shared object file: No such file or directory"

I'm experiencing this issue both with the version you provided here, as well as with the latest release (1.3.0). I'll try testing on a Windows machine when I get the opportunity.

Edit: This seems to be a broader issue. I've now tested the latest release of the extension on several versions of Defold (1.8.1, 1.9.0, and 1.9.6), on both Ubuntu 22.04 and Windows 10. Regardless of the Defold version or the OS, whenever I try to build a project where the extension is added as a dependency, the build fails when trying to launch dmengine. The only difference is that on Ubuntu, Defold displays an error message (see above), whereas on Windows, there's no error message displayed at all, it just hangs on "Launched Local dmengine.exe".

Weirdly enough, the issue occurs even with projects where the Steamworks API is not referenced at all in any script. I would just load one of the tutorial projects, add the extension as a dependency, try to build the project, and the issue would occur.

@britzl
Copy link
Contributor

britzl commented Jan 6, 2025

I'd love to test it, but I've run into an issue. I'm currently using a Linux machine running Ubuntu 22.04, and whenever I try to build a Defold project with the extension imported, the build fails and I receive an error message in the console stating:
"dmengine: error while loading shared libraries: libsdkencryptedappticket.so: cannot open shared object file: No such file or directory"

This is the same as #9

It should work when you bundle though?

@actuallySIG
Copy link
Author

@britzl I see, that makes sense. I thought that by building the project I could check if the new functions are called at all, before bundling the project and actually testing it on Steam.

After bundling the project, I was able to summon the virtual keyboard in Big Picture mode via utils_show_gamepad_text_input(), but not with utils_show_floating_gamepad_text_input(). There might be something wrong with my test scenario, so I'll keep working on this and see if I can summon the floating keyboard.

@britzl
Copy link
Contributor

britzl commented Jan 9, 2025

I was able to summon the virtual keyboard in Big Picture mode via utils_show_gamepad_text_input()

Great!

but not with utils_show_floating_gamepad_text_input(). There might be something wrong with my test scenario, so I'll keep working on this and see if I can summon the floating keyboard

I haven't tested these functions myself. Do you know if there is a way to test this when running in normal desktop mode?

@britzl
Copy link
Contributor

britzl commented Jan 9, 2025

Do you know if there is a way to test this when running in normal desktop mode?

Ah, I am able to switch the steam client over to Big Picture Mode, but to test I suppose I also have to launch the game from Steam somehow?

@britzl
Copy link
Contributor

britzl commented Jan 9, 2025

but to test I suppose I also have to launch the game from Steam somehow?

It seems like I can get the gamepad text input to work while having steam in Big Picture Mode. I updated the example to show how to get the text from the steam listener function.

https://github.com/defold/extension-steam/blob/Issue-18-steamdeck-compatibility/examples/utils/utils.gui_script#L24-L33

@britzl britzl closed this as completed in #19 Jan 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants