Commit Graph

757 Commits

Author SHA1 Message Date
Thomas Duckworth
cd534ddea2 Increase nofile and memlock limits
Part of https://invent.kde.org/kde-linux/kde-linux/-/issues/282

Increasing nofile limits is required for certain games to work, e.g.
Stronghold 2, and increasing memlock limits is required for certain
real-time workloads, e.g. the use of DAWs.
2025-09-24 19:46:48 -06:00
l10n daemon script
73b69ed96d GIT_SILENT made messages (after extraction) 2025-09-22 00:40:59 +00:00
Thomas Duckworth
362f516cf0 Increase inotify watcher limits
It's fairly common for users to hit the kernel's default limits for inotify watchers. Increase this to ensure applications behave correctly.
2025-09-20 19:22:23 -06:00
Nate Graham
0d54165bce Pre-install udev-hid-bpf
Resolves #298
2025-09-20 16:35:12 -06:00
Nate Graham
d50d21e7db Pre-install drminfo
It's useful for debugging KWin and other graphics issues.

Resolves #289
2025-09-20 16:07:51 -06:00
Harald Sitter
920c33badd encode the version of the sysupdate in os-release
this should be the path so its easy to find by grepping!
2025-09-20 00:34:48 +02:00
Harald Sitter
2fbbee161c fix sysupdate
excitingly systemd will just not look at .conf files anymore when there
is a single .transfer file. so a couple days ago I actually broke the
update system by introducing a caibx transfer file. yay.

rename everything to .transfer so updates start working again
2025-09-20 00:15:38 +02:00
Harald Sitter
4961085425 don't purg sub id files
they are needed so sub ids actually get created

from the manpage:

> Note, that newusers, useradd, and usermod will only create entries
> in /etc/subuid if subid delegation is managed via subid files.
2025-09-19 23:47:04 +02:00
Nate Graham
4e327bff28 Don't pre-install Icon Explorer
It's on Flathub now! So developers and designers who need it can grab it
from there.

We have to delete its files rather than stopping installing it, since
it's in the conjoined plasma-sdk package, and other apps in there aren't
on Flathub yet.
2025-09-17 07:15:00 -06:00
Harald Sitter
24eda82e5f consume caibx file via sysupdate
this is a bit dangerous but necessary for more efficient delta updates.

we must be very careful to avoid a bug in systemd caused by putting
foo.erofs.caibx into the sha256sums. so instead we have foo.caibx that
gets installed with the correct name by sysupdate

we still have the foo.erofs.caibx on the server for backwards compat,
but continue to not put it into the sha256sums
2025-09-17 14:17:24 +02:00
Harald Sitter
780b987bf0 initial factorization needs to run in migrate mode
otherwise files don't get replaced when they have no hash
2025-09-15 13:15:17 +02:00
Harald Sitter
3c1c185e50 invoke factory correctly
needs a trailing slash actually
2025-09-15 12:33:43 +02:00
Harald Sitter
5104b5aeba run /etc factorization as part of subvol setup 2025-09-15 06:46:26 +02:00
Harald Sitter
dcb66270b7 make sure machine dependent files don't end up in the factory 2025-09-15 06:45:38 +02:00
Harald Sitter
4432e167df protect golden images properly
this was using the wrong key and resulted in the slice being empty.

also guard against this by using UnmarshalStrict
2025-09-14 19:04:25 +02:00
Nate Graham
917df3e8a7 Revert "Reduce latency for audio use cases"
This reverts commit 294f9f5d52.

This appears to have broken audio.
2025-09-14 10:47:40 -06:00
Nate Graham
bab9b1bdcf Don't pre-install Elisa
These days local music library managers are niche apps; most people
seem to listen to music using Spotify, YouTube, etc.

We already don't pre-install an email client on the basis that it's a
fairly niche app, so my sense is that we should consider a local music
library manager to be in the same boat.

Haruna is pre-installed and can handle audio files, so users won't
be left without a way to play any local audio files they do have.

Users who do still maintain local music collections can manually
download Elisa or any similar app of their choice. Elisa is even
featured on Discover's home page, so getting it if desired shouldn't
be a grueling task.
2025-09-14 06:29:04 -06:00
Nate Graham
914353e043 Pre-install foomatic-db
This is the data source for foomatic-db-engine, which is already
pre-installed. Adding it allows the Foomatic engine to generate PPD
files for a bunch more printers.

Resolves #328
2025-09-14 04:57:21 -06:00
Nate Graham
afa3f914ac Remove unrelated comment in printing.conf file
GIT_SILENT
2025-09-14 04:53:22 -06:00
Nate Graham
294f9f5d52 Reduce latency for audio use cases
This patch makes improvements to latency for pro audio use cases:

- Reduce the default and maximum audio latency for apps using PipeWire
  or else ALSA, JACK, or PulseAudio directly. Cost: some CPU time when
  performing heavy audio loads.

- Give users in the `audio` group the ability to make the CPU work
  harder and access the real-time clock. Cost: easier for misinformed
  users to allow misbehaving programs to waste energy.

Overall I think these costs are worth the benefits of better suitability
for real-time audio workloads.

My research sources included:
- https://blog.rtrace.io/posts/the-linux-audio-stack-demystified/
- https://forum.endeavouros.com/t/pipewire-guide-audio-crackling-popping-and-latency/69602
2025-09-14 04:48:14 -06:00
l10n daemon script
6ee6a362e9 GIT_SILENT made messages (after extraction) 2025-09-14 00:41:02 +00:00
Nate Graham
6ed8a202bd Fix inverted condition for audio power saving
It was saving power when plugged in, but not when on battery!
2025-09-13 17:36:23 -06:00
Nate Graham
3fa9a6933e Tweak kernel parameters to optimize latency and power usage
See inline comments regarding what exactly these kernel options do.

But in a nutshell, we should get lower latency and power usage, at the
cost of a little bit of throughput in CPU-intensive tasks. For the kinds
of userspace desktop use cases we target in KDE Linux, this seems like
an appropriate trade-off.

Research sources included:
- https://discourse.ubuntu.com/t/enable-low-latency-features-in-the-generic-ubuntu-kernel-for-24-04/42255
- https://discourse.ubuntu.com/t/fine-tuning-the-ubuntu-24-04-kernel-for-low-latency-throughput-and-power-efficiency/44834
- https://www.kernel.org/doc/html/v6.15-rc3/timers/no_hz.html
2025-09-13 16:53:05 -06:00
Harald Sitter
85cf5f0664 vacuum: load releases from the root path
otherwise we are not cleaning up raw images

unfortunately this also means we'll screw over the sha256sums in the
root a bit. not easily dealt with. needs some refactoring of how the v2
stuff works
2025-09-13 23:01:03 +02:00
Harald Sitter
65b6b0326d fix fontconfig symlinks
this broke in the grand name change where the old symlinks broke and we
didn't notice :(

Fixes #323
2025-09-13 22:32:09 +02:00
Nate Graham
f261d9827c Pre-install Pipewire's ALSA and JACK compatibility packages
These offer better default settings and compatibility for apps that want
to use ALSA or JACK directly, similar to how we already pre-install
pipewire-pulse for apps using PulseAudio directly.
2025-09-13 10:33:31 -06:00
Nate Graham
01d8446d56 Reduce minimum disk size requirement to match documentation
Resolves #315
2025-09-13 09:49:41 -06:00
Harald Sitter
75b4701644 install bc for kernel builds 2025-09-13 12:57:06 +02:00
Harald Sitter
42428ecf1e flexibly pick the kernel version for efi rebuilding
allows users to also use this for building custom kernels
2025-09-13 12:56:12 +02:00
Harald Sitter
1af0f533b5 make quota enabling actually work 2025-09-13 12:55:30 +02:00
Nate Graham
ada2e66bce Install the right virtualbox guest integration package
Apparently "no X" means "no Linux support", and not "no X support"
2025-09-12 16:03:43 -05:00
Nate Graham
d265e1aeb6 Pre-install zip
And also add `unzip` to the list so it doesn't accidentally get
uninstalled in the future if we shift around our packages to remove the
thing that's incidentally pulling it in.

Resolves #314
2025-09-11 11:55:29 +02:00
Nate Graham
cac9d485ec Pre-install alsa-utils
Needed for low-level audio debugging.
2025-09-11 08:54:42 +02:00
Kristen McWilliam
fa28dcf457 feat: preinstall spice-vdagent
Enables VM integration for SPICE, e.g. clipboard sharing automatic
resizing of the guest display, etc.
2025-09-10 16:11:57 +02:00
Thomas Duckworth
d444bef286 Use the Breeze spinner in Plymouth
Makes it roughly match with Plasma's splashscreen.
2025-09-10 07:20:18 -06:00
Nate Graham
208ac147dd Pre-install Okular from nightly repo
Now that it has one, we should use it. Or at least, after
https://invent.kde.org/graphics/okular/-/merge_requests/1230 has merged,
to ensure the best experience.
2025-09-10 07:17:12 -06:00
Nate Graham
d08749edc1 Pre-install VM guest integration packages
Resolves #290
2025-09-10 07:15:49 -06:00
Nate Graham
d916f2c2ea Pre-install some GTK 3 app support packages
GTK 3 apps are still around, and these packages improve support for them
by letting them put icons in the System Tray and export their menus over
D-Bus for the Global Menu widget.

Resolves #288
2025-09-10 06:51:56 -06:00
Nate Graham
78056bfbd3 Pre-install kdialog
A surprising number of people use this to put together fairly
sophisticated local automation systems. It's also made by KDE, so it
helps to showcase how kool we are. Let's pre-install it.
2025-09-10 14:25:52 +02:00
Nate Graham
b4fd9b2391 Pre-install man and manpages
Classic stuff, but still probably useful in a "batteries included" sort
of way.

This reverts commit 1a46f2a9c2.
2025-09-10 08:48:31 +02:00
l10n daemon script
19421b3697 GIT_SILENT made messages (after extraction) 2025-09-09 00:48:43 +00:00
Nate Graham
92805333a2 Prevent tuned from messing with the vm.swappiness parameter we set
Some of the profiles — most notably "throughput-performance" which gets
activated as the "Performance mode" exposed in Plasma — will mess with
the vm.swappiness value. But we already set it to a value of our
choosing, and that value should be fine for all modes given our zram
setup. So let's stop tuned from doing this.
2025-09-04 12:57:22 -06:00
Nate Graham
7c160a9cf4 Revert usage of KISS for now
There are some papercuts that makes the UX non-ideal for an initial
public release right now; revert until we can have those fixed.

Related to #275

Reverts dffa871ec7
Reverts 3ac85bc4e1
2025-09-03 07:07:50 -06:00
Harald Sitter
98df00b8b6 tmpfiles: replicate part of systemd's var
this particularly  fixes the /var/run symlink which is required for
avahi name resolution to function correctly
2025-09-03 09:17:31 +02:00
Harald Sitter
6a5f68528c fixup! carry spool directory into actual installation
correct path would be nice
2025-09-03 04:43:02 +02:00
Harald Sitter
0c21b5b52b make sure to replace whatever is in the factory already
(avoids problems like we had with etc where factory already contained
some stuff that we did not overwrite)
2025-09-03 04:40:48 +02:00
Harald Sitter
1c7a5a7832 carry spool directory into actual installation
cups fails to start withou it
2025-09-03 04:40:48 +02:00
Nate Graham
afca86a3c0 Explicitly ask for python-yaml
Right now it gets pulled in automatically as a dependency of something
we also pre-install, but we should mark it down here so it never goes
away by accident as a result of other package changes, because then
kde-builder would stop working.
2025-09-02 14:12:08 -06:00
Harald Sitter
1d7c1f944f throw out bind
it's unclear why we would need a full blown dns server and its
installation predates even the git repo so it's not documented why it
was added to begin with.
2025-09-02 12:02:32 -06:00
Nate Graham
96a16b5a05 Disable audio power saving when plugged in to stop audio buzzing
The internet is absolutely chock-full of complaints about this, all
being pointed to the same workaround: disable power management for the
snd_hda_intel module. It appears to be quite widespread over a long
period of time.

Let's do it automatically so users of affected hardware don't get driven
mad.

Related to #258
2025-09-02 10:52:04 -06:00