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

Unlock not working on reMarkable 2 #161

Closed
solanav opened this issue Jan 26, 2021 · 43 comments · Fixed by #236
Closed

Unlock not working on reMarkable 2 #161

solanav opened this issue Jan 26, 2021 · 43 comments · Fixed by #236
Assignees
Labels
bug Something isn't working 📱 reMarkable 2 to-triage This needs to be triaged
Projects
Milestone

Comments

@solanav
Copy link

solanav commented Jan 26, 2021

Describe the bug
After installating oxide on my Remarkable 2, the unlock button locks correctly (showing the lock screen), but when unlocking the screen stays white.

I've tried both with and without pin and the result is the same.

To Reproduce
Steps to reproduce the behavior:

  1. Lock the screen either on the launcher or on Xochitl
  2. Unlock the screen

Expected behavior
It should be showing the pin input or the screen.

@solanav solanav added bug Something isn't working to-triage This needs to be triaged labels Jan 26, 2021
@danielebruneo
Copy link

Same thing happens to me.
I've setup genie with a gesture for /opt/bin/rot apps call previousApplication and if I run that, I'll come back to the Oxide screen.

It looks to me that going back from suspend the decay process is launched regardless a pin code is setup or not.. and it hungs there.

@Eeems
Copy link
Collaborator

Eeems commented Jan 26, 2021

@solanav You are missing information required in the bug template that I need in order to properly triage this:

Version Information:

  • Device: [e.g. reMarkable 1]
  • OS: [e.g. 2.2.0.48]
  • Version [e.g. v1.3.3-beta]

@danielebruneo or @solanav could you please also attach logs from the device for when this happens journalctl -u tarnish. It would be helpful to understand what is happening as unlock works for me on my device.

@danielebruneo
Copy link

I will, as soon as I can.
Also... at least for me, this is basically #142
With a PIN set, indeed, it works.

@Eeems
Copy link
Collaborator

Eeems commented Jan 26, 2021

I will, as soon as I can.
Also... at least for me, this is basically #142
With a PIN set, indeed, it works.

What version are you using?

@danielebruneo
Copy link

Device: RM2
OS: 2.5.0.27
Version: 2.1~beta-5

jorunalctl -u tharnish shows this interesting part

Jan 26 17:46:00 reMarkable tarnish[221]: [xochitl 386] 46:00.338 default                           virtual Entry::SharedPtr Library::loadEntry(const QString&) 15 ms  *** ON GUI THREAD ***
Jan 26 17:46:00 reMarkable tarnish[221]: [xochitl 386] 46:00.374 default                           virtual Entry::SharedPtr Library::loadEntry(const QString&) 12 ms  *** ON GUI THREAD ***
Jan 26 17:46:00 reMarkable tarnish[221]: [xochitl 386] 46:00.379 default                           void Library::load() 698 ms  *** ON GUI THREAD ***
Jan 26 17:46:00 reMarkable tarnish[221]: [xochitl 386] 46:00.442 default                  FIXME: mipmap filtering not supported
Jan 26 17:46:00 reMarkable tarnish[221]: [xochitl 386] 46:00.442 default                  FIXME: wrapmode not supported
Jan 26 17:46:00 reMarkable tarnish[221]: [xochitl 386] 46:00.442 default                  FIXME: wrapmode not supported
Jan 26 17:46:00 reMarkable tarnish[221]: [xochitl 386] 46:00.442 default                  FIXME, setting node inner target rect for image node not supported: QRectF(0,0 60x60)
Jan 26 17:46:00 reMarkable tarnish[221]: [xochitl 386] 46:00.443 default                  FIXME: mirroring not supported
Jan 26 17:46:00 reMarkable tarnish[221]: [xochitl 386] 46:00.548 xochitl.drawingarea      No worker!
Jan 26 17:46:00 reMarkable tarnish[221]: [xochitl 386] 46:00.548 xochitl.drawingarea      No worker!
Jan 26 17:46:01 reMarkable tarnish[221]: [xochitl 386] 46:01.379 xochitl.wifi             No interface to scan
Jan 26 17:46:02 reMarkable tarnish[221]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Jan 26 17:46:02 reMarkable tarnish[221]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Jan 26 17:46:03 reMarkable tarnish[221]: Down Qt::Key(Key_PowerOff)
Jan 26 17:46:03 reMarkable tarnish[221]: Up Qt::Key(Key_PowerOff)
Jan 26 17:46:03 reMarkable tarnish[221]: Suspending...
Jan 26 17:46:03 reMarkable tarnish[221]: Recording previous app "xochitl"
Jan 26 17:46:03 reMarkable tarnish[221]: Pausing  "/codes/eeems/oxide1/apps/d941cc3512975cd9beb7dde71108afce"
Jan 26 17:46:03 reMarkable tarnish[221]: Saving screen...
Jan 26 17:46:03 reMarkable tarnish[221]: Compressing data...
Jan 26 17:46:04 reMarkable tarnish[221]: Screen saved.
Jan 26 17:46:04 reMarkable tarnish[221]: Paused  "/codes/eeems/oxide1/apps/d941cc3512975cd9beb7dde71108afce"
Jan 26 17:46:04 reMarkable tarnish[221]: Framebuffer has wrong id: "mxcfb"
Jan 26 17:46:04 reMarkable tarnish[221]: Framebuffer initialized: QImage(QSize(1404, 1872),format=7,depth=16,devicePixelRatio=1,bytesPerLine=2808,sizeInBytes=5256576) 5256576
Jan 26 17:46:04 reMarkable tarnish[221]: Suspending...
Jan 26 17:46:07 reMarkable tarnish[221]: Resuming...
Jan 26 17:46:07 reMarkable tarnish[221]: Unable to find current application
Jan 26 17:46:07 reMarkable tarnish[221]: Resuming  "/codes/eeems/oxide1/apps/549212b2493354f4a9ee5da097a2dacd"
Jan 26 17:46:07 reMarkable tarnish[221]: Uncompressing screen...
Jan 26 17:46:07 reMarkable tarnish[221]: Recalling screen...
Jan 26 17:46:07 reMarkable tarnish[221]: Screen recalled.
Jan 26 17:46:07 reMarkable tarnish[221]: Resumed  "/codes/eeems/oxide1/apps/549212b2493354f4a9ee5da097a2dacd"
Jan 26 17:46:11 reMarkable tarnish[221]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (internal error): ignored.

Specifically interesting maybe the "Unable to find current application" part.

Also, the ID shown in the "Resuming application" belongs to decay:

  "codes.eeems.decay": "/codes/eeems/oxide1/apps/549212b2493354f4a9ee5da097a2dacd",

@Eeems
Copy link
Collaborator

Eeems commented Jan 26, 2021

Device: RM2
OS: 2.5.0.27
Version: 2.1~beta-5

Ah, so #142 fixes this in v2.1.1 onward. Could you give v2.1.2 a try?

@danielebruneo
Copy link

@Eeems I do not have the toolchain setup yet.
That's why I'm using the latest package available on toltec/testing.
Any chance there is a package or ready binaries somewhere?

@Eeems
Copy link
Collaborator

Eeems commented Jan 26, 2021

@Eeems I do not have the toolchain setup yet.
That's why I'm using the latest package available on toltec/testing.
Any chance there is a package or ready binaries somewhere?

You can get the latest packages from the release page: https://github.com/Eeems/oxide/releases

@danielebruneo
Copy link

@Eeems I do not have the toolchain setup yet.
That's why I'm using the latest package available on toltec/testing.
Any chance there is a package or ready binaries somewhere?

You can get the latest packages from the release page: https://github.com/Eeems/oxide/releases

Thank @Eeems I didn't noticed that.
Altough, I'm having some issue in installing the ipk.

I get

reMarkable: ~/oxide-2.1.2/ opkg install oxide_2.1.2~beta-r1.0acb2d0_armv7-3.2.ipk 
Package oxide (2.1~beta-5) installed in root is up to date.

Despite the version in the control file is 2.1.2~beta-r1.0acb2d0 and the installed one is 2.1~beta-5.
Any suggestion?

@Eeems
Copy link
Collaborator

Eeems commented Jan 26, 2021

Make sure to install all the packages at the same time, otherwise dependency checks will fail.
opkg install path/to/files/*.ipk

@danielebruneo
Copy link

Make sure to install all the packages at the same time, otherwise dependency checks will fail.
opkg install path/to/files/*.ipk

That worked, thanks.
But... while slightly different, the issue is still there:

  • now when you put it to sleep, I get either a "reMarkable is sleeping" with inverted colors (i.e. black background/white text) or the Oxide screen with inverted colors
  • while I wake up the device, rather than tha fully white screen, I get the "reMarkable is sleeping" screen with right colors this time
  • still need to use the genie gesture to go back to actual oxide

log for tarnish, this time shows:

Jan 26 20:42:09 reMarkable tarnish[221]: Down Qt::Key(Key_PowerOff)
Jan 26 20:42:09 reMarkable tarnish[221]: Up Qt::Key(Key_PowerOff)
Jan 26 20:42:09 reMarkable tarnish[221]: Suspending...
Jan 26 20:42:09 reMarkable tarnish[221]: Recording previous app "codes.eeems.oxide"
Jan 26 20:42:09 reMarkable tarnish[221]: Pausing  "/codes/eeems/oxide1/apps/d3641f0572435f76bb5cc1468d4fe1db"
Jan 26 20:42:09 reMarkable tarnish[221]: Saving screen...
Jan 26 20:42:09 reMarkable tarnish[221]: Compressing data...
Jan 26 20:42:09 reMarkable tarnish[221]: Screen saved.
Jan 26 20:42:09 reMarkable tarnish[221]: Paused  "/codes/eeems/oxide1/apps/d3641f0572435f76bb5cc1468d4fe1db"
Jan 26 20:42:10 reMarkable tarnish[221]: Suspending...
Jan 26 20:43:03 reMarkable tarnish[221]: Resuming...
Jan 26 20:43:03 reMarkable tarnish[221]: Can't Resume "/codes/eeems/oxide1/apps/549212b2493354f4a9ee5da097a2dacd" Already running!

@Eeems
Copy link
Collaborator

Eeems commented Jan 26, 2021

* now when you put it to sleep, I get either a "reMarkable is sleeping" with inverted colors (i.e. black background/white text) or the Oxide screen with inverted colors

Hmm, perhaps this is a timing issue? Looks like you've encountered #152 which until now nobody but @LinusCDE has replicated that I'm aware of.

@danielebruneo
Copy link

* now when you put it to sleep, I get either a "reMarkable is sleeping" with inverted colors (i.e. black background/white text) or the Oxide screen with inverted colors

Hmm, perhaps this is a timing issue? Looks like you've encountered #152 which until now nobody but @LinusCDE has replicated that I'm aware of.

Behavior is quite different from #152. I'll try to make a video if I can.
But, again, I guess the issue is it shouldn't launch decay if no pin is set.

Also... it seems I can get it working smoothly if I disable the decay conf file with:

cd /opt/usr/share/applications/
mv codes.eeems.decay.oxide codes.eeems.decay.oxide.disabled
systemctl restart tarnish

@Eeems
Copy link
Collaborator

Eeems commented Jan 26, 2021

Behavior is quite different from #152. I'll try to make a video if I can.

Sounds like the only difference is the inverted colours, but other than that it's the same.

But, again, I guess the issue is it shouldn't launch decay if no pin is set.

Actually, decay should probably hand off to oxide if no pin is set.

Also... it seems I can get it working smoothly if I disable the decay conf file with:

While that works, upgrades will undo that. The other option is to set your lockscreenApplication to oxide.

opkg install jq
rot apps get applications | jq '."codes.eeems.oxide"' # Record the path here.
systemctl stop tarnish
# Modify tarnish.conf so that lockscreenApplication under [general] is set to the path you got.
systemctl start tarnish

@LinusCDE
Copy link
Contributor

now when you put it to sleep, I get either a "reMarkable is sleeping" with inverted colors (i.e. black background/white text) or the Oxide screen with inverted colors

Used to get this as well. Not sure if it was with pin/no pin on stable/pr. I think this is due to the sleep starting right in a refresh of rm2fb. @raisjn does the shim also (more or less) properly implement the waiting on a "refresh token" to await a refresh1? If yes, then waiting for this would be the solution.

@solanav
Copy link
Author

solanav commented Jan 27, 2021

Sorry for the delay.
The OS version is the last one (don't know how to check the number). Oxide version was 2.1~beta but now that I've upgraded to 2.1.2 it fails in a different way.

The first time I lock it after rebooting it works perfect. And then it doesn't.

Journalctl after refreshing:

Jan 27 13:21:48 reMarkable tarnish[217]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Jan 27 13:21:48 reMarkable tarnish[217]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Jan 27 13:21:49 reMarkable tarnish[217]: Down Qt::Key(Key_PowerOff)
Jan 27 13:21:49 reMarkable tarnish[217]: Up Qt::Key(Key_PowerOff)
Jan 27 13:21:49 reMarkable tarnish[217]: Suspending...
Jan 27 13:21:49 reMarkable tarnish[217]: Recording previous app "xochitl"
Jan 27 13:21:49 reMarkable tarnish[217]: Pausing  "/codes/eeems/oxide1/apps/d941cc3512975cd9beb7dde71108afce"
Jan 27 13:21:49 reMarkable tarnish[217]: Saving screen...
Jan 27 13:21:49 reMarkable tarnish[217]: Compressing data...
Jan 27 13:21:50 reMarkable tarnish[217]: Screen saved.
Jan 27 13:21:50 reMarkable tarnish[217]: Paused  "/codes/eeems/oxide1/apps/d941cc3512975cd9beb7dde71108afce"
Jan 27 13:21:50 reMarkable tarnish[217]: Suspending...
Jan 27 13:21:55 reMarkable tarnish[217]: Resuming...
Jan 27 13:21:55 reMarkable tarnish[217]: Can't Resume "/codes/eeems/oxide1/apps/549212b2493354f4a9ee5da097a2dacd" Already running!
Jan 27 13:21:58 reMarkable tarnish[217]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Jan 27 13:21:58 reMarkable tarnish[217]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Jan 27 13:21:58 reMarkable tarnish[217]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Jan 27 13:21:58 reMarkable tarnish[217]: Turning wifi off
Jan 27 13:21:58 reMarkable tarnish[217]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Jan 27 13:21:59 reMarkable tarnish[217]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Jan 27 13:21:59 reMarkable tarnish[217]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Jan 27 13:21:59 reMarkable tarnish[217]: BSS added  "70efbfbdefbfbd60efbfbd74" "AAAAA"
Jan 27 13:21:59 reMarkable tarnish[217]: Registered "/codes/eeems/oxide1/bss/70efbfbdefbfbd60efbfbd74" codes.eeems.oxide1.BSS
Jan 27 13:21:59 reMarkable tarnish[217]: BSS added  "efbfbd61efbfbd622577" "AAAAA"
Jan 27 13:21:59 reMarkable tarnish[217]: Registered "/codes/eeems/oxide1/bss/efbfbd61efbfbd622577" codes.eeems.oxide1.BSS
Jan 27 13:21:59 reMarkable tarnish[217]: BSS added  "70efbfbdefbfbd60efbfbd70" "AAAAA"
Jan 27 13:21:59 reMarkable tarnish[217]: Registered "/codes/eeems/oxide1/bss/70efbfbdefbfbd60efbfbd70" codes.eeems.oxide1.BSS
Jan 27 13:21:59 reMarkable tarnish[217]: BSS added  "efbfbd4e26efbfbdefbfbdefbfbd" "AAAAA"
Jan 27 13:21:59 reMarkable tarnish[217]: Registered "/codes/eeems/oxide1/bss/efbfbd4e26efbfbdefbfbdefbfbd" codes.eeems.oxide1.BSS
Jan 27 13:21:59 reMarkable tarnish[217]: BSS added  "efbfbdefbfbdefbfbdefbfbd0133" "AAAAA"
Jan 27 13:21:59 reMarkable tarnish[217]: Registered "/codes/eeems/oxide1/bss/efbfbdefbfbdefbfbdefbfbd0133" codes.eeems.oxide1.BSS
Jan 27 13:21:59 reMarkable tarnish[217]: Unregistered "/codes/eeems/oxide1/bss/70efbfbdefbfbd60efbfbd74"
Jan 27 13:21:59 reMarkable tarnish[217]: Unregistered "/codes/eeems/oxide1/bss/efbfbd61efbfbd622577"
Jan 27 13:21:59 reMarkable tarnish[217]: Unregistered "/codes/eeems/oxide1/bss/70efbfbdefbfbd60efbfbd70"
Jan 27 13:21:59 reMarkable tarnish[217]: Unregistered "/codes/eeems/oxide1/bss/efbfbd4e26efbfbdefbfbdefbfbd"
Jan 27 13:21:59 reMarkable tarnish[217]: Unregistered "/codes/eeems/oxide1/bss/efbfbdefbfbdefbfbdefbfbd0133"
Jan 27 13:22:01 reMarkable tarnish[217]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (internal error): ignored.
Jan 27 13:22:01 reMarkable tarnish[217]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (internal error): ignored.

Doing systemctl start xochitl fixes it.

@Eeems
Copy link
Collaborator

Eeems commented Jan 27, 2021

Doing systemctl start xochitl fixes it.

That doesn't actually fix it. You are now running xochitl directly instead of running oxide.

The first time I lock it after rebooting it works perfect. And then it doesn't.

Interesting, I can replicate this. I swear I tested this use case, but I guess I didn't. By the looks of it the lock screen is either crashing or not running properly if no pin is set, and thus it's not properly handing off to the launcher.

@danielebruneo
Copy link

danielebruneo commented Jan 27, 2021

By the way, setting oxide as lockscreenApplication often drives to non usable oxide coming back from sleep (i.e can't click on icons) and non working previousApplication gesture.
So I'll stay with that "decoy confing disabled" patch for the time being.

Also, a part from that... there apparently is also that "timing issue" that drives to the sleep screen randomly being half-rendered (inveretd colors, or partially showing what was running, etc).

@Eeems
Copy link
Collaborator

Eeems commented Jan 27, 2021

So I'll stay with that "decoy confing disabled" patch for the time being.

Pardon?

By the way, setting oxide as lockscreenApplication often drives to non usable oxide coming back from sleep (i.e can't click on icons) and non working previousApplication gesture.

Could you open an issue about this? Nobody else has reported that it doesn't work yet.

Also, a part from that... there apparently is also that "timing issue" that drives to the sleep screen randomly being half-rendered (inveretd colors, or partially showing what was running, etc).

Yes, this is known already. It's only an issue on the rM2, as it's specific to the rm2fb dependency.

@danielebruneo
Copy link

danielebruneo commented Jan 27, 2021

So I'll stay with that "decoy confing disabled" patch for the time being.

Pardon?

*decay not decoy :)

I meant deleting or renaming the codes.eeems.decay.oxide file, as per above #161 (comment)

By the way, setting oxide as lockscreenApplication often drives to non usable oxide coming back from sleep (i.e can't click on icons) and non working previousApplication gesture.

Could you open an issue about this? Nobody else has reported that it doesn't work yet.

This could maybe related to the main issue.
I'll try to re-setup that way, reproduce and open an issue.

@LinusCDE
Copy link
Contributor

now when you put it to sleep, I get either a "reMarkable is sleeping" with inverted colors (i.e. black background/white text) or the Oxide screen with inverted colors

Used to get this as well. Not sure if it was with pin/no pin on stable/pr. I think this is due to the sleep starting right in a refresh of rm2fb. @raisjn does the shim also (more or less) properly implement the waiting on a "refresh token" to await a refresh1? If yes, then waiting for this would be the solution.

To answer my own questions. rm2fb seems to just stub the functionality.

Tested with retris. While it actually waits on the rM 1, on the rM 2 the time is unrealistically tiny.

rM 1 (DU/FastMono refreshes):
grafik

rM 2 (DU/FastMono refreshes):
grafik

@Eeems do you use this feature on the rM 1 to wait for the E-Ink to finish before actually suspend the device? If yes, this could explain the "inverted sleep screen" on the rM 2 as that would have a race condition to start suspending mid refresh.

@Eeems
Copy link
Collaborator

Eeems commented Jan 30, 2021

https://github.com/Eeems/oxide/blob/master/applications/system-service/screenapi.h#L99-L100
So yes, I'm attempting to wait for the update to finish.

@LinusCDE
Copy link
Contributor

https://github.com/Eeems/oxide/blob/master/applications/system-service/screenapi.h#L99-L100
So yes, I'm attempting to wait for the update to finish.

Then this would be an issue of rm2fb and not oxide. Maybe open an issue for that.

@Eeems
Copy link
Collaborator

Eeems commented Jan 30, 2021

Hmm, I thought there already was an issue opened I guess not.

@raisjn
Copy link
Collaborator

raisjn commented Jan 30, 2021

currently, rm2fb has only one way communication from clients -> server, there is no method for server to communicate back to client.

the proper way to fix this would be to create duplex communication between clients and server and then add a way of notifying clients of their subscribed events (in this case - the update complete event).

until its properly fixed, adding a short delay after painting the screen before going to sleep (1 second) will mostly help with the screen not fully updating before the tablet suspends. if that workaround is already in place, then rm2fb will need to be debugged to see why 1 second isn't enough to repaint the screen

@danshick
Copy link
Contributor

danshick commented Feb 5, 2021

Hey, just to confirm, I finally got around to installing 2.1.2 and I'm also experiencing this issue (or #152, I think they're duplicates) on my rM2.

Sounds like the issue is already identified, but happy to provide logs/testing if needed.

@dlorde
Copy link

dlorde commented Feb 20, 2021

Yeah, this happened to me too, a couple of days ago.

Not being a Linux hacker, I managed to find instructions to swap the launcher back from tarnish to xochitl. Decided to wait until the problem is confirmed as resolved.

@danielebruneo
Copy link

With a pin it was working form me also before: #161 (comment)

@danshick
Copy link
Contributor

tarnish.log

Here's the log file with the crash in it. From discord:

> danshick: Line 1220
> danshick: Looks like cycling sleep and wake with no lockscreen causes tarnish to crash.
> danshick: The hint is that when I sleep the screen, I get a quick flash before the "Remarkable is sleeping" message.
> danshick: When I wake it up, no flash.
> danshick: But if I wait long enough and systemd hasnt run out of retries, tarnish and oxide will restart.
> Eeems: This issue would be with the lockscreen logic
> Eeems: https://github.com/Eeems/oxide/blob/master/applications/lockscreen/controller.h#L134-L139
> Eeems: It's suppose to launch the previous app and quit if there is no pin
> Eeems: Oh wait, you are saying it's crashing?
> danshick: Yeah.
> > danshick: 1219 Feb 26 17:33:15 reMarkable systemd[1]: tarnish.service: Main process exited, code=dumped, status=11/SEGV
> > danshick: 1220 Feb 26 17:33:16 reMarkable systemd[1]: tarnish.service: Failed with result 'core-dump'.
> danshick: When I wake it up, genie is still running, and I can use a gesture to forcably restart tarnish/oxide.
> > Eeems: Feb 26 17:33:15 reMarkable tarnish[28692]: Checking permission "apps" from currentApplication
> > Eeems: Feb 26 17:33:15 reMarkable tarnish[28692]: app not found, permission granted
> Eeems: Hmm
> Eeems: That's not right
> Eeems: Unless you have a script running rot in the background or something
> Eeems: Maybe genie?
> danshick: Yeach, that's genie.
> Eeems: Alright
> danshick: Probably me trying the gesture on top of the "Remarkable is sleeping" ghost image.
> Eeems: I should really see if I can add more information to that log line about what the image name is that's triggering it or something.
> danshick: Even though it is awake, no app is running, so the sleep screen persists.
...
> Eeems: So if you look at the code I linked
> Eeems: If there is a pin it doesn't quit
...
> Eeems: So it's always loaded
> Eeems: So this might be a timing problem on the rM2 due to the dual core setup
> Eeems: So tarnish is likely trying to go to the previous app twice due to the lockscreen quitting, and because of it's API call
> Eeems: And it just doesn't like it

I should note I'm using the physical power button to cycle wake -> sleep -> wake etc.

@primalmotion
Copy link

I found a workaround to this. If you don't want to set a pin and face the unlock problem, you can rename /opt/bin/decay to something else, like /opt/bin/decay.disabled. This seems to work reliably for me

@LinusCDE
Copy link
Contributor

LinusCDE commented Apr 3, 2021

I found a workaround to this. If you don't want to set a pin and face the unlock problem, you can rename /opt/bin/decay to something else, like /opt/bin/decay.disabled. This seems to work reliably for me

That seems to work for me as well. Funnily enough this would be a viable workaround for basically having "No pin" and also the sleep screen working. It works for both having a pin set and having no pin set.

@Eeems
Copy link
Collaborator

Eeems commented Apr 4, 2021

That's not really a great workaround. I would really recommend to just have a simple script that calls rot apps call previousApplication when it's run and registering that as the lockscreenApplication.

@Eeems
Copy link
Collaborator

Eeems commented Aug 16, 2021

Can anybody confirm that this is still an issue on the latest version?

@LinusCDE
Copy link
Contributor

LinusCDE commented Aug 16, 2021

Yes. If I choose to not set up a pin, the second unlock in an app results in the suspend screen just "flashing" every second time. It works fine with an pin though.

Maybe there is a change of the framebuffer missing. Or some timing issue with rm2fb which prevents/discord changes right after an unlock.

EDIT: Tested on 2.2.1-2 (testing from toltec which is also the latest release here)

@Eeems
Copy link
Collaborator

Eeems commented Aug 16, 2021

Likely it's just the logic in decay is borked still. Not sure why it works fine for me on my rM1 though.

@Eeems Eeems added this to To do in v2.3 via automation Aug 16, 2021
@Eeems Eeems added this to the v2.3 milestone Aug 16, 2021
@LinusCDE
Copy link
Contributor

Maybe look for the differing logic between displaying the decay interface vs restoring the last framebuffer. Either there is some logic error. But if the code differs next to nothing, I would guess a timing issue. Maybe restoring the last framebuffer is a lot faster in comparision and rm2fb fails to properly bridge the fake framebuffer that faster after resuming. Would be weird though as no other app has ever encountered that.

@Eeems
Copy link
Collaborator

Eeems commented Aug 16, 2021

The restore logic works fine as it's handled by tarnish and not by the lockscreen. It's likely just failing to switch back to the previous application properly. Which is the issue it had in the past.

Unless you are telling me that you're able to interact with the previous application even though it's not being displayed properly? In which case I'm not sure how restoring the framebuffer ever works when switching applications. I'm explicitly waiting for the draw to finish before resuming the application.

@LinusCDE
Copy link
Contributor

It's likely just failing to switch back to the previous application properly. Which is the issue it had in the past.

This seems to be the case indeed. I couldn't trigger any log messages from the last running application (only tarnish noting UP/DOWN/MOVE and swipe messages).

@Eeems Eeems pinned this issue Sep 28, 2021
@Eeems Eeems modified the milestones: v2.3, v2.4 Dec 6, 2021
@Eeems Eeems removed this from To do in v2.3 Dec 6, 2021
@Eeems Eeems added this to ToDo in v2.4 Dec 6, 2021
Eeems added a commit that referenced this issue Jan 5, 2022
@Eeems Eeems linked a pull request Jan 5, 2022 that will close this issue
@Eeems Eeems removed this from ToDo in v2.4 Jan 5, 2022
@Eeems Eeems added this to To do in v2.3 via automation Jan 5, 2022
@Eeems Eeems modified the milestones: v2.4, v2.3 Jan 5, 2022
@Eeems Eeems moved this from To do to In progress in v2.3 Jan 5, 2022
@Eeems Eeems closed this as completed in #236 Jan 6, 2022
v2.3 automation moved this from In progress to Done Jan 6, 2022
Eeems added a commit that referenced this issue Jan 6, 2022
@Eeems Eeems unpinned this issue Jan 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working 📱 reMarkable 2 to-triage This needs to be triaged
Projects
No open projects
v2.3
Done
Development

Successfully merging a pull request may close this issue.

8 participants