I am trying to get the touchscreen working on my Surface GO2. unfortunately, touchscreen seems not supported while I set "enable_touch" as true. The touchscreen is functioning in the Surface UEFI interface, but not working in the rEFInd. Something interesting is that on-screen keyboard pops up while I boot into the EFI shell which efi source comes from tianocore/edk2, and it is touchable. Here is the EFI drivers list from Surface GO2, hopes touchscreen can work in near future.
With enable_touch set, rEFInd opens and listens to all available pointing devices (both touch and mouse). This usually works, but it's possible that specific behavior is expected by certain hardware. Without hardware to test on, it will be difficult to determine the cause.
I see there are several touch related items. Taking a stab in the dark, it seems like the expected flow may be: Touch Input Filter Driver -> Integrated Touch Driver -> I2C Touch Panel Driver
and trying to open the underlying drivers may cause problems.
I could work on a feature to allow specifying which touch device to use, but I'd need help testing it.
In the meantime, can you check if enable_mouse works properly? (note that enable_touch needs to be false)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I commented out enabletouch and uncommented enablemouse. When I reboot, I don't see a mouse cursor, but if I select an item with the arrow keys and move the mouse, the item is unselected, so something is being detected.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks CJ. When I look at the about menu with my Surface Type Cover attached, I see two unknown touch devices and two unknown mouse devices, both at index 0. Unfortunately, when I use touch_index or mouse_index at 0 or 1 they don't work properly; I get the same behavior where the touchpad deselects and item and then touching the screen highlights it, but I can't actually trigger anything and the mouse pointer doesn't show unless I'm touching the screen at the same time.
When I connected an external mouse, I see it as Unknown at index 2, but it doesn't do anything.
I updated the new release (v0.13.1) and found that the touch screen works in a limited way. The first single touch works, but after that single touch, every touch behavior has become silent. I had shot a video about this issue, please take a look. Hopes touch function will bring to us soon.
I can confirm this for 0.13.2.
Touch does not work on my surface go 2 (pentium gold version), however attaching a usb keyboard and pressing Esc makes touch work.
But in the current state you cannot get touch to work without a keyboard which makes it unusuable for my use case.
A fix would be very welcome.
Last edit: morgon 2022-01-16
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The issue can be fixed by compiling refind by yourself. I managed to let my go 2's touchscreen work in refind after replacing refind_x64.efi which is compiled from aur/refind- git with gnu-efi-3.0.14-4.
An attempt at mitigating this issue has been added to RefindPlus 0.13.3.AA on GitHub.
Appreciate feedback on whether it works as don't have such a device to test it.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I am trying to get the touchscreen working on my Surface GO2. unfortunately, touchscreen seems not supported while I set "enable_touch" as true. The touchscreen is functioning in the Surface UEFI interface, but not working in the rEFInd. Something interesting is that on-screen keyboard pops up while I boot into the EFI shell which efi source comes from tianocore/edk2, and it is touchable. Here is the EFI drivers list from Surface GO2, hopes touchscreen can work in near future.
Just wanted to note that I'm encountering the same issue on my Surface Go 2 m3 tablet when trying to enable touch on rEFInd.
With enable_touch set, rEFInd opens and listens to all available pointing devices (both touch and mouse). This usually works, but it's possible that specific behavior is expected by certain hardware. Without hardware to test on, it will be difficult to determine the cause.
I see there are several touch related items. Taking a stab in the dark, it seems like the expected flow may be:
Touch Input Filter Driver -> Integrated Touch Driver -> I2C Touch Panel Driver
and trying to open the underlying drivers may cause problems.
I could work on a feature to allow specifying which touch device to use, but I'd need help testing it.
In the meantime, can you check if enable_mouse works properly? (note that enable_touch needs to be false)
I commented out enabletouch and uncommented enablemouse. When I reboot, I don't see a mouse cursor, but if I select an item with the arrow keys and move the mouse, the item is unselected, so something is being detected.
I haven't done much testing, but try this version out:
Thanks CJ. When I look at the about menu with my Surface Type Cover attached, I see two unknown touch devices and two unknown mouse devices, both at index 0. Unfortunately, when I use touch_index or mouse_index at 0 or 1 they don't work properly; I get the same behavior where the touchpad deselects and item and then touching the screen highlights it, but I can't actually trigger anything and the mouse pointer doesn't show unless I'm touching the screen at the same time.
When I connected an external mouse, I see it as Unknown at index 2, but it doesn't do anything.
I created a video to illustrate this behavior.
Last edit: SquirrelsGoneWild 2020-10-26
https://github.com/linux-surface/iptsd
This is Intel Precise Touch & Stylus for Linux-Surface.
Hopes this can help a little be.
Are there any updates on this? I too have a Go 2 and can't get the touch screen to work.
I updated the new release (v0.13.1) and found that the touch screen works in a limited way. The first single touch works, but after that single touch, every touch behavior has become silent. I had shot a video about this issue, please take a look. Hopes touch function will bring to us soon.
Video: https://imgur.com/BV6yyiu
This problem has to be a bug.
I have seen that if you press the esc key (to refresh) then the touch works fine...
I can confirm this for 0.13.2.
Touch does not work on my surface go 2 (pentium gold version), however attaching a usb keyboard and pressing Esc makes touch work.
But in the current state you cannot get touch to work without a keyboard which makes it unusuable for my use case.
A fix would be very welcome.
Last edit: morgon 2022-01-16
The issue can be fixed by compiling refind by yourself. I managed to let my go 2's touchscreen work in refind after replacing refind_x64.efi which is compiled from aur/refind- git with gnu-efi-3.0.14-4.
You can try the attachment or make it by yourself
Just tried it and it works, thanks a lot.
An attempt at mitigating this issue has been added to RefindPlus 0.13.3.AA on GitHub.
Appreciate feedback on whether it works as don't have such a device to test it.