Running Zynthian on Seeed Studio reTerminal

Hi @tunagenes ,

Maybe there’s an easiest way To do it now.

1 Like

In that aspect, it worked out of the box. The things that need to be fixed are related only to the external hardware: the LCD panel, buttons, touchscreen…

1 Like

Hey guys, I’ve finished the guide. I was not sure to where should I put it, so I created a github repo and placed it there:

Zynthian on reTerminal installation

Hope you find it useful! In case of error, please tell me here, and I’ll try to fix it as soon as posible.
Happy Synthing! :slight_smile:

4 Likes

Very nice documentation !
And even with the button config ! Very very cool Thanks !

1 Like

Good morning!

I found an issue when updating to testing (I would like to write a module to integrate my MIDI controller). The thing is that, in stable, everything works flawlessly, but in testing, the touchscreen does not work.

Is not a problem of the UI (I can control it using the buttons), nor the driver of the touch panel (as xinput shows it and evtest logs the correct numbers when I touch it). The log of Xorg does not show any error (I’ve compared both logs, testing and stable, and are basically the same, just some minor changes in the device numbers).

Also, /proc/bus/input/devices shows the TP, sometimes as event3 and others as event2, didn’t see it as event0 yet (could this be the problem?). [UPDATE: I’ve seen it as event0, but without any change in its behaviour]

Moreover, every now and then it seems to work at first, but just only during 2 or 3 seconds.

I’m out of ideas :sweat_smile: Does anyone have had a similar problem? Or has any clue? Every idea is welcomed! Thanks! :grinning:

UPDATE 2: Ok, things are getting stranger… It seems that it works OK at the beginning, on every boot, and when I kill the Xorg process (which Zynthian restarts). BUT, when I touch the lower part of the screen (higher Y axis), it stops working. :astonished: I don’t think that is a faulty device, as in Zynthian stable it works perfectly.

More stranger things: with the TP working, if I print its xinput properties, it says that the device is not enabled (even though it is working):

xinput list-props seeed-tp
Device 'seeed-tp':
	Device Enabled (145):	0
[...]

Then, I can ‘break’ it touching the lower Y axis part, and it stops working, as always. BUT, I can enable it again, using:

xinput enable seeed-tp
xinput list-props seeed-tp
Device 'seeed-tp':
	Device Enabled (145):	1
[...]

And then, it works again, and I can use the whole screen! :joy: It won’t stop working until the next reboot, when the device is disabled again. I need to check why is it disabled in the first instance, but at least, the problem is easy to workaround.

UPDATE: For those wondering, I ended up adding the following systemd service to fix the problem:

# cat /etc/systemd/system/xinput-enable-tp.service 
[Unit]
Description=Run xinput to enable seeed-tp device
After=zynthian.service

[Service]
Environment=DISPLAY=:0
Environment=XAUTHORITY=/root/.Xauthority
Type=oneshot
ExecStart=/bin/bash -c 'while ! $(xset q > /dev/null 2>&1); do sleep 2; done; sleep 5; xinput enable seeed-tp'
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

It waits until Zynthian and Xorg are running, and then, after 5 seconds, it does the xinput trick. It’s not the most elegant solution, but as X is handled by Zynthian, and I don’t want to loose the hack on the next update, I couldn’t come up with a better solution :sweat_smile:

3 Likes