Goodix touch screen linux driver

Содержание
  1. GitLab G Goodix Touchscreen Linux Driver Project information Project information Activity Labels Members Repository Repository Files Commits Branches Tags Contributors Graph Compare Locked Files Issues 11 Issues 11 List Boards Service Desk Milestones Iterations Requirements Merge requests 0 Merge requests 0 CI/CD CI/CD Pipelines Jobs Schedules Test Cases Deployments Deployments Environments Releases Monitor Monitor Incidents Packages & Registries Packages & Registries Package Registry Container Registry Infrastructure Registry Analytics Analytics CI/CD Code review Insights Issue Repository Value stream Wiki Wiki Snippets Snippets Activity Graph Create a new issue Jobs Commits Issue Boards Collapse sidebar Close sidebar Clone of Goodix touchscreen module from mainline Linux with Active Stylus Pen support added. Источник What is the latest driver for Goodix touchscreens under Linux? I have a Winbook TW700 running Linux Mint 18.3-xfce updated with linux-firmware 1.157.19 and kernel 4.13.0-43.48-16.04.1. It embeds a Goodix touchscreen. Though the touch input works, the coordinates are reversed (touch at upper-left places the cursor at the lower-right.) Web searches reveal that this is an issue with Goodix touchscreens but most posts are years old and refer to older kernel versions. The code for the driver found at https://github.com/torvalds/linux/blob/master/drivers/input/touchscreen/goodix.c indicates that it addresses the coordinate transformation issue. On my system, “dmesg | grep Goodix” reports: How can I discover what is the most current version of the driver, and, if the one I’m using is older, how can I get/install the correct driver? 1 Answer 1 After lots more web searching and research, I managed to find an answer at https://askubuntu.com/questions/920051/how-to-rotate-touch-screen-input-on-ubuntu-16-04#936241 that worked for me. I edited usr/share/X11/xorg.conf.d/10-evdev.conf and added the following lines to the «Section InputClass» for the «evdev touchscreen catchall» Identifier: so that it looked like this: The after logging out and back in to restart the X-session, the touchscreen behaved as desired. By the way: Not sure the touchscreen driver integrated in the kernel is coded to recognize my system configuration. The source code I reference above appears to me to do a test for «Winbook TW700» AND «X86» but I think that test will fail when running the 64-bit kernel (as I am running) and the 32-bit ISO doesn’t support UEFI booting. Cheers! Thanks all for help in pointing me to this answer. Источник Thread: Goodix Touchscreen Thread Tools Display Goodix Touchscreen I am trying to get the goodix touch screen to work on my tablet, its a generic brand. the touch screen is a 12c device. I am assuming i2c-GODX0911:00 is for the touch screen. the alias here says GDIX instead of GODX, maybe I am using wrong module? I recompiled the module with the alteration as the registers appear to be the same. The kernel fails to probe the device, any ideas? I think I figured out the I2C address and IRQ from taking a look at the source of the android drivers but as far as I know there is no way to tell the kernel without coding an entire module. Last edited by 3djake; April 5th, 2018 at 08:46 PM . Re: Goodix Touchscreen I figured out how to fix the touch screen. Turns out my DSDT tables were using the wrong pins. I followed the instructions from the kernel documentation to override the dsdt table https://www.kernel.org/doc/Documenta. e_override.txt fixed most of the remarks, compiled and added the the table to initrd and got the touch screen working. Here is my new dsdt table https://github.com/3djake/TM800A510L_DSDT I read the following discussion and discovered my tablet had the same issue https://markmail.org/message/mpqpmh2. +state:results I was able to use his commits as a reference to correct my own https://git.ao2.it/Teclast-X98-Air-3. stom_DSDT.git/ Hopefully this is enough to help some one else. Last edited by 3djake; April 15th, 2018 at 07:51 AM . Источник Arch Linux You are not logged in. #1 2018-12-24 10:02:31 [SOLVED] Goodix Touchscreen and Stylus share device I have a Teclast F6 Pro Laptop with touchscreen and active stylus/pen support. Touchscreen and stylus work out of the box, but they share the same device and input event. Touchscreen works without problems, but because the stylus sends the same events it acts like a touchscreen. Hovering with the stylus counts as clicking/touching instead of only moving the mouse pointer. I haven’t tested it yet, but I’m pretty sure that also pressure levels are missing. xsetwacom detects no device. Last edited by pagdot (2019-09-14 11:16:42) #2 2018-12-28 19:44:27 Re: [SOLVED] Goodix Touchscreen and Stylus share device I am sorry for being offtopic, but you’re the most recent post that I have found regarding the same machine. I got my F6 pro today and I just installed Arch hoping that the latest kernels would support all devices, but I have issues with the touchpad. [ 3.092455] i2c_hid i2c-SYNA3602:00: i2c-SYNA3602:00 supply vdd not found, using dummy regulator [ 3.092475] i2c_hid i2c-SYNA3602:00: Linked as a consumer to regulator.0 [ 3.092477] i2c_hid i2c-SYNA3602:00: i2c-SYNA3602:00 supply vddl not found, using dummy regulator [ 3.095744] i2c_hid i2c-SYNA3602:00: unexpected HID descriptor bcdVersion (0x00ff) Besides the issue with the touchscreen, does that touchpad work fine for you? Last edited by gregkwaste (2018-12-28 19:45:15) #3 2018-12-28 20:20:40 Re: [SOLVED] Goodix Touchscreen and Stylus share device Which Kernel exactly? 4.19 from Core or 4.20 from Testing? I’ve only installed Arch recently and planned to wait until 4.20 is released in Core because this Kernel version should fix the touchpad issue. I haven’t fixed it myself. Else I would recommand creating a new Thread or take a look at this forum: https://techtablets.com/forum/forums/te … st-f6-pro/ Last edited by pagdot (2018-12-28 20:21:18) #4 2019-01-05 19:34:24 Re: [SOLVED] Goodix Touchscreen and Stylus share device @pagdot, I resolved the issue with the touchpad (I’m Greg from the techtablets forum XD). And right now I’m exactly stuck at our problem. I’m trying to identify the stylus but it is just passive. have you made any progress? I’m trying to figure out if it is the touchscreen driver’s fault or if we should be able to support the stylus pen using libwacom. #5 2019-01-05 19:42:00 Re: [SOLVED] Goodix Touchscreen and Stylus share device I’ve got the touchpad fixed with the kernel update and tried to dig a bit deeper into the touchpad + stylus issue. They seem to share the same input device. I think we would have to debug and patch the i2c_hid driver and also extend the input-wacom driver to support the stylus. I’ve learnt a little bit about linux driver development, but haven’t much time atm because univercity and other projects of mine. So I won’t dig deeper now. #6 2019-01-05 21:50:51 Re: [SOLVED] Goodix Touchscreen and Stylus share device I’ve got the touchpad fixed with the kernel update and tried to dig a bit deeper into the touchpad + stylus issue. They seem to share the same input device. I think we would have to debug and patch the i2c_hid driver and also extend the input-wacom driver to support the stylus. I’ve learnt a little bit about linux driver development, but haven’t much time atm because univercity and other projects of mine. So I won’t dig deeper now. I am still not sure if its the wacom driver or the i2c_hid_driver or the goodix-ts driver. But either way, at least I can’t patch them without any help lol. I filed a bug report on the kernel bugzilla page, if I have any responses I’ll post here. #7 2019-01-28 22:40:01 Re: [SOLVED] Goodix Touchscreen and Stylus share device Is there any kernel bug report link that I can follow up on too? I got the Teclast F6 Pro too, bought the stylus, and confirm that pressure levels are not recognized and approaching the screen with the stylus generates a continuous touch. But unfortunately I am not a kernel dev at all. #8 2019-09-04 17:51:13 Re: [SOLVED] Goodix Touchscreen and Stylus share device I personally have a Chuwi Surbook which also features a Goodix Capacitive Touchscreen product ID 9111 just like your Teclast F6 does. After some research, I found the official Goodix GitHub which hosts repositories of Android drivers for their touchscreen controllers. The one that we both have should be supported by the gt9xx driver. However, even with the help of the porting guide in the repo, I didn’t manage to port the driver to my x86_64-architecture tablet. I decided to analyse the content of the source files to try and merge the relevant code into the mainline Linux driver for the Goodix touchscreen controllers. By doing so, I managed to have a working driver that creates a new logical input device for the pen, in addition to the one for the touchscreen which works perfectly as it is. Long story short, the pen is working as it is expected to be on my machine. You can get the modified driver by cloning my repo at: https://gitlab.com/AdyaAdya/goodix-touc … nux-driver The steps to follow are thoroughly described in the README.md. I hope this will work for you as well, or at least help you understand how to make it work for your machine. If it does work, I’d gladly appreciate if you let me know so I can indicate that it supports your machine in addition to mine. #9 2019-09-05 17:21:26 Re: [SOLVED] Goodix Touchscreen and Stylus share device I’m looking forward to testing it, but the battery in my pen seems to have died and I need to get a new one #10 2019-09-06 13:36:18 Re: [SOLVED] Goodix Touchscreen and Stylus share device I just understood why I couldn’t get the stylus buttons to work. It was just of a stupid mistake in my code, I was checking a nibble away from the bits that I wanted to evaluate. Anyway, now it’s fixed and works on my machine at least. I pushed the update to the repo. Note: the stylus buttons’ state is only reported by the controller when the tip of the pen is in contact with the touchscreen frame. At first, I found it weird but then, I went to try on Windows, where the pen works out of the box, and it does seem to work that way. So I guess if we want to use the buttons on the stylus, we have to touch the screen with the tip of the pen in addition to pressing the button(s). #11 2019-09-06 13:39:24 Re: [SOLVED] Goodix Touchscreen and Stylus share device Note: the stylus buttons’ state is only reported by the controller when the tip of the pen is in contact with the touchscreen frame. At first, I found it weird but then, I went to try on Windows, where the pen works out of the box, and it does seem to work that way. So I guess if we want to use the buttons on the stylus, we have to touch the screen with the tip of the pen in addition to pressing the button(s). I’ve had troubles in Windows when using the buttons. Now I know why. #12 2019-09-12 21:37:28 Re: [SOLVED] Goodix Touchscreen and Stylus share device Took me some time, but I finally was able to test it. I’ve had to apply the troubleshooting step, but the it worked flawless! Thanks for fixing it Do you plan to create a merge request for the Linux Kernel? #13 2019-09-13 14:46:04 Re: [SOLVED] Goodix Touchscreen and Stylus share device Very glad to hear that it works I don’t really know for now. I might do it in the future, but at the moment the code is a bit messy and could use a bit of cleaning up and optimization. So yeah, until it’s merged in mainline Linux, every time you update your kernel or kernel headers, you need to recompile and reinstall the driver, as it will be overridden by the official one. Btw, I had some issues when doing so, caused by the «Module.symvers» file apparently, I’m adding an entry in the «Troubleshooting» section of the README.md, if the same issue occurs for somebody else. If I ever create a merge request, I’ll post a link to it on this forum thread. If you consider the initial issue for this topic as solved, you could prepend the title by a «[Solved]» tag to inform new readers that a solution has been found. #14 2019-09-27 12:13:40 Re: [SOLVED] Goodix Touchscreen and Stylus share device Here’s the up-to-date list of reportedly-tested supported devices (edited every time a new one comes to my knowledge): — Chuwi Hi13, Chuwi MiniBook and Chuwi Surbook — Jumper EZPad Go — Teclast T6 Pro Laptop — One Netbook One Mix 1S and One Netbook One Mix S2 Last edited by Adya (2019-12-04 18:04:47) #15 2019-10-05 13:36:36 Re: [SOLVED] Goodix Touchscreen and Stylus share device I have installed Adya’s module on One Netbook’s One Mix 1S and One Mix 2s which have the Goodix touchscreen and pen, and it works well. Also my pen can use the buttons when not touching, if I’m hovering. Also the stock kernel module often caused erroneous double touch events with pure finger touch, but Adya’s module got rid of this problem significantly, I only very rarely get erroneous double touch now. so excellent work, I really appreciate it. Last edited by pataphysician (2019-10-05 13:37:54) #16 2019-10-08 11:03:10 Re: [SOLVED] Goodix Touchscreen and Stylus share device I’m glad to hear that it works on your devices as well Just a heads-up about recent Linux graphical environment updates. I don’t know what exactly made it stop working properly but, since I updated yesterday, the stylus keeps on being reported on the screen somewhere else than it actually is. No matter the tweaks I tried at the module level or udev level, I can’t get it fixed. I suspect the problem to come from the latest versions of libinput, or GNOME (on Wayland), or maybe a graphical tool kit. If you encounter the same issue, try switching desktop environment (even GNOME on Xorg is working while GNOME on Wayland is not), it did the trick for me. Last edited by Adya (2019-10-08 11:04:11) #17 2019-10-12 00:37:29 Re: [SOLVED] Goodix Touchscreen and Stylus share device I’m actually using opensuse tumbleweed on this devices right now, and Plasma 5 on x11, which all work fine, but decided to try Plasma 5 on Wayland to see if I could reproduce the problem you had, on Plasma Wayland the pen doesn’t work at all. This is with kernel 5.3.4, but if I boot with kernel 5.3.1, the pen works fine in Plasma Wayland. So the problem with Wayland seems to be related to kernel changes. #18 2019-10-14 21:07:33 Re: [SOLVED] Goodix Touchscreen and Stylus share device Using Mint 19.2: Kernel 4.15 and 5.0, cinnamon and xfce: pen doesn’t work (Chuwi surbook) Last edited by gustl64 (2019-10-14 21:08:32) #19 2019-10-20 12:00:20 Re: [SOLVED] Goodix Touchscreen and Stylus share device TEsted on a Teclast F6 Pro running Linux Mint 19.2 (Cinnamon / Xorg) with following kernels: — original 5.0.0-32 — a custom build 5.3.7. The stylus is not working on these kernels. (works in buggy mode if the original goodix kernel module is used). In fact althrough the pen is registered correctly in the libinput outputs, no events are produced by it: -event3 DEVICE_ADDED Power Button seat0 default group1 cap:k -event5 DEVICE_ADDED Video Bus seat0 default group2 cap:k -event0 DEVICE_ADDED Lid Switch seat0 default group3 cap:S -event2 DEVICE_ADDED Power Button seat0 default group4 cap:k -event1 DEVICE_ADDED Sleep Button seat0 default group5 cap:k -event7 DEVICE_ADDED 2.4G Mouse seat0 default group6 cap:p left scroll-nat scroll-button -event10 DEVICE_ADDED USB 2.0 PC Camera: PC Camera seat0 default group7 cap:k -event8 DEVICE_ADDED SYNA3602:00 0911:5288 Touchpad seat0 default group8 cap:pg size 105x70mm tap(dl off) left scroll-nat scroll-2fg-edge click-buttonareas-clickfinger dwt-on -event9 DEVICE_ADDED Goodix Capacitive TouchScreen seat0 default group9 cap:kt size 1x1mm calib -event11 DEVICE_ADDED Goodix Active Stylus Pen seat0 default group10 cap:T size 1x1mm calib -event12 DEVICE_ADDED HDA Intel PCH Mic seat0 default group11 cap: -event13 DEVICE_ADDED HDA Intel PCH Headphone seat0 default group11 cap: -event14 DEVICE_ADDED HDA Intel PCH HDMI/DP,pcm=3 seat0 default group11 cap: -event15 DEVICE_ADDED HDA Intel PCH HDMI/DP,pcm=7 seat0 default group11 cap: -event16 DEVICE_ADDED HDA Intel PCH HDMI/DP,pcm=8 seat0 default group11 cap: -event17 DEVICE_ADDED HDA Intel PCH HDMI/DP,pcm=9 seat0 default group11 cap: -event18 DEVICE_ADDED HDA Intel PCH HDMI/DP,pcm=10 seat0 default group11 cap: -event4 DEVICE_ADDED AT Translated Set 2 keyboard seat0 default group12 cap:k #20 2019-10-23 13:19:58 Re: [SOLVED] Goodix Touchscreen and Stylus share device Sorry for taking so long to reply. The stylus should be now up and working on Linux Mint by using the latest version of the driver. (I’d gladly appreciate if you could confirm that it works on your machine) I’ve only tried on the Cinnamon DE but I suspect the problem came from the same source for the Xfce DE so it should be working now on that latter too. I haven’t had time yet to investigate the issue for Plasma on Wayland, I’ll look into it as soon as I can. #21 2019-10-24 12:39:13 Re: [SOLVED] Goodix Touchscreen and Stylus share device Chuwi surbook: stylus working — thanks a lot. a small issue: with mint you have to copy/move the uncompressed .ko file into the installed kernel tree #22 2019-11-01 01:57:41 Re: [SOLVED] Goodix Touchscreen and Stylus share device @Adya: you do not have to be sorry by responding later: you are helping a bunch of people here, I really appreciate your help! A you know what? you are a hero. Superbe work, well done! With your 2nd driver update, it works! It works on Linux Mint 19.2 Cinnamon with a Teclast F6 Pro now! Thank you a lot. For reference I’m putting down here what a working with stylus/pen libinput debug-events output looks like: $ sudo libinput debug-events [sudo] password for xyz: -event3 DEVICE_ADDED Power Button seat0 default group1 cap:k -event5 DEVICE_ADDED Video Bus seat0 default group2 cap:k -event0 DEVICE_ADDED Lid Switch seat0 default group3 cap:S -event2 DEVICE_ADDED Power Button seat0 default group4 cap:k -event1 DEVICE_ADDED Sleep Button seat0 default group5 cap:k -event7 DEVICE_ADDED USB 2.0 PC Camera: PC Camera seat0 default group6 cap:k -event15 DEVICE_ADDED SYNA3602:00 0911:5288 Touchpad seat0 default group7 cap:pg size 105x70mm tap(dl off) left scroll-nat scroll-2fg-edge click-buttonareas-clickfinger dwt-on -event6 DEVICE_ADDED Goodix Capacitive TouchScreen seat0 default group8 cap:kt size 1x1mm calib -event16 DEVICE_ADDED Goodix Active Stylus Pen seat0 default group9 cap:T size 1x1mm calib -event8 DEVICE_ADDED HDA Intel PCH Mic seat0 default group10 cap: -event9 DEVICE_ADDED HDA Intel PCH Headphone seat0 default group10 cap: -event10 DEVICE_ADDED HDA Intel PCH HDMI/DP,pcm=3 seat0 default group10 cap: -event11 DEVICE_ADDED HDA Intel PCH HDMI/DP,pcm=7 seat0 default group10 cap: -event12 DEVICE_ADDED HDA Intel PCH HDMI/DP,pcm=8 seat0 default group10 cap: -event13 DEVICE_ADDED HDA Intel PCH HDMI/DP,pcm=9 seat0 default group10 cap: -event14 DEVICE_ADDED HDA Intel PCH HDMI/DP,pcm=10 seat0 default group10 cap: -event4 DEVICE_ADDED AT Translated Set 2 keyboard seat0 default group11 cap:k -event16 TABLET_TOOL_PROXIMITY +6.44s 0.28*/0.26* pressure: 0.00* pen (0, id 0) proximity-in axes:p btn:SS2 event16 TABLET_TOOL_AXIS +6.44s 0.28*/0.25* pressure: 0.00 event16 TABLET_TOOL_AXIS +6.45s 0.28*/0.25* pressure: 0.00 event16 TABLET_TOOL_AXIS +6.47s 0.28/0.26* pressure: 0.00 event16 TABLET_TOOL_AXIS +6.48s 0.28/0.26* pressure: 0.00 event16 TABLET_TOOL_AXIS +6.53s 0.28/0.26* pressure: 0.00 event16 TABLET_TOOL_AXIS +6.54s 0.28*/0.26* pressure: 0.00 event16 TABLET_TOOL_AXIS +6.57s 0.28*/0.26 pressure: 0.00 event16 TABLET_TOOL_AXIS +6.58s 0.28/0.25* pressure: 0.00 event16 TABLET_TOOL_AXIS +6.58s 0.28/0.25* pressure: 0.00 event16 TABLET_TOOL_AXIS +6.59s 0.28*/0.25 pressure: 0.00 event16 TABLET_TOOL_AXIS +6.60s 0.28*/0.25* pressure: 0.00 event16 TABLET_TOOL_AXIS +6.60s 0.28*/0.25* pressure: 0.00 event16 TABLET_TOOL_AXIS +6.62s 0.29*/0.25 pressure: 0.00 event16 TABLET_TOOL_AXIS +6.62s 0.29*/0.25 pressure: 0.00 event16 TABLET_TOOL_AXIS +6.63s 0.29*/0.25 pressure: 0.00 event16 TABLET_TOOL_AXIS +6.63s 0.29*/0.25 pressure: 0.00 event16 TABLET_TOOL_AXIS +6.64s 0.29*/0.25 pressure: 0.00 event16 TABLET_TOOL_AXIS +6.64s 0.29*/0.25 pressure: 0.00 Last edited by ugo21 (2019-11-01 01:58:53) Источник
  2. What is the latest driver for Goodix touchscreens under Linux?
  3. 1 Answer 1
  4. Thread: Goodix Touchscreen
  5. Goodix Touchscreen
  6. Re: Goodix Touchscreen
  7. Arch Linux
  8. #1 2018-12-24 10:02:31
  9. [SOLVED] Goodix Touchscreen and Stylus share device
  10. #2 2018-12-28 19:44:27
  11. Re: [SOLVED] Goodix Touchscreen and Stylus share device
  12. #3 2018-12-28 20:20:40
  13. Re: [SOLVED] Goodix Touchscreen and Stylus share device
  14. #4 2019-01-05 19:34:24
  15. Re: [SOLVED] Goodix Touchscreen and Stylus share device
  16. #5 2019-01-05 19:42:00
  17. Re: [SOLVED] Goodix Touchscreen and Stylus share device
  18. #6 2019-01-05 21:50:51
  19. Re: [SOLVED] Goodix Touchscreen and Stylus share device
  20. #7 2019-01-28 22:40:01
  21. Re: [SOLVED] Goodix Touchscreen and Stylus share device
  22. #8 2019-09-04 17:51:13
  23. Re: [SOLVED] Goodix Touchscreen and Stylus share device
  24. #9 2019-09-05 17:21:26
  25. Re: [SOLVED] Goodix Touchscreen and Stylus share device
  26. #10 2019-09-06 13:36:18
  27. Re: [SOLVED] Goodix Touchscreen and Stylus share device
  28. #11 2019-09-06 13:39:24
  29. Re: [SOLVED] Goodix Touchscreen and Stylus share device
  30. #12 2019-09-12 21:37:28
  31. Re: [SOLVED] Goodix Touchscreen and Stylus share device
  32. #13 2019-09-13 14:46:04
  33. Re: [SOLVED] Goodix Touchscreen and Stylus share device
  34. #14 2019-09-27 12:13:40
  35. Re: [SOLVED] Goodix Touchscreen and Stylus share device
  36. #15 2019-10-05 13:36:36
  37. Re: [SOLVED] Goodix Touchscreen and Stylus share device
  38. #16 2019-10-08 11:03:10
  39. Re: [SOLVED] Goodix Touchscreen and Stylus share device
  40. #17 2019-10-12 00:37:29
  41. Re: [SOLVED] Goodix Touchscreen and Stylus share device
  42. #18 2019-10-14 21:07:33
  43. Re: [SOLVED] Goodix Touchscreen and Stylus share device
  44. #19 2019-10-20 12:00:20
  45. Re: [SOLVED] Goodix Touchscreen and Stylus share device
  46. #20 2019-10-23 13:19:58
  47. Re: [SOLVED] Goodix Touchscreen and Stylus share device
  48. #21 2019-10-24 12:39:13
  49. Re: [SOLVED] Goodix Touchscreen and Stylus share device
  50. #22 2019-11-01 01:57:41
  51. Re: [SOLVED] Goodix Touchscreen and Stylus share device
Читайте также:  All windows loader by daz

GitLab
  • G Goodix Touchscreen Linux Driver
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 11
    • Issues 11
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards

Collapse sidebar Close sidebar

Clone of Goodix touchscreen module from mainline Linux with Active Stylus Pen support added.

Источник

What is the latest driver for Goodix touchscreens under Linux?

I have a Winbook TW700 running Linux Mint 18.3-xfce updated with linux-firmware 1.157.19 and kernel 4.13.0-43.48-16.04.1. It embeds a Goodix touchscreen. Though the touch input works, the coordinates are reversed (touch at upper-left places the cursor at the lower-right.) Web searches reveal that this is an issue with Goodix touchscreens but most posts are years old and refer to older kernel versions. The code for the driver found at https://github.com/torvalds/linux/blob/master/drivers/input/touchscreen/goodix.c indicates that it addresses the coordinate transformation issue. On my system, “dmesg | grep Goodix” reports:

How can I discover what is the most current version of the driver, and, if the one I’m using is older, how can I get/install the correct driver?

1 Answer 1

After lots more web searching and research, I managed to find an answer at https://askubuntu.com/questions/920051/how-to-rotate-touch-screen-input-on-ubuntu-16-04#936241 that worked for me.

I edited usr/share/X11/xorg.conf.d/10-evdev.conf and added the following lines to the «Section InputClass» for the «evdev touchscreen catchall» Identifier:

so that it looked like this:

The after logging out and back in to restart the X-session, the touchscreen behaved as desired.

By the way: Not sure the touchscreen driver integrated in the kernel is coded to recognize my system configuration. The source code I reference above appears to me to do a test for «Winbook TW700» AND «X86» but I think that test will fail when running the 64-bit kernel (as I am running) and the 32-bit ISO doesn’t support UEFI booting.

Cheers! Thanks all for help in pointing me to this answer.

Источник

Thread: Goodix Touchscreen

Thread Tools
Display

Goodix Touchscreen

I am trying to get the goodix touch screen to work on my tablet, its a generic brand.

the touch screen is a 12c device.

I am assuming i2c-GODX0911:00 is for the touch screen.

the alias here says GDIX instead of GODX, maybe I am using wrong module?

I recompiled the module with the alteration as the registers appear to be the same.

The kernel fails to probe the device, any ideas?

I think I figured out the I2C address and IRQ from taking a look at the source of the android drivers but as far as I know there is no way to tell the kernel without coding an entire module.

Last edited by 3djake; April 5th, 2018 at 08:46 PM .

Re: Goodix Touchscreen

I figured out how to fix the touch screen.

Turns out my DSDT tables were using the wrong pins.

I followed the instructions from the kernel documentation to override the dsdt table
https://www.kernel.org/doc/Documenta. e_override.txt

fixed most of the remarks, compiled and added the the table to initrd and got the touch screen working.
Here is my new dsdt table
https://github.com/3djake/TM800A510L_DSDT

I read the following discussion and discovered my tablet had the same issue
https://markmail.org/message/mpqpmh2. +state:results
I was able to use his commits as a reference to correct my own
https://git.ao2.it/Teclast-X98-Air-3. stom_DSDT.git/

Hopefully this is enough to help some one else.

Last edited by 3djake; April 15th, 2018 at 07:51 AM .

Источник

Arch Linux

You are not logged in.

#1 2018-12-24 10:02:31

[SOLVED] Goodix Touchscreen and Stylus share device

I have a Teclast F6 Pro Laptop with touchscreen and active stylus/pen support.

Touchscreen and stylus work out of the box, but they share the same device and input event.

Touchscreen works without problems, but because the stylus sends the same events it acts like a touchscreen. Hovering with the stylus counts as clicking/touching instead of only moving the mouse pointer. I haven’t tested it yet, but I’m pretty sure that also pressure levels are missing.

xsetwacom detects no device.

Last edited by pagdot (2019-09-14 11:16:42)

#2 2018-12-28 19:44:27

Re: [SOLVED] Goodix Touchscreen and Stylus share device

I am sorry for being offtopic, but you’re the most recent post that I have found regarding the same machine. I got my F6 pro today and I just installed Arch hoping that the latest kernels would support all devices, but I have issues with the touchpad.

[ 3.092455] i2c_hid i2c-SYNA3602:00: i2c-SYNA3602:00 supply vdd not found, using dummy regulator
[ 3.092475] i2c_hid i2c-SYNA3602:00: Linked as a consumer to regulator.0
[ 3.092477] i2c_hid i2c-SYNA3602:00: i2c-SYNA3602:00 supply vddl not found, using dummy regulator
[ 3.095744] i2c_hid i2c-SYNA3602:00: unexpected HID descriptor bcdVersion (0x00ff)

Besides the issue with the touchscreen, does that touchpad work fine for you?

Last edited by gregkwaste (2018-12-28 19:45:15)

#3 2018-12-28 20:20:40

Re: [SOLVED] Goodix Touchscreen and Stylus share device

Which Kernel exactly?
4.19 from Core or 4.20 from Testing?

I’ve only installed Arch recently and planned to wait until 4.20 is released in Core because this Kernel version should fix the touchpad issue. I haven’t fixed it myself.

Else I would recommand creating a new Thread or take a look at this forum: https://techtablets.com/forum/forums/te … st-f6-pro/

Last edited by pagdot (2018-12-28 20:21:18)

#4 2019-01-05 19:34:24

Re: [SOLVED] Goodix Touchscreen and Stylus share device

@pagdot, I resolved the issue with the touchpad (I’m Greg from the techtablets forum XD). And right now I’m exactly stuck at our problem. I’m trying to identify the stylus but it is just passive.

have you made any progress? I’m trying to figure out if it is the touchscreen driver’s fault or if we should be able to support the stylus pen using libwacom.

#5 2019-01-05 19:42:00

Re: [SOLVED] Goodix Touchscreen and Stylus share device

I’ve got the touchpad fixed with the kernel update and tried to dig a bit deeper into the touchpad + stylus issue. They seem to share the same input device. I think we would have to debug and patch the i2c_hid driver and also extend the input-wacom driver to support the stylus.

I’ve learnt a little bit about linux driver development, but haven’t much time atm because univercity and other projects of mine. So I won’t dig deeper now.

#6 2019-01-05 21:50:51

Re: [SOLVED] Goodix Touchscreen and Stylus share device

I’ve got the touchpad fixed with the kernel update and tried to dig a bit deeper into the touchpad + stylus issue. They seem to share the same input device. I think we would have to debug and patch the i2c_hid driver and also extend the input-wacom driver to support the stylus.

I’ve learnt a little bit about linux driver development, but haven’t much time atm because univercity and other projects of mine. So I won’t dig deeper now.

I am still not sure if its the wacom driver or the i2c_hid_driver or the goodix-ts driver. But either way, at least I can’t patch them without any help lol. I filed a bug report on the kernel bugzilla page, if I have any responses I’ll post here.

#7 2019-01-28 22:40:01

Re: [SOLVED] Goodix Touchscreen and Stylus share device

Is there any kernel bug report link that I can follow up on too?
I got the Teclast F6 Pro too, bought the stylus, and confirm that pressure levels are not recognized and approaching the screen with the stylus generates a continuous touch.
But unfortunately I am not a kernel dev at all.

#8 2019-09-04 17:51:13

Re: [SOLVED] Goodix Touchscreen and Stylus share device

I personally have a Chuwi Surbook which also features a Goodix Capacitive Touchscreen product ID 9111 just like your Teclast F6 does.

After some research, I found the official Goodix GitHub which hosts repositories of Android drivers for their touchscreen controllers.
The one that we both have should be supported by the gt9xx driver.
However, even with the help of the porting guide in the repo, I didn’t manage to port the driver to my x86_64-architecture tablet.

I decided to analyse the content of the source files to try and merge the relevant code into the mainline Linux driver for the Goodix touchscreen controllers.
By doing so, I managed to have a working driver that creates a new logical input device for the pen, in addition to the one for the touchscreen which works perfectly as it is.
Long story short, the pen is working as it is expected to be on my machine.

You can get the modified driver by cloning my repo at: https://gitlab.com/AdyaAdya/goodix-touc … nux-driver
The steps to follow are thoroughly described in the README.md.
I hope this will work for you as well, or at least help you understand how to make it work for your machine.
If it does work, I’d gladly appreciate if you let me know so I can indicate that it supports your machine in addition to mine.

#9 2019-09-05 17:21:26

Re: [SOLVED] Goodix Touchscreen and Stylus share device

I’m looking forward to testing it, but the battery in my pen seems to have died and I need to get a new one

#10 2019-09-06 13:36:18

Re: [SOLVED] Goodix Touchscreen and Stylus share device

I just understood why I couldn’t get the stylus buttons to work. It was just of a stupid mistake in my code, I was checking a nibble away from the bits that I wanted to evaluate.
Anyway, now it’s fixed and works on my machine at least. I pushed the update to the repo.

Note: the stylus buttons’ state is only reported by the controller when the tip of the pen is in contact with the touchscreen frame. At first, I found it weird but then, I went to try on Windows, where the pen works out of the box, and it does seem to work that way. So I guess if we want to use the buttons on the stylus, we have to touch the screen with the tip of the pen in addition to pressing the button(s).

#11 2019-09-06 13:39:24

Re: [SOLVED] Goodix Touchscreen and Stylus share device

Note: the stylus buttons’ state is only reported by the controller when the tip of the pen is in contact with the touchscreen frame. At first, I found it weird but then, I went to try on Windows, where the pen works out of the box, and it does seem to work that way. So I guess if we want to use the buttons on the stylus, we have to touch the screen with the tip of the pen in addition to pressing the button(s).

I’ve had troubles in Windows when using the buttons. Now I know why.

#12 2019-09-12 21:37:28

Re: [SOLVED] Goodix Touchscreen and Stylus share device

Took me some time, but I finally was able to test it. I’ve had to apply the troubleshooting step, but the it worked flawless!

Thanks for fixing it Do you plan to create a merge request for the Linux Kernel?

#13 2019-09-13 14:46:04

Re: [SOLVED] Goodix Touchscreen and Stylus share device

Very glad to hear that it works

I don’t really know for now. I might do it in the future, but at the moment the code is a bit messy and could use a bit of cleaning up and optimization.
So yeah, until it’s merged in mainline Linux, every time you update your kernel or kernel headers, you need to recompile and reinstall the driver, as it will be overridden by the official one.
Btw, I had some issues when doing so, caused by the «Module.symvers» file apparently, I’m adding an entry in the «Troubleshooting» section of the README.md, if the same issue occurs for somebody else.

If I ever create a merge request, I’ll post a link to it on this forum thread.

If you consider the initial issue for this topic as solved, you could prepend the title by a «[Solved]» tag to inform new readers that a solution has been found.

#14 2019-09-27 12:13:40

Re: [SOLVED] Goodix Touchscreen and Stylus share device

Here’s the up-to-date list of reportedly-tested supported devices (edited every time a new one comes to my knowledge):

— Chuwi Hi13, Chuwi MiniBook and Chuwi Surbook
— Jumper EZPad Go
— Teclast T6 Pro Laptop
— One Netbook One Mix 1S and One Netbook One Mix S2

Last edited by Adya (2019-12-04 18:04:47)

#15 2019-10-05 13:36:36

Re: [SOLVED] Goodix Touchscreen and Stylus share device

I have installed Adya’s module on One Netbook’s One Mix 1S and One Mix 2s which have the Goodix touchscreen and pen, and it works well. Also my pen can use the buttons when not touching, if I’m hovering. Also the stock kernel module often caused erroneous double touch events with pure finger touch, but Adya’s module got rid of this problem significantly, I only very rarely get erroneous double touch now. so excellent work, I really appreciate it.

Last edited by pataphysician (2019-10-05 13:37:54)

#16 2019-10-08 11:03:10

Re: [SOLVED] Goodix Touchscreen and Stylus share device

I’m glad to hear that it works on your devices as well

Just a heads-up about recent Linux graphical environment updates. I don’t know what exactly made it stop working properly but, since I updated yesterday, the stylus keeps on being reported on the screen somewhere else than it actually is. No matter the tweaks I tried at the module level or udev level, I can’t get it fixed. I suspect the problem to come from the latest versions of libinput, or GNOME (on Wayland), or maybe a graphical tool kit.
If you encounter the same issue, try switching desktop environment (even GNOME on Xorg is working while GNOME on Wayland is not), it did the trick for me.

Last edited by Adya (2019-10-08 11:04:11)

#17 2019-10-12 00:37:29

Re: [SOLVED] Goodix Touchscreen and Stylus share device

I’m actually using opensuse tumbleweed on this devices right now, and Plasma 5 on x11, which all work fine, but decided to try Plasma 5 on Wayland to see if I could reproduce the problem you had, on Plasma Wayland the pen doesn’t work at all. This is with kernel 5.3.4, but if I boot with kernel 5.3.1, the pen works fine in Plasma Wayland. So the problem with Wayland seems to be related to kernel changes.

#18 2019-10-14 21:07:33

Re: [SOLVED] Goodix Touchscreen and Stylus share device

Using Mint 19.2: Kernel 4.15 and 5.0, cinnamon and xfce: pen doesn’t work (Chuwi surbook)

Last edited by gustl64 (2019-10-14 21:08:32)

#19 2019-10-20 12:00:20

Re: [SOLVED] Goodix Touchscreen and Stylus share device

TEsted on a Teclast F6 Pro running Linux Mint 19.2 (Cinnamon / Xorg) with following kernels:
— original 5.0.0-32
— a custom build 5.3.7.
The stylus is not working on these kernels. (works in buggy mode if the original goodix kernel module is used).
In fact althrough the pen is registered correctly in the libinput outputs, no events are produced by it:

-event3 DEVICE_ADDED Power Button seat0 default group1 cap:k
-event5 DEVICE_ADDED Video Bus seat0 default group2 cap:k
-event0 DEVICE_ADDED Lid Switch seat0 default group3 cap:S
-event2 DEVICE_ADDED Power Button seat0 default group4 cap:k
-event1 DEVICE_ADDED Sleep Button seat0 default group5 cap:k
-event7 DEVICE_ADDED 2.4G Mouse seat0 default group6 cap:p left scroll-nat scroll-button
-event10 DEVICE_ADDED USB 2.0 PC Camera: PC Camera seat0 default group7 cap:k
-event8 DEVICE_ADDED SYNA3602:00 0911:5288 Touchpad seat0 default group8 cap:pg size 105x70mm tap(dl off) left scroll-nat scroll-2fg-edge click-buttonareas-clickfinger dwt-on
-event9 DEVICE_ADDED Goodix Capacitive TouchScreen seat0 default group9 cap:kt size 1x1mm calib
-event11 DEVICE_ADDED Goodix Active Stylus Pen seat0 default group10 cap:T size 1x1mm calib
-event12 DEVICE_ADDED HDA Intel PCH Mic seat0 default group11 cap:
-event13 DEVICE_ADDED HDA Intel PCH Headphone seat0 default group11 cap:
-event14 DEVICE_ADDED HDA Intel PCH HDMI/DP,pcm=3 seat0 default group11 cap:
-event15 DEVICE_ADDED HDA Intel PCH HDMI/DP,pcm=7 seat0 default group11 cap:
-event16 DEVICE_ADDED HDA Intel PCH HDMI/DP,pcm=8 seat0 default group11 cap:
-event17 DEVICE_ADDED HDA Intel PCH HDMI/DP,pcm=9 seat0 default group11 cap:
-event18 DEVICE_ADDED HDA Intel PCH HDMI/DP,pcm=10 seat0 default group11 cap:
-event4 DEVICE_ADDED AT Translated Set 2 keyboard seat0 default group12 cap:k

#20 2019-10-23 13:19:58

Re: [SOLVED] Goodix Touchscreen and Stylus share device

Sorry for taking so long to reply.

The stylus should be now up and working on Linux Mint by using the latest version of the driver. (I’d gladly appreciate if you could confirm that it works on your machine)
I’ve only tried on the Cinnamon DE but I suspect the problem came from the same source for the Xfce DE so it should be working now on that latter too.

I haven’t had time yet to investigate the issue for Plasma on Wayland, I’ll look into it as soon as I can.

#21 2019-10-24 12:39:13

Re: [SOLVED] Goodix Touchscreen and Stylus share device

Chuwi surbook: stylus working — thanks a lot.

a small issue: with mint you have to copy/move the uncompressed .ko file into the installed kernel tree

#22 2019-11-01 01:57:41

Re: [SOLVED] Goodix Touchscreen and Stylus share device

@Adya: you do not have to be sorry by responding later: you are helping a bunch of people here, I really appreciate your help!

A you know what? you are a hero. Superbe work, well done!
With your 2nd driver update, it works! It works on Linux Mint 19.2 Cinnamon with a Teclast F6 Pro now!

Thank you a lot.

For reference I’m putting down here what a working with stylus/pen libinput debug-events output looks like:
$ sudo libinput debug-events
[sudo] password for xyz:
-event3 DEVICE_ADDED Power Button seat0 default group1 cap:k
-event5 DEVICE_ADDED Video Bus seat0 default group2 cap:k
-event0 DEVICE_ADDED Lid Switch seat0 default group3 cap:S
-event2 DEVICE_ADDED Power Button seat0 default group4 cap:k
-event1 DEVICE_ADDED Sleep Button seat0 default group5 cap:k
-event7 DEVICE_ADDED USB 2.0 PC Camera: PC Camera seat0 default group6 cap:k
-event15 DEVICE_ADDED SYNA3602:00 0911:5288 Touchpad seat0 default group7 cap:pg size 105x70mm tap(dl off) left scroll-nat scroll-2fg-edge click-buttonareas-clickfinger dwt-on
-event6 DEVICE_ADDED Goodix Capacitive TouchScreen seat0 default group8 cap:kt size 1x1mm calib
-event16 DEVICE_ADDED Goodix Active Stylus Pen seat0 default group9 cap:T size 1x1mm calib
-event8 DEVICE_ADDED HDA Intel PCH Mic seat0 default group10 cap:
-event9 DEVICE_ADDED HDA Intel PCH Headphone seat0 default group10 cap:
-event10 DEVICE_ADDED HDA Intel PCH HDMI/DP,pcm=3 seat0 default group10 cap:
-event11 DEVICE_ADDED HDA Intel PCH HDMI/DP,pcm=7 seat0 default group10 cap:
-event12 DEVICE_ADDED HDA Intel PCH HDMI/DP,pcm=8 seat0 default group10 cap:
-event13 DEVICE_ADDED HDA Intel PCH HDMI/DP,pcm=9 seat0 default group10 cap:
-event14 DEVICE_ADDED HDA Intel PCH HDMI/DP,pcm=10 seat0 default group10 cap:
-event4 DEVICE_ADDED AT Translated Set 2 keyboard seat0 default group11 cap:k
-event16 TABLET_TOOL_PROXIMITY +6.44s 0.28*/0.26* pressure: 0.00* pen (0, id 0) proximity-in axes:p btn:SS2
event16 TABLET_TOOL_AXIS +6.44s 0.28*/0.25* pressure: 0.00
event16 TABLET_TOOL_AXIS +6.45s 0.28*/0.25* pressure: 0.00
event16 TABLET_TOOL_AXIS +6.47s 0.28/0.26* pressure: 0.00
event16 TABLET_TOOL_AXIS +6.48s 0.28/0.26* pressure: 0.00
event16 TABLET_TOOL_AXIS +6.53s 0.28/0.26* pressure: 0.00
event16 TABLET_TOOL_AXIS +6.54s 0.28*/0.26* pressure: 0.00
event16 TABLET_TOOL_AXIS +6.57s 0.28*/0.26 pressure: 0.00
event16 TABLET_TOOL_AXIS +6.58s 0.28/0.25* pressure: 0.00
event16 TABLET_TOOL_AXIS +6.58s 0.28/0.25* pressure: 0.00
event16 TABLET_TOOL_AXIS +6.59s 0.28*/0.25 pressure: 0.00
event16 TABLET_TOOL_AXIS +6.60s 0.28*/0.25* pressure: 0.00
event16 TABLET_TOOL_AXIS +6.60s 0.28*/0.25* pressure: 0.00
event16 TABLET_TOOL_AXIS +6.62s 0.29*/0.25 pressure: 0.00
event16 TABLET_TOOL_AXIS +6.62s 0.29*/0.25 pressure: 0.00
event16 TABLET_TOOL_AXIS +6.63s 0.29*/0.25 pressure: 0.00
event16 TABLET_TOOL_AXIS +6.63s 0.29*/0.25 pressure: 0.00
event16 TABLET_TOOL_AXIS +6.64s 0.29*/0.25 pressure: 0.00
event16 TABLET_TOOL_AXIS +6.64s 0.29*/0.25 pressure: 0.00

Last edited by ugo21 (2019-11-01 01:58:53)

Источник

Оцените статью