![]() |
#1 |
Onyx-maniac
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 3,484
Karma: 13996147
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5, Go6
|
Per app eink "optimizations"
You've all seen the "E-ink Center" under the "Control Center" on Onyx devices.
It lets you customize a bunch of settings on a per app basis. And maybe you're thinking, "I don't want it to customize anything, just behave normally and I'll use competent apps. End of discussion." The problem with settings is that they're often not transparent. Maybe you think that some app starts looking different. Maybe you set the DPI override to some strange number. There are seventy-seven separate settings for each app. Are you sure that they are all what you want them to be? I can see that I've got 43 apps where the DPI is 350! I'm not saying that they are all apps that I use. Spoiler:
Ultimately I will make this be able to do updates. Right now, it's 100% safe and read only. You can try this if you like. Just rename it without extension. Code:
C:\>adb push onyxcfg data/local/tmp C:\>adb shell # cd /data/local/tmp # chmod 755 onyxcfg # ./onyxcfg /onyxconfig/eac_config -d # ./onyxcfg /onyxconfig/eac_config The second command will list all the packages and how they differ from the default. You probably need to be rooted to see /onyxconfig/eac_config Last edited by Renate; 08-27-2024 at 09:31 AM. |
![]() |
![]() |
![]() |
#2 |
Onyx-maniac
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 3,484
Karma: 13996147
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5, Go6
|
So, like everything about Onyx, it's more complicated than it seems.
There are two different "default" settings. Let's say that you adjust an app's settings. Then you install for the first time a new app. That will take its settings from the last time you played with any app's settings. This is a new version and it should make things clearer. It also describes update modes. Note also that while the Eink Center relies on UiSystem, the deeper settings and actual savings of settings needs kcb-release, i.e. com.onyx. Edit: If you plan on playing directly with eac_config, make sure that it stays: Code:
-rw------- 1 system system 6838 2024-08-27 08:53 eac_config Last edited by Renate; 08-28-2024 at 09:17 AM. |
![]() |
![]() |
Advert | |
|
![]() |
#3 |
Onyx-maniac
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 3,484
Karma: 13996147
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5, Go6
|
So, just to clarify...
The eac_config holds per app configurations. It can also hold per activity configurations under the per app, but this seems rarely used. Your configuration may list packages that you have never run or even have. My Poke3 had 400 kB of cruft, my Poke5 80 kB. Code:
onyxcfg -? // usage onyxcfg eac_config // full dump onyxcfg eac_config com.whatever.demo // dump single package onyxcfg eac_config -l // list packages onyxcfg eac_config -d // show default |
![]() |
![]() |
![]() |
#4 |
Connoisseur
![]() Posts: 51
Karma: 10
Join Date: Jun 2024
Device: Boox Go 10.3
|
Hi, I was wondering if you add support for writing to this file.
I want patch a specific app that is not from onyx. Could you help me? |
![]() |
![]() |
![]() |
#5 |
Onyx-maniac
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 3,484
Karma: 13996147
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5, Go6
|
You can just open the Eink center and set the values there. Ok, there are more values in eac_config than are accessible by the GUI. But the main ones are accessible.
If you are careful and you have a good text editor like Notepad++ you can edit the file. Trying to edit one line JSON is too confusing so I wouldn't recommend that. But you can do a search/replace for 350 to 300. It will set the DPI to the correct value without having to edit them all. I haven't been working on this lately. Mostly I turn the "master switch" off in the GUI for apps that I care about. |
![]() |
![]() |
Advert | |
|
![]() |
#6 |
Connoisseur
![]() Posts: 55
Karma: 10
Join Date: Nov 2024
Device: Boox Palma 2, Note Air 4C, Note Max
|
does anyone have the class name for Google Keep that lets you enable ink optimization per this guide? https://gist.github.com/calliecamero...8bd493380e3b7e I've been hunting for it in Android Studio and don't seem to have found the magic bullet yet. I did get DrawNote, Excalidraw, and Joplin's JSDraw plugin.
|
![]() |
![]() |
![]() |
#7 | |
Junior Member
![]() Posts: 4
Karma: 10
Join Date: Dec 2024
Device: Onyx Boox Note Air 2 Plus
|
Quote:
"md.obsidian":{"activityConfigMap":{},"autoFreezeC onfig":{"autoFreeze":false,"enable":true,"supportA utoFreeze":true},"autoStartConfig":{"autoStart":fa lse,"enable":true,"supportAdjust":true},"cssConfig Map":{},"dpiConfig":{"dpi":350,"enable":true},"ena ble":true,"extraConfig":{"allowSplashScreen":false ,"enable":true,"forceFullScreen":false,"fullPMAcce ss":false,"useDialogBorder":false,"usePageKeyAsVol umeKey":true},"globalActivityConfig":{"clsName":"" ,"displayConfig":{"bwMode":0,"cfaColorBrightness": 0,"cfaColorSaturation":0,"cfaColorSaturationMin":0 ,"contrast":30,"ditherThreshold":128,"enable":true ,"enhance":true,"monoLevel":10},"enable":true,"not eConfig":{"compatibleVersionCode":0,"drawViewKey": "com.getcapacitor.CapacitorWebView","enable":true, "globalStrokeStyle":{"enable":true,"strokeColo r":-16777216,"strokeExtraArgs":[],"strokeParams":[],"strokeStyle":0,"strokeWidth":3},"repaintLatency" :2000,"styleMap":{},"supportNoteConfig":true} |
|
![]() |
![]() |
![]() |
#8 |
Onyx-maniac
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 3,484
Karma: 13996147
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5, Go6
|
Sorry, without the code /code it puts in random spaces which confuse the heck out of me. "not eConfig"???
Code:
"md.obsidian":{"activityConfigMap":{},"autoFreezeConfig":{"autoFreeze":false,"enable":true,"supportAutoFreeze":true},"autoStartConfig":{"autoStart":false,"enable":true,"supportAdjust":true},"cssConfigMap":{},"dpiConfig":{"dpi":350,"enable":true},"enable":true,"extraConfig":{"allowSplashScreen":false,"enable":true,"forceFullScreen":false,"fullPMAccess":false,"useDialogBorder":false,"usePageKeyAsVolumeKey":true},"globalActivityConfig":{"clsName":"","displayConfig":{"bwMode":0,"cfaColorBrightness":0,"cfaColorSaturation":0,"cfaColorSaturationMin":0,"contrast":30,"ditherThreshold":128,"enable":true,"enhance":true,"monoLevel":10},"enable":true,"noteConfig":{"compatibleVersionCode":0,"drawViewKey": "com.getcapacitor.CapacitorWebView","enable":true,"globalStrokeStyle":{"enable":true,"strokeColor":-16777216,"strokeExtraArgs":[],"strokeParams":[],"strokeStyle":0,"strokeWidth":3},"repaintLatency":2000,"styleMap":{},"supportNoteConfig":true} |
![]() |
![]() |
![]() |
#9 | |
Connoisseur
![]() Posts: 55
Karma: 10
Join Date: Nov 2024
Device: Boox Palma 2, Note Air 4C, Note Max
|
Quote:
|
|
![]() |
![]() |
![]() |
#10 |
Connoisseur
![]() Posts: 55
Karma: 10
Join Date: Nov 2024
Device: Boox Palma 2, Note Air 4C, Note Max
|
oh, and answering my own question from earlier about how to find the class name for the ink surface of the app you're using: you can do this with ADB. launch the app, maybe write something on the ink surface just to be safe, and then on whatever machine you're running adb on, connected to your device:
Code:
adb shell 'dumpsys activity activities | grep ResumedActivity' |
![]() |
![]() |
![]() |
#11 |
Onyx-maniac
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 3,484
Karma: 13996147
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5, Go6
|
Yeah, but I think that the drawViewKey is supposed to be the ViewId of the drawing surface, not the class. You can specify the class if you like in the activityConfigMap and put the drawViewKey there.
|
![]() |
![]() |
![]() |
#12 | |
Member
![]() Posts: 11
Karma: 10
Join Date: Jan 2025
Device: Note Air 4C
|
Quote:
However as you correctly noted the store is being updated very frequently on the device itself and so it will get overwritten quickly after I replace it with my offline copy. I suppose we need to boot the device into some mode where we can access the filesystem (via ADB?), but Onyx software that writes into onyx_config is not started. Alternatively I'm thinking onyx_config can be made read-only, replaced with the offline updated copy and then device rebooted normally. I have no idea how to do booting without Onyx software, but I could try the second route. However I'm worried that reboot may fail with this config file being read-only and I will end but with bricked device... Hence seeking some advice here from more experienced people. TIA |
|
![]() |
![]() |
![]() |
#13 |
Onyx-maniac
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 3,484
Karma: 13996147
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5, Go6
|
|
![]() |
![]() |
![]() |
#14 | |
Member
![]() Posts: 11
Karma: 10
Join Date: Jan 2025
Device: Note Air 4C
|
Quote:
Meanwhile here is the list of processes that actually work with that config file (obtained by running lsof in adb shell after su): Code:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME system_server 1548 system mem REG 8,9 524288 13 /onyxconfig/mmkv/onyx_config system_server 1548 system 200u REG 8,9 524288 13 /onyxconfig/mmkv/onyx_config ndroid.systemui 1853 u0_a89 mem REG 8,9 524288 13 /onyxconfig/mmkv/onyx_config ndroid.systemui 1853 u0_a89 127u REG 8,9 524288 13 /onyxconfig/mmkv/onyx_config com.onyx 3139 system mem REG 8,9 524288 13 /onyxconfig/mmkv/onyx_config com.onyx 3139 system 319u REG 8,9 524288 13 /onyxconfig/mmkv/onyx_config |
|
![]() |
![]() |
![]() |
#15 |
Onyx-maniac
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 3,484
Karma: 13996147
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5, Go6
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Less "ghosting" on pearl eInk devices - the idea | MarekGibek | Kindle Developer's Corner | 13 | 03-14-2014 06:24 AM |
Library doesn't work, eInk side stuck with "Home" screen | andr2k | enTourage eDGe | 4 | 08-04-2012 09:37 AM |
Eink stuck "Initializing" and library lost! | jdm001 | enTourage eDGe | 7 | 07-10-2012 03:57 PM |
"No hack" comic book viewer on ALL eink kindles! | geekmaster | Kindle Developer's Corner | 36 | 05-18-2012 11:53 AM |
2 new ebook readers from netronix (6" & 9.7" eink) | lionfish | Which one should I buy? | 2 | 03-13-2008 12:11 AM |