Skip to content

surface 3 touchscreen driver crash randomly #1184

Open

Description

@maxso-216

I believe this issue is mentioned years ago, but due to inactive, I want to raise this issue.
The touchscreen driver starting from kernel 5.18 would crash randomly.
The current workaround is using older kernel (5.17) or apply this temporary workaround after the driver crash
sudo modprobe -r spi_pxa2xx_platform
sudo modprobe spi_pxa2xx_platform
However, the temporary workaround will only work for a while, as the driver would crash again. In dmesg, you can see the two message is spammed. I think there's a issue with the patch applied since 5.18.

Environment

  • Hardware model: Surface 3
  • Kernel version:6.4.2-surface
  • Distribution Ubuntu:
  • ram: 4G w/ 5G swap
`dmesg` output
Surface3-spi spi-MSHW0037:00: SPI transfer timed out
spi_master spi1: failed to transfer one message from queue

Activity

  1. maxso-216 commented on Sep 15, 2023

    @maxso-216
    Author

    Using kernel with surface3-spi.patch fix the problem for me. User who are affected should patch the kernel for temporary workaround.

  2. P8ntBal1551 commented on Dec 6, 2023

    @P8ntBal1551

    How?

    are you patching the live kernal, or adding it to the surface kernal, or rebuilding the kernal completely?

    If you are rebuilding it completely, are you applying all the patches?

    If you are adding it to the surface kernal, where did you find it?

    Thanks

  3. maxso-216 commented on Dec 8, 2023

    @maxso-216
    Author

    I just rebuild the kernel completely. And yes, I apply all the patch originally come up with in the repo, with the surface3-spi.patch.

    Also, my surface 3 charging slot is broken, so I can not test if it still working. I hope this method still work for you.

  4. qzed commented on Dec 13, 2023

    @qzed
    Member

    According to the discussion below linux-surface/kernel@a3421c1 and the commit message in linux-surface/kernel@df179b9, the patch you linked above should no longer be needed. Can you check whether that patch is still required in the latest v6.6 kernels?

  5. P8ntBal1551 commented on Dec 14, 2023

    @P8ntBal1551

    6.6.6 is the same as 6.6.1 and 6.5.0. It works, but no where near what I would call "usable". It registers like every 5th touch. If you are lucky and actually are able to drag something, it lags behind about a second.

    I did not want to recompile the kernal, so I'm booting into 5.17 and it's running like a dream (except no wifi).

  6. qzed commented on Dec 14, 2023

    @qzed
    Member

    Hmm, afaik v5.17 does not contain that patch either. So I guess the issue has been fixed in v5.7 (at which point we dropped the patch) and then been reintroduced in v5.18. Would still be good to confirm whether that patch still fixes it on the latest kernels.

  7. Thertez commented on Jan 4, 2025

    @Thertez

    Hello,

    I'd like to raise the discussion once more.
    As nobody answered to you @qzed, I confirm the patch to be still needed on newest kernels.

    Right now I am running Surface 3, 2/64GB version. Fresh install of Fedora 41 with GNOME, both default and linux-surface kernels have this issue.
    Apart from a problem with tablet crashing when going near 30 - 35% battery (which I figured to be fixed by changing from intel_cpufreq to acpi_cpufreq, so no big deal imo) it's the only thing which happen to make the device unusable.

    Last night I compiled stock fedora kernel (ver. 6.12.8) following this instructions: https://docs.fedoraproject.org/en-US/quick-docs/kernel-testing-patches/ applying the patch and now since booting it (it's 3h already) - no touchscreen crashes.

    Is it possible to bring the patch back to linux-surface kernel?

    Thx in advance :)

  8. andy-shev commented on Apr 22, 2025

    @andy-shev

    So, the root cause is still unknown as far as I understand.

  9. 169 remaining items

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions