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

Kobo: Yet another attempt at working around the hangs on the latest NXP boards #10771

Merged
merged 13 commits into from Aug 1, 2023

Conversation

NiLuJe
Copy link
Member

@NiLuJe NiLuJe commented Aug 1, 2023

Re #8414, #9806, #10558


This change is Reviewable

This effectively reverts the relevant part of koreader#10083

It never actually helped with the issue at hand, and had subtly
detrimental UX effects in some cases.
On some boards, fast refresh artifacts could get "baked in" the
working buffer, and left unchanged by REAGL or partial updates.
A flashing update takes care of that, so, just flash the keyboard on
close.
It trips a useless refresh otherwise.
@NiLuJe
Copy link
Member Author

NiLuJe commented Aug 1, 2023

Oh, and this also re-enables the jump marker on affected devices ;).

Sadly, as described in the comments and the base PR, this didn't help with the wait_for ioctl timeouts, so we've kept our crappy workaround. If you do manually disable it, you will get a slightly different behavior than before, in that it'll now (again, on affected devices) do those ioctls in the same weird pairs as Nickel.

FWIW, it took me over 2k page turns to get a couple of timeouts (back to back, things start to go wonky quick after the first one).... And then, like, 15 page turns in Nickel after a reboot, lol >_<".
Anyway, I'm a bit miffed about losing the fences offered by the proper implementation here, but, thankfully (except for the Nia, but the Nia basically shouldn't exist anyway), the affected devices have screens that are fast enough that it's not too much of a problem, besides some slightly weirder looking refreshes in some contexts, if you know what to look for ;).

@NiLuJe NiLuJe added this to the 2023.08 milestone Aug 1, 2023
Copy link
Member Author

@NiLuJe NiLuJe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 8 of 8 files at r1, all commit messages.
Reviewable status: :shipit: complete! all files reviewed, all discussions resolved (waiting on @Frenzie, @pazos, and @poire-z)

@NiLuJe NiLuJe merged commit 9c8e55b into koreader:master Aug 1, 2023
3 of 4 checks passed
@srvoets
Copy link

srvoets commented Aug 2, 2023

Oh, and this also re-enables the jump marker on affected devices ;).

Sadly, as described in the comments and the base PR, this didn't help with the wait_for ioctl timeouts, so we've kept our crappy workaround. If you do manually disable it, you will get a slightly different behavior than before, in that it'll now (again, on affected devices) do those ioctls in the same weird pairs as Nickel.

FWIW, it took me over 2k page turns to get a couple of timeouts (back to back, things start to go wonky quick after the first one).... And then, like, 15 page turns in Nickel after a reboot, lol >_<". Anyway, I'm a bit miffed about losing the fences offered by the proper implementation here, but, thankfully (except for the Nia, but the Nia basically shouldn't exist anyway), the affected devices have screens that are fast enough that it's not too much of a problem, besides some slightly weirder looking refreshes in some contexts, if you know what to look for ;).

Thank you so much, I just got a kobo a few weeks ago and put koreader on immediately, never touched the stock FW.

But after the freezing I attempted stock (patched) FW, but I still missed koreader.

How do I get this update on my device like yesterday?

@NiLuJe
Copy link
Member Author

NiLuJe commented Aug 2, 2023

If you have an existing installation, just switch to the Dev channel and do an OTA update ;).

Otherwise, you can grab a current nighly build: https://build.koreader.rocks/download/nightly/

@srvoets
Copy link

srvoets commented Aug 31, 2023

If you have an existing installation, just switch to the Dev channel and do an OTA update ;).

Otherwise, you can grab a current nighly build: https://build.koreader.rocks/download/nightly/

I wanted to come back and say that I did this about 3 weeks ago, and in that time I only had 2 freezes, which only required me to tap the power button once to put it to sleep, and then I was able to wake it, and start reading.

contrast this with the previous behavoir which had me doing a ahrd reset almost daily.

So thank you!

I am currently still on dev branch, has this fix been merged to the normal release?

Basically, can I switch my branch back to stable now, was this fix implemented into the stable release?

nvm, read the release notes haha

@poire-z
Copy link
Contributor

poire-z commented Aug 31, 2023

in that time I only had 2 freezes, which only required me to tap the power button once to put it to sleep, and then I was able to wake it, and start reading.

On Kobo GloHD, this is supposed to be an issue with autostandby, cf #10133 - no really a freeze, but a touch panel issue (as the power button does work).
Do you happen to have that plugin (Auto suspend, which also manages auto standby) enabled and active ? If yes, and if you disable auto-standby, does this faux-freeze disappear?

@NiLuJe
Copy link
Member Author

NiLuJe commented Aug 31, 2023

On which device? IIRC, none of the affected devices have an IR grid, which I think was the culprit on the Glo HD, so that's... mildly weird.

(I mean, autostandby can appear to send a few input events to the void on some devices, so it's not entirely out of the question; I definitely didn't test autostandby thoroughly because it doesn't make much sense on most of these devices).

@NiLuJe
Copy link
Member Author

NiLuJe commented Jan 10, 2024

Re: #10558

The Nia does NOT actually provide the necessary sysfs knob (at least according to the published kernel sources), so, that's yet another strike against it making any kind of sense as a viable device ;o).

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 this pull request may close these issues.

None yet

4 participants