Touch screen not working under weston drm

Rafael Antognolli antognolli at gmail.com
Fri Apr 26 07:27:18 PDT 2013


Hey pq,

When I start weston-launch (or weston directly), it does recognize
that I have a touch screen device, but does not seem to make it
available later for use.

My findings when debugging:

 - touch_set_focus() fails at this point:

        resource =
            find_resource_for_client(&seat->touch->resource_list,
                         surface->resource.client);
        if (!resource) {
            weston_log("couldn't find resource\n");
            return;
        }

and that's exactly the message that I get. It seems that the touch
resource is never added to that list. In fact, the seat_get_touch()
function is never called, and that seems to be the place where the
resource would be added to the list.

As I said in the beginning, the event device for the touchscreen is
being recognized somehow by weston, found as /dev/input/event11 (and
it's not the touchpad, that one is event5 and is working fine). The
touchscreen device is even added to the master->devices_list on the
device_added() function (src/udev-seat.c:97).

I don't know which place of the the code should be responsible for
triggering the seat_get_touch() callback, but I do think that this is
the problem here, maybe just a consequence of something else not
working (is it not being called because the wl_touch object wasn't
instantiated?)

Any help is welcome, but I'll not be able to test this soon, since I'm
using Rodrigo's notebook to test the touchscreen, and he's going to be
out of the office from tomorrow and during the entire next week. So
there's no hurry to make this work.

--
Rafael Antognolli
http://antognolli.org/


More information about the wayland-devel mailing list