Reterminal Drivers 'break' Pi-OS / Huge problems setting up Reterminal

Hello,

im having a large amount of trouble with setting up the Reterminal the way i want. At the moment specificly the drivers are breaking PI-OS.

What is happening: After installing the default 64-bit (!) PI-OS via raspberry pi imager, the system boots normally, but the lcd-display doesnt work. When installing the drivers in the way it is proposed by seeedstudios "Install reTerminal drivers after flashing new Raspberry Pi OS/ Ubuntu OS or Other OS" guide, the device boots, but the lcd doesnt work, everything is very laggy, the desktop symbols move underneath the taskbar and the resolution is wrong. When trying to open arandr/screen configuration i get the error from xrandr that “Randr” extension is missing.
When i comment out the “dtoverlay=reTerminal” line in /boot/config.txt, arandr works after the reboot. If i comment it in i get the error again. So it probably has to do with the drivers.

For some reason when booting, the raspberry shows that its booting the “32-bit” version of Pi-OS. If i install the “shipped with reterminal” image, downloaded from the seeedstudio site, it also says 32bit.
Doesn´t seem to make any problems related to that tho.

Ive tried Ubuntu OS from the pi imager software, but there the drivers dont even install properly. Im getting multiple errors which i can reproduce, but i dont have the logs on me right now.

Ive tried the 32bit version of pi-os / reterminal pi-os and have the same problems.

Ive tried also installing ubuntu the way descripted in " Q10: How can I install Ubuntu on reTerminal?", but the scripts provided do not make the lcd-screen work.

All these problems appeared after a regular ive had a regular “Pi-OS Reterminal” installed, which i accidently bricked while trying to fix the rotation of the screen. Starting with the next image installation i cant get the reterminal LCD to work.

This is my second problem: The rotation of the LCD-Screen seems impossible to fix and using a second display often does not work or works poorly. No matter what i do, at some point it reverts to its default orientation.
At first i disabled the iio-sensor-proxy service, specifically the acceleromotor, which caused the screen to rotate when the device was physicly rotated. Then i set the rotation in arandr to right, so the screen is rotated in the right way. So far so good. Worked fine until i connected a screen to the hdmi port. The screen instantly reverted to its original “portrait” orientation. Manually setting the orientation back to “right” worked, but after the next boot it reverted back to the portrait orientation. Setting lcd_rotate or display_lcd_rotate in the /boot/config.txt doesn`t work either.
But, for some reason, the Pi-OS/Ubuntu OS/Gnome login screen is always in the right orientation.
Even though even the console is always wrongly rotated when booting into terminal instead of the GUI in PI-OS.

Another weird behavior, ive tested 3 displays:

  • An LG with 2560x1080, which is stuck at 640x480 in arandr for some reason (HDMI)
  • A Waveshare touch display (HDMI) which doesn`t work at all (works with ubuntu (not ARM) normally)
  • An old AOC 1920x1080 (HDMI) which works 100% correct with arandr

This was a lot, i hope someone can help me with all my confusion.

Have a nice day!

Unfortunately I also have problems with the LCD when upgrading to Raspbian 64-bit. I need to run 64-bit for my applications. When I boot up, it seems to be rebooting infinite times, I do however quickly see the “Raspbian” logo every time it reboots.

I have had problems that are similar. The best success I have had is with a 64-bit Raspberry Pi OS image available from seeedstudio on this page:
reTerminal FAQ page

this is a copy of their 64-bit download link from that page:
64-bit 2022-07-21-Raspbian-reTerminal

However, I did try doing sudo apt full-upgrade, don’t do that, it will break the OS and installing the drivers will not fix it : (

After a while i figured that`s what broke it. I did a sudo apt full-upgrade at some point and after that it broke. Atleast i think so, this was quite a while ago :sweat_smile: I think it has something to do with the firmware on the board the CM4 sits on which does not like the “apt upgrade”. If i remember correctly it was somewhat broken after that.

Im not sure, but is there any fix to when someone did that mistake with “sudo apt-upgrade” or does it mean that the device now is permanently broken?

it might be corrected by burning in the 32-bit image or 64-bit image downloadable from seeedstudio for the reTerminal. Just don’t try to install a generic OS, even the Raspberry Pi OS from the official pages. Start with one from seeedstudio. I guess one problem could be if the LCD driver is broken then it will be difficult to do the initial setup. Maybe you can use a console session over the gpio pins and the serial terminal but I don’t know if that is selected on in those images.

Tried using the 32-bit/64-bit image from seeedstudio another time but it didn`t work. Just how i described in my original post the screen does not work after the install, but i can connect a secondary display and it shows the same behavior as before: Extremely laggy, desktop symbols are under the taskbar. I tried this because i thought installing the drivers might help:

But i get the following erro (from the log file):

DKMS make.log for mipi_dsi-0.1 for kernel 6.1.19-v7l+ (armv7l)
Di 4. Apr 08:08:21 CEST 2023
make -C /lib/modules/6.1.19-v7l+/build M=/var/lib/dkms/mipi_dsi/0.1/build modules
make[1]: Directory “/usr/src/linux-headers-6.1.19-v7l+” is entered
CC [M] /var/lib/dkms/mipi_dsi/0.1/build/mipi_dsi_drv.o
CC [M] /var/lib/dkms/mipi_dsi/0.1/build/touch_panel.o
CC [M] /var/lib/dkms/mipi_dsi/0.1/build/panel-ili9881d.o
/var/lib/dkms/mipi_dsi/0.1/build/mipi_dsi_drv.c:436:12: error: initialization of ‘void (*)(struct i2c_client )’ from incompatible pointer type ‘int ()(struct i2c_client *)’ [-Werror=incompatible-pointer-types]
436 | .remove = i2c_md_remove,
| ^~~~~~~~~~~~~
/var/lib/dkms/mipi_dsi/0.1/build/mipi_dsi_drv.c:436:12: note: (near initialization for ‘i2c_md_driver.remove’)
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:250: /var/lib/dkms/mipi_dsi/0.1/build/mipi_dsi_drv.o] Error 1
make[2]: *** Waiting for processes that have not yet been completed…
make[1]: *** [Makefile:2012: /var/lib/dkms/mipi_dsi/0.1/build] Error 2
make[1]: directory “/usr/src/linux-headers-6.1.19-v7l+” is exited
make: *** [Makefile:15: all] Error 2

(Original was partly in german i translated some stuff)

I think this indicates that there is something wrong with the i2c driver/connection. But this is too deep for my limited understanding. Maybe someone from here can use this information to figure out whats wrong.