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

[BUG] Update to 2.0.16 causes popup menus to not appear in Steam Deck Game Mode. #586

Closed
4 tasks done
stat-void opened this issue Feb 17, 2024 · 70 comments
Closed
4 tasks done
Assignees
Labels
bug Something isn't working

Comments

@stat-void
Copy link

Please confirm

  • I have searched existing issues
  • This issue is not a duplicate of an existing one
  • I have checked the common issues section in the readme file
  • I have attached logs to this bug report (failure to include logs will mean your issue may not be responded to).

Bug Report Description

I've started constantly having issues after updating Decky from 2.10.14 to 2.10.16.

Popup menus (Like the ones where you hold down the power button, or try to exit the game through the Steam menu) no longer appear, although the sound of them can still be heard.

Steam settings also don't work properly (They make noises and do change when I've resetted the console, but visuals don't update).

As long as password protection is enabled, these menus can be temporarily forced to reappear when "opening" them, then going to sleep mode several times. Otherwise the only solution is to hard shutdown the Steam Deck.

I've confirmed that the issue disappears when uninstalling Decky, and reappears when doing a fresh install of it.

How it happens - Turning on Brotato (haven't tested with other games) in game mode, playing the game for a bit of time, and then at some point, the issue just happens. It might be related to aiming in the game, because I have a small lag spike during those moments and have manually limited the TDP to 5W.

I also use the Powertools plugin, but the only thing enabled there is a battery charge limit. Other plugins are for emudeck, checking out bluetooth connections and controller statuses.

I also couldn't view anything through the CEF console while this issue was active.

I uploaded a video of the problem happening and a screenshot of the CEF console to Google Drive

Expected Behaviour

Any popup menus would continue to pop up normally while in game mode, or Steam settings can be changed.

SteamOS version

SteamOS Stable 3.5.7

Selected Update Channel

Stable

Have you modified the read-only filesystem at any point?

No response

Logs

deckylogs.txt

@stat-void stat-void added the bug Something isn't working label Feb 17, 2024
@stat-void
Copy link
Author

Update. I had an idea to force the CEF console to become visible. So I reinstalled Decky again, played around for a bit until the issue appeared again and then used the sleep with password protection trick to make popups visible again. Then, I opened up the console and looked around.

Took some screenshots of errors that looked out of the ordinary and added them to the Google Drive link.

The most prominent error that I saw that might be related to the popup was:
Assertion failed: Modal was shown but ModalManager has no associated DialogOverlay

Took pictures of other info or warnings that looked interesting as well

@daweiandahalf
Copy link

I had the same issue. I removed and reinstalled Decky and repaired steamOS to be safe, and this issue appears to be fixed. Unfortunately, I now am unable to install plugins - when I click install the dialog appears as normal, but when I click install again it indicates that it is installing but then continues indefinitely. I tried switching to the pre release build to see if that would help, a similar thing happened. I went into desktop mode and switched to pre release through the install tool, but still am facing the same issue with installing plugins.

@TrainDoctor
Copy link
Member

@stat-void can you try the pre-release at let us know if you encounter the same issue(s) like @daweiandahalf did?

@PartyWumpus
Copy link
Member

PartyWumpus commented Feb 17, 2024

The most prominent error that I saw that might be related to the popup was: Assertion failed: Modal was shown but ModalManager has no associated DialogOverlay

Interesting. The error is raised in this function on valve's side:

OnModalCountChanged(e) {
    "show" == e && 0 == this.m_cMountedOverlays && window.setTimeout((()=>{
        (0,
        l.X)(this.m_cMountedOverlays > 0, "Modal was shown but ModalManager has no associated DialogOverlay")
    }
    ), 50),
    this.m_OnModalCountChangedCallbacks.Dispatch(this.m_rgModals.length),
    "show" == e ? this.m_OnModalShownCallbacks.Dispatch(this.m_rgModals.length) : "hide" == e && this.m_OnModalHiddenCallbacks.Dispatch(this.m_rgModals.length)
}

@stat-void
Copy link
Author

stat-void commented Feb 17, 2024

@TrainDoctor Did a little bit of testing with the prerelease version. I haven't done a full repair of SteamOS since I don't really want to try formatting everything just yet, but plugins as of right now are installing normally when the issues I've had haven't started.

I haven't been able to currently replicate the issues for now, but wouldn't completely rule out that the prerelease version is free from the described problems, considering when I first discovered it I tried to change the version from stable to prerelease and it still persisted.

If I get the problem to replicate again on the pre-release version, I'll try to install any plugins while it's present.

@stat-void
Copy link
Author

@TrainDoctor Okay, update.

Freshly installed the prerelease version through desktop mode, then shut down the console normally. Turned on Deck, played games again for a while, eventually the issue appeared on this version too.

Went to the plugin store, tried to install anything, I couldn't even pass the initial install button. Once I did the popup menu recovery trick, I could install plugins normally again.

I also got a lot of new errors shown through the cef console. I added 2 new videos and a screenshot showing all of this in the Google Drive folder. The first video is showing how I'm trying to install a plugin but can't. The second video is me scrolling through the cef console, stopping at errors that might look noteworthy. The plugin that I tried to download and could successfully after the temporary fix was the bookmarks plugin, which appears in the cef console logs too

At present moment while I'm writing this, one of the things that I tried to install but couldn't was the battery tracker plugin. I keep getting a POST error thrown every ~10 seconds:
POST http://127.0.0.1:1337/plugins/Battery%20Tracker/methods/set_app 500 (Internal Sever Error)
Uncaught (in promise) SyntaxError: Unexpected token I in JSON at position 4

Once I reset the console it stopped.

@RubyRoseRed
Copy link

Yeah I'm having this issue too. suddenly noticed I can't click "exit game" or the power button option from the steam menu and was wondering why. I'm running latest stable versions of both steamos and decky loader

@Localhorst86
Copy link

I can confirm this issue on the pre-release of decky and stable release of the steam client. I am still trying to further narrow it down how exactly to trigger the issue, it only appears sporadically.

When the issue happens, the shutdown throbbed stops working as well, that is something I was able to observe.

@CEOofUnhandledExceptions
Copy link

CEOofUnhandledExceptions commented Feb 18, 2024

Happening to me too on stable. Currently on latest pre-release, will update if I see the problem again.

Update: after updating to the latest current pre-release build as of this post the issue still occurs. I had launched 2 'non-steam games' in game mode since I last hard-rebooted; Duckstation and Unreal Gold. I can no longer exit games or power off the system safely.

@Darkjuda
Copy link

Darkjuda commented Feb 19, 2024

Can confirm this is happening to me too. I was going nuts.

Edit: Thanks to the "password protection trick" given by OP, I was able to restart steam without restarting the Deck. While still bothersome, it's much quicker to do than hard rebooting the Deck each time. I suggest everyone to do it in the meantime.

@AAGaming00 AAGaming00 self-assigned this Feb 19, 2024
@GrandaddyShmax
Copy link

Is there a way to rollback the stable version while this issue is being worked on?

@probable1333
Copy link

probable1333 commented Feb 20, 2024

According to my limited testing, it appears that downgrading PluginLoader binary was sufficient to mitigate the issue. You can downgrade via running the following command and then rebooting, or by just manually replacing the PluginLoader file with the 2.10.14 one and before rebooting.
sudo kill -9 $(pgrep -d ' ' PluginLoader) && sudo rm -f $HOME/homebrew/services/PluginLoader && curl https://github.com/SteamDeckHomebrew/decky-loader/releases/download/v2.10.14/PluginLoader -o $HOME/homebrew/services/PluginLoader && chmod +x $HOME/homebrew/services/PluginLoader
EDIT:
fixed the command.

@Darkjuda
Copy link

According to my limited testing, it appears that downgrading PluginLoader binary was sufficient to mitigate the issue. You can downgrade via running the following command and then rebooting, or by just manually replacing the PluginLoader file with the 2.10.14 one and before rebooting. sudo kill -9 $(pgrep -d ' ' PluginLoader) && sudo rm -f $HOME/services/PluginLoader && curl https://github.com/SteamDeckHomebrew/decky-loader/releases/download/v2.10.14/PluginLoader -o $HOME/services/PluginLoader && chmod +x $HOME/services/PluginLoader

Unfortunately, the command gives me an error:
Failed to open the file /home/services/PluginLoader: No such file or directory

@TrainDoctor
Copy link
Member

@Darkjuda @probable1333 @GrandaddyShmax please give the latest pre-release a try and submit logs using this after a clean reboot:
cd ~ && journalctl -b0 -u plugin_loader.service > deckylogs.txt
Upload the resulting file which can be found at /home/deck/.
These bug reports are less than useless to us without logs to go on, lists of plugins being used and what issues if any specific issues per plugin(s) are being experienced.

If using pre-release does not resolve your issue then please revert to stable and collect and submit those logs as well.
Thanks.

@TrainDoctor
Copy link
Member

@Darkjuda @probable1333 @GrandaddyShmax please give the latest pre-release a try and submit logs using this after a clean reboot: cd ~ && journalctl -b0 -u plugin_loader.service > deckylogs.txt Upload the resulting file which can be found at /home/deck/. These bug reports are less than useless to us without logs to go on, lists of plugins being used and what issues if any specific issues per plugin(s) are being experienced.

If using pre-release does not resolve your issue then please revert to stable and collect and submit those logs as well. Thanks.

@CEOofUnhandledExceptions sorry, meant to include you in this message as well.

@dcu
Copy link

dcu commented Feb 21, 2024

@TrainDoctor I don't have logs but the pre release didn't work for me.

is there a command to force reload/refresh decky loader ?

@TrainDoctor
Copy link
Member

Use systemd to reload the service.

@asv27
Copy link

asv27 commented Feb 21, 2024

@probable1333 thanks, tried using your command, but I'm not sure if it worked correctly. What message should appear on the terminal after typing my password? I closed the window but it said something about downloads, although everything was on 0.

@Darkjuda
Copy link

please give the latest pre-release a try and submit logs using this after a clean reboot:

Will do my best but, that's a weird thing to ask considering this bug actually prevent us from doing a clean reboot.

@PartyWumpus
Copy link
Member

PartyWumpus commented Feb 21, 2024

Still can't reproduce, and can't see any changes that could (on their own) cause this, so the most likely thing is a change interacting with a plugin somehow. Could anyone with this issue please give a list of all your plugins. You can run ls ~/homebrew/plugins or take a look in the ~/homebrew/plugins folder to see what you have if you cannot get decky to work.

@TrainDoctor
Copy link
Member

please give the latest pre-release a try and submit logs using this after a clean reboot:

Will do my best but, that's a weird thing to ask considering this bug actually prevent us from doing a clean reboot.

Apologies, it's been a busy month at work. If you remove the -b0 from the command it will grab all logs. The -b0 is used to get the latest logs, thus reducing the logfile's size and reading of logs we have to do in order to diagnose the issue.

@GrandaddyShmax
Copy link

If it helps, sometimes I get the following error show up along with this issue:

Something went wrong while displaying this content. Refresh
Error Reference: Shared SteamUI_8629422_bdaf950a90a647cd
i.data.accountid_owner is not a function

@Darkjuda
Copy link

If it helps, sometimes I get the following error show up along with this issue:

Something went wrong while displaying this content. Refresh
Error Reference: Shared SteamUI_8629422_bdaf950a90a647cd
i.data.accountid_owner is not a function

Me too, this is displayed on a game's banner in my case.

@Darkjuda
Copy link

Darkjuda commented Feb 21, 2024

Still can't reproduce, and can't see any changes that could (on their own) cause this, so the most likely thing is a change interacting with a plugin somehow. Could anyone with this issue please give a list of all your plugins. You can run ls ~/homebrew/plugins or take a look in the ~/homebrew/plugins folder to see what you have if you cannot get decky to work.

My thoughts too. I've been uninstalling my plugins one by one each time the issues occurs but to no avail.
But I haven't installed any plugins recently, so I wonder why it would be plugin related. DeckFAQs plugin is broken as hell, and using the search function completely breaks the Deck's game mode UI, but the issue doesn't seem to come from here either. I will try to list my plugins right after I managed to get those log files.

Edit:

(deck@steamdeck ~)$ ls ~/homebrew/plugins
Bluetooth         decky-steamgriddb      decky-wine-cellar  free-loader    PowerTools      SDH-AnimationChanger  SDH-CssLoader  VolumeMixer-decky
decky-cloud-save  decky-storage-cleaner  EmuDecky           hltb-for-deck  protondb-decky  SDH-AudioLoader       SDH-PlayTime

@Darkjuda
Copy link

I managed to do a rather clean reboot using the password protection trick that sometimes allow me to display the shutdown popup menu. I hope that is clean enough!
deckylogs.txt

@Darkjuda
Copy link

Here is the version with all logs
deckylogs.txt

@TrainDoctor
Copy link
Member

@dcu can you please provide a complete list of the plugins you are using?
@CEOofUnhandledExceptions same for you.

@CEOofUnhandledExceptions
Copy link

CEOofUnhandledExceptions commented Feb 22, 2024

Scroll up, I'm on a factory-reset fresh Steam Deck. No plugins, latest Stable.

@GrandaddyShmax
Copy link

GrandaddyShmax commented Feb 22, 2024

So far, after completely uninstalling the decky loader and fresh installing it to the latest version and after reboot, so far I did not experience the issue and I am able to install any plugin. I will play a bit more with it and report back.

Update: the popup menu issue is back.. exited a game and I once again cannot enter the power menu.

Update 2: after doing the usual pin trick and playing around 10 different games with exiting them in different ways. The issue did not come back so far 🤔

@Josh5
Copy link

Josh5 commented Feb 23, 2024

I was having this issue. Uninstalled Decky a few days ago so i could keep using things.
I'll re-install and test.

Update 1:
I was still able to reproduce this. I'll try with a fresh install and no installed plugins.
I just started a game. Put it to sleep. Woke it up. Unlocked it. And then these dialogs were broken.

@GrandaddyShmax
Copy link

Update 3: after a day, the issue did not return, all works perfectly after clean reinstall of decky and a single workaround with pin trick

@CEOofUnhandledExceptions

If you still need the 'pin trick', there's still a problem.

@GrandaddyShmax
Copy link

@CEOofUnhandledExceptions I did need the pin trick but only once after the clean install, after that it never showed up again

@CEOofUnhandledExceptions

The 'pin trick' is not part of the normal installation process, so it's a workaround for a problem, not a fix.

@stat-void
Copy link
Author

I've been using the latest preview version and the issue will appear when the device is put into sleep and then any game is started.
I've honestly been contemplating on potentially getting in contact with the developers so that I could figure out how to build Decky and manually go through the commit history between versions 2.0.14 and 2.0.16 and pinpoint what commit is the breaking point.

@PartyWumpus
Copy link
Member

I've been using the latest preview version and the issue will appear when the device is put into sleep and then any game is started. I've honestly been contemplating on potentially getting in contact with the developers so that I could figure out how to build Decky and manually go through the commit history between versions 2.0.14 and 2.0.16 and pinpoint what commit is the breaking point.

Decky can be compiled by running act/run-act.sh prerelease. You'll need act and docker installed. I would do this myself but I still cannot reproduce this, and I have no idea why not.

Also instead of compiling it yourself, you can grab an artifact from github actions, there's one made for every commit.

@stat-void
Copy link
Author

Decky can be compiled by running act/run-act.sh prerelease. You'll need act and docker installed. I would do this myself but I still cannot reproduce this, and I have no idea why not.

Also instead of compiling it yourself, you can grab an artifact from github actions, there's one made for every commit.

Okay, found the PluginLoader files for every build in Github Actions. The other 2 questions that I have on this are:

  • How do I correctly overwrite it so that when I go back to Game Mode, it recognizes that the version has changed? I tried doing this before but must have done something wrong .-.
  • Do you know from what build onwards was everything beyond 2.0.14 started? I don't notice any kind of tags on them to indicate what starts where.

@PartyWumpus
Copy link
Member

PartyWumpus commented Feb 23, 2024

Okay, found the PluginLoader files for every build in Github Actions. The other 2 questions that I have on this are:

  • How do I correctly overwrite it so that when I go back to Game Mode, it recognizes that the version has changed? I tried doing this before but must have done something wrong .-.
  • Do you know from what build onwards was everything beyond 2.0.14 started? I don't notice any kind of tags on them to indicate what starts where.

You replace the file in ~/homebrew/services, maybe also run systemctl restart plugin_loader to restart decky.

The first commit after 2.10.14 was fix the tasks but it didn't get an action because I think AA pushed multiple commits. The first build is fix: bump dfl to fix error on latest steam beta

You'll only want to grab the ones from the main branch (they say main) the other ones are unrelated.

Edit: here's the list of commits between the two releases

Edit 2: the version shown in the UI is exclusively based on the text file in the services folder, and will not change when you replace the PluginLoader file.

@stat-void
Copy link
Author

stat-void commented Feb 23, 2024

I realized what the problem was on the PluginLoader file - I had to make the file executable.

Anyway, I went through the initial release builds (not the ones under actions) and determined that the earliest version where it breaks is Prerelease v2.10.15-pre2

So the problem stems from these commits

@PartyWumpus
Copy link
Member

That doesn't make any sense. Neither of those commits should do anything.

@stat-void
Copy link
Author

stat-void commented Feb 23, 2024

I am just as perplexed as you are. I've been installing these plugin several times to make sense of it, but the one where you specified ubuntu 22.04 is where it starts breaking. I'm going to check prerelease 1 again just in case I might have missed making a file executable.

Edit: Okay, yeah, false alarm. the problem is existing on prerelease 1 too. I reaaly need to double verify that I make the file executable. Continuing with the commits from there.

Edit 2: I can say with 100% certainty that 2.10.15-pre1 is where it breaks. there is really only 1 build available before the official prerelease build was made and by that point all 3 commits had been made. As my final test I downgraded back to 2.10.14 and everything was working properly.

Now it needs to be determined if there is any code in there that doesn't like it when the Steam Deck goes to sleep. Because from what I'm looking at, there really is only 1 update to a toaster? Something related to popup messages? Everything else is version updates and command changes.

Adding the changes as context here

@GrandaddyShmax
Copy link

Update 4: the issue came back.. it happens when I'm running more than one game/application at the same time.

@PartyWumpus
Copy link
Member

it's probably the DFL version update. The changes in that are listed here: SteamDeckHomebrew/decky-frontend-lib@v3.24.2...v3.24.5 I'll give it a look when I can.

Thanks a lot for helping track this down btw.

@aarron-lee
Copy link

According to my limited testing, it appears that downgrading PluginLoader binary was sufficient to mitigate the issue. You can downgrade via running the following command and then rebooting, or by just manually replacing the PluginLoader file with the 2.10.14 one and before rebooting. sudo kill -9 $(pgrep -d ' ' PluginLoader) && sudo rm -f $HOME/homebrew/services/PluginLoader && curl https://github.com/SteamDeckHomebrew/decky-loader/releases/download/v2.10.14/PluginLoader -o $HOME/homebrew/services/PluginLoader && chmod +x $HOME/homebrew/services/PluginLoader EDIT: fixed the command.

For some reason, this didn't work for me. Even after manually downloading the PluginLoader file + placing it + make it executable, it wouldn't work.

For anybody else that wants to rollback to v2.10.14, I modified the decky install script to install it

https://raw.githubusercontent.com/aarron-lee/legion-go-tricks/main/decky_v2_10_14_install.sh

@dcu
Copy link

dcu commented Feb 24, 2024

bad news, it just happened to me again today. I need to test more but maybe the difference is that I didn't have internet today

@dcu
Copy link

dcu commented Feb 25, 2024

I think I can reproduce the issue consistently by adjusting the volume during the suspend animation and during the pin lock screen

can someone confirm?

@aarron-lee
Copy link

One thing I should note is that I encountered this exact same issue on a Legion Go with BazziteOS. pin lock enabled both for lock screen and switch to desktop mode. I know it's not an officially supported device or distro, but just wanted to note it here.

When I'd encounter the issue, doing a suspend-resume would temporarily fix the issue, but it'd always come back.

Decky v2.10.14 has been flawlessly working.

@Menojohnson
Copy link

Hey folks, after updating Decky loader to the lastest stable build 2.11.1 and testing, I can confirm that there is still an issue with certain popups in Game mode not showing up. I was able to recreate this issue by playing a game for 30+ minutes and then attempting to exit the game using the Steam button, followed by selecting "exit." However, no menu to confirm the exit popped up. After force rebooting the Steam Deck, the issue temporarily goes away.

I also encountered the same issue by running a game (Kingdom Hearts), then putting the deck to sleep for an hour or so. Upon waking the deck, the pin code works, but again, when attempting to exit the game, the exit button does not work. Additionally, when holding the power button, the popup to shutdown, restart, or switch to desktop mode does not show.

Hope this help team thanks :-)

@Localhorst86
Copy link

Localhorst86 commented Feb 27, 2024

I can now replicate the issue on my end consistently, without even running a game.

This is with all plugins uninstalled:

  1. Start the steam deck
  2. Bring up the left hand side menu
  3. Closse left hand side menu
  4. Put steam deck to sleep
  5. Wake up steam deck, enter pin

At this point, popup menus are broken. I can bring up the left hand side menu, but selecting e.g. On/Off does not bring up the menu with the power options.

EDIT: if still needed, I can upload a log file after work.

@Localhorst86
Copy link

decky.txt
decky log atached

@aarron-lee
Copy link

steam client just updated, so rollback no longer works as a temp fix. However, I can no longer replicate the bug on the new steam client with latest decky loader. I'll try testing for longer and try to replicate the bug.

@stat-void
Copy link
Author

I can also personally confirm that after updating to the newest Steam Client and updating Decky, the issue is no longer reproducable. I would assume that this issue could be closed down in this case, but maybe a pin should be kept in case it breaks down on future updates again?

@Menojohnson
Copy link

It seems that the issue has been resolved following the update of the Steam client and by using the latest version of Decky Loader. I've been unable to reproduce the problem. I'll continue monitoring it and will update my post if there are any further developments.

@PartyWumpus
Copy link
Member

I don't know how comfortable I am with issues being fixed by Magic™️ but if several people are reporting it's gone on the new client then it probably is gone, so I'll close this. If anyone on the most recent stable client can still reproduce this then I'll reopen the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: Done
Development

No branches or pull requests