Commit graph

471 commits

Author SHA1 Message Date
Blaž Hrastnik a53b87cf91 Delete snd-hda-intel.conf, SB2 works correctly without it nowadays. 2020-01-03 10:13:20 +09:00
Dorian Stoll 394b0d603b Use a single surface.rules file for udev
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>
2020-01-03 10:13:20 +09:00
Dorian Stoll b184bf438d Make the sleep script executable by default
Signed-off-by: Dorian Stoll <dorian.stoll@tmsp.io>
2020-01-03 10:13:20 +09:00
Dorian Stoll 4f47a913ca Remove unloading of mwifiex from the sleep script
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>
2020-01-03 10:13:20 +09:00
Dorian Stoll 974707aa44 Improve readability of the sleep script a bit
Signed-off-by: Dorian Stoll <dorian.stoll@tmsp.io>
2020-01-03 10:13:20 +09:00
Blaž Hrastnik dbfbfc7d08 Update README
hibernate-over-suspend was removed and the old link just led to secure
boot.
2020-01-03 10:13:20 +09:00
Blaž Hrastnik fd51dbea70 Add a link to Matrix since it's probably easier to join than IRC. 2020-01-03 10:11:02 +09:00
Blaž Hrastnik d046546376 Remove soc-button-array.conf (was addressed upstream). 2020-01-03 10:11:02 +09:00
Blaž Hrastnik 5c8e3ed0e8 Stop replacing Suspend with Hibernate.
This should be done by the user manually, and probably by correctly
configuring lid actions etc. instead of overriding the targets.
2020-01-03 10:11:02 +09:00
Dorian Stoll 47209a7772 Allow running the script without sudo
Signed-off-by: Dorian Stoll <dorian.stoll@tmsp.io>
2020-01-03 10:11:02 +09:00
Dorian Stoll daf69af19c Use systemd for Surface Go touch power management
Signed-off-by: Dorian Stoll <dorian.stoll@tmsp.io>
2020-01-03 10:11:02 +09:00
Dorian Stoll d563c17422 Clean up the setup script a bit
* Removed redundant codepaths
* Fixed the output to appear nicer in the console

Signed-off-by: Dorian Stoll <dorian.stoll@tmsp.io>
2020-01-03 10:11:02 +09:00
Dorian Stoll 581bb34d5c Remove initramfs-tools config
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>
2020-01-03 10:11:02 +09:00
Dorian Stoll 2ffb1a8a5f Use conf.d for the NetworkManager config
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>
2020-01-03 10:11:02 +09:00
Dorian Stoll 656439fbf6 Remove example X11 config
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>
2020-01-03 10:11:02 +09:00
Dorian Stoll 4ef8ec4007 Remove pulseaudio example files
Those don't seem to be neccessary - the setup script itself asks if you
want to delete them

Signed-off-by: Dorian Stoll <dorian.stoll@tmsp.io>
2020-01-03 10:11:02 +09:00
Dorian Stoll 8836218417 Remove udev rules for touchscreen / pen
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>
2020-01-03 10:11:02 +09:00
Dorian Stoll 3179ce3622 Removed systemd configs
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>
2020-01-03 10:11:02 +09:00
Maximilian Luz 56473bb1dd
Fix link to hibernate setup instructions
As reported in #34
2020-01-03 00:28:09 +01:00
Blaž Hrastnik 10a5083db3
Link to feature matrix to make it easy to find 2020-01-01 22:29:20 +09:00
Blaž Hrastnik 0d3e0c975a
Add an issue template. 2019-12-30 21:01:58 +09:00
Maximilian Luz 289f9d67e3
Update links due to repo move 2019-12-28 22:57:43 +01:00
Maximilian Luz b931b147da
Update patches from kernel repo
- surface-acpi:
  - integrate dGPU hot-plug system
  - fix MODULE_ALIAS definitions for auto-loading SID battery and ac
    drivers

- disable DMA for surface3-spi touchscreen driver

- new wifi suspend patch (only 5.3/5.4)

- ipts:
  - do not automatically switch sensor modes (only 5.3)
2019-12-28 00:54:14 +01:00
Maximilian Luz 04c59f410c
sleep-script: bluetooth: Add note to disable bluetooth completely
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.
2019-12-22 15:56:41 +01:00
Maximilian Luz 9e132617b8
Add preliminary v5.4 patches 2019-12-10 01:26:31 +01:00
Maximilian Luz 51ba311b8e
Update README 2019-12-09 21:59:38 +01:00
Maximilian Luz d2445656d9
Fix model output in setup script 2019-12-09 12:13:36 +01:00
Maximilian Luz 969a0197f6
surface-acpi: SID support for AC/Battery and HID
Add support for Surface Laptop 3 keyboard as well as Surface Laptop 3
and Surface Pro 7 Battery/AC.
2019-12-06 02:43:19 +01:00
Maximilian Luz 1d7d649d59
Remove SIGNING.md in favor of wiki entry 2019-12-02 22:20:10 +01:00
Maximilian Luz a7601f96d8
Merge pull request #19 from kitakar5525/sleep-script-ipts
sleep-script: IPTS: fix module unloading on newer kernels
2019-12-02 22:15:49 +01:00
Maximilian Luz 2b8cf4001c
Get libwacom-surface from GitHub releases
Automatically download libwacom-surface from its GitHub release page [1]
and remove the package from this repository.

[1]: https://github.com/qzed/libwacom-surface-deb/releases
2019-12-02 22:12:49 +01:00
kitakar5525 7f139b7c4f sleep-script: IPTS: fix module unloading on newer kernels
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.
2019-12-03 06:09:10 +09:00
Maximilian Luz e4176a0057
Fix shellcheck warnings in setup.sh
Fix linter warnings in setup.sh, outpu info about files added, removed
or changed via verbose flags. Re-format console output for readability.
2019-12-02 22:01:59 +01:00
Maximilian Luz d065c13cca
Fix surface-acpi module names for initramfs-tools 2019-12-02 19:56:41 +01:00
Maximilian Luz 15bf4e4f1c
Remove outdated udev rules for Surface Book 2
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.
2019-12-02 19:51:01 +01:00
Maximilian Luz 70bd694119
Merge pull request #18 from PaulBatchelor/master
Fixed udev rules for type cover
2019-12-02 19:49:26 +01:00
Maximilian Luz 663dde1858
Remove outdated configs in favor of config repo 2019-12-02 19:45:45 +01:00
Paul Batchelor 38aa664ee1 Fixed udev rules for type cover.
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.
2019-12-01 20:59:11 -05:00
Maximilian Luz b75f5ef30e
Update patches via kernel repo
- Improve HID precision touchpad detection
- IPTS cleanup
- surface-acpi restructuring and fixes
2019-11-10 23:40:16 +01:00
Maximilian Luz 2d34af8e14
Add fix for intel_lpss on Pro 7 and Laptop 3
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
2019-11-03 01:04:48 +01:00
Maximilian Luz eb80db2cb1
Merge pull request #16 from GrayHatter/patch-1
Remove funding section
2019-10-23 16:02:56 +02:00
Gregory Mullen e98cbb95cf
Remove funding section
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!
2019-10-22 13:24:30 -07:00
Maximilian Luz 3172322f64
Update surface-acpi
- Rename Kconfig options (SURFACE_ACPI_XXX -> SURFACE_SAM_XXX)
- Rename identifiers/functions.
- Split into multiple modules (surface_sam_ssh, surface_sam_san, ...)
2019-10-21 00:10:47 +02:00
Maximilian Luz dcf51e95e7
Update patches via qzed/linux-surface-kernel
- Fix missing Kconfig dependency of IPTS on DRM_I915
- Add IPTS firmware declarations
- Update button patch based on upstreaming changes
2019-10-17 22:01:18 +02:00
Maximilian Luz 0984748ad5
Merge pull request #15 from StollD/bugfix/disabled-bluetooth
sleep-script: Prevent bluetoothctl from timing out
2019-10-12 00:34:47 +02:00
Dorian Stoll 6abd8bbc86
sleep-script: Prevent bluetoothctl from timing out
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>
2019-10-12 00:30:24 +02:00
Maximilian Luz a6c6b97da2
Drop original firmware for MSHW0079
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
2019-10-03 12:19:16 +02:00
Maximilian Luz c02c4b2f93
Update surface-acpi 2019-10-02 22:44:15 +02:00
Maximilian Luz e6a110e42e
Run cleanpatch 2019-10-02 22:39:02 +02:00
Maximilian Luz 042d83a93a
Update firmware README for patched HID descriptor 2019-10-02 16:54:11 +02:00