Open Krutonium opened 3 months ago
We're following the vendor (Valve's) semantics and basically only changing the options they change, but instead of on top of the Arch Linux kernel config, on top of the NixOS kernel config. (Both should be broadly equivalent.)
To be fair, it would be useful, especially when building on-device, to have some of it cut down. It is a task in itself to do this properly.
This is one of the things I would call "contributions welcome", though without a guarantee it will be merged in a timely manner. (And it would have to reduce the build time considerably to be considered...)
FWIW by my estimate at least just turning off nouveau would be a big compile time win.
I tried building a trimmed kernel with localmodconfig
(which disables nouveau), but didn't notice that big of a difference. Though I didn't collect any build time stats so it's hard to say for sure.
lsmod | tail -n +2 | awk '{print $1}' | sort > /tmp/lsmod
scp steamdeck:/tmp/lsmod /tmp/lsmod
mkdir -p /tmp/linux_jovian
cd /tmp/linux_jovian
nix develop github:Jovian-Experiments/Jovian-NixOS#linux_jovian
phases="${prePhases[*]:-} unpackPhase ${preConfigurePhases:-} configurePhase" genericBuild
make LSMOD=/tmp/lsmod localmodconfig
{
nixpkgs.overlays = [
(final: super: {
linux_jovian = super.linux_jovian.overrideAttrs (_: {
configfile = ./minimal-steamdeck-kernel-config;
});
})
];
}
I was building this for my SteamDeck and noticed that during compiling, it was building things like drivers for Wifi Chipsets the Steamdeck doesn't have, as well as things like Nouveau.
Would it make sense, at least for nouveau, to disable it? The Steamdeck is very much not nVidia enabled.
Idea honestly being that since we know the target hardware, assuming the user says it's for the steamdeck, compile times could be cut by a lot.