XPS 13 9360 - Aggravated with touchpad - Dell XPS 13 developer edition / Project Sputnik Feedback - OS and Applications - Dell Community

XPS 13 9360 - Aggravated with touchpad

OS and Applications

OS and Applications
Dell OS and Applications Solutions on Dell TechCenter - Project Sputnik, Microsoft Windows, Red Hat Linux, SUSE, Ubuntu, and more

XPS 13 9360 - Aggravated with touchpad

This question is not answered

Hi!  I'm hoping that somebody here may be able to assist with this as it's driving me up the wall.  

I purchased a XPS13 9360 and am running Ubuntu Gnome 17.04.  Out of the box, the touchpad works....however, not great.  When using the Synaptics driver, the touchpad movement feels great and everything is perfect, but palm detection does not work.  Yeah, you can use the syndaemon to disable the touchpad while typing, but I find that it still isn't the fix to palm detection.  I think the reason why palm detection doesn't work is because Linux can't see the pressure or finger width, as reported by X.  From what I read, the synclient needs this to be able to determine if a palm is resting on the touchpad or not.

Xorg.0.log:[ 425.704] (II) synaptics: DLL075B:01 06CB:76AF Touchpad: device does not report pressure, will use touch data.
Xorg.0.log:[ 425.704] (II) synaptics: DLL075B:01 06CB:76AF Touchpad: device does not report finger width.

Now if I disable the synaptics driver by removing the package and make the machine use libinput, palm detection works great but now the pointer doesn't move smoothly.  It moves, but when you try to move it slowly around, the pointer starts to get a bit jumpy and hard to control.  Under synaptics, this doesn't happen...but then palm detection doesn't work.  

Has anybody else stumble upon the same issues?  What was your fix?  I have to believe that there is something that I can do as this model has been sold to many as being linux friendly..which is has been so far...except for the touchpad.

Thanks in advanced...

All Replies
  • I have the same issue as you do, reported when still used gdm. Moved to kdm, and I don't have all these messages anymore, but it doesn't work any better either.

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (II) config/udev: Adding input device DLL075B:01 06CB:76AF Touchpad (/dev/input/event11)

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (**) DLL075B:01 06CB:76AF Touchpad: Applying InputClass "evdev touchpad catchall"

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (**) DLL075B:01 06CB:76AF Touchpad: Applying InputClass "libinput touchpad catchall"

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (**) DLL075B:01 06CB:76AF Touchpad: Applying InputClass "touchpad catchall"

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (**) DLL075B:01 06CB:76AF Touchpad: Applying InputClass "Default clickpad buttons"

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (II) Using input driver 'synaptics' for 'DLL075B:01 06CB:76AF Touchpad'

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (**) DLL075B:01 06CB:76AF Touchpad: always reports core events

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (II) synaptics: DLL075B:01 06CB:76AF Touchpad: found clickpad property

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (--) synaptics: DLL075B:01 06CB:76AF Touchpad: x-axis range 0 - 1216 (res 12)

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (--) synaptics: DLL075B:01 06CB:76AF Touchpad: y-axis range 0 - 680 (res 12)

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (II) synaptics: DLL075B:01 06CB:76AF Touchpad: device does not report pressure, will use touch data.

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (II) synaptics: DLL075B:01 06CB:76AF Touchpad: device does not report finger width.

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (--) synaptics: DLL075B:01 06CB:76AF Touchpad: buttons: left double triple

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (--) synaptics: DLL075B:01 06CB:76AF Touchpad: Vendor 0x6cb Product 0x76af

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (--) synaptics: DLL075B:01 06CB:76AF Touchpad: invalid pressure range.  defaulting to 0 - 255

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (--) synaptics: DLL075B:01 06CB:76AF Touchpad: invalid finger width range.  defaulting to 0 - 15

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (--) synaptics: DLL075B:01 06CB:76AF Touchpad: touchpad found

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (**) DLL075B:01 06CB:76AF Touchpad: always reports core events

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (II) XINPUT: Adding extended input device "DLL075B:01 06CB:76AF Touchpad" (type: TOUCHPAD, id 12)

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (**) synaptics: DLL075B:01 06CB:76AF Touchpad: (accel) MinSpeed is now constant deceleration 2.5

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (**) synaptics: DLL075B:01 06CB:76AF Touchpad: (accel) MaxSpeed is now 1.75

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (**) synaptics: DLL075B:01 06CB:76AF Touchpad: (accel) AccelFactor is now 0.144

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (**) DLL075B:01 06CB:76AF Touchpad: (accel) keeping acceleration scheme 1

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (**) DLL075B:01 06CB:76AF Touchpad: (accel) acceleration profile 1

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (**) DLL075B:01 06CB:76AF Touchpad: (accel) acceleration factor: 2.000

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (**) DLL075B:01 06CB:76AF Touchpad: (accel) acceleration threshold: 4

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (--) synaptics: DLL075B:01 06CB:76AF Touchpad: touchpad found

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (II) config/udev: Adding input device DLL075B:01 06CB:76AF Touchpad (/dev/input/mouse2)

    Apr 20 22:38:34 gimli /usr/lib/gdm/gdm-x-session[31163]: (**) DLL075B:01 06CB:76AF Touchpad: Ignoring device from InputClass "touchpad ignore duplicates"

  • Thanks for posting and knowing I'm not the only one with this issue.  :)  It seems like a number of people are like "Oh, there's no problems with it".  

    For more info that I found out....if I blacklist psmouse, then the libinput driver takes over....I think.  But if I blacklist i2c_hid, then synaptics takes over and X sees the proper finger width....or at least I don't get that message.   I thought, OK, awesome, maybe this will work.  Unfortunately though, it didn't.  It then, for reasons unknown, set the dimensions of the touchpad to something totally different and made it feel like it did with libinput....with the pointer moving around oddly.  Interesting enough too, it seemed to change the model number of the touchpad from that DLL075B to something else.  

    I hate saying this, but what I did was blacklist the psmouse driver and have libniput take over.  Yes, the pointing thing is taking a long time to get used to....and it's still really aggravating, but I'd rather deal with that than having the cursor jump all over the screen because palm detection doesn't work.  

    I really hope somebody or Dell fixes this asap because one of the reasons I bought this laptop was because I didn't want issues like this to deal with when running Linux.  

  • Also, I don't know if this will help, but here's a config that somebody sent to me that seems to make it better....but I'm still annoyed with it.

    Section "InputClass"

       Identifier "libinput"

       Driver "libinput"

       MatchDevicePath "/dev/input/event*"

       MatchIsTouchpad "true"

       Option "Tapping" "True"

       Option "TappingDragLock" "True"

       Option "PalmDetection" "True"

       # Option "ButtonMapping" "1 3 2"

       Option "DisableWhileTyping" "True"

       Option "NaturalScrolling" "True"

       Option "AccelProfile" "adaptive"

       Option "AccelSpeed" "0.1"

       Option "ClickMethod" "clickfinger"

       Option "MiddleEmulation" "True"

       Option "ScrollMethod" "twofinger"

       Option "HorizontalScrolling" "True"

       Option "SendEventsMode" "disabled-on-external-mouse"

    EndSection

  • I haven't seen anyone confirm that pressure-related data is being transmitted at all from the touchpad, IN ANY LINUX DISTRIBUTION, on the XPS 13 9360. I haven't seen any indication that anyone at Dell thinks this is a problem. I can easily change pressure settings on both my old junky laptops (a toshiba netbook running lubuntu, an asus clunker running fedora). I've used various diagnostic tools and haven't seen any pressure data on the 9360. I've tried every tip out there, and nothing. Different distributions, desktop environments. Nothing. It's goddamn frustrating when you shell out the cash for a machine that's supposed to be good with linux.

  • I think palm detection is working relatively well with libinput 1.8 and kernel 4.12.0-rc7.

    I know earlier versions of libinput had jerky movement as well as some 4.11-rc? kernels.

  • Also, I don't see any pressure events from the touchpad using evemu-record under 4.12.0-rc7 either.

  • Yes, I don't think Dell's going to fix the issue of the lack of pressure data being generated by the touchpad on the 9360. Linus Torvalds gave Dell a nice, free PR boost by choosing the XPS 13 as his new laptop. I wish he'd say something about it!

  • Thanks all for the interest and support in this....it makes me feel like I'm not the only person with touchpad issues!  

    After using the 9360 for...what....about 6 months....I would say that the touchpad under libinput is usable but it's still annoying.  Nothing at all compared to a macbook air touchpad, or even a different model Dell with the other than synaptics touchpad under libinput.  

    The synaptics driver makes moving the cursor around feel great but yet the palm detection doesn't work.  Under libinput, the palm detection works good but the cursor doesn't feel great.  I can't win.

  • The touchpad part we use does not report pressure data. There is nothing we're hiding. Very few touchpads support pressure detection, and all of the ones that do are recent, proprietary designs. You may find older documentation using misleading nomenclature, but I can assure you that they almost always mean contact width and not pressure. The touchpads we use in the XPS 13 9343 and later (9350 and 9360) follow Microsoft's Precision Touchpad specification, an open, standardized interface that ensures consistency across vendors. You can find the protocol specification publicly available online. It's a major step forward from proprietary, vendor-specific specifications that are only available under NDA. The PTP protocol provides data for palm detection via the confidence bit, not contact width.

    Both PTP touchpad driver implementations and libinput are fairly new still, so it's understandable if people are finding corner cases where the experience leaves something to be desired. If there is specific, measurable and repeatable behavior that is causing a poor touchpad experience, please report it. However, I ask that we please keep discussion civil. We're making an honest effort to engage with the community openly.

    --
    Project Sputnik development lead
    Software Principal Engineer
    Linux OS Architecture
    Dell | Client Product Group

  • Jared: Thanks for the response and information about it.  I forgot but during my investigation into this, I did find that while the touchpad is made by Synaptics, it follows some sort of Microsoft specification.  If this is the case,I would think that every touchpad would be the same.  

    I have a Latitude laptop at work and booted it up with an Ubuntu Live CD.  When booting it up, I'm pretty sure it was recognized as an Alps touchpad, but I could be wrong about that one.  When I used it in the live environment, it was absolutely perfect.  Palm Detection was great and accurate and moving the cursor was like a dream.  

    I figured that since it worked great, an XPS13 laptop that's made for linux should equally work well.  Unfortunately, I immediately noticed that the touchpad just didn't feel right.  I tried libniput and it worked better for palm detection but the scrolling around just didn't feel right.  I contacted the author of libinput on the mailing list and while he tried to help, he's limited on what he can do.  I am by no means a programmer with the knowledge to fix or even investigate trying to fix the issue.  

    I've been using the laptop for about 6 months now and I would say that I do use the touchpad, I still feel like it can still be improved.  

    I feel like we've been keeping the discussion civil here and if you feel like we haven't, I am sorry about that.  I've been trying to see if others feel the same way about this and if there are any fixes or tweaks that we can do to make the touchpad feel better.  Since we can't rip the touchpad out and install a different one in the laptop, it's kind of like our only option is to tweak the drivers.  

    I'm hoping that enough people can show concern to gain interest in how the touchpad feels wonky.  It's usable, but I know that it can be better.  The synaptics drivers makes the cursor scroll perfectly but palm detection doesn't work.  The libniput driver makes palm detection work but cursor scrolling not as smooth.  If only there's a way to combine the two and that would fix all my issues, along with, I believe, everybody elses.

  • 5427853, thanks for the thoughtful response.

    Yes, Latitude uses a different touchpad vendor. The XPS 13 a couple years ago (9343 model) was one of the very first to use the Microsoft Precision Touchpad spec. Prior to that generation, it used primarily Synaptics touchpads with the proprietary Synaptics RMI protocol.

    There are ways to tweak the scrolling behavior you might look at if you haven't yet. I use the same touchpad on a daily basis and _personally_ don't feel that the scrolling is not smooth, but I know personal preferences vary here. I use libinput*. I know scrolling behavior is tunable but haven't tuned it myself since it doesn't bother me. I would recommend looking at those tuning parameters. We're willing to consider changing default parameters so that the out-of-box experience is more amenable to more users.

    If you're encountering behavior that isn't a matter of preference but of bugs, we especially want to know about that. However, we need to be able to reliably reproduce the behavior otherwise there's not much we can do about it.

    *We wanted to default to libinput but at the time Canonical was reluctant about defaulting to libinput because of concerns about impact to other vendors and about having such a major difference from stock Ubuntu, so we agreed to wait.

    --
    Project Sputnik development lead
    Software Principal Engineer
    Linux OS Architecture
    Dell | Client Product Group

  • @Jared, thanks for the response. Then is the "pressure" or "sensitivity" issue -- that's how it feels from the user perspective -- a matter of ABS_TOOL_WIDTH not being reported? Is the "contact width" you refer to reported as ABS_TOOL_WIDTH? I see, after your post, that the issue has nothing to do with pressure properly speaking. Still, the ability to tweak settings related to ABS_TOOL_WIDTH data can understandably fall under a usability category that many users (myself included) would perceive as pressure or sensitivity related. Is ABS_TOOL_WIDTH a new thing, too?

    What I don't understand is how I can change the "sensitivity" settings (or contact width, or whatever it is that I perceive as "sensitivity") on my old low-end Asus and Toshiba, in various Linux distributions, and not on the 9360. When I have the capacity to enable "tap to click," but don't have the capacity to change what gets interpreted as a tap, it's quite frustrating. Can you say what the relevant difference is between those touchpads and this one as regards this issue? I know it might be impossible given the different types of touchpads out there -- but why are most all of them configurable in this regard, and the 9360 is not? If pressure is not the issue, being a new and rare feature of touchpads, then there must be some older, run-of-the-mill aspect which is.

  • @piattj

    Have you already tried blacklisting the 'psmouse' module?  This will affect which "touchpad device" the syndaemon process attaches to that synclient interacts with.

    It's not exactly intuitive but an artifact of the touchpad being put into I2C mode is that the PS2 touchpad device will remain on the system (you can see this from xinput --list output).

    This is an upstream bug with syndaemon that isn't yet resolved: https://bugs.freedesktop.org/show_bug.cgi?id=101470

    Assuming this issue is the same root cause to the problem you've been discussing you can workaround it by either ignoring the PS2 device from xorg.conf snippet or from blacklisting the psmouse kernel module.

  • @piattj,

    If I'm reading the PTP spec correctly, the PTP uses confidence as a complete replacement for indicating the contact area: docs.microsoft.com/.../touchpad-windows-precision-touchpad-collection

    --
    Project Sputnik development lead
    Software Principal Engineer
    Linux OS Architecture
    Dell | Client Product Group

  • @Mario L

    I tried blacklisting psmouse, but it had no effect. Same with ignoring the PS2 device.

    @ Jared D

    Thanks, I'll check that link out!