As a Dell XPS 13z (the ultrabook) user I was affected by the lack of Linux drivers for Cypress trackpad. Recently, Cypress announced a Linux driver, so I decided to create a custom kernel for Arch that includes all the kernel fixes (which haven't been merged into mainline).
The following package includes:
If you try it out, please let me know if there are any problems.
Last edited by dcc24 (2012-07-13 06:33:36)
Hopefully it will be in mainline soon!
I don't have this computer but it will be helpful too other people im sure.
When I tried to build the package, the compilation failed with:
CC [M] drivers/input/mouse/psmouse-base.o
In file included from drivers/input/mouse/psmouse-base.c:37:0:
drivers/input/mouse/cypress_ps2.h:6:0: warning: "CONFIG_MOUSE_PS2_CYPRESS" redefined [enabled by default]
In file included from /home/miro/src/linux-mainline-dellxps/src/linux-3.5-rc6/include/linux/kconfig.h:4:0,
include/generated/autoconf.h:1910:0: note: this is the location of the previous definition
In file included from drivers/input/mouse/psmouse-base.c:37:0:
drivers/input/mouse/psmouse-base.c: In function ‘psmouse_interrupt’:
drivers/input/mouse/cypress_ps2.h:206:13: error: inlining failed in call to always_inline ‘cytp_wakup’: function body not available
drivers/input/mouse/psmouse-base.c:328:13: error: called from here
make: *** [drivers/input/mouse/psmouse-base.o] Error 1
make: *** [drivers/input/mouse] Error 2
make: *** [drivers/input] Error 2
make: *** [drivers] Error 2
==> ERROR: A failure occurred in build().
I'm currently running a patched 3.4.4-2 delllxps kernel with slightly modified version of the cypress patch (without the i915 patches though - that's what I wanted to see how works so attempted to build your pkg) - with just changed cytp_wakup() from inline void to just void in drivers/input/mouse/cypress_ps2.h, which worked ok for me.
That's on dell xps 13 ultrabook
Last edited by franklin (2012-07-13 21:25:40)
Hmm, that's weird. The build currently fails for me as well but it's unrelated to the trackpad driver (some broken network driver). Anyway, I'll try and see if I can reproduce your issue. If I can, I'll s/inline void/void in the PKGBUILD.
To report back - replaced the inline void with void, for both its definition and declaration, for that function (in the cypress patch coming with your pkg, also updated the md5sum ofc) and the kernel compiled OK - it didn't break on any network driver or else. And now all display issues are gone (the max brightness after suspend, powersave mode/lock and so on). Thanks for bringing all these patches together
Interestingly, why we encounter different problems though.. it's all the same source and patches, so I guess it should have something to do with the different local software/libs versions we have.
Last edited by franklin (2012-07-14 14:39:27)
Great, so it works! I'm away from my Arch machine, so I'll update the package when I get home. I'll also try to build it on a clean Arch install to avoid any software/lib version issues.
Yep, things look good!
Suspend works out of the box (including on lid open/close), hibernate only needs adding resume to hooks and grub kernel line (tested it with swap partition - worked with no problems), the important Fn keys work (brightness adjusting, volume keys, battery info, keyboard backlight control and wireless on/off)
I've ordered usb to ethernet and mini display port to hdmi adapters so when these arrive and confirm are working OK, maybe would be the time for a dell xps 13 ultrabook wiki page.
I'm compiling the kernel on the XPS 13 right now. Your experience seems good though, hopefully I'll finally be able to build this successfully.
Done! I'm writing this from the XPS 13z! Everything works as expected (touchpad, tap-to-click, two-finger scrolling, horizontal scrolling, brightness controls). I've also updated the package to Linux 3.5.0-rc7 and changed the module path to reflect the recent /lib -> /usr/lib switch.
At this point, this package should be fully functional. If anyone has any problems, please report it on AUR (not here). Thanks!
Sorry the newbie question. Do I need to do something else? Or it's just install the package?
Installing this package and xf86-input-synaptics should be enough.
I've installed the package and modified my syslinux.conf to load the correct kernel
and uname -a answer is right (3.10.0-1-mainlin...)
But how do i know if Cypress Trackpad is correctly loaded ? how do i configure it?
Last edited by GloW_on_dub (2013-06-13 19:09:17)
@Glo@_on_dub, first of all, for the love of God, please stop using a newline between every single line. It is terribly irritating. This is not high school, and we do not double space everything...
Okay, now that is out of hte way. Whenever you install something from the AUR, how do you do it? Do you know how to build manually using the tarball and makepkg? You should. From your comments here, I am somewhat suspect of your ability to do this, and think that you may be using somethign like yaourt. While a tool like that is fine, its existence doesn't mean that learning the manual way is not required.
I say all that because if you had actually gone to the AUR page for the linux-xps15z, you would have seen this comment:
The Cypress trackpad driver has made it into the 3.9 series kernel release. Therefore this package will no longer be updated. I hope that a few of you have found this package worthwhile!
This is probably why you saw no difference in the trackpad. Therefore, I can only assume that the linux-mainline-dellxps AUR package is intended to simply fix other issues with Linux and that machine, and no longer have anythign to do with the trackpad.
Sry about new line. I feel it juste more clear like that.
I've manually installed package from aur for some time, until begin to use yaourt. However i'am not able to modify a PKGBUILD or create a package.
After reading this I was looking for a something like you've mentioned, however, i didn't find this particular comment.
So build and install the particular has indeed no effect. I guess that if the driver was not included at first, trackpad will not be working at all.
Anyway thanks for digging the information for me. In case you're interested, it is related to my problem with midle click on cypress trackpad.
Last edited by GloW_on_dub (2013-06-13 19:08:42)