Tiny Core Linux

Tiny Core Base => Raspberry Pi => Topic started by: sbp on September 29, 2015, 11:58:32 AM

Title: Official raspberry touch screen support thread
Post 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


Code: [Select]
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
Title: Re: Official raspberry touch screen support thread
Post by: sbp on October 01, 2015, 10:38:29 AM
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

Code: [Select]
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
Title: Re: Official raspberry touch screen support thread
Post by: bmarkus on October 02, 2015, 05:09:26 AM
Added evemu to 7.x repos

http://www.freedesktop.org/wiki/Evemu/
Title: Re: Official raspberry touch screen support thread
Post by: sbp on October 03, 2015, 05:02:17 AM
Hi

Just tested it on a vanilla raspberry system. Here the touch function is working.

lsmod produces the following:

Code: [Select]
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:
Code: [Select]
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
Title: Re: Official raspberry touch screen support thread
Post by: sbp on October 03, 2015, 05:21:43 AM
Nope evdev is not enough:

I installed libevdev.tcz and i2c-tools-dev.tcz
Then rebooted:

Code: [Select]
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:

Code: [Select]
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
Title: Re: Official raspberry touch screen support thread
Post by: sbp on October 03, 2015, 05:42:23 AM
Sorry talking to myself here....

I found an error in dmesg which is of relevance:
Code: [Select]
[   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..
Title: Re: Official raspberry touch screen support thread
Post by: sbp on October 05, 2015, 05:13:45 AM
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 
Title: Re: Official raspberry touch screen support thread
Post by: sbp on October 05, 2015, 05:26:48 AM
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
Title: Re: Official raspberry touch screen support thread
Post by: sbp on October 08, 2015, 07:39:34 AM
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
Title: Re: Official raspberry touch screen support thread
Post by: jgrulich on October 08, 2015, 02:10:26 PM
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:
Code: (bash) [Select]
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.
Title: Re: Official raspberry touch screen support thread
Post by: sbp on October 09, 2015, 01:37:03 AM
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
Title: Re: Official raspberry touch screen support thread
Post by: jgrulich on October 09, 2015, 10:12:23 AM
I've bring the touchscreen working. It need to create the folder
Code: (bash) [Select]
/etc/X11/xorg.conf.d
and there make file calibration.conf:
Code: (bash) [Select]
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:
Code: (bash) [Select]
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.
Title: Re: Official raspberry touch screen support thread
Post by: jgrulich on October 09, 2015, 12:52:49 PM
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?
Title: Re: Official raspberry touch screen support thread
Post by: jgrulich on October 09, 2015, 01:44:28 PM
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?
Title: Re: Official raspberry touch screen support thread
Post by: nitram on October 09, 2015, 04:09:37 PM
// ...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
Title: Re: Official raspberry touch screen support thread
Post by: jgrulich on October 09, 2015, 11:51:53 PM
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.
Title: Re: Official raspberry touch screen support thread
Post by: mbrauer on November 01, 2015, 09:30:31 PM
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
Title: Re: Official raspberry touch screen support thread
Post by: jgrulich on November 02, 2015, 09:03:26 AM
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.
Title: Re: Official raspberry touch screen support thread
Post by: mbrauer on December 01, 2015, 09:26:07 PM
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.
Title: Re: Official raspberry touch screen support thread
Post by: mbrauer on December 01, 2015, 10:22:53 PM
...and the touchscreen is working.

Thanks for all of the pointers, everyone. I now know a lot more about Tiny Core!
Title: Re: Official raspberry touch screen support thread
Post by: CoooL on July 26, 2016, 03:26:06 AM
is there a complete tutorial / package to get this working?