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

Fix for issue "Suspend causes oxide to crash on RM2 #113" #114

Merged
merged 16 commits into from
Jan 7, 2021

Conversation

Witos
Copy link
Contributor

@Witos Witos commented Dec 21, 2020

No description provided.

applications/system-service/screenapi.h Outdated Show resolved Hide resolved
applications/system-service/systemapi.cpp Outdated Show resolved Hide resolved
@Eeems
Copy link
Collaborator

Eeems commented Dec 28, 2020

Any chance you could work on testing the timings soon?

@SyntaxBlitz
Copy link

SyntaxBlitz commented Dec 29, 2020

Tested this build with rm2fb shim with the two attached files (the first is solid grey, the second is noisy), and it works fine for me (compared to the toltec build which does crash).

Worth mentioning that although tarnish doesn't crash anymore, I'm not sure it's totally finishing the render.. sometimes the screen doesn't get completely cleared:
image

I'm also sometimes having trouble waking from suspend, though honestly it could just be because sometimes I have trouble hitting the power button on this thing.

@Eeems
Copy link
Collaborator

Eeems commented Dec 29, 2020

Waking could also be #97
What timing are you using where it doesn't have enough time? And is it for both images or just one?

@SyntaxBlitz
Copy link

That's with this artifact: https://github.com/Eeems/oxide/pull/114/checks?check_run_id=1623126791 which I think is 0.6s. I only noticed it on the solid grey screen, though it wasn't happening consistently (just got it to render fine) so it could also be an issue on the noisy one. I'll run it a few more times to see. I did notice a little ghosting on the noisy image along the top bar that doesn't seem to appear when I suspend with xochitl.

#97 seems right, though I've actually had it happen where the SSH either does or doesn't respond after the wake. It could just be that I'm fiddling with the power button and re-suspending it without realizing.

@SyntaxBlitz
Copy link

ahh this is frustrating, I just got it to render the grey image correctly 15 times in a row, can't seem to reproduce the broken render now. I do think if there's any way to get rm2fb to send a "finished drawing" signal, that's the right way to do this. Otherwise we'll have to cater to the 99th percentile of draw times, which isn't even going to be consistent for one device with one suspend screen.

@Eeems
Copy link
Collaborator

Eeems commented Dec 29, 2020

ahh this is frustrating, I just got it to render the grey image correctly 15 times in a row, can't seem to reproduce the broken render now. I do think if there's any way to get rm2fb to send a "finished drawing" signal, that's the right way to do this. Otherwise we'll have to cater to the 99th percentile of draw times, which isn't even going to be consistent for one device with one suspend screen.

I've asked for the ability to wait for drawing to finish. Just waiting to see if @ddvk or @raisjn figure out how to make it work properly with the current API

applications/system-service/wlan.h Outdated Show resolved Hide resolved
applications/system-service/wlan.h Outdated Show resolved Hide resolved
applications/system-service/wlan.h Outdated Show resolved Hide resolved
applications/system-service/wlan.h Outdated Show resolved Hide resolved
shared/devicesettings.cpp Outdated Show resolved Hide resolved
shared/devicesettings.cpp Outdated Show resolved Hide resolved
shared/devicesettings.cpp Outdated Show resolved Hide resolved
@codeclimate
Copy link

codeclimate bot commented Jan 6, 2021

Code Climate has analyzed commit d93a0ac and detected 0 issues on this pull request.

View more on Code Climate.

@Eeems
Copy link
Collaborator

Eeems commented Jan 6, 2021

@SyntaxBlitz, @Witos, or @raisjn would you be able to test this PR to see if it'll work properly on a rM2? I think we might even be able to get away with removing the nanosleep call if EPFrameBuffer::waitForLastUpdate(); actually works under rm2fb

@Eeems Eeems merged commit 49c1716 into Eeems-Org:master Jan 7, 2021
@Eeems
Copy link
Collaborator

Eeems commented Jan 7, 2021

Thanks @PeterGrace for testing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants