Goodix touch screen linux driver

Linux Mint Forums

Correct touchscreen driver for Winbook TW700?

Forum rules
Before you post please read how to get help. Topics in this forum are automatically closed 6 months after creation.

Correct touchscreen driver for Winbook TW700?

Post by wrighch » Fri Jun 08, 2018 3:03 pm

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. The tablet uses a Goodix touchscreen. Though touch input works, the coordinates are reversed: Touch at upper-left places the cursor at the lower-right. Web searches reveal that Goodix touchscreens reverse their coordinates from the way (most?) other touchscreens do. Most posts relating to this issue are years old and refer to older kernel versions. I found source code for a Goodix touchscreen driver at https://github.com/torvalds/linux/blob/ . n/goodix.c and comments in the code indicate that it addresses the coordinate transformation issue. Other posts on various sites indicate that this driver is already part of the main-line kernel but fail to specify _which_ version of the kernel. On my tablet, “dmesg | grep Goodix” reports:

Goodix-TS i2c-GDIX1001:00: ID 911, version 1050
input: Goodix Capacitive Touchscreen as /devices/platform/80860F41:03/i2c-3/i2c-GDIX1001:00/input/input4

How can I discover what is the most current version of the driver, and, if the one I’m using is older, how/where can I get/install the correct driver? If I’m already using the most current driver, then why are my screen coordinates still reversed? USB mouse works just fine, but I’d like to be able to use the device as a stand-alone tablet as it is designed to be used and using an on-screen keyboard with reversed coordinates is simply no feasible.

Any help would be greatly appreciated.

Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 1 time in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.

thx-1138 Level 8
Posts: 2092 Joined: Fri Mar 10, 2017 12:15 pm Location: Athens, Greece

Re: Correct touchscreen driver for Winbook TW700?

Post by thx-1138 » Fri Jun 08, 2018 3:53 pm

$ locate goodix
/lib/modules/4.13.0-43-generic/kernel/drivers/input/touchscreen/goodix.ko
/usr/src/linux-headers-4.13.0-43-generic/include/config/touchscreen/goodix.h

$ dpkg -S /lib/modules/4.13.0-43-generic/kernel/drivers/input/touchscreen/goodix.ko
linux-image-extra-4.13.0-43-generic : /lib/modules/4.13.0-43-generic/kernel/drivers/input/touchscreen/goodix.ko

sudo modinfo goodix [sudo] password for thx-1138: filename: /lib/modules/4.13.0-43-generic/kernel/drivers/input/touchscreen/goodix.ko license: GPL v2 description: Goodix touchscreen driver author: Bastien Nocera author: Benjamin Tissoires srcversion: 1EE302CC426A4526DB59DAA alias: i2c:GDIX1001:00 alias: acpi*:GDIX1001:* depends: intree: Y name: goodix vermagic: 4.13.0-43-generic SMP mod_unload 

. googling for monsieur Nocera aka hadess revealed. => https://github.com/hadess/gt9xx. In which he states.
«New features, and bug reports should be made using the usual kernel development process, through the linux-input@ mailing-list.»

Читайте также:  Astra linux настройка прокси сервера

Ie., if there’s a bug with the module in question:
1) You could try contacting mr. Nocera and ask him very politely about such.
Considering however he’s explicitly mentioned to go through the upstream channels though, personally, i wouldn’t try that.
2) You could try reporting the bug in Canonical’s Launchpad.
3) You could report it upstream directly (the best chances that such is noticed & possibly fixed,
but expect that you’ll be asked to provide quite a bit of data & do further testing. )

Re: Correct touchscreen driver for Winbook TW700?

Post by wrighch » Sat Jun 09, 2018 7:38 am

Thanks thx_1138. Those commands run on my system produced the same output. So I guess I’m using the most current driver. I truly appreciate your advice about how to report a bug — assuming I decide, after further research, that’s what the issue is. Very strange though, since the source code indicates that the driver tests for vendor = «WinBook» and product name = «TW700» and that’s exactly how the device seems to be declared within /sys/class/dmi/id/. I guess more troubleshooting is in order.

thx-1138 Level 8
Posts: 2092 Joined: Fri Mar 10, 2017 12:15 pm Location: Athens, Greece

Re: Correct touchscreen driver for Winbook TW700?

Post by thx-1138 » Sat Jun 09, 2018 12:37 pm

as a (possible) temporary workaround, maybe you could probably try playing around with xinput to reverse the axes, and if you find some setting that does the trick for you, you could set it as a start-up script.
Check here under section ‘Inverted/reversed axes’ and also here.
Sample tutorial to get an idea as well.

Re: Correct touchscreen driver for Winbook TW700?

Post by wrighch » Sat Jun 09, 2018 1:53 pm

Looking at the Xorg.0.log file, I see:

[ 10.575] (II) Using input driver ‘evdev’ for ‘Goodix Capacitive Touchscreen’

So I’m wondering if the X-server has replaced or overridden the kernel-provided input driver for the touchscreen. As a novice, I don’t really understand how X interacts with the kernel. But the log entry makes me wonder.

If ‘X’ does override the kernel’s driver, isn’t there a way to explicitly configure X to use the kernel’s driver? Or a way to configure ‘X’ to reverse the coordinates?

Hoping someone can set me straight here before I waste a whole lot more time running down a possible blind alley.
chucko

Re: Correct touchscreen driver for Winbook TW700?

Post by wrighch » Sun Jun 10, 2018 12:45 pm

After lots more web searching and research, I managed to find an answer at https://askubuntu.com/questions/920051/ . -04#936241 that worked for me.

Читайте также:  Как поменять настройки сети в linux

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:

Option «InvertX» «true»
Option «InvertY» «true»

so that it looked like this:

Section InputCLass
Identifier «evdev touchscreen catchall»
MatchIsTouchscreen «on»
MatchDevicePath ‘dev’input/event*»
Driver «evdev»
Option «InvertX» «true»
Option «InvertY» «true»
EndSection

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

3djake is offlineJust Give Me the Beans!

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.

sudo ls /sys/bus/i2c/devices/ i2c-0 i2c-12 i2c-6 i2c-CPAK8963:00 i2c-INTCF1B:00 i2c-SASX9500:00 i2c-1 i2c-2 i2c-7 i2c-GODX0911:00 i2c-INTCF1C:00 i2c-SMB0349:00 i2c-10 i2c-3 i2c-8 i2c-INBC0000:00 i2c-JSA01212:00 i2c-SMSC3750:00 i2c-10EC5640:00 i2c-4 i2c-9 i2c-INT33F4:00 i2c-KXCJ9000:00 i2c-TBQ24296:00 i2c-11 i2c-5 i2c-BSBG0160:00 i2c-INT33FB:00 i2c-MAX17047:00

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

$ lsmod |grep goodix goodix 16384 0 $ dmesg |grep GODX0911 [ 3.364229] i2c_hid i2c-GODX0911:00: HID over i2c has not been provided an Int IRQ [ 3.364660] i2c_hid: probe of i2c-GODX0911:00 failed with error -22 $ uname -a Linux jacob-tablet 4.13.0-38-generic #43-Ubuntu SMP Wed Mar 14 15:20:44 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux $ sudo modinfo goodix filename: /lib/modules/4.13.0-38-generic/kernel/drivers/input/touchscreen/goodix.ko license: GPL v2 description: Goodix touchscreen driver author: Bastien Nocera author: Benjamin Tissoires srcversion: 1EE302CC426A4526DB59DAA alias: i2c:GDIX1001:00 alias: acpi*:GDIX1001:* depends: intree: Y name: goodix vermagic: 4.13.0-38-generic SMP mod_unload signat: PKCS#7 signer: sig_key: sig_hashalgo: md4

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.

$dmseg|grep GODX 3.372597] i2c_hid i2c-GODX0911:00: HID over i2c has not been provided an Int IRQ [ 3.372761] i2c_hid: probe of i2c-GODX0911:00 failed with error -22 [ 266.905343] Goodix-TS i2c-GODX0911:00: ID 911, version: 1060 [ 266.910837] Goodix-TS i2c-GODX0911:00: Invalid config, using defaults [ 266.911203] input: Goodix Capacitive TouchScreen as /devices/platform/80860F41:01/i2c-1/i2c-GODX0911:00/input/input7 [ 266.913220] genirq: Flags mismatch irq 0. 00002001 (GODX0911:00) vs. 00015a00 (timer) [ 266.915794] Goodix-TS i2c-GODX0911:00: request IRQ failed: -16 [ 266.968101] Goodix-TS: probe of i2c-GODX0911:00 failed with error -16

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.

#define GTP_INT_PORT 133 gpio_direction_output(GTP_INT_PORT, client->addr == 0x14);

Источник

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:

Goodix-TS i2c-GDIX1001:00: ID 911, version 1050 input: Goodix Capacitive Touchscreen as /devices/platform/80860F41:03/i2c-3/i2c-GDIX1001:00/input/input4 

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?

Читайте также:  Hash all files linux

I think you need to add an entry in the old driver to this table: elixir.bootlin.com/linux/latest/source/drivers/input/… (Here it’s already done). File a bug against Linux Mint distribution on their bug tracker.

Turns out the 4.13 kernel already integrates the driver you point me to. But for some reason it doesn’t seem to be working. Within the source code, there’s a line: code dev_dbg(&ts->client->dev,»Applying ‘180 degrees rotated screen’ quirk\n»); code But I don’t know where to log for that log entry. Also, I notice that Xorg.0.log indicates: code [ 10.575] (II) Using input driver ‘evdev’ for ‘Goodix Capacitive Touchscreen’ code . So I’m wondering if the X-server has replaced or overridden the kernel-provided input driver for the touchscreen.

Источник

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Goodix Touchscreen 9xx driver

hadess/gt9xx

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Goodix touchscreen Linux driver

See source code for actual device support.

This repository was used for driver development when the driver was still out-of-tree.

New features, and bug reports should be made using the usual kernel development process, through the linux-input@ mailing-list.

Источник

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