Using a single file with a generic names allows us to easily remove
rules later. If we use specialized filenames we couldn't easily remove
them, we would have to replace them with an empty file.
Signed-off-by: Dorian Stoll <dorian.stoll@tmsp.io>
As of recently, this is handled in the kernel directly. I have been
running the patch + this script for some time and couldn't notice any
regressions.
Signed-off-by: Dorian Stoll <dorian.stoll@tmsp.io>
This is a bit of a guess. I am not 100% sure if this has any impact. But I haven't
found any way to make it an independent config file (i.e. it doesn't overwrite a
default one), and it won't work on Arch or any non-debian distro anyways.
Signed-off-by: Dorian Stoll <dorian.stoll@tmsp.io>
This moves the parts of the NetworkManager config that appear to be important
to a surface-specific file in conf.d. That way, no config is overwritten when
installing the files.
Signed-off-by: Dorian Stoll <dorian.stoll@tmsp.io>
Same as with the pulseaudio configs: They are not needed and the setup script even
asks if you want to delete them.
Signed-off-by: Dorian Stoll <dorian.stoll@tmsp.io>
With the revert of the HID changes that IPTS did, those rules are already dead,
since they rely on the "Touchscreen" / "Pen" suffix to detect devices. Those
are not added anymore, and since nothing seems to be broken, it should be safe
to remove them.
Signed-off-by: Dorian Stoll <dorian.stoll@tmsp.io>
They only contain values that are the default anyways, and potentially overwrite
custom stuff that was set by the user.
Signed-off-by: Dorian Stoll <dorian.stoll@tmsp.io>
In some instances, bluetooth devices can prevent the device from going
to sleep or cause spurious wake-ups. Add a note to the sleep script on
how bluetooth can be turned off completely during suspend.
On a recent version of kernels, "intel_ipts" module will be used by companion
driver "ipts_surface". So, unload the module first on unloading whole IPTS
modules and load the module last on loading whole IPTS modules.
Otherwise, unloading "intel_ipts" will fail.
Unloading the module will automatically unload "intel_ipts" module but
I did not remove the line for clarity and for kernels that don't have
the companion driver ("ipts_surface").
On my 5.3 kernel:
$ lsmod | grep -e "Used by" -e "ipts"
Module Size Used by
ipts_surface 16384 0
intel_ipts 45056 1 ipts_surface
hid 143360 6 i2c_hid,usbhid,hid_multitouch,hid_sensor_hub,intel_ipts,hid_generic
mei 122880 5 mei_hdcp,intel_ipts,mei_me
i915 2273280 18 intel_ipts
Tested on kernel 5.3.12 and 4.19.85 that use the "ipts_surface" companion driver with IPTS lines
uncommented on sleep script.
Instead of relying on udev rules targeted specifically at the nouveau
driver, users should consider installing and customizing the Surface DTX
daemon. This daemon is specifically intended to dispatch all necessary
related to clipboard detachment/attachment.
These are adjustments needed in order for the type cover to work properly:
ATTR -> ATTRS
SUBSYSTEMS -> SUBSYSTEM
{iProduct} -> {product}
The initial sleep command was causing things to not work, so this was removed as well.
On the Pro 7 and Laptop 3, intel_lpss_pci fails to probe and thus keeps
the system from booting. Add a patch to fix this.
Note: The added patch is on it's way upstream.
See: https://lkml.org/lkml/2019/10/16/1230
There's no need to support someone who's not maintaining anything anymore. IIRC qzed isn't looking for donations, but IMO he's well worthy of them! So I'd suggest you replace this with your own qzed!
If bluetooth is disabled in the BIOS, the bluetoothd process won't be
running. bluetoothctl waits for that process to launch, which means it
timeouts indefinitly, breaking suspend entirely.
By checking if bluetoothd is running before calling bluetoothctl suspend
works fine even if bluetooth is disabled in the BIOS.
Signed-off-by: Dorian Stoll <dorian.stoll@tmsp.io>
The patched firmware seems to work as intended. As it is a direct
replacement and should not cause any further issues, we can drop the
backup of the original firmware. In case any unforseen issues arise, we
can always get it from the official driver/firmware packages again.
See: https://github.com/jakeday/linux-surface/issues/574