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.
Here's a link to kvalo's branch with the kernel patches:
https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/log/?h=ath11k-qca6390-bringup
> In this tag there's now a brand new implementation for suspend, which
> relies that the platform provides power to QCA6390 during suspend. Not
> all platforms do, but most of them should do that. ath11k also prints a
> warning whenever it notices that the firmware has crashed, but I'm not
> sure yet if it (the MHI subsystem to be exact) can detect every case.
>
> The MSI patch is mostly the same, it had just some refactoring since the
> last version. Unfortunately there's no solution still for the weird
> crashes some people are seeing.
The patches are based on version 5.10-rc4 of linux, so you'll want to
use `linuxPackages_testing`.
trace: warning: The option `i18n.consoleFont' defined in
`/nix/var/nix/profiles/per-user/root/channels/nixos-hardware/dell/xps/13-9360'
has been renamed to `console.font'.
1 default one, with nvidia working and intel working, needs optirun to
run application with nvidia
2 intel only, I am using this as my daily driver for long time, only
intel is turned on and nvidia is turned off and doesn't drain any
power.
3 nvidia only, intel is dissabled and nvidia is picked as default gpu,
no need to fiddle with optirun etc, good for gpu heavy application.
All these settings needs to reboot to work properly
This is pretty much a copy of XPS 9370, without kaby-laky and the throttle bug. I was getting lockups with the kaby-laky changes and the throttle bug did not seem to have an impact either way.
Enforce proper naming: all paths are lowercase and hyphen-separated,
if there's a line of models (aspire, macbook-pro, thinkpad) it becomes
a subdirectory. Documentation for profiles is moved to README files in
respective directories.
Add an Org mode table that lists all available profiles and their paths.
Instead of fetching repo locally, use a Nix channel. Making hardware
profiles read-only should improve quality and amount of participation
long-term.
hardware-configuration.nix is still relied upon for hard drive
configuration, and it handles variations of hardware (custom
configurations, subrevisions).