mirror of
https://github.com/jpochyla/psst.git
synced 2026-04-27 15:35:56 +03:00
[GH-ISSUE #528] Feature request: Kiosk Mode on Raspberry Pi #320
Labels
No labels
api
bug
build
documentation
duplicate
enhancement
good first issue
help wanted
idea
invalid
linux
lowprio
macos
pull-request
upstream
windows
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/psst#320
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Tilogorn on GitHub (Sep 25, 2024).
Original GitHub issue: https://github.com/jpochyla/psst/issues/528
Is your feature request related to a problem? Please describe.
As per my research
Psstis currently the best (if not only) solution that provides a stable Spotify GUI on ARM-based systems. Unfortunately, Psst does not support a "kiosk" mode, which would allow many makers to create Spotify-based media centers without the hazzle of Desktop UI around the Psst window.My specific use case is my 5 year old son who likes to listen to his audio books on Spotify. I am creating an embedded "Spotify Player" based on a battery-powered Raspberry Pi 5 in a custom housing with built-in speakers. He is able to learn to use the Psst GUI (thanks to album image support!), but he can't do anything with the system menus. And if he were to close the Psst window by mistake, he wouldn't know what to do.
Describe the solution you'd like
I'd like to have a
psst-gui --kioskflag that opens the GUI in fullscreen, as e.g. Chromium and Firefox offer it. Closing the Psst window or accessing the Desktop UI should not be possible anymore. See this official tutorial to get an idea, if this is new to you.Describe alternatives you've considered
Of course I stumbled upon Volumio, but their audio board compatibility lacks of newer boards (my WM8960 is not supported) and their system image is still based on Debian Buster, which is end-of-support since a while.
The second best option would be to run Spotify in a native browser in kiosk mode, but Psst is of course a lot more performant.
Additional context
@SO9010 commented on GitHub (Sep 25, 2024):
Hello, I am happy to have a look at this 👍
@Tilogorn commented on GitHub (Sep 25, 2024):
Glad to hear! Let me know if I can do anything to support you. I'll be available for hardware testing of course.
Feel free to contact me regarding the compensation.
@SO9010 commented on GitHub (Sep 25, 2024):
@Tilogorn I've had a crack at it; you are welcome to go to my branch: https://github.com/SO9010/psst/tree/kiosk-mode, where you can download it and try it yourself and give me some feedback. I have also mentioned what I have done in PR #533, which I encourage you to look at. After you are happy with the implementation, I'll message you about compensation :)
@Tilogorn commented on GitHub (Sep 26, 2024):
@SO9010 Wow, that was quick! Sorry for the dumb question, but can you specify "download"? The links in the README certainly point to the official (master) binaries and I cannot find any compiled versions in the source itself. Do you think I should compile the source code myself under ARM? Then I will give the
Buildingsection in the README a try.@jacksongoode commented on GitHub (Sep 26, 2024):
I'll review the changes tomorrow and it will become apart of the official binaries, which arm Linux is one of them. However, I think you might need to build it for the Pi architecture as it's typically different.
@SO9010 commented on GitHub (Sep 26, 2024):
@Tilogorn, sorry, my bad for not specifying; yes, you need to compile it yourself if you want to test it before @jacksongoode merges it. If you have rust and cargo installed, all you have to run is: cargo run --bin psst-gui -- --KIOSK and that should be it. If you have any issues with that just ask me :)
Also, @jacksongoode, the Aarch64 architecture is the arm, which is the processor that the Pi runs, so it should be fine.
@Tilogorn commented on GitHub (Sep 26, 2024):
I was able to compile it on my Pi. Thanks to your instructions, @SO9010!
To get this running on ARM, one library was missing though:
libc6-dev-arm64-cross(hint from SO). You might want to add this to your build instructions.Unfortunately, there is no Kiosk behaviour noticeable.
Sorry, terminal output is German, but the last line is saying "unknown option: --kiosk". I tried uppercase (your last reply), lowercase (your PR), and
--k; its always unknown.Let me know if I can help with troubleshooting.
@SO9010 commented on GitHub (Sep 26, 2024):
Heya, I suspect you didn't switch to the correct branch.
Try
git checkout kiosk-modeThen
git pullIf you used the jpochyla repository you need to install it from from my repository
git clone -b kiosk-mode https://github.com/SO9010/psst
I'll give this a better look through on Linux tomorrow.
@Tilogorn commented on GitHub (Sep 26, 2024):
I am used to git (software engineer myself) and I def cloned your repo and directly switched to the kiosk-mode branch. I‘ll have a look at the git hash tomorrow in Psst settings, that should clear things out. Am 26.09.2024 um 22:09 schrieb Samuel Oldham @.***>:
Heya, I suspect you didn't switch to the correct branch.
Try git checkout kiosk-mode
Then git pull
If you used the jpochyla repository you need to install it from from my repository
git clone -b kiosk-mode https://github.com/SO9010/psst
I'll give this a better look through on Linux tomorrow.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
@SO9010 commented on GitHub (Sep 26, 2024):
Ok so I just looked at it, the value is still being passed through so I'm not sure why the error is there.
There is still an issue where it doesn't maximise and show the preferences window when on initial set up in kiosk mode.
@Tilogorn when it's being run with -- --kiosk does the log in screen have a title bar?
@SO9010 commented on GitHub (Sep 27, 2024):
Im just setting up my own raspberry pi so I can properly test and troubleshoot it my self :)
@Tilogorn commented on GitHub (Sep 27, 2024):
Hi, sorry, I have just the evenings (CET) for my side projects. If you have a Pi that will easify debugging a lot probably.
I just pulled, build and made pictures with and without config.json. Its maximized, but not full screen. Title bars shown, settings cog is gone.
Regarding the „unknown option“. I am not sure, but is --help showing the paramter? Is there maybe some command line args library involved that builds the help and must know every parameter?
Tbh I would not spend to much effort into the settings. Everyone will setup the application in „normal“ mode and change to Kiosk once everything is set up.
@SO9010 commented on GitHub (Sep 27, 2024):
Thank you for this. I have looked into this and took your advice about putting a little effort into the settings. I even made it simpler. If not set up yet, the settings and log-in page start small and not maximised but are set to be always on top.
I had a deeper look into Druid (the UI framework being used), and unfortunately, it cannot go full screen like Firefox.
Because of this, there will be more steps to set up on devices such as the PI. You have to remove the top bar by right-clicking it and clicking "Delete this panel" do be warned that this cannot be easily un-done.
I'm pretty sure that the title bar should be removed now. However, my Raspberry Pi is number 2b, so it's a bit old, so I couldn't test it there. But I did test on LXDE, so it should be alright.
Do let me know if this didn't sort it :)
@SO9010 commented on GitHub (Sep 27, 2024):
@jacksongoode after this feature has been resolved I think the README is need of an update, notably the credits section says no async is being used, then I'll go through the build instructions and improve it and also explain how to use kiosk mode.
What do you think?
@jacksongoode commented on GitHub (Sep 27, 2024):
I definitely agree, with the many improvements and changes we should do a comprehensive refresh of the Psst readme, with new screenshots, and detailing functionality and cleanup the roadmap!
@Tilogorn commented on GitHub (Sep 28, 2024):
@SO9010 Thank you for your detailed explanation. It is a pity that it is currently not possible. I will try to hide the system menu, but of course this is not a real kiosk mode. It doesn't start over the whole screen without OS modifications and the window title bar is still visible. This is more like --start-maximized or something similar.
Hiding the settings doesn't really make sense in this context in my opinion, as this is not a kiosk mode, but that is up to you.
However, updating the README in context of this MR is of course never a bad idea
@SO9010 commented on GitHub (Sep 28, 2024):
@Tilogorn I'm sorry that I couldn't help more, it's very weird that the PI keeps the window title.
If you wanted an alternative desktop environment which would probably work you could try i3 tiling manager and that with minimal modification removes the title bar and you can very easily customise all of the keybindings.
However, I understand that this is not ideal.
https://i3wm.org/
Do let me know if I can help in any way.
Edit: you may actually want to use sway as that uses Wayland: https://swaywm.org/
@Tilogorn commented on GitHub (Sep 29, 2024):
Thank you for your recommendations! I will have a look at them.
@bbb651 commented on GitHub (Oct 19, 2024):
You might also want to look at cage, it's a wayland compositor specifically designed for kiosk modes