Skip to content

Add folly#207

Open
Eeems wants to merge 3 commits into
mainfrom
folly
Open

Add folly#207
Eeems wants to merge 3 commits into
mainfrom
folly

Conversation

@Eeems
Copy link
Copy Markdown
Collaborator

@Eeems Eeems commented May 19, 2026

More information on loading other games here: https://github.com/bkirwi/folly#running-on-remarkable

@Eeems Eeems requested a review from rmitchellscott May 19, 2026 23:04
@Eeems
Copy link
Copy Markdown
Collaborator Author

Eeems commented May 19, 2026

@rmitchellscott another rM1/rM2 only application until I can get it building with a newer image. As such, still can't test it myself.

@rmitchellscott
Copy link
Copy Markdown
Member

I'll test on my rm2 once it's built!

@rmitchellscott
Copy link
Copy Markdown
Member

Opened, drew a blank page with a 1 on the bottom for a second, then crashed:

23:14:32.906 qml                      Application starting on device with original aspect ratio (75). Real aspect ratio of the application is going to be original (launchWindow qrc:/appload/qml/appload.qml:78)
23:14:32.908 default                  [QTFB]: Re-register framebuffer  -1 as 8990518
[QTFB]: Unregistered framebuffer controller ID: -1
[QTFB]: Registered framebuffer controller ID: 8990518
23:14:32.909 default                  [AppLoad]: Starting external binary "./folly"
23:14:32.927 default                  [QTFB]: FB Repaint triggered for  8990518 . Status:  false
[QTFB]: Awaiting incoming connections to/tmp/qtfb.sock
[QTFB]: Connection established from client. Sock FD is 4
[QTFB]: Client is connecting in 0 mode. Resolution is set to 1404x1872
[QTFB]: Defined SHM (5256576 bytes) at 0x5d1e8000
[QTFB]: Associated connection <==> framebuffer 8990518
23:14:33.172 default                  [QTFB]: FB Repaint triggered for  8990518 . Status:  true
refresh-region Region { top_left: Point2 [0, 0], bottom_right: Point2 [1404, 1872] }

thread 'main' (6098) panicked at /root/.cargo/git/checkouts/libremarkable-7aac9d61cf98f227/573d4ac/src/input/scan.rs:114:42:
Failed to find the gpio evdev!
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
23:14:33.489 default                  [AppLoad]: Process for "./folly" finished with exit code 101 and status QProcess::NormalExit
[QTFB]: Unregistered framebuffer controller ID: 8990518
[QTFB]: Could not find the framebuffer to act upon.
[QTFB]: Could not find the framebuffer to act upon.
[QTFB]: Could not find the framebuffer to act upon.
[QTFB]: The client requested closing the connection.
[QTFB]: Closing client socket 4

@Eeems
Copy link
Copy Markdown
Collaborator Author

Eeems commented May 20, 2026

Failed to find the gpio evdev!

Hmm, I wonder if rm-appload is missing handling the gpio evdev. Could you try changing the external manifest to set QTFB_SHIM_INPUT_MODE to RM2 or NATIVE instead? I guess I could also try to update the version of libremarkable that folly is using.

@rmitchellscott
Copy link
Copy Markdown
Member

rmitchellscott commented May 20, 2026

Either of those let the full page paint, I assume I should be able to touch Bronze or the tutorial to launch them. Touch doesn't seem to do anything though.

Pen draws on the screen, though it's a lot of latency.

15:06:15.738 qml                      Application starting on device with original aspect ratio (75). Real aspect ratio of the application is going to be original (launchWindow qrc:/appload/qml/appload.qml:78)
15:06:15.741 default                  [QTFB]: Re-register framebuffer  -1 as 9658919
[QTFB]: Unregistered framebuffer controller ID: -1
[QTFB]: Registered framebuffer controller ID: 9658919
15:06:15.742 default                  [AppLoad]: Starting external binary "./folly"
15:06:15.763 default                  [QTFB]: FB Repaint triggered for  9658919 . Status:  false
[QTFB]: Awaiting incoming connections to/tmp/qtfb.sock
[QTFB]: Connection established from client. Sock FD is 4
[QTFB]: Client is connecting in 0 mode. Resolution is set to 1404x1872
[QTFB]: Defined SHM (5256576 bytes) at 0x5dcde000
[QTFB]: Associated connection <==> framebuffer 9658919
15:06:16.019 default                  [QTFB]: FB Repaint triggered for  9658919 . Status:  true
refresh-region Region { top_left: Point2 [0, 0], bottom_right: Point2 [1404, 1872] }
[QTFB]: Updated region 0 0 1404 1872 of framebuffer 9658919
15:06:17.910 default                  [QTFB]: FB Repaint triggered for  9658919 . Status:  true
[QTFB]: Updated region 0 0 1404 1872 of framebuffer 9658919
15:06:18.103 default                  [QTFB]: FB Repaint triggered for  9658919 . Status:  true

thread '<unnamed>' (6831) panicked at /root/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/evdev-0.11.3/src/device_state.rs:114:22:
got a key event despite not supporting keys
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

@Eeems
Copy link
Copy Markdown
Collaborator Author

Eeems commented May 20, 2026

Pen drawing latency is also something I encountered in the oxide compositor. The amount of events it sends can be quite taxing on the system.

@Eeems
Copy link
Copy Markdown
Collaborator Author

Eeems commented May 21, 2026

@rmitchellscott what's the current settings with the testing version of appload perform like?

@rmitchellscott
Copy link
Copy Markdown
Member

Crashes:

22:21:35.285 qml                      Application starting on device with original aspect ratio (75). Real aspect ratio of the application is going to be original (launchWindow qrc:/appload/qml/appload.qml:78)
22:21:35.287 default                  [QTFB]: Re-register framebuffer  -1 as 9627569
[QTFB]: Unregistered framebuffer controller ID: -1
[QTFB]: Registered framebuffer controller ID: 9627569
22:21:35.288 default                  [AppLoad]: Starting external binary "./folly"
22:21:35.311 default                  [QTFB]: FB Repaint triggered for  9627569 . Status:  false
[QTFB]: Awaiting incoming connections to/tmp/qtfb.sock
[QTFB]: Connection established from client. Sock FD is 4
[QTFB]: Client is connecting in 0 mode. Resolution is set to 1404x1872
[QTFB]: Defined SHM (5256576 bytes) at 0x5ed00000
Invoked image constructor for address 0x717482b0, w = 1404, h = 1872, bpl = 2808, f = 7
[QTFB]: Associated connection <==> framebuffer 9627569
22:21:35.568 default                  [QTFB]: FB Repaint triggered for  9627569 . Status:  true
[2026-05-21 16:21:35.623] [csl] [error] failed to fetch DelayInhibited: ETIMEDOUT Connection timed out
refresh-region Region { top_left: Point2 [0, 0], bottom_right: Point2 [1404, 1872] }

thread 'main' (905) panicked at /root/.cargo/git/checkouts/libremarkable-7aac9d61cf98f227/573d4ac/src/input/scan.rs:114:42:
Failed to find the gpio evdev!
stack backtrace:
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
22:21:35.938 default                  [AppLoad]: Process for "./folly" finished with exit code 101 and status QProcess::NormalExit
[QTFB]: Unregistered framebuffer controller ID: 9627569
[QTFB]: Could not find the framebuffer to act upon.
[QTFB]: Could not find the framebuffer to act upon.
[QTFB]: The client requested closing the connection.
[QTFB]: Closing client socket 4

@Eeems
Copy link
Copy Markdown
Collaborator Author

Eeems commented May 21, 2026

I guess maybe it needs to emulate RM2? Does it still crash with QTFB_SHIM_MODEL set to RM2? Or are we back to touch not working?

@rmitchellscott
Copy link
Copy Markdown
Member

Crash with a different error:

22:50:02.115 qml                      Application starting on device with original aspect ratio (75). Real aspect ratio of the application is going to be original (launchWindow qrc:/appload/qml/appload.qml:78)
22:50:02.117 default                  [QTFB]: Re-register framebuffer  -1 as 8892275
[QTFB]: Unregistered framebuffer controller ID: -1
[QTFB]: Registered framebuffer controller ID: 8892275
22:50:02.118 default                  [AppLoad]: Starting external binary "./folly"
22:50:02.137 default                  [QTFB]: FB Repaint triggered for  8892275 . Status:  false
[QTFB]: Awaiting incoming connections to/tmp/qtfb.sock
[QTFB]: Connection established from client. Sock FD is 9
[QTFB]: Client is connecting in 0 mode. Resolution is set to 1404x1872
[QTFB]: Defined SHM (5256576 bytes) at 0x5ed5d000
Invoked image constructor for address 0x71b22810, w = 1404, h = 1872, bpl = 2808, f = 7
[QTFB]: Associated connection <==> framebuffer 8892275

thread 'main' (932) panicked at /root/.cargo/git/checkouts/libremarkable-7aac9d61cf98f227/573d4ac/src/framebuffer/core.rs:128:18:
Failed to open swtfb shared buffer: Os { code: 2, kind: NotFound, message: "No such file or directory" }
stack backtrace:
22:50:02.407 default                  [QTFB]: FB Repaint triggered for  8892275 . Status:  true
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
22:50:02.683 default                  [AppLoad]: Process for "./folly" finished with exit code 101 and status QProcess::NormalExit
[QTFB]: Unregistered framebuffer controller ID: 8892275
[QTFB]: The client requested closing the connection.
[QTFB]: Closing client socket 9

@Eeems
Copy link
Copy Markdown
Collaborator Author

Eeems commented May 21, 2026

Ah right, it's trying to use rm2fb directly on the RM2. You might be able to get it to work with LIBREMARKABLE_FB_DISFAVOR_INTERNAL_RM2FB=1, but I don't think it's using a recent enough version of libremarkable. We might be able to update it as part of the build though.

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.

2 participants