rM2-stuff
rM2-stuff copied to clipboard
White screen for rm2fb 3.8.2
Hi,
When installing the rm2fb ipk I am getting a white screen on boot. Is there a way to fix this? Sincerely, C
Same issue here on 3.8.2, though I've found a workaround is to install and enable Rocket
which works and opens xochitl
as expected.
When the rm2fb
service is enabled on its own with xochitl
disabled, the device hangs on a blank white screen.
The system journal contains the following logs when the rm2fb
service is started, and the device produces a blank white screen:
Dec 21 04:27:12 reMarkable systemd[1]: Started rm2 framebuffer server.
Dec 21 04:27:12 reMarkable crashuploader[189]: All files uploaded
Dec 21 04:27:12 reMarkable crashuploader[189]: All files uploaded
Dec 21 04:27:12 reMarkable xochitl[622]: STARTING RM2FB
Dec 21 04:27:12 reMarkable xochitl[622]: Added uintput device
Dec 21 04:27:12 reMarkable kernel: input: Wacom I2C Digitizer as /devices/virtual/input/input10
Dec 21 04:27:12 reMarkable xochitl[622]: Build ID: 0x31 0xf4 0xe9 0xe8 0x52 0xaf 0x39 0x38 0x15 0xd8 0x14 0xcd 0xd3 0xac 0xb6 0xdf 0xbd 0xc8 0xb5 0x67
Dec 21 04:27:12 reMarkable xochitl[622]: Setting mem
Dec 21 04:27:12 reMarkable xochitl[622]: SWTCON calling init
Dec 21 04:27:17 reMarkable crashuploader[189]: All files uploaded
Dec 21 04:27:17 reMarkable crashuploader[189]: All files uploaded
The rm2fb service status
reports the following whilst in the same state:
reMarkable: ~/ systemctl status rm2fb
● rm2fb.service - rm2 framebuffer server
Loaded: loaded (/lib/systemd/system/rm2fb.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2023-12-21 04:27:12 GMT; 1min 9s ago
Main PID: 622 (xochitl)
CGroup: /system.slice/rm2fb.service
└─ 622 __rm2fb_server__
Dec 21 04:27:12 reMarkable systemd[1]: Started rm2 framebuffer server.
Dec 21 04:27:12 reMarkable xochitl[622]: STARTING RM2FB
Dec 21 04:27:12 reMarkable xochitl[622]: Added uintput device
Dec 21 04:27:12 reMarkable xochitl[622]: Build ID: 0x31 0xf4 0xe9 0xe8 0x52 0xaf 0x39 0x38 0x15 0xd8 0x14 0xcd 0xd3 0xac 0xb6 0xdf 0xbd 0xc8 0xb5 0x67
Dec 21 04:27:12 reMarkable xochitl[622]: Setting mem
Dec 21 04:27:12 reMarkable xochitl[622]: SWTCON calling init
As a diagnosis step, attempting to directly open rm2fb
via running in terminal with this command:
env LD_PRELOAD=/opt/lib/librm2fb_server.so /usr/bin/xochitl
Produces a white screen on the device, and the following console output:
reMarkable: ~/ env LD_PRELOAD=/opt/lib/librm2fb_server.so /usr/bin/xochitl
STARTING RM2FB
Added uintput device
Build ID: 0x31 0xf4 0xe9 0xe8 0x52 0xaf 0x39 0x38 0x15 0xd8 0x14 0xcd 0xd3 0xac 0xb6 0xdf 0xbd 0xc8 0xb5 0x67
Setting mem
SWTCON calling init
SWTCON initalized!
rm2fb-server started!
Attempting to run the framebuffer in this manner, produces the following system journal entries:
Dec 21 04:20:10 reMarkable crashuploader[189]: All files uploaded
Dec 21 04:20:10 reMarkable crashuploader[189]: All files uploaded
Dec 21 04:20:12 reMarkable kernel: input: Wacom I2C Digitizer as /devices/virtual/input/input8
This is with Toltec
installed with the upstream xochitl
package, and systemlinks created in /usr/lib
pointing to /opt/lib
for the rm2fb client libraries.
My previous attempts before observing the upstream package requirement, lead to boot-loops with rm2fb
enabled.
When the rm2fb service is enabled on its own with xochitl disabled, the device hangs on a blank white screen. Yes, that's expted. If no launcher is enabled and xochitl isn't enabled then starting rm2fb will just produce a blank screen.
Although I wonder why xochitl is disabled.
Apologies I did test with xochitl and rm2fb both enabled, which produces the same result a blank white screen. Making the change of installing Rocket and launching xochitl through it makes it work.
Although I wonder why xochitl is disabled.
I disabled it for testing when things didn't work the first time
When rm2fb and xochitl are both started, xochitl appears to constantly attempt to restart, producing logs such as:
xochitl[28571]: 01:41:01.622 debug Running xochitl with extra modules:
xochitl[28571]: - (init /__w/xochitl/xochitl/src/xofm/bundles/papertablet/applauncher.cpp:43)
xochitl[28571]: Registering exit handlers
xochitl[28571]: Installing crash handler
xochitl[28571]: installed crash handler
xochitl[28571]: another instance is already running
xochitl[28571]: 01:41:01.734 default Failed to initialize SWTCON.
xochitl[28571]: We crashed
Similarly with the xochitl service stopped rm2fb started and attempting to run xochitl from the terminal produces an output which ends in a crash:
debug: 2023-11-09T14:56:06Z tags/releases/3.8.2-device-rc 01a902f
debug: we're running on an epaper device
02:02:01.579 default QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
02:02:01.591 rm.epaperkeyboardhandler No keymap set by QT settings or firmware, defaulting to US.
02:02:01.592 rm.epaperkeyboardhandler No keymap set by QT settings or firmware, defaulting to US.
02:02:01.601 rm.epaperkeyboardhandler No keymap set by QT settings or firmware, defaulting to US.
02:02:01.601 rm.epaperkeyboardhandler No keymap set by QT settings or firmware, defaulting to US.
02:02:01.602 qt.qpa.input evdevtouch: Using device discovery
02:02:01.610 qt.qpa.input evdevtouch: Adding device at /dev/input/event2
02:02:01.612 qt.qpa.input evdevtouch: Using device /dev/input/event2
02:02:01.613 qt.qpa.input evdevtouch: /dev/input/event2: Protocol type B (multi), filtered=no
02:02:01.613 qt.qpa.input evdevtouch: /dev/input/event2: min X: 0 max X: 1403
02:02:01.613 qt.qpa.input evdevtouch: /dev/input/event2: min Y: 0 max Y: 1871
02:02:01.613 qt.qpa.input evdevtouch: /dev/input/event2: min pressure: 0 max pressure: 0
02:02:01.613 qt.qpa.input evdevtouch: /dev/input/event2: device name: pt_mt
02:02:01.619 xofm.bundles.common Activated translation
02:02:01.621 xofm.core.launcher cannot open config file::/src/xofm/bundles/papertablet/papertablet.rm11x.json, error:No such file or directory (loadConfig /__w/xochitl/xochitl/src/xofm/core/src/launcher.cpp:40)
02:02:01.623 debug Running xochitl with extra modules:
- (init /__w/xochitl/xochitl/src/xofm/bundles/papertablet/applauncher.cpp:43)
Registering exit handlers
another instance is already running
02:02:01.715 default Failed to initialize SWTCON.
Aborted
It looks as if xochitl may already be running when the service tries to start, though the screen is blank and xochitl / launcher are stopped. Checking the running processes:
ps | grep xoc
29132 root 142m S {xochitl} __rm2fb_server__
29156 root 4904 S grep xoc
Having rm2fb started, xochitl stopped and rocket started produces a working configuration, with xochitl able to run through rocket.
Great work! I'm a bit new to the rm2 scene. Is there a way to exit the bootloop? I was only able to recover by disconnecting the folia.
Hey, this isn't the right place for the discussion since it's off-topic to the rM2-stuff packages. It's best to make a post over in the support discord, for example a recent one was https://discord.com/channels/385916768696139794/1185884865548275772
If your RM2 is caught in a boot loop, then the options are to attempt to SSH during a loop to execute a command that fixes the issue (e.g. disabling rm2fb / xochitl), or build the pogo adapter. I think a more thorough post in the support discord would be helpful to understand the state your device is in.
I see. The reason I'm asking the bootloop occured after installing the IPK. I managed to recover it some weeks ago through SSH. However in case I want to try installing again I need to enable rf2b, rocket but disable xochitl?
Yep pretty much. I put my notes into a new discussion thread: https://github.com/timower/rM2-stuff/discussions/32
Thanks. Should I leave this open until it is fixed?
Yeah, it seems the xochitl service isn't restarted correctly causing a white screen. I suspect https://github.com/toltec-dev/toltec/issues/717 might cause this as I depend on the xochitl package.
did you LD_PRELOAD the client on xochitl? If not, do it