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

rm2fb issues when switching apps in remux or oxide #44

Closed
Eeems opened this issue May 25, 2024 · 16 comments
Closed

rm2fb issues when switching apps in remux or oxide #44

Eeems opened this issue May 25, 2024 · 16 comments

Comments

@Eeems
Copy link
Contributor

Eeems commented May 25, 2024

As part of investigating integrating your version of rm2fb into toltec for 3.5.2 and 3.8.2 support, I've discovered what I would consider a blocking bug.

When the launchers switch between running applications they will often fail to fully render the saved screen for the application. This behaviour does not happen with the upstream rm2fb on older OS versions.

You can find some screenshots of the issue in the following comments:

@timower
Copy link
Owner

timower commented May 25, 2024

I can reproduce issues with part of the screen being blank in the calculator app.
I think they changed how they interpret the colors in the framebuffer (which bits being which color), but I'll have to confirm.
Does the attached video match what you're seeing?

https://drive.google.com/file/d/1lmqqbrVg5fe8iFm2We3LW5mk8TkusyDg/view?usp=sharing

@Eeems
Copy link
Contributor Author

Eeems commented May 25, 2024

That does look like what I'm seeing, just with a different mechanism to trigger it.

@timower
Copy link
Owner

timower commented May 25, 2024

Turns out I was hooking the QImage constructor when I shouldn't. So easy fix

timower added a commit that referenced this issue May 25, 2024
This would replace the FB of apps using QT twice, causing artefacts on
the display.
Also adds regression integration tests.

Closes #44
@StarNumber12046
Copy link

Sill also seems to not display anything

@StarNumber12046
Copy link

actually, I'll upload a screenshot (with bufshot over rm2fb client) and a picture of the rM with sill supposedly running
fb
PXL_20240529_132646733

@Eeems
Copy link
Contributor Author

Eeems commented May 29, 2024

actually, I'll upload a screenshot (with bufshot over rm2fb client) and a picture of the rM with sill supposedly running

I'm assuming you built your own copy of rm2fb with the changes timowers created and this is what you are seeing? Did you include any of the changes made in the toltec PR to fix up the environment at all?

@StarNumber12046
Copy link

StarNumber12046 commented May 29, 2024 via email

@StarNumber12046
Copy link

StarNumber12046 commented May 29, 2024 via email

@Eeems
Copy link
Contributor Author

Eeems commented May 29, 2024

The latest release does not contain the changed code yet.

@timower
Copy link
Owner

timower commented May 29, 2024

I'll make a release with the fix, then it'll be easier to verify

@StarNumber12046
Copy link

When the launchers switch between running applications they will often fail to fully render the saved screen for the application. This behaviour does not happen with the upstream rm2fb on older OS versions.

This seems to be the same root cause as yaft having its keyboard disappear

@StarNumber12046
Copy link

(it is now fixed)

@timower
Copy link
Owner

timower commented May 29, 2024

How are you getting sill to run?
For me it fails with:

thread 'main' panicked at 'Failed to open swtfb shared buffer: Os { code: 2, kind: NotFound, message: "No such file or directory" }', /root/.cargo/git/checkouts/libremarkable-e1fa5419bec94e16/5b9316a/src/framebuffer/core.rs:128:18

Because it tries to re-implement the rm2fb client protocol

@StarNumber12046
Copy link

image
image

@StarNumber12046
Copy link

@raisjn
Copy link

raisjn commented May 29, 2024

Because it tries to re-implement the rm2fb client protocol

@timower: swtfb.01 is used by rm2fb in /dev/shm , i believe you changed it to rm2fb.01 (not sure if you changed it back yet) in your implementation. likely gonna break libremarkable apps (sill) and also bufshot (thanks @Eeems for finding this)

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