Skip to content

Announcements and updates #96

Description

@archseer

Subscribe to this issue to be notified of announcements, changelogs and manual upgrade notices.

(For update announcements only)

Activity

  1. locked and limited conversation to collaborators on Feb 22, 2020
  2. pinned this issue on Feb 22, 2020
  3. archseer commented on Feb 27, 2020

    @archseer
    MemberAuthor

    5.5.6 was released!

    Build system

    We now have a build system for packages for Arch, Debian and Fedora which should make it easier for us to release new kernel versions. The pkg directory also contains the packaging files that you can use to rebuild the kernel on your own.

    Automated repositories

    We have set up https://pkg.surfacelinux.com/ as the official source for patched kernel packages and other utilities. If you were using the package repositories before, please update your local setup.

    • The package repositories are now the recommended way to install the kernel. That way you will automatically receive future updates.

    • We are officially supporting Arch, Debian and Fedora builds.

    • The config files are moved to the device-specific/known issues wiki pages and are no longer automatically copied over.

    • The setup.sh script now basically does nothing.

    As a result of these changes, installation is now as easy as adding the package repository, installing a bunch of packages and following the guide to add any necessary config files for your device.

    New IPTS driver (pen or single-touch)

    5.5 patchsets also feature a new IPTS driver which works without the Intel GuC submission APIs that were removed upstream. The caveat is that it supports either pen OR single-touch. If you want to continue using multi-touch, either use the LTS release (4.19) or please manually install the latest 5.3 release.

    By default pen support is enabled. If you want to switch to single-touch create a file under /etc/modprobe.d/ipts.conf:

    options ipts singletouch=y
    

    Note: The new driver works on gen7 (SL3 Intel & SP7) as well!

  4. kitakar5525 commented on May 16, 2020

    @kitakar5525
    Member

    mwifiex: power_save now disallowed by default to improve connection stability

    v5.5: fedora-31-5.5.9-3, fedora-30-5.5.9-3, debian-5.5.9-2, arch-5.5.9-2
    v5.6: Since the first release of the v5.6 kernel
    v4.19: debian_lts-4.19.110, arch_lts-4.19.110

    You may have already noticed, since commit linux-surface/kernel@7182ea0b4b5e9a, power_save is disallowed by default. There have been many reports that configuring powr_save from userspace tools (e.g. via NetworkManager config file or udev rule) is not so solid. Now, no need to configure it manually.

    If you want to try to allow power_save, pass allow_ps_mode=Y parameter to the mwifiex driver. This only allows it to be enabled. To actually enable it, run sudo iw dev $devname set power_save on or by any other tools and check if it's actually enabled by sudo cat /sys/kernel/debug/mwifiex/mlan0/debug | grep "ps_"

  5. kitakar5525 commented on May 16, 2020

    @kitakar5525
    Member

    "v4.19: IPTS (touchscreen driver) stops working (SP4 and SB1)" has been hopefully fixed

    v4.19: debian_lts-4.19.123-1, arch_lts-4.19.123-1

    Since commit linux-surface/kernel@8b45a31eb5977d, touch input on all kinds of SP4/SB1 devices should work without crashing. The no_feedback quirk has been finally removed🎉 thanks to @StollD
    If you find any issues, please open an issue and let us know.

    EDIT: This fix is for "touch input crashing after some use" or "touch input broken when no_feedback=1". You may still encounter the other issues, especially regarding suspend.

  6. qzed commented on Jul 2, 2020

    @qzed
    Member

    Noteworthy changes in the v5.7.7 and v4.19.131 releases

    There have been some changes to the Surface Aggregator Module driver that have now been integrated into the v5.7.7 and 4.19.131 releases (and also the 5.4 patches). More specifically:

    • The first parts of the Surface Book 3 support have been merged: You can now control the dGPU power via surface-control or alternatively directly via sysfs, exactly like on the Surface Book 2. Further support (especially keyboard and touchpad) is currently still under development, so if you're using a Surface Book 3, you probably still want to head over to the Surface Aggregator Module repo and install the module from the feature/sb3-v2-branch.
    • The Surface Pro 6 with MSHW0111 as SID-device-ID is now correctly set up. This means that the lid and performance-mode setting should now work correctly on those devices.
    • The internals of the Surface Serial Hub (surface_sam_ssh) driver have been completely re-implemented with the goal of having an intrinsically asynchronous communication framework. This should ideally result in smoother communication with the EC and less hick-ups. More restructuring is yet to come, but this is a first big step towards getting the Surface Aggregator Module driver upstream. Additionally, some code has been cleaned up.
  7. qzed commented on Jul 5, 2020

    @qzed
    Member

    New packaging structure for Debian/Ubuntu packages

    The packaging approach for .deb packages has changed with debian-5.7.7-2 and debian_lts-4.19.131-2. Previous packages did not remove outdated initrd files, unnecessarily consuming space on the boot partition. To fix this, we have now switched to meta-packages, meaning that each kernel is packaged with its version in the package name (e.g. linux-image-5.7.7-surface) and meta packages (linux-image-surface, linux-headers-surface, linux-image-surface-lts, linux-headers-surface-lts) can be used to keep the kernels up to date.

    Unfortunately, this means that to upgrade the kernels (only this time, after that everything should work normal/as before), you'll have to manually uninstall the current kernel packages (linux-image-surface, linux-headers-surface, linux-image-surface-lts, and/or linux-headers-surface-lts) and re-install them afterwards. If you've already tried to upgrade, you can also complete the upgrade running sudo apt-get --fix-broken install, which should solve the issue for you automatically.

    Additionally, we recommend you manually remove outdated initrd files after the upgrade. These files can be found under /boot, for example:

    -rw-r--r--  1 root root 82644751 Mar 21 11:57 initrd.img-5.5.10-surface
    -rw-r--r--  1 root root 82672122 Apr  1 15:33 initrd.img-5.5.13-surface
    -rw-r--r--  1 root root 82116124 Mar 15 14:39 initrd.img-5.5.8-surface
    

    Please remove only those that are outdated ending with -surface or -surface-lts, as indicated by their version. It is probably best, if you do this after uninstalling the old packages and before installing the new ones, as then you can remove all -surface/-surface-lts initrd files since installing the packages afterwards will re-build the new ones.

    See also linux-surface/repo#3 for the issue reporting this problem.

    In addition, we have decided to drop the custom linux-libc-dev packages. The necessary version of these packages should be provided by your distribution, so you should replace those (linux-libc-dev-surface, linux-libc-dev-surface-lts) by installing linux-libc-dev from the repository of your distribution.

  8. qzed commented on Jul 13, 2020

    @qzed
    Member

    Noteworthy changes in the v5.7.8 and v4.19.132 releases

    More Surface Book 3 support has been merged, specifically:

    This means, that (apart from the known issues) only support for the detachment daemon is missing, which can be found in an experimental stage in https://github.com/linux-surface/surface-aggregator-module/tree/feature/sb3-v3.

    Additionally a bug in the dGPU part of the Surface Aggregator Module driver have been fixed, which caused the driver to deadlock when resuming from suspend with a dGPU turned on at boot time via module parameters (#223).

    More details can be found in the commit messages: b70e5fb (v5.7), 7a41e16 (v5.4), and f866ce0 (v4.19).

  9. qzed commented on Jul 15, 2020

    @qzed
    Member

    Noteworthy changes in the v5.7.8-2 and v4.19.132-2 releases

    Unfortunately, the previous release introduced a bug, leading to HID devices handled via the SAM module (i.e. keyboard and touchpad) on the Surface Laptop not working any more. This should be fixed with the new releases. If this issue persists with those releases, please let us know at linux-surface/surface-aggregator-module#45.

  10. qzed commented on Jul 30, 2020

    @qzed
    Member

    Noteworthy changes in the v5.7.11-1 and v4.19.135-1 releases

    The most notable changes are:

    • The patch required for setting dGPU power on the Surface Book 1 via ACPI call (see [SB] SAM Support (dGPU-detection, clipboard-detach handling) #93 for details) has been added to the repository and the latest kernels.
    • Performance modes have been enabled for Surface Laptop 1 and 2.
    • Support for D0-exit/D0-entry notifications, sent to the SAM controller when suspending (D0-exit) or resuming (D0-entry) on newer (gen. 7+) devices, has been added. This may (or may not) change suspend behavior slightly on those devices.
    • Other internal changes and bug-fixes in the SAM driver.

    More details can, as always, be found in the respective commit messages (e.g. for v5.7).

  11. qzed commented on Aug 15, 2020

    @qzed
    Member

    Changes in v5.8.1

    We switched IPTS support from built-in single-touch to our new-ish iptsd daemon. This means, that to get touch support, you'll have to install the iptsd package and start/enable the systemd iptsd.service (systemctl enable --now iptsd.service).

    The iptsd daemon is still in somewhat early stages, but it should already provide a good replacement for the previous single-touch-only driver. It does support multi-touch (and stylus at the same time), but contact-area/pressure calculation is currently still missing, and things like jitter in contact points may need some improvement. Unfortunately, there have been no changes for Gen7 devices (SL3, SB3, SP7) yet.

    If you experience any issues, let us know. You can always revert to the previous, single-touch-/stylus-only implementation by installing the old driver from https://github.com/linux-surface/intel-precise-touch/tree/old-driver (see "Building (DKMS)").

  12. qzed commented on Aug 18, 2020

    @qzed
    Member

    Changes in v5.8.1-3 (Arch non-LTS), v5.8.1-2 (other), v4.19.139-3 (Arch LTS), and v4.19.139-2 (other)

    In these versions, a new bus and device type has been added for System Aggregator Module (SAM) devices. Due to this, a couple of things have been changed with regards to userspace:

    • First of all, the surface_sam_sid module has been replaced by surface_sam_device_hub. If you rely on this module name (e.g. in your mkinitcpio.conf for an encrypted device setup on the Surface Laptop 3 or Book 3), please make sure to update the name there.
    • Second, the device path of the performance mode device has been changed. It can now be found under /sys/bus/ssam/devices/03:01:00:02/. The surface-control tool has been updated accordingly with version 0.2.7, so please make sure that it is up-to-date if you encounter any issues with the performance mode.

    Known issues: On 7th generation devices (SP7/SL3/SB3), there currently is a warning emitted to the kernel log when the charger is connected or disconnected. This can be safely ignored and will be addressed in the next release. This has been fixed in the v5.8.3 and v4.19.141 releases.

  13. qzed commented on Aug 28, 2020

    @qzed
    Member

    Changes in v5.8.5 and v4.19.142

  14. qzed commented on Sep 8, 2020

    @qzed
    Member

    Changes in v5.8.7 and v4.19.143

    • A bug has been fixed in the SAM driver regarding initialization of driver when probing against the battery in the base of the device.
    • The sb1_dgpu_sw module has been integrated into the kernel/patches. This means you can now control your dGPU power directly via echo 1 | sudo tee /sys/bus/platform/devices/MSHW0041:00/dgpu_power to turn it on and echo 0 | sudo tee /sys/bus/platform/devices/MSHW0041:00/dgpu_power to turn it off. The acpi-call module is no longer required.
  15. qzed commented on Sep 17, 2020

    @qzed
    Member

    Changes in v5.8.10 (Fedora v5.8.9) and v4.19.146

    These releases contains two major changes that may need manual intervention:

    • The device path for the performance-mode device has changed to /sys/bus/surface_aggregator/devices/01:03:01:00:01/. If you are using the surface-control utility, you will need to update that to v0.2.8. Specifically, the bus has been renamed to surface_aggregator and a domain ID has been introduced for Surface Aggregator Module (SAM) client devices.
    • All SAM modules have been renamed. If you rely on their names, e.g. via intird/initram/..., you will need to update that when updating the kernel. The specific changes are:
      surface_sam_ssh          -> surface_aggregator
      surface_sam_debugfs      -> surface_aggregator_debugfs
      surface_sam_device_hub   -> surface_aggregator_registry
      surface_sam_san          -> surface_acpi_notify
      surface_sam_sid_power    -> surface_battery
      surface_sam_dtx          -> surface_dtx
      surface_sam_sid_vhf      -> surface_hid
      surface_sam_hps          -> surface_hotplug
      surface_sam_vhf          -> surface_keyboard
      surface_sam_sid_perfmode -> surface_perfmode
      

    Additionally:

    • A bug has been fixed where SAM client devices would not be registered on the Surface Book 3, causing keyboard, touchpad, and battery information to not work.
    • Kconfig options for the Surface Aggregator Module have been renamed in accordance to renaming the modules. Consult the updated config files if you rely on those.

    Known Issues: There is a bug that may be triggered under certain conditions, preventing the Surface Aggregator Module drivers to load. This will be fixed with the next releases, new kernels with the fix applied are already being built.

  16. 60 remaining items

  17. StollD commented on Apr 19, 2023

    @StollD
    Member

    iptsd 1.2.0 has been released

    This update to iptsd brings a very significant change: It replaces the old basic / advanced algorithms with a new algorithm that is a combination of both. This new algorithm is more robust towards noise (like the advanced one), while using vastly less resources (like the basic one).

    If you have calibrated iptsd, you must remove the old calibration, as the values will no longer be accurate.

    This update also changed the available config options. If you have a custom configuration, please check the values against the reference configuration.

    For a full list of (user-facing) changes, look here: https://github.com/linux-surface/iptsd/releases/tag/v1.2.0

  18. qzed commented on Apr 20, 2023

    @qzed
    Member

    Changes in v6.2.12 and v6.2.11 (Fedora)

  19. StollD commented on Jun 9, 2023

    @StollD
    Member

    Changes in v6.3.6 (Fedora)

    We have updated our Fedora packages to follow the upstream packages more closely. This fixes some issues with our old package, for example akmods should now work properly. Like the stock kernel, it will also keep around the last 3
    versions automatically.

    However, because the transition between the old and new packages is hitting an edge case in DNF, you MUST temporarily disable the running kernel protection. Otherwise DNF will refuse to remove the old package and install the new one.

    You can do this by either rebooting into a stock kernel to do the upgrade, or by running the following command:

    $ sudo dnf update --setopt=protect_running_kernel=False
  20. qzed commented on Oct 22, 2023

    @qzed
    Member

    Changes in v6.5.8

    • Add initial support for the Surface Laptop 3. In particular it's SAM EC, unlocking support for battery information and (ACPI) platform profiles.
  21. qzed commented on Nov 20, 2023

    @qzed
    Member

    Changes in v6.6.1/v6.5.11-2

    • Add initial Support for the Surface Laptop Studio 2. In particular it's SAM EC, unlocking support for the keyboard, HID-based sensors, battery information, (ACPI) platform profiles, and tablet-mode/display orientation. Note that we do not support the touchpad yet.
  22. qzed commented on Jan 13, 2024

    @qzed
    Member

    Changes in v6.6.10 (Arch Linux) / v6.6.11 (Ubuntu/Fedora)

    • Add driver for reading the fan speed on newer Surface devices with a fan. This driver is currently only enabled on the Surface Pro 9. Credits go to @iwanders (Surface fan module kernel#144).
    • Add a driver for reading out temperature sensors connected via the Surface Aggregator Module. This driver is currently only enabled on the Surface Pro 9.
  23. qzed commented on Jun 9, 2024

    @qzed
    Member

    Changes in v6.9.3

    • Add initial support for the Surface Laptop 6. This includes basic SAM EC support, unlocking the keyboard, other HID-based devices, battery information, platform profiles (including fan), and additional temperature sensors. Touchpad support is still work in progress (see Support for Surface Laptop 6 #1432).
  24. qzed commented on Jun 11, 2024

    @qzed
    Member

    Changes in v6.9.3-2

    • Fix driver/module issue preventing the Surface Laptop Go 3 from booting into the Surface Linux kernel (c67bbcf).
  25. qzed commented on Jun 30, 2024

    @qzed
    Member

    Changes in v6.9.7:

  26. qzed commented on Jul 19, 2024

    @qzed
    Member

    Changes in v6.9.7:

    • Add basic SAM support for the Surface Pro 10.
  27. qzed commented on Mar 9, 2025

    @qzed
    Member

    Changes in v6.13.6

  28. qzed commented on Dec 31, 2025

    @qzed
    Member

    Changes in v6.17.13-2

  29. qzed commented on Dec 31, 2025

    @qzed
    Member

    Changes in v6.17.13-3 / v6.18.2-1

    • Prevent mode set on the Surface Laptop Studio 2 touch pad (thanks to @LegendaryFire)
  30. qzed commented on Jan 7, 2026

    @qzed
    Member

    Changes in v6.18.3-2 (Arch/Debian) and v6.17.13-4 (Fedora)

  31. qzed commented on Jan 25, 2026

    @qzed
    Member

    Changes in v6.18.7:

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