Skip to content

FB: Misc waveform mode shenanigans#1524

Merged
NiLuJe merged 12 commits into
koreader:masterfrom
NiLuJe:sunxi_fb_shenanigans
Oct 1, 2022
Merged

FB: Misc waveform mode shenanigans#1524
NiLuJe merged 12 commits into
koreader:masterfrom
NiLuJe:sunxi_fb_shenanigans

Conversation

@NiLuJe

@NiLuJe NiLuJe commented Sep 28, 2022

Copy link
Copy Markdown
Member
  • framebuffer: Misc waveform mode shenanigans on mxcfb & sunxi:
    • Support asking for A2 explicitly, since we no longer use it for fast anywhere
    • Unify the logic behind FORCE_MONOCHROME usage (i.e., only use it for DU when it's hardware-accelerated), because it makes sense to make text highlights look better (especially on high density screens). Added comments explaining the behavior a bit.
    • Support toggling NO_MERGE on a per-update basis, because of course I managed to find a case where the collision handling issues in the Sage kernel led to visible issues.
  • rtc: Also log the rtc clock when validating an alarm (and switch to threadsafe functions to ensure the pointers we keep around point to our own data, and not the libc's statis storage).

This change is Reviewable

Because, surprise, there are even more bugs in the collision handling
code...
It's actually counter-productive for what we use it for.
Instead, only use it for DU, because, there, what it implies and the
interacion with DU makes it look better (especially on higher density
screens).

@NiLuJe NiLuJe left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Reviewed 3 of 3 files at r1, all commit messages.
Reviewable status: :shipit: complete! all files reviewed, all discussions resolved (waiting on @NiLuJe)

Otherwise, our _wakeup_scheduled_ptm pointer pointer to the libc's
static storage, and as such tracked *every* gmtime call, which broke all
the things ;o).

@NiLuJe NiLuJe left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Reviewed 3 of 4 files at r2, 1 of 1 files at r3, all commit messages.
Reviewable status: :shipit: complete! all files reviewed, all discussions resolved (waiting on @NiLuJe)

@NiLuJe NiLuJe merged commit 99143a2 into koreader:master Oct 1, 2022
NiLuJe added a commit to NiLuJe/koreader that referenced this pull request Oct 1, 2022
NiLuJe added a commit to koreader/koreader that referenced this pull request Oct 2, 2022
* UIManager: Support more specialized update modes for corner-cases:
  * A2, which we'll use for the VirtualKeyboards keys (they'd... inadvertently switched to UI with the highlight refactor).
  * NO_MERGE variants of ui & partial (for sunxi). Use `[ui]` in ReaderHighlight's popup, because of a Sage kernel bug that could otherwise make it translucent, sometimes completely so (*sigh*).
* UIManager: Assorted code cleanups & simplifications.
* Logger & dbg: Unify logging style, and code cleanups.
* SDL: Unbreak suspend/resume outside of the emulator (fix #9567).
* NetworkMgr: Cache the network status, and allow it to be queried. (Used by AutoSuspend to avoid repeatedly poking the system when computing the standby schedule delay).
* OneTimeMigration: Don't forget about `NETWORK_PROXY` & `STARDICT_DATA_DIR` when migrating `defaults.persistent.lua` (fix #9573)
* WakeupMgr: Workaround an apparent limitation of the RTC found on i.MX5 Kobo devices, where setting a wakealarm further than UINT16_MAX seconds in the future would apparently overflow and wraparound... (fix #8039, many thanks to @yfede for the extensive deep-dive and for actually accurately pinpointing the issue!).
* Kobo: Handle standby transitions at full CPU clock speeds, in order to limit the latency hit.
* UIManager: Properly quit on reboot & exit. This ensures our exit code is preserved, as we exit on our own terms (instead of being killed by the init system). This is important on platforms where exit codes are semantically meaningful (e.g., Kobo).
* UIManager: Speaking of reboot & exit, make sure the Screensaver shows in all circumstances (e.g., autoshutdown, re: #9542)), and that there aren't any extraneous refreshes triggered. (Additionally, fix a minor regression since #9448 about tracking this very transient state on Kobo & Cervantes).
* Kindle: ID the upcoming Scribe.
* Bump base (koreader/koreader-base#1524)
0xstillb pushed a commit to 0xstillb/koreader-thai that referenced this pull request May 9, 2026
* UIManager: Support more specialized update modes for corner-cases:
  * A2, which we'll use for the VirtualKeyboards keys (they'd... inadvertently switched to UI with the highlight refactor).
  * NO_MERGE variants of ui & partial (for sunxi). Use `[ui]` in ReaderHighlight's popup, because of a Sage kernel bug that could otherwise make it translucent, sometimes completely so (*sigh*).
* UIManager: Assorted code cleanups & simplifications.
* Logger & dbg: Unify logging style, and code cleanups.
* SDL: Unbreak suspend/resume outside of the emulator (fix koreader#9567).
* NetworkMgr: Cache the network status, and allow it to be queried. (Used by AutoSuspend to avoid repeatedly poking the system when computing the standby schedule delay).
* OneTimeMigration: Don't forget about `NETWORK_PROXY` & `STARDICT_DATA_DIR` when migrating `defaults.persistent.lua` (fix koreader#9573)
* WakeupMgr: Workaround an apparent limitation of the RTC found on i.MX5 Kobo devices, where setting a wakealarm further than UINT16_MAX seconds in the future would apparently overflow and wraparound... (fix koreader#8039, many thanks to @yfede for the extensive deep-dive and for actually accurately pinpointing the issue!).
* Kobo: Handle standby transitions at full CPU clock speeds, in order to limit the latency hit.
* UIManager: Properly quit on reboot & exit. This ensures our exit code is preserved, as we exit on our own terms (instead of being killed by the init system). This is important on platforms where exit codes are semantically meaningful (e.g., Kobo).
* UIManager: Speaking of reboot & exit, make sure the Screensaver shows in all circumstances (e.g., autoshutdown, re: koreader#9542)), and that there aren't any extraneous refreshes triggered. (Additionally, fix a minor regression since koreader#9448 about tracking this very transient state on Kobo & Cervantes).
* Kindle: ID the upcoming Scribe.
* Bump base (koreader/koreader-base#1524)
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.

1 participant