Releases: NiLuJe/FBInk
Releases · NiLuJe/FBInk
v1.25.0: SoC Puppet
Changes:
- Update libevdev
- Update to Cozette 1.18.1
- Update to Scientifica v2.3
- Support the Kobo Libra 2
- Support the Kobo Sage (and document the new sunxi quirks it introduced, e.g.,
EINK_NO_MERGE) - Update i2c-tools
- Identify the PocketBook Inkpad Lite
- Support Eclipse waveform modes on Kobo Mk.9+
- Various updates to the DevCaps script to make it more useful when poking at new devices
- Update to libunibreak 5.0
- Support the Kindle PW5 (and document the new features of the MTK platform)
- Identify the PocketBook PB617
- Identify a new PocketBook Inkpad Pro 3 variant
- Add the
-K, --animateflag to the CLI to enable animated refreshes on MTK - Update ctrld
- Identify & support devices running on mainline kernels with fbdev support (mostly NTX boards so far)
- Support the Kobo Clara 2E
- Identify the Kindle Basic 4
- The CLI tool now supports
DUNMwaveform modes on Kindle (MTK only) - The CLI tool now supports
DU4,GCK16&GLKW16waveform modes on Kobo (Mk.9+) - Attempt to detect the Kindle Touch A properly (will only behave with a Nickel version tag)
- Fix the finger_trace tool on the Kobo Touch A, B & C
- Identify the Kindle Scribe
- Minor code cleanups
API Changes:
- Added a
no_mergefield toFBInkConfigin order to control theEINK_NO_MERGEflag on sunxi - Allow
fbink_reinitusage on Kindle (#67) - New
MTK_SWIPE_DIRECTION_INDEX_Tenum - Added an
is_animatedfield toFBInkConfigin order to enable animated refreshed on MTK - New
fbink_mtk_set_swipe_datafunction to setup the animation settings on MTK - New
fbink_wait_for_any_completefunction, mapping to the newWAIT_FOR_ANY_UPDATE_COMPLETE_MTKioctl on MTK - New
fbink_mtk_set_halftonefunction to setup the checkerboard overlay feature found on MTK - New
fbink_mtk_toggle_auto_reaglfunction to setup the so-called "fast mode" on MTK - New
fbink_mtk_toggle_pen_modefunction, mapping to the newMXCFB_SET_STYLUS_MODEioctl on MTKv3 - Add an
OK_GRAYSCALE_CHANGEconstant, allowing to detect grayscale flag swaps infbink_reinit - New
MAINLINE_DEVICE_ID_Eenum - New
DEVICE_UNKNOWNconstant - New fields
inverted_grayscale,is_kindle_mtk,has_eclipse_wfm&unreliable_wait_forinFBInkState
ABI Changes:
- Renamed
fbink_toggle_sunxi_ntx_pen_modetofbink_sunxi_toggle_ntx_pen_mode
Buildsystem Changes:
- N/A
v1.24.0: Icarus
Changes:
* CLI documentation cleanups, thanks to @fulldecent (#59)
* On plain Linux builds, honor the FRAMEBUFFER env var (#61)
* PocketBook: ID the PB741
* Update to Cozette 1.11.3
* Deal with some Y2K38 shenanigans (#63)
* Update to Spleen 1.9.1
* Minor code tweaks & cleanups.
* Added support for the Kobo Elipsa, and the whole new family of SoCs that came with it (sunxi, w/ disp2 ioctls)...
There are quite a few quirks involved, see #64 for more details.
Double-check the API docs, as a few APIs behave differently and/or are no longer usable on sunxi,
because of technical limitations of the platform.
* As a part of the sunxi porting effort, a few new PoCs have popped up in the utils folder,
the most interesting of which is probably finger_trace.c, which implements a quick'n dirty pointer trail
as a means to test rotation & input shenanigans on Kobo. You can build it via the ftrace make target.
As well as the sunxigrab.sh script, which allows taking screengrabs on that platform.
* Update stb
* The fbdepth utility is now a real boy! Since its feature set has been moved to the API (fbink_set_fb_info),
it's been rebuilt as a proper API client.
It has also moved to a dedicated build target, fbdepth.
API Changes:
* fbink_get_last_rect gained a new argument,
allowing you to choose whether the coordinates returned are run through the current rotation quirks or not.
(This only applies to the is_ntx_quirky_landscape state).
Previously, it behaved as if this new flag was set to true, which didn't make much sense in practice,
as the cases where you'd actually want that are very few and far between.
* fbink_cls gained a new argument,
allowing you to bypass rotation quirks for the supplied coordinates.
(e.g., you passed a rect that *already* went through said quirks).
This obviously ties into the previous entry ;).
* New function: fbink_rect_dump
Allows dumping a specific rect as-is, with no positioning or rotation trickery.
(e.g., a rect from fbink_get_last_rect).
* New function: fbink_toggle_sunxi_ntx_pen_mode
Allows toggling "pen" refresh mode on Kobo devices with a sunxi SoC.
* New function: fbink_sunxi_ntx_enforce_rota (with a matching SUNXI_FORCE_ROTA_INDEX_T enum).
On sunxi, allows controlling how rotation is handled (gyro, gyro w/ constraints, fixed àla linuxfb,
or even matching the working buffer, provided we have some help from the custom fbdamage kernel module).
* As a consequence, FBInkState gained a new field, sunxi_force_rota, to reflect the current state.
It is set to FORCE_ROTA_NOTSUP on unsupported platforms.
* FBInkState also gained a new field, sunxi_has_fbdamage, to indicate whether fbdamage is loaded or not.
It is set to false on unsuppoorted platforms.
* New function: fbink_invert_screen
Simple helper to fake a nightmode swap on devices without HW inversion support.
* Added a bunch of public enums to make switches on FBInkState's device_id field more readable:
CERVANTES_DEVICE_ID_E, KOBO_DEVICE_ID_E, REMARKABLE_DEVICE_ID_E & POCKETBOOK_DEVICE_ID_E
(Nothing on Kindle, as there are *many* IDs for a single device there...).
* Added a scanline_stride field to FBInkState (matching fInfo.line_length)
* New function: fbink_get_fb_pointer
Exports a pointer to the backing buffer, as well as said buffer's size.
Low-level API, mostly useful if you're using FBInk in a platform abstraction layer (e.g., a Qt5 QPA).
* New function: fbink_set_fb_info
Allows one to control bitdepth & rotation (precisely what used to be available only in the dedicated fbdepth tool).
Low-level API, beware, and make sure you understand the implications!
* Every fbink_reinit-like function is now marked warn_unused_result, as checking the return value may be critical.
* New function: fbink_get_fb_info
Allows one to return a copy of the *full* vInfo & fInfo structs.
Low-level API, prefer fbink_get_state unless you really have no other choice!
ABI Changes:
* Signature updates for:
* fbink_get_last_rect
* fbink_cls
* The "is_pb_sunxi" field in FBInkState has been renamed to "is_sunxi", to accomodate the Kobo Elipsa.
Buildsystem Changes:
* The fbdepth utility is now built as part of a dedicated target, via make fbdepth.
You'll want to buil it from a pristine tree (make distclean),
to prevent it from linking against a larger than necessary library.
* Added two new modular build flags: DRAW & BITMAP
This means that bare MINIMAL builds are now *really* bare: they don't feature *any* primitive drawing features.
Unless you're doing very particular things, anything that previously relied on a bare MINIMAL build probably
requires a MINIMAL + BITMAP build now.
* Added a dist target to generate release tarballs.