Game freezes after fullscreen

  • Nevurmore
    18th Jan 2023 Member 0 Permalink

    Running Win 11... So I installed the game then fullscreened it from the settings menu, and when the game expanded it just showed my desktop. TPT is still running, and in fact I can't really click anywhere without closing it first. The curser flickers and I can click on, say, notepad but I can't close it, I have to close TPT first THEN I can close other things. So that's thoroughly confusing to me.

     

    I deleted the entire folder and redownloaded it because everyone says just delete your powder.pref, but I swear, it still does it, and I can't find any info on where else it might store that data? Why is there no info on that, what if the game won't open for me to click the lil data button?? I swear I can't be the only person in this boat, and I'm certain I'm just missing it but I sure can't seem to figure it out. I tried making a shortcut and adding a -w to force it windowed and it straight ignores that, still does the weird screen flicker then shows my desktop. I've rebooted, all my drivers are up to date, I'm running on a GTX 1080...

     

    I'm in desperate need of help, I've been going at it for over an hour trying to figure out where on earth it could possibly be storing the powder.pref but I've searched my C drive and everything, it just doesn't appear to exist.

  • LBPHacker
    18th Jan 2023 Developer 0 Permalink
    The magic incantation to use in the shortcut is kiosk=false, not -w.

    Don't delete your data folder or powder.pref, that is never the solution. Whoever says so should be whacked. Please link me the threads where you read that so I can purge them. There is little info on where the game stores data because failure modes that don't let you access the "lil data button" are rare and always fixable without accessing data, see above. It's no secret though, it's either whichever directory you launch the game from (you've deleted this, so that can't be it), or %appdata%\The Powder Toy.

    I have not encountered this problem before and of course I can't reproduce it on my setup; I'm afraid you're on the only one in the boat for now. But I have a general idea of what causes it: some unlucky combination of settings just happens to trigger a bug in your display driver. This is evidenced by the fact that even your cursor flickers, which on modern systems is drawn above everything else entirely by the display hardware. I'd be interested to know whether other software that uses the library we use to interact with display drivers, SDL2 (games, mostly, such as Half-Life 2) has this same problem when put in fullscreen.

    It's possible that SDL2 itself has a bug, but it's ultimately your graphics driver's responsibility to make it impossible for buggy software to break your desktop like that. "Fullscreen" is more complicated than it sounds, it involves the display driver switching to a mode that it rarely uses, one that doesn't get as much testing as the mode it uses when you see all windows. This is why most games include a "fullscreen windowed" option, which completely circumvents that mode; it never asks the display driver to leave the all-windows mode, it just happens to place the game's window above all others.
  • Darkwrist
    18th Jan 2023 Member 0 Permalink
    This post has been removed: incorrect advice
    Edited once by Darkwrist. Last: 18th Jan 2023
  • jacob1
    18th Jan 2023 Developer 0 Permalink
    @Nevurmore (View Post)
    You should turn off "Change Resolution" in fullscreen options, that should work around the issue. It might not look idea but that will prevent the bug from happening. As LBPHacker said it's probably an SDL2 issue / display driver issue, nothing you would be able to solve on your own though when there are bugs in those, it's something we'll have to fix (perhaps we can try upgrading SDL2 again, but I wasn't able to find this bug reported on their bug tracker).


    Regarding the powder.pref stuff, that was the old advice for getting out of unwanted double scale or fullscreen mode. It was parroted around as the solution to problems for years, but we don't recommend it anymore. It doesn't actually solve anything besides reset your settings to the default, and you can launch the game and do that yourself. Anyway, powder.pref is located in the folder LBPHacker mentioned if you are unable to start the game to reset the fullscreen setting.
  • Nevurmore
    19th Jan 2023 Member 0 Permalink

    Well that explains that, thank you both for responding! kiosk=false worked like the black magic that it is, lol.. I always assume it's something I've done wrong, and that's typically true :D In the event you guys would like, I don't suppose there would be a way to capture logs for you regarding SDL2? I can reproduce the bug by toggling fullscreen again. But it also sounds rare enough and easy to fix so if it's not a worry then that's that. Thanks again for the responses either way.

     

    EDIT: For what it's worth, the bug only occurs if I enable Change Resolution. Runs like a charm otherwise.

    Edited once by Nevurmore. Last: 19th Jan 2023
  • LBPHacker
    19th Jan 2023 Developer 0 Permalink
    The main issue with capturing logs is I'm not sure whose logs we'd capture. I'd be surprised of TPT logged anything about this, and if the display driver is aware of this problem at all (it probably isn't), the only way you'd be able to capture logs from it is via the hellish nightmare that is Event Tracing for Windows. Not fun. We'll just keep trying to reproduce it for now, and link people to this thread when they have similar problems.