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

Onyx Boox Nova Air Warmth & Backlight settings not working on 2404.03.1 #11723

Open
arooni opened this issue Apr 26, 2024 · 18 comments
Open

Onyx Boox Nova Air Warmth & Backlight settings not working on 2404.03.1 #11723

arooni opened this issue Apr 26, 2024 · 18 comments

Comments

@arooni
Copy link

arooni commented Apr 26, 2024

  • KOReader version 2404.03.1
  • Device: Boox Nova Air

Issue: Warmth and backlight settings do not seem to work

Steps to reproduce

Open backlight dialog, change brightness or warmth, neither has any effect.

crash.log (if applicable)

crash.log is a file that is automatically created when KOReader crashes. It can normally be found in the KOReader directory:

apologies for not filtering these better, I couldn't figure out how to get the kodev script running, ran ./kodev log -d android without getting it to work :(

Logcat log adjusting brightness:

``` 04-26 18:28:47.861 24380 24380 W System.err: at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7564) 04-26 18:28:47.861 24380 24380 W System.err: at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7501) 04-26 18:28:47.861 24380 24380 W System.err: at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7720) 04-26 18:28:47.861 24380 24380 W System.err: at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:189) 04-26 18:28:47.861 24380 24380 W System.err: at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method) 04-26 18:28:47.861 24380 24380 W System.err: at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:179) 04-26 18:28:47.861 24380 24380 W System.err: at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:7671) 04-26 18:28:47.861 24380 24380 W System.err: at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:7744) 04-26 18:28:47.861 24380 24380 W System.err: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1029) 04-26 18:28:47.861 24380 24380 W System.err: at android.view.Choreographer.doCallbacks(Choreographer.java:852) 04-26 18:28:47.861 24380 24380 W System.err: at android.view.Choreographer.doFrame(Choreographer.java:780) 04-26 18:28:47.861 24380 24380 W System.err: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1014) 04-26 18:28:47.861 24380 24380 W System.err: at android.os.Handler.handleCallback(Handler.java:883) 04-26 18:28:47.861 24380 24380 W System.err: at android.os.Handler.dispatchMessage(Handler.java:100) 04-26 18:28:47.861 24380 24380 W System.err: at android.os.Looper.loop(Looper.java:214) 04-26 18:28:47.861 24380 24380 W System.err: at android.app.ActivityThread.main(ActivityThread.java:7583) 04-26 18:28:47.861 24380 24380 W System.err: at java.lang.reflect.Method.invoke(Native Method) 04-26 18:28:47.861 24380 24380 W System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 04-26 18:28:47.861 24380 24380 W System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935) 04-26 18:28:47.862 24380 24380 W System.err: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory) 04-26 18:28:47.862 24380 24380 W System.err: at libcore.io.Linux.open(Native Method) 04-26 18:28:47.862 24380 24380 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167) 04-26 18:28:47.862 24380 24380 W System.err: at libcore.io.BlockGuardOs.open(BlockGuardOs.java:252) 04-26 18:28:47.862 24380 24380 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167) 04-26 18:28:47.862 24380 24380 W System.err: at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:7482) 04-26 18:28:47.862 24380 24380 W System.err: at libcore.io.IoBridge.open(IoBridge.java:482) 04-26 18:28:47.862 24380 24380 W System.err: ... 65 more 04-26 18:28:47.917 24380 24380 V Lights : Setting brightness to 131 04-26 18:28:47.918 24380 24380 W System.err: java.io.FileNotFoundException: /sys/class/backlight/white/brightness: open failed: ENOENT (No such file or directory) 04-26 18:28:47.918 24380 24380 W System.err: at libcore.io.IoBridge.open(IoBridge.java:496) 04-26 18:28:47.918 24380 24380 W System.err: at java.io.FileOutputStream.(FileOutputStream.java:235) 04-26 18:28:47.918 24380 24380 W System.err: at java.io.FileOutputStream.(FileOutputStream.java:186) 04-26 18:28:47.919 24380 24380 W System.err: at androidx.core.app.AppOpsManagerCompat.writeText$default(AppOpsManagerCompat.java:5) 04-26 18:28:47.919 24380 24380 W System.err: at org.koreader.launcher.extensions.FileExtensionsKt.write(FileExtensions.kt:1) 04-26 18:28:47.919 24380 24380 W System.err: at org.koreader.launcher.device.lights.OnyxWarmthController.setBrightness(OnyxWarmthController.kt:2) 04-26 18:28:47.919 24380 24380 W System.err: at org.koreader.launcher.dialog.LightDialog$show$1$1.onProgressChanged(LightDialog.kt:1) 04-26 18:28:47.919 24380 24380 W System.err: at android.widget.SeekBar.onProgressRefresh(SeekBar.java:98) 04-26 18:28:47.919 24380 24380 W System.err: at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:1553) 04-26 18:28:47.919 24380 24380 W System.err: at android.widget.ProgressBar.refreshProgress(ProgressBar.java:1609) 04-26 18:28:47.919 24380 24380 W System.err: at android.widget.ProgressBar.setProgressInternal(ProgressBar.java:1675) 04-26 18:28:47.919 24380 24380 W System.err: at android.widget.AbsSeekBar.trackTouchEvent(AbsSeekBar.java:977) 04-26 18:28:47.919 24380 24380 W System.err: at android.widget.AbsSeekBar.onTouchEvent(AbsSeekBar.java:886) 04-26 18:28:47.919 24380 24380 W System.err: at android.view.View.dispatchTouchEvent(View.java:13469) 04-26 18:28:47.919 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.919 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.919 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.919 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.919 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.919 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.919 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.919 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.919 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.920 24380 24380 W System.err: at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:468) 04-26 18:28:47.920 24380 24380 W System.err: at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1854) 04-26 18:28:47.920 24380 24380 W System.err: at android.app.Dialog.dispatchTouchEvent(Dialog.java:864) 04-26 18:28:47.920 24380 24380 W System.err: at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:426) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.View.dispatchPointerEvent(View.java:13731) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5540) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5343) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4899) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4865) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5005) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4873) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5062) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4899) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4865) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4873) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7595) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7564) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7501) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7720) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:189) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:179) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:7671) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:7744) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1029) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.Choreographer.doCallbacks(Choreographer.java:852) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.Choreographer.doFrame(Choreographer.java:780) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1014) 04-26 18:28:47.920 24380 24380 W System.err: at android.os.Handler.handleCallback(Handler.java:883) 04-26 18:28:47.920 24380 24380 W System.err: at android.os.Handler.dispatchMessage(Handler.java:100) 04-26 18:28:47.920 24380 24380 W System.err: at android.os.Looper.loop(Looper.java:214) 04-26 18:28:47.921 24380 24380 W System.err: at android.app.ActivityThread.main(ActivityThread.java:7583) 04-26 18:28:47.921 24380 24380 W System.err: at java.lang.reflect.Method.invoke(Native Method) 04-26 18:28:47.921 24380 24380 W System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 04-26 18:28:47.921 24380 24380 W System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935) 04-26 18:28:47.921 24380 24380 W System.err: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory) 04-26 18:28:47.921 24380 24380 W System.err: at libcore.io.Linux.open(Native Method) 04-26 18:28:47.921 24380 24380 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167) 04-26 18:28:47.921 24380 24380 W System.err: at libcore.io.BlockGuardOs.open(BlockGuardOs.java:252) 04-26 18:28:47.921 24380 24380 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167) 04-26 18:28:47.921 24380 24380 W System.err: at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:7482) 04-26 18:28:47.921 24380 24380 W System.err: at libcore.io.IoBridge.open(IoBridge.java:482) 04-26 18:28:47.922 24380 24380 W System.err: ... 65 more 04-26 18:28:47.932 24380 24380 V Lights : Setting brightness to 132 04-26 18:28:47.932 24380 24380 W System.err: java.io.FileNotFoundException: /sys/class/backlight/white/brightness: open failed: ENOENT (No such file or directory) 04-26 18:28:47.933 24380 24380 W System.err: at libcore.io.IoBridge.open(IoBridge.java:496) 04-26 18:28:47.933 24380 24380 W System.err: at java.io.FileOutputStream.(FileOutputStream.java:235) 04-26 18:28:47.933 24380 24380 W System.err: at java.io.FileOutputStream.(FileOutputStream.java:186) 04-26 18:28:47.933 24380 24380 W System.err: at androidx.core.app.AppOpsManagerCompat.writeText$default(AppOpsManagerCompat.java:5) 04-26 18:28:47.933 24380 24380 W System.err: at org.koreader.launcher.extensions.FileExtensionsKt.write(FileExtensions.kt:1) 04-26 18:28:47.933 24380 24380 W System.err: at org.koreader.launcher.device.lights.OnyxWarmthController.setBrightness(OnyxWarmthController.kt:2) 04-26 18:28:47.933 24380 24380 W System.err: at org.koreader.launcher.dialog.LightDialog$show$1$1.onProgressChanged(LightDialog.kt:1) 04-26 18:28:47.933 24380 24380 W System.err: at android.widget.SeekBar.onProgressRefresh(SeekBar.java:98) 04-26 18:28:47.933 24380 24380 W System.err: at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:1553) 04-26 18:28:47.933 24380 24380 W System.err: at android.widget.ProgressBar.refreshProgress(ProgressBar.java:1609) 04-26 18:28:47.933 24380 24380 W System.err: at android.widget.ProgressBar.setProgressInternal(ProgressBar.java:1675) 04-26 18:28:47.933 24380 24380 W System.err: at android.widget.AbsSeekBar.trackTouchEvent(AbsSeekBar.java:977) 04-26 18:28:47.933 24380 24380 W System.err: at android.widget.AbsSeekBar.onTouchEvent(AbsSeekBar.java:886) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.View.dispatchTouchEvent(View.java:13469) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.933 24380 24380 W System.err: at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:468) 04-26 18:28:47.933 24380 24380 W System.err: at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1854) 04-26 18:28:47.933 24380 24380 W System.err: at android.app.Dialog.dispatchTouchEvent(Dialog.java:864) 04-26 18:28:47.934 24380 24380 W System.err: at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:426) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.View.dispatchPointerEvent(View.java:13731) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5540) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5343) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4899) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4865) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5005) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4873) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5062) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4899) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4865) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4873) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7595) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7564) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7501) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7720) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:189) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:179) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:7671) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:7744) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1029) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.Choreographer.doCallbacks(Choreographer.java:852) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.Choreographer.doFrame(Choreographer.java:780) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1014) 04-26 18:28:47.934 24380 24380 W System.err: at android.os.Handler.handleCallback(Handler.java:883) 04-26 18:28:47.934 24380 24380 W System.err: at android.os.Handler.dispatchMessage(Handler.java:100) 04-26 18:28:47.934 24380 24380 W System.err: at android.os.Looper.loop(Looper.java:214) 04-26 18:28:47.934 24380 24380 W System.err: at android.app.ActivityThread.main(ActivityThread.java:7583) 04-26 18:28:47.934 24380 24380 W System.err: at java.lang.reflect.Method.invoke(Native Method) 04-26 18:28:47.934 24380 24380 W System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 04-26 18:28:47.934 24380 24380 W System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935) 04-26 18:28:47.934 695 695 I SDM : update_to_display[0/1] -- marker[113032] waveform_mode = 255, update_mode = 0, Rect[0 0 1872 1404], flags = 0 04-26 18:28:47.935 24380 24380 W System.err: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory) 04-26 18:28:47.935 24380 24380 W System.err: at libcore.io.Linux.open(Native Method) 04-26 18:28:47.935 24380 24380 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167) 04-26 18:28:47.935 24380 24380 W System.err: at libcore.io.BlockGuardOs.open(BlockGuardOs.java:252) 04-26 18:28:47.935 24380 24380 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167) 04-26 18:28:47.935 24380 24380 W System.err: at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:7482) 04-26 18:28:47.935 24380 24380 W System.err: at libcore.io.IoBridge.open(IoBridge.java:482) 04-26 18:28:47.935 24380 24380 W System.err: ... 65 more 04-26 18:28:48.018 695 695 I SDM : update_to_display[0/1] -- marker[113033] waveform_mode = 255, update_mode = 0, Rect[0 0 1872 1404], flags = 0 04-26 18:28:48.223 24380 24380 V Lights : Setting brightness to 131 04-26 18:28:48.225 24380 24380 W System.err: java.io.FileNotFoundException: /sys/class/backlight/white/brightness: open failed: ENOENT (No such file or directory) 04-26 18:28:48.226 24380 24380 W System.err: at libcore.io.IoBridge.open(IoBridge.java:496) 04-26 18:28:48.227 24380 24380 W System.err: at java.io.FileOutputStream.(FileOutputStream.java:235) 04-26 18:28:48.227 24380 24380 W System.err: at java.io.FileOutputStream.(FileOutputStream.java:186) 04-26 18:28:48.227 24380 24380 W System.err: at androidx.core.app.AppOpsManagerCompat.writeText$default(AppOpsManagerCompat.java:5) 04-26 18:28:48.227 24380 24380 W System.err: at org.koreader.launcher.extensions.FileExtensionsKt.write(FileExtensions.kt:1) 04-26 18:28:48.227 24380 24380 W System.err: at org.koreader.launcher.device.lights.OnyxWarmthController.setBrightness(OnyxWarmthController.kt:2) 04-26 18:28:48.227 24380 24380 W System.err: at org.koreader.launcher.dialog.LightDialog$show$1$1.onProgressChanged(LightDialog.kt:1) 04-26 18:28:48.227 24380 24380 W System.err: at android.widget.SeekBar.onProgressRefresh(SeekBar.java:98) 04-26 18:28:48.227 24380 24380 W System.err: at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:1553) 04-26 18:28:48.227 24380 24380 W System.err: at android.widget.ProgressBar.refreshProgress(ProgressBar.java:1609) 04-26 18:28:48.227 24380 24380 W System.err: at android.widget.ProgressBar.setProgressInternal(ProgressBar.java:1675) 04-26 18:28:48.227 24380 24380 W System.err: at android.widget.AbsSeekBar.trackTouchEvent(AbsSeekBar.java:977) 04-26 18:28:48.227 24380 24380 W System.err: at android.widget.AbsSeekBar.onTouchEvent(AbsSeekBar.java:886) 04-26 18:28:48.227 24380 24380 W System.err: at android.view.View.dispatchTouchEvent(View.java:13469) 04-26 18:28:48.227 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:48.227 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:48.227 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:48.227 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:48.227 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:48.227 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:48.227 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:48.228 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:48.228 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:48.228 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:48.228 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:48.228 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:48.228 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:48.228 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:48.228 24380 24380 W System.err: at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:468) 04-26 18:28:48.228 24380 24380 W System.err: at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1854) 04-26 18:28:48.228 24380 24380 W System.err: at android.app.Dialog.dispatchTouchEvent(Dialog.java:864) 04-26 18:28:48.228 24380 24380 W System.err: at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:426) 04-26 18:28:48.228 24380 24380 W System.err: at android.view.View.dispatchPointerEvent(View.java:13731) 04-26 18:28:48.228 24380 24380 W System.err: at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5540) 04-26 18:28:48.228 24380 24380 W System.err: at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5343) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4899) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4865) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5005) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4873) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5062) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4899) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4865) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4873) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7595) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7564) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7501) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7720) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:189) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:179) 04-26 18:28:48.231 24380 24380 W System.err: at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:7671) 04-26 18:28:48.231 24380 24380 W System.err: at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:7744) 04-26 18:28:48.231 24380 24380 W System.err: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1029) 04-26 18:28:48.231 24380 24380 W System.err: at android.view.Choreographer.doCallbacks(Choreographer.java:852) 04-26 18:28:48.231 24380 24380 W System.err: at android.view.Choreographer.doFrame(Choreographer.java:780) 04-26 18:28:48.231 24380 24380 W System.err: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1014) 04-26 18:28:48.231 24380 24380 W System.err: at android.os.Handler.handleCallback(Handler.java:883) 04-26 18:28:48.231 24380 24380 W System.err: at android.os.Handler.dispatchMessage(Handler.java:100) 04-26 18:28:48.231 24380 24380 W System.err: at android.os.Looper.loop(Looper.java:214) 04-26 18:28:48.231 24380 24380 W System.err: at android.app.ActivityThread.main(ActivityThread.java:7583) 04-26 18:28:48.231 24380 24380 W System.err: at java.lang.reflect.Method.invoke(Native Method) 04-26 18:28:48.232 24380 24380 W System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 04-26 18:28:48.232 24380 24380 W System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935) 04-26 18:28:48.232 24380 24380 W System.err: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory) 04-26 18:28:48.232 24380 24380 W System.err: at libcore.io.Linux.open(Native Method) 04-26 18:28:48.232 24380 24380 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167) 04-26 18:28:48.232 24380 24380 W System.err: at libcore.io.BlockGuardOs.open(BlockGuardOs.java:252) 04-26 18:28:48.232 24380 24380 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167) 04-26 18:28:48.232 24380 24380 W System.err: at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:7482) 04-26 18:28:48.233 24380 24380 W System.err: at libcore.io.IoBridge.open(IoBridge.java:482) 04-26 18:28:48.233 24380 24380 W System.err: ... 65 more 04-26 18:28:48.316 695 695 I SDM : update_to_display[0/1] -- marker[113034] waveform_mode = 255, update_mode = 0, Rect[0 0 1872 1404], flags = 0 04-26 18:28:48.733 695 695 I SDM : update_to_display[0/1] -- marker[113035] waveform_mode = 255, update_mode = 0, Rect[0 0 1872 1404], flags = 0 ^C⏎
</details>

* `/mnt/private/koreader` for Cervantes
* `koreader/` directory for Kindle
* `.adds/koreader/` directory for Kobo
* `applications/koreader/` directory for Pocketbook

Android logs are kept in memory. Please go to [Menu] → Help → Bug Report to save these logs to a file.

Please try to include the relevant sections in your issue description.
You can upload the whole `crash.log` file (zipped if necessary) on GitHub by dragging and dropping it onto this textbox.

If your issue doesn't directly concern a Lua crash, we'll quite likely need you to reproduce the issue with *verbose* debug logging enabled before providing the logs to us.
To do so, from the file manager, go to [Tools] → More tools → Developer options, and tick both `Enable debug logging` and `Enable verbose debug logging`.
You'll need to restart KOReader after toggling these on.

If you instead opt to inline it, please do so behind a spoiler tag:
<details>
  <summary>crash.log</summary>

```

and trying to set warmth:

``` 04-26 18:33:15.047 24380 24380 V Lights : Setting warmth to 135 04-26 18:33:15.048 24380 24380 W System.err: java.io.FileNotFoundException: /sys/class/backlight/warm/brightness: open failed: ENOENT (No such file or directory) 04-26 18:33:15.048 24380 24380 W System.err: at libcore.io.IoBridge.open(IoBridge.java:496) 04-26 18:33:15.048 24380 24380 W System.err: at java.io.FileOutputStream.(FileOutputStream.java:235) 04-26 18:33:15.048 24380 24380 W System.err: at java.io.FileOutputStream.(FileOutputStream.java:186) 04-26 18:33:15.048 24380 24380 W System.err: at androidx.core.app.AppOpsManagerCompat.writeText$default(AppOpsManagerCompat.java:5) 04-26 18:33:15.048 24380 24380 W System.err: at org.koreader.launcher.extensions.FileExtensionsKt.write(FileExtensions.kt:1) 04-26 18:33:15.048 24380 24380 W System.err: at org.koreader.launcher.device.lights.OnyxWarmthController.setWarmth(OnyxWarmthController.kt:2) 04-26 18:33:15.048 24380 24380 W System.err: at org.koreader.launcher.dialog.LightDialog$show$1$2.onProgressChanged(LightDialog.kt:1) 04-26 18:33:15.048 24380 24380 W System.err: at android.widget.SeekBar.onProgressRefresh(SeekBar.java:98) 04-26 18:33:15.049 24380 24380 W System.err: at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:1553) 04-26 18:33:15.049 24380 24380 W System.err: at android.widget.ProgressBar.refreshProgress(ProgressBar.java:1609) 04-26 18:33:15.049 24380 24380 W System.err: at android.widget.ProgressBar.setProgressInternal(ProgressBar.java:1675) 04-26 18:33:15.049 24380 24380 W System.err: at android.widget.AbsSeekBar.trackTouchEvent(AbsSeekBar.java:977) 04-26 18:33:15.049 24380 24380 W System.err: at android.widget.AbsSeekBar.onTouchEvent(AbsSeekBar.java:886) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.View.dispatchTouchEvent(View.java:13469) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.049 24380 24380 W System.err: at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:468) 04-26 18:33:15.049 24380 24380 W System.err: at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1854) 04-26 18:33:15.049 24380 24380 W System.err: at android.app.Dialog.dispatchTouchEvent(Dialog.java:864) 04-26 18:33:15.049 24380 24380 W System.err: at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:426) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.View.dispatchPointerEvent(View.java:13731) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5540) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5343) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4899) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4865) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5005) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4873) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5062) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4899) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4865) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4873) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7595) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7564) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7501) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7720) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:189) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:179) 04-26 18:33:15.050 24380 24380 W System.err: at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:7671) 04-26 18:33:15.050 24380 24380 W System.err: at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:7744) 04-26 18:33:15.050 24380 24380 W System.err: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1029) 04-26 18:33:15.050 24380 24380 W System.err: at android.view.Choreographer.doCallbacks(Choreographer.java:852) 04-26 18:33:15.050 24380 24380 W System.err: at android.view.Choreographer.doFrame(Choreographer.java:780) 04-26 18:33:15.050 24380 24380 W System.err: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1014) 04-26 18:33:15.050 24380 24380 W System.err: at android.os.Handler.handleCallback(Handler.java:883) 04-26 18:33:15.050 24380 24380 W System.err: at android.os.Handler.dispatchMessage(Handler.java:100) 04-26 18:33:15.050 24380 24380 W System.err: at android.os.Looper.loop(Looper.java:214) 04-26 18:33:15.050 24380 24380 W System.err: at android.app.ActivityThread.main(ActivityThread.java:7583) 04-26 18:33:15.050 24380 24380 W System.err: at java.lang.reflect.Method.invoke(Native Method) 04-26 18:33:15.050 24380 24380 W System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 04-26 18:33:15.050 24380 24380 W System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935) 04-26 18:33:15.050 24380 24380 W System.err: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory) 04-26 18:33:15.050 24380 24380 W System.err: at libcore.io.Linux.open(Native Method) 04-26 18:33:15.050 24380 24380 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167) 04-26 18:33:15.050 24380 24380 W System.err: at libcore.io.BlockGuardOs.open(BlockGuardOs.java:252) 04-26 18:33:15.050 24380 24380 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167) 04-26 18:33:15.050 24380 24380 W System.err: at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:7482) 04-26 18:33:15.050 24380 24380 W System.err: at libcore.io.IoBridge.open(IoBridge.java:482) 04-26 18:33:15.050 24380 24380 W System.err: ... 65 more 04-26 18:33:15.075 24380 24380 V Lights : Setting warmth to 133 04-26 18:33:15.076 24380 24380 W System.err: java.io.FileNotFoundException: /sys/class/backlight/warm/brightness: open failed: ENOENT (No such file or directory) 04-26 18:33:15.077 24380 24380 W System.err: at libcore.io.IoBridge.open(IoBridge.java:496) 04-26 18:33:15.077 24380 24380 W System.err: at java.io.FileOutputStream.(FileOutputStream.java:235) 04-26 18:33:15.077 24380 24380 W System.err: at java.io.FileOutputStream.(FileOutputStream.java:186) 04-26 18:33:15.077 24380 24380 W System.err: at androidx.core.app.AppOpsManagerCompat.writeText$default(AppOpsManagerCompat.java:5) 04-26 18:33:15.077 24380 24380 W System.err: at org.koreader.launcher.extensions.FileExtensionsKt.write(FileExtensions.kt:1) 04-26 18:33:15.077 24380 24380 W System.err: at org.koreader.launcher.device.lights.OnyxWarmthController.setWarmth(OnyxWarmthController.kt:2) 04-26 18:33:15.077 24380 24380 W System.err: at org.koreader.launcher.dialog.LightDialog$show$1$2.onProgressChanged(LightDialog.kt:1) 04-26 18:33:15.077 24380 24380 W System.err: at android.widget.SeekBar.onProgressRefresh(SeekBar.java:98) 04-26 18:33:15.077 24380 24380 W System.err: at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:1553) 04-26 18:33:15.077 24380 24380 W System.err: at android.widget.ProgressBar.refreshProgress(ProgressBar.java:1609) 04-26 18:33:15.077 24380 24380 W System.err: at android.widget.ProgressBar.setProgressInternal(ProgressBar.java:1675) 04-26 18:33:15.077 24380 24380 W System.err: at android.widget.AbsSeekBar.trackTouchEvent(AbsSeekBar.java:977) 04-26 18:33:15.077 24380 24380 W System.err: at android.widget.AbsSeekBar.onTouchEvent(AbsSeekBar.java:886) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.View.dispatchTouchEvent(View.java:13469) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.077 24380 24380 W System.err: at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:468) 04-26 18:33:15.077 24380 24380 W System.err: at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1854) 04-26 18:33:15.077 24380 24380 W System.err: at android.app.Dialog.dispatchTouchEvent(Dialog.java:864) 04-26 18:33:15.077 24380 24380 W System.err: at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:426) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.View.dispatchPointerEvent(View.java:13731) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5540) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5343) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4899) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4865) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5005) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4873) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5062) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4899) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4865) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4873) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7595) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7564) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7501) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7720) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:189) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:179) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:7671) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:7744) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1029) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.Choreographer.doCallbacks(Choreographer.java:852) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.Choreographer.doFrame(Choreographer.java:780) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1014) 04-26 18:33:15.078 24380 24380 W System.err: at android.os.Handler.handleCallback(Handler.java:883) 04-26 18:33:15.078 24380 24380 W System.err: at android.os.Handler.dispatchMessage(Handler.java:100) 04-26 18:33:15.078 24380 24380 W System.err: at android.os.Looper.loop(Looper.java:214) 04-26 18:33:15.078 24380 24380 W System.err: at android.app.ActivityThread.main(ActivityThread.java:7583) 04-26 18:33:15.078 24380 24380 W System.err: at java.lang.reflect.Method.invoke(Native Method) 04-26 18:33:15.078 24380 24380 W System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 04-26 18:33:15.078 24380 24380 W System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935) 04-26 18:33:15.078 24380 24380 W System.err: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory) 04-26 18:33:15.078 24380 24380 W System.err: at libcore.io.Linux.open(Native Method) 04-26 18:33:15.078 24380 24380 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167) 04-26 18:33:15.078 24380 24380 W System.err: at libcore.io.BlockGuardOs.open(BlockGuardOs.java:252) 04-26 18:33:15.079 24380 24380 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167) 04-26 18:33:15.079 24380 24380 W System.err: at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:7482) 04-26 18:33:15.079 24380 24380 W System.err: at libcore.io.IoBridge.open(IoBridge.java:482) 04-26 18:33:15.079 24380 24380 W System.err: ... 65 more
</details
@hugleo
Copy link
Contributor

hugleo commented Apr 27, 2024

Well,

It seems there's no permission on the file anymore: java.io.FileNotFoundException: /sys/class/backlight/warm/brightness: open failed: ENOENT (No such file or directory).

I made some changes some time ago that I asked the OP to improve/test.

koreader/android-luajit-launcher#471 (comment)

I built your device on top of that, who knows, you might have some luck. Also assuming this is OK: https://github.com/koreader/koreader/wiki/Android-tips-and-tricks#onyx-devices

APK: https://we.tl/t-xzeUZlqLuV

@arooni
Copy link
Author

arooni commented Apr 28, 2024

Thank you for the build @hugleo and your help in the past and now!

I tried your build today, and the app crashed on startup. Log is below. Happy to help test any other releases you might have for me.

--------- beginning of main
04-27 19:08:59.770 I/.launcher.debu( 4070): Late-enabling -Xcheck:jni
04-27 19:08:59.796 E/.launcher.debu( 4070): Unknown bits set in runtime_flags: 0x8000
04-27 19:08:59.889 I/EInkHelper( 4070): initImpl takes: 58 ms!
04-27 19:08:59.927 I/Perf    ( 4070): Connecting to perf service.
04-27 19:08:59.944 I/MultiDex( 4070): VM with version 2.1.0 has multidex support
04-27 19:08:59.944 I/MultiDex( 4070): Installing application
04-27 19:08:59.944 I/MultiDex( 4070): VM has multidex support, MultiDex support library is disabled.
04-27 19:09:00.068 I/MainActivity( 4070): loading libluajit
04-27 19:09:00.100 I/SystemUIConfig( 4070): the context is null, init mAppContext from ActivityThread::org.koreader.launcher.MainApp@c650a20
04-27 19:09:00.101 E/.launcher.debu( 4070): Invalid ID 0x00000000.
04-27 19:09:00.103 I/ConfigLoader( 4070): load json config by : systemui
04-27 19:09:00.136 D/NativeGlue( 4070): Creating: 0x75019ee340
04-27 19:09:00.138 V/NativeGlue( 4070): User FIFO already exists at `/data/user/0/org.koreader.launcher.debug/files/alooper.fifo`
04-27 19:09:00.139 D/NativeThread( 4070): Starting
04-27 19:09:00.139 V/NativeThread( 4070): waiting for activity
04-27 19:09:00.139 I/Assets  ( 4070): loading lib7z
04-27 19:09:00.147 I/EPD     ( 4070): Using Onyx/Qualcomm driver
04-27 19:09:00.147 I/Lights  ( 4070): Using Onyx Adb driver
04-27 19:09:00.152 V/Surface ( 4070): Using SurfaceView implementation
04-27 19:09:00.153 V/MainActivity( 4070): native orientation: portrait
04-27 19:09:00.154 V/EventReceiver( 4070): Filtering 3 events: 
04-27 19:09:00.154 V/EventReceiver( 4070): android.intent.action.ACTION_POWER_CONNECTED
04-27 19:09:00.154 V/EventReceiver( 4070): android.intent.action.ACTION_POWER_DISCONNECTED
04-27 19:09:00.154 V/EventReceiver( 4070): android.intent.action.DOWNLOAD_COMPLETE
04-27 19:09:00.160 V/NativeGlue( 4070): Start: 0x75019ee340
04-27 19:09:00.161 D/NativeGlue( 4070): activityState=10
04-27 19:09:00.163 V/NativeGlue( 4070): Resume: 0x75019ee340
04-27 19:09:00.164 D/NativeGlue( 4070): activityState=11
04-27 19:09:00.164 D/NativeGlue( 4070): Post APP_CMD_RESUME
04-27 19:09:00.166 V/Timeout ( 4070): onResume: updating system timeout: 30
04-27 19:09:00.166 V/Timeout ( 4070): onResume
04-27 19:09:00.182 V/NativeGlue( 4070): InputQueueCreated: 0x75019ee340 -- 0x75019eefc0
04-27 19:09:00.182 D/NativeGlue( 4070):  APP_CMD_INPUT_CHANGED
04-27 19:09:00.183 D/NativeGlue( 4070): Attaching input queue to looper
04-27 19:09:00.192 D/Surface ( 4070): onAttachedToWindow()
04-27 19:09:00.221 I/AdrenoGLES( 4070): QUALCOMM build                   : b7efb54, I285e059637
04-27 19:09:00.221 I/AdrenoGLES( 4070): Build Date                       : 10/31/19
04-27 19:09:00.221 I/AdrenoGLES( 4070): OpenGL ES Shader Compiler Version: EV031.27.05.02
04-27 19:09:00.221 I/AdrenoGLES( 4070): Local Branch                     : 
04-27 19:09:00.221 I/AdrenoGLES( 4070): Remote Branch                    : 
04-27 19:09:00.221 I/AdrenoGLES( 4070): Remote Branch                    : 
04-27 19:09:00.221 I/AdrenoGLES( 4070): Reconstruct Branch               : 
04-27 19:09:00.221 I/AdrenoGLES( 4070): Build Config                     : S L 8.0.12 AArch64
04-27 19:09:00.230 I/AdrenoGLES( 4070): PFP: 0x005ff112, ME: 0x005ff066
04-27 19:09:00.233 W/AdrenoUtils( 4070): <ReadGpuID_from_sysfs:194>: Failed to open /sys/class/kgsl/kgsl-3d0/gpu_model
04-27 19:09:00.233 W/AdrenoUtils( 4070): <ReadGpuID:218>: Failed to read chip ID from gpu_model. Fallback to use the GSL path
04-27 19:09:00.223 W/RenderThread( 4070): type=1400 audit(0.0:283): avc: denied { search } for name="kgsl-3d0" dev="sysfs" ino=28972 scontext=u:r:untrusted_app:s0:c161,c256,c512,c768 tcontext=u:object_r:sysfs_kgsl:s0 tclass=dir permissive=0
04-27 19:09:00.269 V/NativeGlue( 4070): NativeWindowCreated: 0x75019ee340 -- 0x7512b41010
04-27 19:09:00.270 D/NativeGlue( 4070): APP_CMD_INIT_WINDOW
04-27 19:09:00.270 V/NativeThread( 4070): Activity window ready.
04-27 19:09:00.280 W/Gralloc3( 4070): mapper 3.x is not supported
04-27 19:09:00.298 V/Surface ( 4070): surface changed {
04-27 19:09:00.298 V/Surface ( 4070):   width:  1404
04-27 19:09:00.298 V/Surface ( 4070):   height: 1872
04-27 19:09:00.298 V/Surface ( 4070):  format: TRANSPARENT
04-27 19:09:00.298 V/Surface ( 4070): }
04-27 19:09:00.298 V/NativeGlue( 4070): NativeWindowResized: 0x75019ee340 -- 0x7512b41010
04-27 19:09:00.325 V/NativeGlue( 4070): NativeWindowRedrawNeeded: 0x75019ee340 -- 0x7512b41010
04-27 19:09:00.370 V/NativeGlue( 4070): WindowFocusChanged: 0x75019ee340 -- 1
04-27 19:09:00.371 V/NativeThread( 4070): Activity gained focus.
04-27 19:09:00.372 V/NativeThread( 4070): Launching LuaJIT assets
04-27 19:09:00.415 I/Assets  ( 4070): Skip installation for revision v2024.03.1-75-gf5be04a73_2024-04-24
04-27 19:09:00.425 D/KOReader( 4070): try to load module [libs/libkoreader-lfs.so](http://libs/libkoreader-lfs.so)
04-27 19:09:00.426 E/Perf    ( 4070): Fail to get file list alooper.fifo
04-27 19:09:00.427 E/Perf    ( 4070): getFolderSize() : Exception_1 = java.lang.NullPointerException: Attempt to get length of null array
04-27 19:09:00.429 I/dlopen  ( 4070): dl.dlopen - [libs/libkoreader-lfs.so](http://libs/libkoreader-lfs.so) => [/data/user/0/org.koreader.launcher.debug/files/libs/libkoreader-lfs.so](http://data/user/0/org.koreader.launcher.debug/files/libs/libkoreader-lfs.so)
04-27 19:09:00.430 V/dlopen  ( 4070):     dl.dlopen - needed => [libluajit.so](http://libluajit.so/) (1 of 2) <= [/data/user/0/org.koreader.launcher.debug/files/libs/libkoreader-lfs.so](http://data/user/0/org.koreader.launcher.debug/files/libs/libkoreader-lfs.so)
04-27 19:09:00.430 V/dlopen  ( 4070):     dl.dlopen - [libluajit.so](http://libluajit.so/) => [/data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so](http://data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so)
04-27 19:09:00.431 V/dlopen  ( 4070):         dl.dlopen - needed => [libm.so](http://libm.so/) (1 of 5) <= [/data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so](http://data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so)
04-27 19:09:00.432 V/dlopen  ( 4070):         dl.dlopen - [libm.so](http://libm.so/) => [/system/lib64/libm.so](http://system/lib64/libm.so)
04-27 19:09:00.432 V/dlopen  ( 4070):         dl.dlopen - skipping [/system/lib64/libm.so](http://system/lib64/libm.so) (system lib)
04-27 19:09:00.432 V/dlopen  ( 4070):         dl.dlopen - needed => [libdl.so](http://libdl.so/) (2 of 5) <= [/data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so](http://data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so)
04-27 19:09:00.433 V/dlopen  ( 4070):         dl.dlopen - [libdl.so](http://libdl.so/) => [/system/lib64/libdl.so](http://system/lib64/libdl.so)
04-27 19:09:00.433 V/dlopen  ( 4070):         dl.dlopen - skipping [/system/lib64/libdl.so](http://system/lib64/libdl.so) (system lib)
04-27 19:09:00.434 V/dlopen  ( 4070):         dl.dlopen - needed => [libandroid.so](http://libandroid.so/) (3 of 5) <= [/data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so](http://data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so)
04-27 19:09:00.434 V/dlopen  ( 4070):         dl.dlopen - [libandroid.so](http://libandroid.so/) => [/system/lib64/libandroid.so](http://system/lib64/libandroid.so)
04-27 19:09:00.434 V/dlopen  ( 4070):         dl.dlopen - skipping [/system/lib64/libandroid.so](http://system/lib64/libandroid.so) (system lib)
04-27 19:09:00.434 V/dlopen  ( 4070):         dl.dlopen - needed => [liblog.so](http://liblog.so/) (4 of 5) <= [/data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so](http://data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so)
04-27 19:09:00.435 V/dlopen  ( 4070):         dl.dlopen - [liblog.so](http://liblog.so/) => [/system/lib64/liblog.so](http://system/lib64/liblog.so)
04-27 19:09:00.435 V/dlopen  ( 4070):         dl.dlopen - skipping [/system/lib64/liblog.so](http://system/lib64/liblog.so) (system lib)
04-27 19:09:00.435 V/dlopen  ( 4070):         dl.dlopen - needed => [libc.so](http://libc.so/) (5 of 5) <= [/data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so](http://data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so)
04-27 19:09:00.436 V/dlopen  ( 4070):         dl.dlopen - [libc.so](http://libc.so/) => [/system/lib64/libc.so](http://system/lib64/libc.so)
04-27 19:09:00.436 V/dlopen  ( 4070):         dl.dlopen - skipping [/system/lib64/libc.so](http://system/lib64/libc.so) (system lib)
04-27 19:09:00.436 V/dlopen  ( 4070):     sys_dlopen - loading library [/data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so](http://data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so) (in local namespace)
04-27 19:09:00.437 V/dlopen  ( 4070):     dl.dlopen - needed => [libc.so](http://libc.so/) (2 of 2) <= [/data/user/0/org.koreader.launcher.debug/files/libs/libkoreader-lfs.so](http://data/user/0/org.koreader.launcher.debug/files/libs/libkoreader-lfs.so)
04-27 19:09:00.438 V/dlopen  ( 4070):     dl.dlopen - [libc.so](http://libc.so/) => [/system/lib64/libc.so](http://system/lib64/libc.so)
04-27 19:09:00.438 V/dlopen  ( 4070):     dl.dlopen - skipping [/system/lib64/libc.so](http://system/lib64/libc.so) (system lib)
04-27 19:09:00.438 V/dlopen  ( 4070): sys_dlopen - loading library [/data/user/0/org.koreader.launcher.debug/files/libs/libkoreader-lfs.so](http://data/user/0/org.koreader.launcher.debug/files/libs/libkoreader-lfs.so) (in local namespace)
04-27 19:09:00.438 W/linker  ( 4070): Warning: "[/data/data/org.koreader.launcher.debug/files/libs/libkoreader-lfs.so](http://data/data/org.koreader.launcher.debug/files/libs/libkoreader-lfs.so)" unused DT entry: DT_RPATH (type 0xf arg 0x2a6) (ignoring)
04-27 19:09:00.445 D/KOReader( 4070): ffi.load rt.so.1
04-27 19:09:00.448 W/dlopen  ( 4070): could not find library rt.so.1
04-27 19:09:00.469 E/Perf    ( 4070): Fail to get file list oat
04-27 19:09:00.469 E/Perf    ( 4070): getFolderSize() : Exception_1 = java.lang.NullPointerException: Attempt to get length of null array
04-27 19:09:00.478 D/KOReader( 4070): ffi.load libs/libutf8proc.so.3
04-27 19:09:00.480 I/dlopen  ( 4070): dl.dlopen - libs/libutf8proc.so.3 => /data/user/0/org.koreader.launcher.debug/files/libs/libutf8proc.so.3
04-27 19:09:00.482 V/dlopen  ( 4070):     dl.dlopen - needed => [libc.so](http://libc.so/) (1 of 1) <= /data/user/0/org.koreader.launcher.debug/files/libs/libutf8proc.so.3
04-27 19:09:00.483 V/dlopen  ( 4070):     dl.dlopen - [libc.so](http://libc.so/) => [/system/lib64/libc.so](http://system/lib64/libc.so)
04-27 19:09:00.483 V/dlopen  ( 4070):     dl.dlopen - skipping [/system/lib64/libc.so](http://system/lib64/libc.so) (system lib)
04-27 19:09:00.483 V/dlopen  ( 4070): dl.dlopen - load_func -> /data/user/0/org.koreader.launcher.debug/files/libs/libutf8proc.so.3
04-27 19:09:00.484 W/linker  ( 4070): Warning: "/data/data/org.koreader.launcher.debug/files/libs/libutf8proc.so.3" unused DT entry: DT_RPATH (type 0xf arg 0x28a) (ignoring)
04-27 19:09:00.526 D/KOReader( 4070): ffi.load blitbuffer
04-27 19:09:00.527 W/dlopen  ( 4070): could not find library blitbuffer
04-27 19:09:00.527 D/KOReader( 4070): ffi.load ./libs/libblitbuffer.so
04-27 19:09:00.528 I/dlopen  ( 4070): dl.dlopen - ./libs/libblitbuffer.so => [/data/user/0/org.koreader.launcher.debug/files/./libs/libblitbuffer.so](http://data/user/0/org.koreader.launcher.debug/files/libs/libblitbuffer.so)
04-27 19:09:00.530 V/dlopen  ( 4070):     dl.dlopen - needed => [libc.so](http://libc.so/) (1 of 1) <= [/data/user/0/org.koreader.launcher.debug/files/./libs/libblitbuffer.so](http://data/user/0/org.koreader.launcher.debug/files/libs/libblitbuffer.so)
04-27 19:09:00.531 V/dlopen  ( 4070):     dl.dlopen - [libc.so](http://libc.so/) => [/system/lib64/libc.so](http://system/lib64/libc.so)
04-27 19:09:00.531 V/dlopen  ( 4070):     dl.dlopen - skipping [/system/lib64/libc.so](http://system/lib64/libc.so) (system lib)
04-27 19:09:00.531 V/dlopen  ( 4070): dl.dlopen - load_func -> [/data/user/0/org.koreader.launcher.debug/files/./libs/libblitbuffer.so](http://data/user/0/org.koreader.launcher.debug/files/libs/libblitbuffer.so)
04-27 19:09:00.532 W/linker  ( 4070): Warning: "[/data/data/org.koreader.launcher.debug/files/libs/libblitbuffer.so](http://data/data/org.koreader.launcher.debug/files/libs/libblitbuffer.so)" unused DT entry: DT_RPATH (type 0xf arg 0x1be) (ignoring)
04-27 19:09:00.545 V/KOReader( 4070): fts: Preferred MONOTONIC clock source is CLOCK_MONOTONIC
04-27 19:09:00.545 V/KOReader( 4070): fts: Preferred REALTIME clock source is CLOCK_REALTIME
04-27 19:09:00.546 V/KOReader( 4070): fts: BOOTTIME clock source is supported
04-27 19:09:00.558 I/KOReader( 4070): Android 10 - Q (API 29) - flavor: rocks
04-27 19:09:00.584 W/.launcher.debu( 4070): Accessing hidden method Landroid/onyx/hardware/DeviceController;->setLightValue(II)V (blacklist, reflection, denied)
04-27 19:09:00.585 W/Lights  ( 4070): java.lang.NoSuchMethodException: android.onyx.hardware.DeviceController.setLightValue [int, int]
04-27 19:09:00.585 W/.launcher.debu( 4070): Accessing hidden method Landroid/onyx/hardware/DeviceController;->getLightValue(I)I (blacklist, reflection, denied)
04-27 19:09:00.585 W/Lights  ( 4070): java.lang.NoSuchMethodException: android.onyx.hardware.DeviceController.getLightValue [int]
04-27 19:09:00.585 W/.launcher.debu( 4070): Accessing hidden method Landroid/onyx/hardware/DeviceController;->getMaxLightValue(I)I (blacklist, reflection, denied)
04-27 19:09:00.585 W/Lights  ( 4070): java.lang.NoSuchMethodException: android.onyx.hardware.DeviceController.getMaxLightValue [int]
04-27 19:09:00.585 W/.launcher.debu( 4070): Accessing hidden method Landroid/onyx/hardware/DeviceController;->checkCTM()Z (blacklist, reflection, denied)
04-27 19:09:00.585 W/Lights  ( 4070): java.lang.NoSuchMethodException: android.onyx.hardware.DeviceController.checkCTM []
04-27 19:09:00.587 E/NativeThread( 4070): Failed to run script: frontend/device/generic/powerd.lua:34: assertion failed!

@hugleo
Copy link
Contributor

hugleo commented Apr 28, 2024

Is adb shell settings get global hidden_api_policy equal to 1?

@arooni
Copy link
Author

arooni commented Apr 28, 2024

Is adb shell settings get global hidden_api_policy equal to 1?

[I]  ~/b/revanced  adb shell
NovaAir:/ $ settings get global hidden_api_policy
null
NovaAir:/ $

@hugleo
Copy link
Contributor

hugleo commented Apr 28, 2024

@arooni
Copy link
Author

arooni commented Apr 28, 2024

Wow wow wow! That makes it work great! You're amazing! Secret hidden APIs? Very cool.

@arooni
Copy link
Author

arooni commented Apr 28, 2024

Now that this works; is there a way you could submit a pull request for whatever change(s) are that you made? BTW what were those? Looks like #471 is still waiting to be incorporated into the codebase.

@hugleo
Copy link
Contributor

hugleo commented Apr 28, 2024

Wait a minute, maybe we don't need any of that. Since you've set the hidden_api_policy, run the e-ink test again. Make sure that the warmth and brightness reflect the maximum supported on your device.

EDIT: Never mind, should be merged in the next bump.

@arooni
Copy link
Author

arooni commented Apr 29, 2024

I did try the latest stable version release and it didn't seem to let me control backlight or warmth settings. Yay your change got merged! I assume those were the changes that allowed the backlight/warmth settings to work on the Nova Air.

Very much appreciate your help!!

@hugleo
Copy link
Contributor

hugleo commented Apr 29, 2024

Still need to bump https://github.com/koreader/android-luajit-launcher in https://github.com/koreader/koreader since no one has done that yet.

@arooni
Copy link
Author

arooni commented Apr 29, 2024

Bump the version of the launcher? Doesn't that get done on each stable release as part of the build process?

@benoit-pierre
Copy link
Contributor

No, and this will need a bump to the corresponding android docker image since this include a Gradle update to support Java 17.

@Frenzie: do you want that luajit-launcher bump for the next release?

@Frenzie
Copy link
Member

Frenzie commented Apr 29, 2024

Yeah sure.

@Frenzie
Copy link
Member

Frenzie commented Apr 29, 2024

Sorry, did you say image bump. Then nope.

@arooni
Copy link
Author

arooni commented Apr 29, 2024

So this change won't be making it into stable anytime soon?

@Frenzie
Copy link
Member

Frenzie commented Apr 29, 2024

I imagine it'll make it into a nightly soon, but not this stable, no.

@arooni
Copy link
Author

arooni commented Apr 29, 2024

Well I can keep using this version that @hugleo made so generously for me in the meantime.

I'd imagine it gets on a stable by July? I have an upcoming John Muir trail hike I'm considering bringing my nova air along with as a luxury item

@Frenzie
Copy link
Member

Frenzie commented Apr 29, 2024

I don't see why not. :-)

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

No branches or pull requests

4 participants