- This device supports firmware updates through `fwupd`.
- Prefer deep sleep over s2idle which is inefficient.
- Remove old cruft in the corresponding readme.
Also rename deprecated `hardware.nvidia.optimus_prime.*' to `hardware.nvidia.prime.*' since NixOS 20.09.
> The hardware.nvidia.optimus_prime.enable service has been renamed to
> hardware.nvidia.prime.sync.enable and has many new enhancements.
> Related nvidia prime settings may have also changed.
See https://nixos.org/manual/nixos/stable/release-notes.html#sec-release-20.09
I've upstreamed these patches in NixOS/nixpkgs#144409, which means we no
longer have to build the kernel every time we update just to get
bluetooth working 🎉
While these changes have landed in master, they haven't been back-ported
to 21.05. They will be available via 21.11, which I'm currently testing
(along with this commit) by setting my `nixos` channel to the necessary
nixpkgs pre-release branch, e.g.
```bash
sudo nix-channel --remove nixos
sudo nix-channel --add https://github.com/NixOS/nixpkgs/archive/release-21.11.tar.gz nixos
sudo nix-channel --update nixos
```
*Note that if you use the above branch like I am, you might miss the
cache on some pkgs and spend even longer building those (looking at you
libreoffice).*
As of writing this PR, the current kernel is 5.15.4 and all seems to be
working well.
- We should not enable canTouchEfiVariables by default as this
wears out the EFI storage.
- We should not set systemd-boot as default. This is up to the user to
decide. There are exceptions when hardware only supports specific
bootloaders so.
The Linux kernel now has wireless patches upstreamed into the Linux
kernel. We can remove our custom build, but preserve enabling the
bluetooth drivers.
This is already used in XPS 15-9560, but instead of defining it in XPS
15-9560 let's create a separate profile and expose it for those who want
to disable their NVIDIA GPU.
It seems that `sof-firmware` has since been updated and the
`extraModprobeConfig` is no longer necessary! Microphone input also now
seems to work nicely.
Pin to the latest stable 5.10.18 release in order to ensure patches
don't unexpectedly conflict in newer linux versions.
The wi-fi firmware has since been upstreamed to the `linux-firmware`
repo, and as such is now available via `enableRedistributableFirmware`.
As a result we can remove the old expr that pulled the firmware from
kvalo's github.
Also removes two patches that have since been upstreamed.
Removes the old disable-mhi-2 patch file in favour of using the patch at
kernel.org.
Also adds fwupd to allow users to update their firmware via fwupdmgr.
Disabling the MHI M2 state appears to completely resolve issues where
enabling the wifi firmware would cause the the whole system to freeze
quite frequently. The reason for why this fix works so well is still
unknown and under investigation. See some discussion here:
http://lists.infradead.org/pipermail/ath11k/2020-December/000876.html
Also renames the firmware package to clarify that it is for the wifi
driver. This is to avoid confusion with the bluetooth firmware which
will be added in an upcoming patch.