-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
KOReader freezes after predetermined time (Appimage) #9262
Comments
You don't see a little suspended message? (Not that you should in a regular desktop app, but it's probably something from the emulator.) |
Verbose debug, please ;). Because, yeah, that looks like AutoSuspend attempting a suspend, which should either not happen at all or do something visible in the form of the suspend screensaver as @Frenzie mentioned ;). |
Even if you did see the screensaver, we're probably missing an SDL-specific keycode whitelisted to get out of the simulated suspend... Thoughts? |
Mildly related to koreader#9262
Hmm, the SDL event handler is buried in the SDL implementation, it might just be easier to simply not void the SDL handler during suspend... |
It used to be that performing an action canceled out suspend on the emulator. You or @zwim changed that recently for reasons that are unclear to me. ;-) |
But I think F2 should still get out of it, probably? |
Okay, yeah, the SDL event handler appears to be for, well, SDL-specific bits. I'm hoping the rest goes through standard EV_KEY stuff, so, yeah, F2 might do the trick? Regardless of that, nerfing that handler was probably not a great idea ;p. (Waiting on verbose debug logs to confirm). |
Nope, it freezes as whatever on the screen at the moment of inhibition message, even the menu is visible
Nope, nothing works including F2 Apparently it is not frozen internally. After getting this message: KOReader stays unresponsive while these keycodes are scrolling in the terminal: Mouse input (trying to open menu)
F2 (which is exactly same whether it is frozen or not)
Close button
|
That's... weird. Another issue, possibly, mildly related, but weird. |
I bumped into this today while trying to test suspend in the emulator. I may have abused koreader last night to write a custom dynamic kindle screensaver ;) (Koreader is a better gui toolkit than FBInk) related: This would be by listening for |
Go for it ;). |
@yparitcher
I'm not really sure what you mean by the SDL event handler. Are you talking about the part where I decided that handling some SDL events more intelligently in front made a lot more architectural sense than trying to do a bunch of pretend down in base? |
Nah, I just misremembered how the whole SDL thing worked, as far as input event goes. There's much less SDL-specific bits for "pure" input than I originally thought (thanks to said base shenanigans), so the stuff in front is mostly not-really-input anymore ;). Still, the point stands, might not be great to inhibit those, I'll check it out later ;). EDIT: I'm talking about koreader/frontend/device/sdl/device.lua Lines 171 to 266 in 3a4af5e
Input:inhibitInput ;).
|
I wrote that, yes. But the way "suspend" is supposed to work on the emulator in my view (not on regular desktop but presumably no one ever changed it) is that it just shows a little popup or whatever UI saying hello, we're in suspend status, and basically any input cancels it. That suffices for the UI and you can't develop the suspend without real hardware anyway.
It depends a bit on the specifics what makes sense where but I may well intend to lift more handling stuff to front 'cause in base you're very limited to a certain kind of emulation instead of directly tapping into things. Which was perfectly acceptable for the original emulator concept of course. ;-) |
Anyway, so this line should say isEmulator instead of isSDL; do we have any other sneaky leftovers like that?
|
Great minds think alike, I've just cleaned that up in #9263 ;). (EDIT: hadn't pushed yet, done). (And I'm looking into how the Emu behaves re: SS/suspend right now) |
Okay, it now works as it ought to with #9263 applied over here. I'm definitely seeing the screensaver, whether I trip it via Exit > Sleep, or via AutoSuspend. (And I don't think I fixed anything on that front...). |
Yeah, same for me on current master & stable, except you can't get out of it. |
* AutoSuspend: Use the canSuspend devcap check instead of reinventing the wheel. * Device & UIManager: Cleanup canSuspend devcap check related stuff to avoid boilerplate code. (It also now defaults to no, and is explicitly set by device implementations where supported). * AutoSuspend: Re-engage suspend/shutdown timers when fully charged. This restores the existing behavior pre #9036 (c.f., #9258 (comment)) * SDL: Unbreak the fake suspend behavior so that it actually works. Tweak the default screensaver message to remind users that Power is bound to F2. (Fix #9262) * AutoSuspend: Re-engage suspend/shutdown timers on unplug. This matters on Kobo, because the unexpected wakeup guard might have stopped the suspend timer.
* AutoSuspend: Use the canSuspend devcap check instead of reinventing the wheel. * Device & UIManager: Cleanup canSuspend devcap check related stuff to avoid boilerplate code. (It also now defaults to no, and is explicitly set by device implementations where supported). * AutoSuspend: Re-engage suspend/shutdown timers when fully charged. This restores the existing behavior pre #9036 (c.f., #9258 (comment)) * SDL: Unbreak the fake suspend behavior so that it actually works. Tweak the default screensaver message to remind users that Power is bound to F2. (Fix #9262) * AutoSuspend: Re-engage suspend/shutdown timers on unplug. This matters on Kobo, because the unexpected wakeup guard might have stopped the suspend timer.
Issue
KOReader freezes after:
Exact times and the inhibition message makes me think that this might be intentional.
But this puts KOReader into an unresponsive state.
No mouse or keyboard input is registered.
Even the close button doesn't work.
It has to be killed from the task manager or terminal.
Steps to reproduce
The text was updated successfully, but these errors were encountered: