dmhacker/arch-linux-surface

Fix for touchscreen and "module not found" issues

dmhacker opened this issue · 17 comments

I've noticed a lot of issues regarding the touchscreen. If you are still have these issues, I would recommend rerunning the setup script via sudo sh setup.sh and selecting yes for option #2. This will edit the MODULES line in your /etc/mkinitcpio.conf and then execute a kernel modules rebuild to incorporate them.

Doing this process manually seems to have resolved some non-functional touchscreens, notably in issues #22 and #30. It also has the potential to resolve other issues as well, since it ensures that the surface_acpi battery detection module is also detected by the kernel.

New users running the setup script should just mark yes to all options. This post is mainly intended for prior users with touchscreen issues.

If you are installing a kernel whose version is greater than or equal to 5.3.15, then you will need to follow these instructions again (run the setup script and only check 'y' for option 2). This will result in the correct modules being installed.

Additionally, firmware directory configurations have changed. Please select option 4 to ensure that the
correct firmware is installed.

Please run the setup script AFTER you have installed the latest kernel. Reboot/power cycle afterwards.

Relevant issue: #73

So, my touchscreen isn't working on Artix Linux using KDE:

  1. I ran the setup script
  2. selected yes for options 2 and 4
  3. installed the kernel and header, then rebooted
  4. found my touchscreen isn't working
  5. found this issue
  6. tried to run the script as sudo and su, where it told me not to do so and exited
  7. ran it normally and selected yes for options 2 and 4
  8. did NOT reinstall the kernel and header and rebooted
  9. found my touchscreen still isn't working.

So now I don't know whether it's KDE or the kernel.

Thank you kindly for the help!

I think it’s kernel related issue as 5.4.6 breaks ipts as well in case with Debian based systems. So I guess we will have to wait for a fix and downgrade to 5.3.18 to make touchscreen work again.

Right; used qzed's script recently and saw a note at the bottom after running it stating the latest release has touchscreen issues.

Yes, @xorpix is correct. Touchscreen will not work on 5.4.6; you must downgrade to 5.3.* kernels if you want IPTS support.

Maybe someone could help me with compiling the latest 5.5.2 kernel and applying the newest ipts patches correctly. Because it seems that somethings goes wrong and patches are not applied.

I’ve compiled 5.5.2 with working touchscreen

post the update ?

I will update this repository to support preliminary 5.5.* patches this week.

Update: 5.5 patches/config have been added to the compilation setup utilities. See COMPILATION.md (run ./compile_setup 5.5 to build a 5.5.3 kernel). I've have a release build ready over the weekend.

After you installed compiled version (5.5), add to grub or refind parameters this:
ipts.singletouch

Then reboot the device. After that you will have touchscreen working. Please note, that multitouch is not supported. And if you have singletouch enabled, you won’t be able to use stylus at the same time. You have to choose what you prefer.

After installing 5.5.4 prebuild kernel on surface go, no touchscreen is detected.
I run setup script with all options to yes and still nothing.

qzed commented

@gaou-piou 5.5 does not have full IPTS/touchscreen support. On 5.5 you can either enable stylus OR enable single-touch mode (they are exclusive). See @xorpix' comment and linux-surface/linux-surface#94 (comment) for details. In the long run (as 5.3 is pretty outdated by now) we recommend the 4.19 (LTS) patches if you want full touchscreen support.

See @xorpix' comment and linux-surface/linux-surface#94 (comment) for details.

Nice, I enabled single-touch mode via that. It works, isn't amazing (as far as touch support goes), but it'll do for now.

Touchscreen support comes again on linux 5.6

Wait, like.. The old driver with GuC submission? 5.6-rc6?

qzed commented

AFAIK IPTS won't be back on 5.6. There have been some issues on the Surface Go that might be resolved, though.