Touchpad Issues Acer Swift X

thomasf

New Member
Joined
Sep 28, 2025
Messages
2
Reaction score
1
Credits
30
Hello everyone,

I bought a new Acer Swift X, which comes with an rtx 5060, touchpad with stylus and touch screen. All of it works perfectly fine except the touchpad. It does recognise the Stylus as a mouse it seems but the stylus buttons dont do anything. Also touch and gestures don't work. So it detects the stylus but not my fingers. It did work under WIndows but not under any other Linux Distro or Kernel I tried. I figured the device may be too recent for older Kernels, so I went as high as 6.16 when trying Pop OS. Also tried recent Installations of Ubuntu, Fedora, and ended up on Mint on the 6.14 Kernel. Its the same behaviour on all Setups. I do belive it is a driver or kernel issue, but I don't know how to go about it. I apprecaite any ideas on how to fix it or report the missing devce support to the right people. Thanks :)

Here's some device info:
Bash:
xinput list
⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
⎜   ↳ PIXA4812:00 093A:4812 Mouse                 id=12    [slave  pointer  (2)]
⎜   ↳ PIXA4812:00 093A:4812 Touchpad              id=13    [slave  pointer  (2)]
⎜   ↳ ELAN9004:00 04F3:447D                       id=15    [slave  pointer  (2)]
⎜   ↳ 10251825:00 1025:1825 Keyboard              id=16    [slave  pointer  (2)]
⎜   ↳ OpenTabletDriver Virtual Mouse              id=23    [slave  pointer  (2)]
⎜   ↳ OpenTabletDriver Virtual Artist Tablet Pen (0)    id=26    [slave  pointer  (2)]
⎜   ↳ PIXA4812:00 093A:4812 Stylus Pen (0)        id=27    [slave  pointer  (2)]
⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
    ↳ Video Bus                                   id=6    [slave  keyboard (3)]
    ↳ Video Bus                                   id=7    [slave  keyboard (3)]
    ↳ Power Button                                id=8    [slave  keyboard (3)]
    ↳ 10251825:00 1025:1825 Wireless Radio Control    id=17    [slave  keyboard (3)]
    ↳ Intel HID events                            id=18    [slave  keyboard (3)]
    ↳ Intel HID 5 button array                    id=19    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard                id=20    [slave  keyboard (3)]
    ↳ Acer WMI hotkeys                            id=21    [slave  keyboard (3)]
    ↳ OpenTabletDriver Virtual Artist Tablet      id=22    [slave  keyboard (3)]
    ↳ 10251825:00 1025:1825 Keyboard              id=25    [slave  keyboard (3)]
    ↳ PIXA4812:00 093A:4812 Stylus                id=14    [slave  keyboard (3)]
The device in question is PIXA4812:00 093A:4812.
Bash:
cat /proc/bus/input/devices | grep -A5 -i PIXA
N: Name="PIXA4812:00 093A:4812 Mouse"
P: Phys=i2c-PIXA4812:00
S: Sysfs=/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-PIXA4812:00/0018:093A:4812.0002/input/input21
U: Uniq=
H: Handlers=mouse1 event6
B: PROP=0
B: EV=17
B: KEY=30000 0 0 0 0
--
N: Name="PIXA4812:00 093A:4812 Touchpad"
P: Phys=i2c-PIXA4812:00
S: Sysfs=/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-PIXA4812:00/0018:093A:4812.0002/input/input22
U: Uniq=
H: Handlers=mouse2 event7
B: PROP=5
B: EV=10001b
B: KEY=e520 10000 0 0 0 0
--
N: Name="PIXA4812:00 093A:4812 Stylus"
P: Phys=i2c-PIXA4812:00
S: Sysfs=/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-PIXA4812:00/0018:093A:4812.0002/input/input23
U: Uniq=
H: Handlers=mouse3 event8
B: PROP=2
B: EV=1b
B: KEY=c03 0 0 0 0 0
--

However, I can see that the finger touches are recognised, although they cause errors and don't do anything:

Code:
 sudo libinput debug-events
 # other devices added ...
 -event7   DEVICE_ADDED            PIXA4812:00 093A:4812 Touchpad    seat0 default group7  cap:pg  size 136x83mm tap(dl off) left scroll-nat scroll-2fg-edge click-buttonareas-clickfinger dwt-on dwtp-on
 # ...
 # ...
 # touching the pad ...
 event7  - PIXA4812:00 093A:4812 Touchpad: kernel bug: Touch jump detected and discarded.

Checking the values from the pad:


Bash:
sudo evtest /dev/input/event7
Input driver version is 1.0.1
Input device ID: bus 0x18 vendor 0x93a product 0x4812 version 0x100
Input device name: "PIXA4812:00 093A:4812 Touchpad"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 272 (BTN_LEFT)
    Event code 325 (BTN_TOOL_FINGER)
    Event code 328 (BTN_TOOL_QUINTTAP)
    Event code 330 (BTN_TOUCH)
    Event code 333 (BTN_TOOL_DOUBLETAP)
    Event code 334 (BTN_TOOL_TRIPLETAP)
    Event code 335 (BTN_TOOL_QUADTAP)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value    875
      Min        0
      Max     3268
      Resolution      24
    Event code 1 (ABS_Y)
      Value    848
      Min        0
      Max     1985
      Resolution      24
    Event code 24 (ABS_PRESSURE)
      Value      0
      Min        0
      Max     1985
    Event code 47 (ABS_MT_SLOT)
      Value      2
      Min        0
      Max        4
    Event code 53 (ABS_MT_POSITION_X)
      Value      0
      Min        0
      Max     3268
      Resolution      24
    Event code 54 (ABS_MT_POSITION_Y)
      Value      0
      Min        0
      Max     1985
      Resolution      24
    Event code 55 (ABS_MT_TOOL_TYPE)
      Value      0
      Min        0
      Max        2
    Event code 57 (ABS_MT_TRACKING_ID)
      Value      0
      Min        0
      Max    65535
    Event code 58 (ABS_MT_PRESSURE)
      Value      0
      Min        0
      Max     1985
  Event type 4 (EV_MSC)
    Event code 5 (MSC_TIMESTAMP)
Key repeat handling:
  Repeat type 20 (EV_REP)
    Repeat code 0 (REP_DELAY)
      Value    250
    Repeat code 1 (REP_PERIOD)
      Value     33
Properties:
  Property type 0 (INPUT_PROP_POINTER)
  Property type 2 (INPUT_PROP_BUTTONPAD)
Testing ... (interrupt to exit)
Event: time 1759094739.507444, type 3 (EV_ABS), code 47 (ABS_MT_SLOT), value 0
Event: time 1759094739.507444, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 367
Event: time 1759094739.507444, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 1330
Event: time 1759094739.507444, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 709
Event: time 1759094739.507444, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1759094739.507444, type 1 (EV_KEY), code 325 (BTN_TOOL_FINGER), value 1
Event: time 1759094739.507444, type 3 (EV_ABS), code 0 (ABS_X), value 1330
Event: time 1759094739.507444, type 3 (EV_ABS), code 1 (ABS_Y), value 709
Event: time 1759094739.507444, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 0
....

This seems very reasonable, i.e.: Moving the finger over the pad left to right increases the x value reported: (snippet)

Code:
Event: time 1759095139.160984, -------------- SYN_REPORT ------------
Event: time 1759095139.168145, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 1105
Event: time 1759095139.168145, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 1052
Event: time 1759095139.168145, type 3 (EV_ABS), code 0 (ABS_X), value 1105
Event: time 1759095139.168145, type 3 (EV_ABS), code 1 (ABS_Y), value 1052
Event: time 1759095139.168145, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 134900
Event: time 1759095139.168145, -------------- SYN_REPORT ------------
Event: time 1759095139.174884, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 1118
Event: time 1759095139.174884, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 1051
Event: time 1759095139.174884, type 3 (EV_ABS), code 0 (ABS_X), value 1118
Event: time 1759095139.174884, type 3 (EV_ABS), code 1 (ABS_Y), value 1051
Event: time 1759095139.174884, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 142000
Event: time 1759095139.174884, -------------- SYN_REPORT ------------
Event: time 1759095139.181907, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 1131
Event: time 1759095139.181907, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 1050
Event: time 1759095139.181907, type 3 (EV_ABS), code 0 (ABS_X), value 1131
Event: time 1759095139.181907, type 3 (EV_ABS), code 1 (ABS_Y), value 1050
Event: time 1759095139.181907, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value 149100
 
Last edited:


G'day thomasf, Welcome to linux.org

Touchpads are not my forte, but I will watch this with interest.

Good Luck.
 
did a bit of searching:

it appears that "Pixart" develops image processing chips for various devices, they dont directly produce or support consumer styluses for touchscreens. there are known compatibility issues --> https://www.phoronix.com/news/Linux-6.12-Drops-PixArt-Driver - it's been a year and nothing has changed as yet.

searching linux-hardware.org & not finding 093A:4812 - typically that indicates it is unsupported

you may want to check on https://community.acer.com/en/categories/swift-spin-laptops or reach out to Acer directly (it seems that they offer some products with linux but if your laptop came with winOS then the stylus/touchpad is likely not going to work in linux).
 
Thank you for this super helpful analysis. In the meantime I also submitted a kernel bug report (https://bugzilla.kernel.org/show_bug.cgi?id=220627). As a workaround I hacked together a python script, which I run as a system service on startup. This basically provides a driver on the user level, which makes the touchpad usable as such at least. I attached it here in case someone else comes across this problem and needs a quick fix.
 

Attachments

Nice work, @thomasf and thanks for sharing.

If/when when you are sure this is solved, you can mark it as such by going to your first post, and do as follows

Near bottom left of the post click Edit - (No Prefix) - Solved

Cheers

Wizard
 


Follow Linux.org


Top