# In-built touchscreen not recognized

## JudithSamaniego

Hey there, a little help please?

I have an HP Pavilion laptop with Gentoo 4.4.6 and Gnome interface. Thing is I just can't find a way for the touchscreen to work in part because I cannot find enough documentation for... well... gentoo. I don't even know if its possible for touchscreens to work in gentoo   :Confused:  I mean, I think it's not even detecting the "touch" part of the screen... I know it might sound weird, but I can see things on the screen, just not interact with its touch gestures (?)

Anyways here are some outputs:

```

judypaws@GentooPC ~ $ xinput --list

⎡ Virtual core pointer                       id=2   [master pointer  (3)]

⎜   ↳ Virtual core XTEST pointer                 id=4   [slave  pointer  (2)]

⎜   ↳ PixArt Dell MS116 USB Optical Mouse        id=10   [slave  pointer  (2)]

⎜   ↳ SynPS/2 Synaptics TouchPad                 id=12   [slave  pointer  (2)]

⎣ Virtual core keyboard                      id=3   [master keyboard (2)]

    ↳ Virtual core XTEST keyboard                id=5   [slave  keyboard (3)]

    ↳ Power Button                               id=6   [slave  keyboard (3)]

    ↳ Video Bus                                  id=7   [slave  keyboard (3)]

    ↳ Power Button                               id=8   [slave  keyboard (3)]

    ↳ HP Truevision HD                           id=9   [slave  keyboard (3)]

    ↳ AT Translated Set 2 keyboard               id=11   [slave  keyboard (3)]

```

And the events I get are these:

```

judypaws@GentooPC /dev/input $ ls

by-id    event1   event12  event2  event5  event8  mouse0

by-path  event10  event13  event3  event6  event9  mouse1

event0   event11  event14  event4  event7  mice

```

I tried them all a long time ago and for what I remember I did not get rubbish showing on the terminal from pressing on the screen

I also saw the thing about "touchegg" but that's only for ubuntu (et al) right?

```

judypaws@GentooPC ~ $ less /proc/bus/input/devices

[... // some other things listed]

(this is the touchpad, at least this works)

I: Bus=0011 Vendor=0002 Product=0007 Version=01b1

N: Name="SynPS/2 Synaptics TouchPad"

P: Phys=isa0060/serio1/input0

S: Sysfs=/devices/platform/i8042/serio1/input/input5

U: Uniq=

H: Handlers=mouse0 event4 

B: PROP=5

B: EV=b

B: KEY=e520 10000 0 0 0 0

B: ABS=660800011000003

[...]

(and i'm not sure but of all the other things, I believe this might be the screen?)

I: Bus=0003 Vendor=04f2 Product=b50d Version=1916

N: Name="HP Truevision HD"

P: Phys=usb-0000:00:14.0-3/button

S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/input/input8

U: Uniq=

H: Handlers=kbd event7 

B: PROP=0

B: EV=3

B: KEY=100000 0 0 0

[...// the rest are things like mouse, headphones, HDMI, power button ect ]

```

I installed the app xinput_calibrator and I click it from the apps section a terminal opens and all it says is:

```
Error: No calibratable devices found.
```

And about the kernel, I honestly have no idea what I need, so I might need help with that if you can provide any.

PS: Yes, I know it's a touchscreen because I have a dual boot with W10 and it works fine there, and still have my hopes up on getting it to work on Gentoo. Thanks in advance   :Very Happy: 

----------

## linear

Greetings,

Well, I know one key option to have enabled in the kernel is:

```
CONFIG_INPUT_TOUCHSCREEN=y
```

which is located at Device Drivers -> Input Device Support -> Touchscreens.

When you enable that one in your kernel config utility, it should show a number of other options for different touchscreen drivers underneath it.

Now, to find which one of the additional drivers you need, you may want to (install and) use lshw, and find which devices in that list have been listed with either UNCLAIMED and/or DISABLED.  As an example from one of my headless systems here:

```
 ~ # lshw | less

...

        *-display UNCLAIMED

             description: VGA compatible controller

             product: 2nd Generation Core Processor Family Integrated Graphics Controller

             vendor: Intel Corporation

             physical id: 2

             bus info: pci@0000:00:02.0

             version: 09

             width: 64 bits

             clock: 33MHz

             capabilities: msi pm vga_controller bus_master cap_list

             configuration: latency=0

             resources: memory:fe000000-fe3fffff memory:e0000000-efffffff ioport:f000(size=64)

... 
```

After finding the touchscreen in the lshw list, it's just a matter of matching the Vendor and Model to the driver that supports it, and rebuilding the kernel with the driver(s) enabled.

HTH.  Let us know.

(P.S. As another possible way of figuring out which driver it might be that supports your touchscreen, you can boot to a Gentoo LiveDVD or LiveUSB and see if the touchscreen works as expected.  If the touchscreen does work, do an lsmod and copy that list of modules because the driver is in there somewhere.)

----------

## JudithSamaniego

Thanks for the reply linear

I checked the kernel and the option for touchscreen was already active, and some things inside that menu were built in as modules [M].

Anyways I know I first need to know which one's are the correct ones for my machine SO hehe... I installed and did the lshw thing, and well the only ones marked as UNCLAIMED or DISABLED were:

```

~ $ sudo lshw | less

*-generic UNCLAIMED

             description: Signal processing controller

             product: Broadwell-U Camarillo Device

             vendor: Intel Corporation

             physical id: 4

             bus info: pci@0000:00:04.0

             version: 09

             width: 64 bits

             clock: 33MHz

             capabilities: msi pm bus_master cap_list

             configuration: latency=0

             resources: memory:c3210000-c3217fff

*-communication UNCLAIMED

             description: Communication controller

             product: Wildcat Point-LP MEI Controller #1

             vendor: Intel Corporation

             physical id: 16

             bus info: pci@0000:00:16.0

             version: 03

             width: 64 bits

             clock: 33MHz

             capabilities: pm msi bus_master cap_list

             configuration: latency=0

             resources: memory:c3222000-c322201f

*-network DISABLED

                description: Ethernet interface

                product: RTL8101E/RTL8102E PCI Express Fast Ethernet controller

                vendor: Realtek Semiconductor Co., Ltd.

                physical id: 0

                bus info: pci@0000:09:00.0

                logical name: eno1

                version: 0a

                serial: b0:5a:da:d0:35:53

                size: 10Mbit/s

                capacity: 100Mbit/s

                width: 64 bits

                clock: 33MHz

                capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation

                configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=half latency=0 link=no multicast=yes port=MII speed=10Mbit/s

                resources: irq:42 ioport:3000(size=256) memory:c3004000-c3004fff memory:c3000000-c3003fff

*-serial UNCLAIMED

             description: SMBus

             product: Wildcat Point-LP SMBus Controller

             vendor: Intel Corporation

             physical id: 1f.3

             bus info: pci@0000:00:1f.3

             version: 03

             width: 64 bits

             clock: 33MHz

             configuration: latency=0

             resources: memory:c3221000-c32210ff ioport:5040(size=32)

*-power UNCLAIMED

       description: OEM Define 1

       product: OEM Define 5

       vendor: OEM Define 2

       physical id: 2

       version: OEM Define 6

       serial: OEM Define 3

       capacity: 75mWh

```

The only thing I could find relevant to the screen is this one:

```

*-display

             description: VGA compatible controller

             product: Broadwell-U Integrated Graphics

             vendor: Intel Corporation

             physical id: 2

             bus info: pci@0000:00:02.0

             version: 09

             width: 64 bits

             clock: 33MHz

             capabilities: msi pm vga_controller bus_master cap_list rom

             configuration: driver=i915 latency=0

             resources: irq:45 memory:c1000000-c1ffffff memory:b0000000-bfffffff ioport:5000(size=64)

```

which I believe to be the graphics card, and I'm not really sure is the graphics card is also responsable for the touchscreen gestures   :Shocked:   :Confused: 

I still haven't done the alternative to look up the modules from a GentooLiveCD USB drive, but I will give it a try when I get a bit more time, but if you can provide any info about what lshw provided, it's very much appreciated

----------

## Jaglover

Touchscreen is an input device, display is not. So no, they have nothing in common. I'd boot with some good liveCD and see how your touchscreen is handled. In past they used to be serial or USB devices, nowadays I believe IC2 and HID may be needed.

----------

## JudithSamaniego

 *Jaglover wrote:*   

> Touchscreen is an input device, display is not. So no, they have nothing in common. I'd boot with some good liveCD and see how your touchscreen is handled. In past they used to be serial or USB devices, nowadays I believe IC2 and HID may be needed.

 

Thanks for the info I appreciate it.

Before doing that, I built in some other modules from the kernel saying I2C as you mentioned but nothing has happened, yet.

After that I made a gentoo LiveCD to see if the touchscreen worked but no.   :Crying or Very sad:   Even there i took a look at the input events but no luck either.

I dont think is has the modules to deal with it but still I took pictures of the lsmod output just in case.

I know what i'm saying is not very helpful (or useful) but, any other ideas?   :Embarassed: 

----------

## Jaglover

Yes, the idea was to use a good live CD. How about latest *buntu or Mint on a USB stick.

----------

## JudithSamaniego

 *Jaglover wrote:*   

> Yes, the idea was to use a good live CD. How about latest *buntu or Mint on a USB stick.

 

hehehe   :Embarassed:  shame on me... OK so it took some time and right about now I'm on Ubuntu 18 Live CD (trying the desktop)  the touchscreen works perfect... and I'll be leaving this info right for reference on gentoo:

```

ubuntu@ubuntu:~$ lsmod

Module                  Size  Used by

rfcomm                 77824  4

intel_rapl             20480  0

arc4                   16384  2

x86_pkg_temp_thermal    16384  0

intel_powerclamp       16384  0

coretemp               16384  0

iwlmvm                364544  0

cmac                   16384  1

bnep                   20480  2

mac80211              778240  1 iwlmvm

kvm                   593920  0

irqbypass              16384  1 kvm

snd_hda_codec_realtek    94208  1

crct10dif_pclmul       16384  0

crc32_pclmul           16384  0

snd_hda_codec_generic    73728  1 snd_hda_codec_realtek

snd_hda_codec_hdmi     49152  1

btusb                  45056  0

uvcvideo               86016  0

ghash_clmulni_intel    16384  0

pcbc                   16384  0

snd_hda_intel          40960  4

btrtl                  16384  1 btusb

videobuf2_vmalloc      16384  1 uvcvideo

btbcm                  16384  1 btusb

snd_hda_codec         126976  4 snd_hda_intel,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek

aesni_intel           188416  2

videobuf2_memops       16384  1 videobuf2_vmalloc

videobuf2_v4l2         24576  1 uvcvideo

aes_x86_64             20480  1 aesni_intel

iwlwifi               282624  1 iwlmvm

snd_hda_core           81920  5 snd_hda_intel,snd_hda_codec,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek

crypto_simd            16384  1 aesni_intel

glue_helper            16384  1 aesni_intel

btintel                16384  1 btusb

videobuf2_core         40960  2 uvcvideo,videobuf2_v4l2

videodev              184320  3 uvcvideo,videobuf2_core,videobuf2_v4l2

snd_hwdep              20480  1 snd_hda_codec

cryptd                 24576  3 crypto_simd,ghash_clmulni_intel,aesni_intel

bluetooth             548864  33 btrtl,btintel,bnep,btbcm,rfcomm,btusb

media                  40960  2 uvcvideo,videodev

cfg80211              622592  3 iwlmvm,iwlwifi,mac80211

hid_multitouch         20480  0

snd_pcm                98304  4 snd_hda_intel,snd_hda_codec,snd_hda_core,snd_hda_codec_hdmi

intel_cstate           20480  0

intel_rapl_perf        16384  0

snd_seq_midi           16384  0

snd_seq_midi_event     16384  1 snd_seq_midi

snd_rawmidi            32768  1 snd_seq_midi

joydev                 24576  0

hp_wmi                 16384  0

input_leds             16384  0

serio_raw              16384  0

sparse_keymap          16384  1 hp_wmi

snd_seq                65536  2 snd_seq_midi_event,snd_seq_midi

wmi_bmof               16384  0

snd_seq_device         16384  3 snd_seq,snd_rawmidi,snd_seq_midi

snd_timer              32768  2 snd_seq,snd_pcm

ecdh_generic           24576  2 bluetooth

hp_accel               28672  0

lis3lv02d              20480  1 hp_accel

snd                    81920  19 snd_hda_intel,snd_hwdep,snd_seq,snd_hda_codec,snd_timer,snd_rawmidi,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_seq_device,snd_hda_codec_realtek,snd_pcm

input_polldev          16384  1 lis3lv02d

int3400_thermal        16384  0

mei_me                 40960  0

acpi_thermal_rel       16384  1 int3400_thermal

processor_thermal_device    16384  0

int340x_thermal_zone    16384  1 processor_thermal_device

intel_soc_dts_iosf     16384  1 processor_thermal_device

mei                    90112  1 mei_me

soundcore              16384  1 snd

tpm_crb                16384  0

lpc_ich                24576  0

shpchp                 36864  0

acpi_pad              180224  0

hp_wireless            16384  0

mac_hid                16384  0

sch_fq_codel           20480  6

parport_pc             36864  0

ppdev                  20480  0

lp                     20480  0

parport                49152  3 lp,parport_pc,ppdev

ip_tables              28672  0

x_tables               40960  1 ip_tables

autofs4                40960  2

overlay                77824  1

nls_iso8859_1          16384  1

dm_mirror              24576  0

dm_region_hash         20480  1 dm_mirror

dm_log                 20480  2 dm_mirror,dm_region_hash

hid_generic            16384  0

uas                    24576  0

usbhid                 49152  0

hid                   118784  3 hid_generic,usbhid,hid_multitouch

usb_storage            69632  2 uas

i915                 1617920  10

i2c_algo_bit           16384  1 i915

drm_kms_helper        172032  1 i915

syscopyarea            16384  1 drm_kms_helper

sysfillrect            16384  1 drm_kms_helper

sysimgblt              16384  1 drm_kms_helper

fb_sys_fops            16384  1 drm_kms_helper

psmouse               147456  0

drm                   401408  5 i915,drm_kms_helper

ahci                   36864  1

r8169                  86016  0

libahci                32768  1 ahci

mii                    16384  1 r8169

wmi                    24576  2 wmi_bmof,hp_wmi

video                  45056  1 i915

```

I'll be taking a look at this in a while* Thanks for the help. Anything else I should get from the Ubuntu LiveCD besides the output of lsmod?

[edit] I guess this is the winning line :3

```

hid_multitouch         20480  0

```

----------

