Tiny Core Linux
Tiny Core Base => Raspberry Pi => Topic started by: sbp on September 29, 2015, 11:58:32 AM
-
Hi
Just connected the official raspberry touchscreen and the display is working right out of the box using piCore 4.1.6 and 4.1.8.
However, the touch function is not working.
I therefore made a small touch.tcz containing
/kernel/drivers/input/touchscreen/
As I already had the modules build for 4.1.6 I used this as a test using a matching piCore.img
It loads OK as seen with lsmod - however the touch function is still not working
tc@piCorePlayer1:~$ lsmod
Module Size Used by Not tainted
snd_bcm2835 19931 1
snd_pcm 75265 2 snd_bcm2835
snd_timer 18165 1 snd_pcm
snd 52642 4 snd_bcm2835,snd_pcm,snd_timer
rpi_ft5406 2821 0
i2c_bcm2708 4966 0
bcm2835_gpiomem 2983 0
spi_bcm2835 7068 0
uio_pdrv_genirq 2977 0
uio 8187 1 uio_pdrv_genirq
Steen
-
Installed evtest as suggested here: https://www.raspberrypi.org/forums/viewtopic.php?f=108&t=121716 and here https://www.raspberrypi.org/forums/viewtopic.php?f=108&t=121220&p=820733
tc@piCorePlayer1:~$ sudo evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: Logitech Optical USB Mouse
Select the device event number [0-0]:
But as shown it only found the USB mouse and not the touch screen input.
So evtest is working but it seems like the touchscreen is not.
Steen
-
Added evemu to 7.x repos
http://www.freedesktop.org/wiki/Evemu/
-
Hi
Just tested it on a vanilla raspberry system. Here the touch function is working.
lsmod produces the following:
pi@raspberrypi ~ $ lsmod
Module Size Used by
cfg80211 420690 0
rfkill 16659 1 cfg80211
sg 18159 0
joydev 9047 0
evdev 10232 6
bcm2835_gpiomem 2995 0
rpi_ft5406 2826 0
uio_pdrv_genirq 2966 0
uio 8235 1 uio_pdrv_genirq
i2c_dev 6047 0
snd_bcm2835 19769 3
snd_pcm 74825 1 snd_bcm2835
snd_timer 18157 1 snd_pcm
snd 52116 9 snd_bcm2835,snd_timer,snd_pcm
fuse 81710 3
ipv6 339514 30
So what is loaded in raspbian (working touch) and not loaded in piCore (no working touch) is the following modules:
cfg80211 420690 0
rfkill 16659 1 cfg80211
sg 18159 0
joydev 9047 0
evdev 10232 6
uio_pdrv_genirq 2966 0
i2c_dev 6047 0
fuse 81710 3
ipv6 339514 30
Therefore, it piCore must need one of these to get the touch running - Am I correct in this deduction?
I think that we might need evdev - but I could be wrong.
Steen
lsmod
-
Nope evdev is not enough:
I installed libevdev.tcz and i2c-tools-dev.tcz
Then rebooted:
tc@piCorePlayer1:~$ lsmod
Module Size Used by Not tainted
snd_bcm2835 19931 1
snd_pcm 75265 2 snd_bcm2835
snd_timer 18165 1 snd_pcm
rpi_ft5406 2821 0
snd 52642 4 snd_bcm2835,snd_pcm,snd_timer
evdev 10212 0
spi_bcm2835 7068 0
bcm2835_gpiomem 2983 0
i2c_bcm2708 4966 0
uio_pdrv_genirq 2977 0
uio 8187 1 uio_pdrv_genirq
But evtest is still not seeing the touch screen:
tc@piCorePlayer1:~$ sudo evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: Logitech Optical USB Mouse
/dev/input/event1: CHICONY HP Basic USB Keyboard
Select the device event number [0-1]:
Steen
-
Sorry talking to myself here....
I found an error in dmesg which is of relevance:
[ 12.118788] rpi-ft5406 touchscreen: Probing device
[ 12.118813] rpi-ft5406 touchscreen: Missing firmware node
[ 12.118839] rpi-ft5406: probe of touchscreen failed with error -2
Missing firmware note..
-
SUCCESS it is working now.
The info on the raspberry github is not correct: https://github.com/raspberrypi/linux/issues/1147
we need to add dtoverlay=rpi-ft5406-overlay to config.txt
At the moment I'm using a home build initrd where I added the touchscreen directory to the input directory, so the structure now is:
/lib/modules/4.1.6-piCore_v7+/kernel/drivers/input/touchscreen/
I will try to make a touch_screeen.tcz to see if it is still working.
Notice - the calibrations is somewhat off. The cursor is usually located one cm above and to the left of where my finger is pressing.
Steen
-
OK Bela.
The touch.tcz I have send you is actually working.
It just needed us to add the dtoverlay to the config.txt file.
The next issue we need to figure out is how to calibrate the touch input with the screen resolution.
Regards
Steen
-
Hi Bela.
Just added tc.tzc to the latest alpha_v7+ image (RPi2).
Added the touchscreen.tcz I send you and let piCore boot to GUI and the touchscreen is working fine. Here there is no calibration issue - so when you press on anything on the screen it reacts as it should. Good work..
So unfortunately it seems like it is only for using the Jivelite GUI which uses framebuffer directly I have a problem.
Regards
Steen
-
Hi,
I've connected the 3.5" TFT with touchscreen. Picture is perfect, but touchscreen is right/left mirrored.
I'm using this overlay for touchpanel:
dtoverlay=ads7846,speed=1000000,penirq=17,penirq_pull=2,swapxy=1,xmin=200,xmax=3900,ymin=200,ymax=3900,pmax=255,xohms=60
I've tried to use swapxy=0, but it is than completely mirrored.
-
Hi
I'm very impressed with piCore and the new 7" official raspberry touchscreen. It reacts very smoothly to any gesture.
Se this small movie clip (piCore version 7alpha on a RPi2): https://drive.google.com/file/d/0B4EZAibb1cniWmZmX0QwcDVOT2c/view?usp=sharing
Regards
Steen
-
I've bring the touchscreen working. It need to create the folder
/etc/X11/xorg.conf.d
and there make file calibration.conf:
Section "InputClass"
Identifier "calibration"
MatchProduct "ADS7846 Touchscreen"
Option "Calibration" "3932 300 294 3801"
Option "SwapAxes" "1"
EndSection
This file sets the boundaries and scale for the touchscreen and inverts the left/right orientation.
Than I've created another file fbtft.conf:
Section "Device"
Identifier "DeviceTFT"
Option "fbdev" "/dev/fb1"
EndSection
This file makes the Xoutput to fb1 instead of default fb0. Strange is that it works from the command prompt, but not at the boot. It boots Xorg to HDMI and I need to exit to prompt and statrx to get it at TFT.
-
Finally is the issue in TFT screen size which is little bit smaller than the window. The size is smaller in both axis.
Means that the right top corner is not visible. But there is no adjustment or calibration for flexb, or fbtft_device.
Any idea how to make the calibration of the screen size?
-
It will help to reduce the default GUI size of window in which is the program opened, or even better to open it in full screen mode. Than it has best resolution. Where is some setup for this?
-
// ...or even better to open it in full screen mode.
Not familiar with Raspberry but saw reference to xorg.conf.d so maybe not that much different. Openbox provides config settings to open all applications full screen and undecorated, works great on my small netbook screen.
Not on that system ATM, something like:
<!-- Maximize all normal windows when launched -->
<application type="normal">
<maximized>true</maximized>
</application>
https://help.ubuntu.com/community/Lubuntu/Windows#Launching_Windows_Maximized_or_Fullscreen
-
Yes, I know that Openbox does this and it actually works. I've tested it. But it's additional stuff to be loaded and addition delay at startup and it consumes additional disk space. Don't like this way. I only need to set another window size in some config, nothing more.
-
Hello,
Any ultimate resolution on the best way to get the touchscreen working? (I did not see the 'touchscreen.tcz' or 'touch.tcz' referenced above in the repo.)
Thanks!
Matt
-
Look this topic: http://forum.tinycorelinux.net/index.php/topic,18652.0.html there is link to my .tcz
Use the mentioned script. It's working.
-
Look this topic: http://forum.tinycorelinux.net/index.php/topic,18652.0.html there is link to my .tcz
Use the mentioned script. It's working.
Thanks for this. Still having some trouble but will figure it out and this is giving me some good pointers.
-
...and the touchscreen is working.
Thanks for all of the pointers, everyone. I now know a lot more about Tiny Core!
-
is there a complete tutorial / package to get this working?