Major refactoring of files and add pipewire tweaks

This commit is contained in:
Gerald Pinder
2024-04-26 21:55:45 -04:00
parent 80939f148b
commit b978030c51
49 changed files with 62 additions and 270 deletions

5
config/README.md Normal file
View File

@@ -0,0 +1,5 @@
- `desktop-audio` - Contains JACK fixes to allow using headphones and speakers at the same time
- `distrobox` - Declaritive files for distrobox images
- `pipewire-tweaks` - Tweaks to pipewire to increase performance ([docs](https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Performance-tuning))
- `steam-firewall` - Firewall settings for steam to open the port for P2P downloads
- `yafti` - Yafti launcher configurations

View File

@@ -0,0 +1,4 @@
# Default limits for users of pipewire
@pipewire - rtprio 95
@pipewire - nice -19
@pipewire - memlock 4194304

View File

@@ -0,0 +1,13 @@
RTKIT_ARGS="--scheduling-policy=FIFO
--our-realtime-priority=89
--max-realtime-priority=88
--min-nice-level=-19
--rttime-usec-max=2000000
--users-max=100
--processes-per-user-max=1000
--threads-per-user-max=10000
--actions-burst-sec=10
--actions-per-burst-max=1000
--canary-cheep-msec=30000
--canary-watchdog-msec=60000
"

View File

@@ -1,4 +0,0 @@
SUBSYSTEM=="usb", ATTR{idVendor}=="2dc8", ATTR{idProduct}=="3106", ATTR{manufacturer}=="8BitDo", RUN+="/usr/bin/systemctl start 8bitdo-ultimate-xinput@2dc8:3106"
# This device is connected when the above device disconnects
SUBSYSTEM=="usb", ATTR{idVendor}=="2dc8", ATTR{idProduct}=="3109", ATTR{manufacturer}=="8BitDo", RUN+="/usr/bin/systemctl stop 8bitdo-ultimate-xinput@2dc8:3106"

View File

@@ -1,6 +0,0 @@
[Unit]
Description=8BitDo Ultimate Controller XInput Mode Xbobxdrv Daemon
[Service]
Type=simple
ExecStart=/usr/bin/xboxdrv --mimic-xpad --silent --type xbox360 --device-by-id %I --force-feedback

View File

@@ -1,48 +0,0 @@
[Unit]
Description=Fingerprint Authentication Daemon
Documentation=man:fprintd(1)
[Service]
Type=dbus
BusName=net.reactivated.Fprint
ExecStart=/usr/libexec/fprintd
# Filesystem lockdown
ProtectSystem=strict
ProtectKernelTunables=true
ProtectKernelLogs=true
ProtectControlGroups=true
# This always corresponds to /var/lib/fprint
StateDirectory=fprint
StateDirectoryMode=0700
ProtectHome=true
PrivateTmp=true
SystemCallFilter=@system-service
# Network
RestrictAddressFamilies=AF_UNIX AF_LOCAL AF_NETLINK
# Execute Mappings
MemoryDenyWriteExecute=true
# Modules
ProtectKernelModules=true
# Real-time
RestrictRealtime=true
# Privilege escalation
NoNewPrivileges=true
# Protect clock, allow USB and SPI device access
ProtectClock=yes
DeviceAllow=char-usb_device rw
DeviceAllow=char-spi rw
DeviceAllow=char-hidraw rw
# Allow tuning USB parameters (wakeup and persist)
ReadWritePaths=/sys/devices
[Install]
WantedBy=multi-user.target

View File

@@ -1,134 +0,0 @@
# ------------------------------------------------------------------------------
# /etc/tlp.conf - TLP user configuration (version 1.4)
# See full explanation: https://linrunner.de/tlp/settings
#
# Settings are read in the following order:
#
# 1. Intrinsic defaults
# 2. /etc/tlp.d/*.conf - Drop-in customization snippets
# 3. /etc/tlp.conf - User configuration (this file)
#
# Notes:
# - In case of identical parameters, the last occurence has precedence
# - This also means, parameters enabled here will override anything else
# - However you may append values to a parameter already defined as intrinsic
# default or in a previously read file: use PARAMETER+="add values"
# - IMPORTANT: all parameters here are disabled; remove the leading '#' if you
# like to enable a feature without default or have a value different from the
# default
# - Default *: intrinsic default that is effective when the parameter is missing
# or disabled by a leading '#'; use PARAM="" to disable an intrinsic default
# - Default <none>: do nothing or use kernel/hardware defaults
# -
# ------------------------------------------------------------------------------
# tlp - Parameters for power saving
#
# Settings based on Framework's guidance: https://knowledgebase.frame.work/en_us/optimizing-fedora-battery-life-r1baXZh
# Select a CPU frequency scaling governor.
# Intel processor with intel_pstate driver:
# performance, powersave(*).
# Intel processor with intel_cpufreq driver (aka intel_pstate passive mode):
# conservative, ondemand, userspace, powersave, performance, schedutil(*).
# Intel and other processor brands with acpi-cpufreq driver:
# conservative, ondemand(*), userspace, powersave, performance, schedutil(*).
# Use tlp-stat -p to show the active driver and available governors.
# Important:
# Governors marked (*) above are power efficient for *almost all* workloads
# and therefore kernel and most distributions have chosen them as defaults.
# You should have done your research about advantages/disadvantages *before*
# changing the governor.
# Default: <none>
CPU_SCALING_GOVERNOR_ON_AC=performance
CPU_SCALING_GOVERNOR_ON_BAT=powersave
# Set Intel CPU energy/performance policies HWP.EPP and EPB:
# performance, balance_performance, default, balance_power, power.
# Values are given in order of increasing power saving.
# Notes:
# - HWP.EPP: requires kernel 4.10, intel_pstate scaling driver and Intel Core i
# 6th gen. or newer CPU
# - EPB: requires kernel 5.2 or module msr and x86_energy_perf_policy from
# linux-tools, intel_pstate or intel_cpufreq scaling driver and Intel Core i
# 2nd gen. or newer CPU
# - When HWP.EPP is available, EPB is not set
# Default: balance_performance (AC), balance_power (BAT)
CPU_ENERGY_PERF_POLICY_ON_AC=performance
CPU_ENERGY_PERF_POLICY_ON_BAT=power
# Set Intel CPU P-state performance: 0..100 (%).
# Limit the max/min P-state to control the power dissipation of the CPU.
# Values are stated as a percentage of the available performance.
# Requires intel_pstate or intel_cpufreq driver and Intel Core i 2nd gen. or
# newer CPU.
# Default: <none>
CPU_MIN_PERF_ON_AC=0
CPU_MAX_PERF_ON_AC=100
CPU_MIN_PERF_ON_BAT=0
CPU_MAX_PERF_ON_BAT=30
# Set the CPU "turbo boost" (Intel) or "turbo core" (AMD) feature:
# 0=disable, 1=allow.
# Note: a value of 1 does *not* activate boosting, it just allows it.
# Default: <none>
CPU_BOOST_ON_AC=1
CPU_BOOST_ON_BAT=0
# Set the Intel CPU HWP dynamic boost feature:
# 0=disable, 1=enable.
# Requires intel_pstate scaling driver in 'active' mode and Intel Core i
# 6th gen. or newer CPU.
# Default: <none>
CPU_HWP_DYN_BOOST_ON_AC=1
CPU_HWP_DYN_BOOST_ON_BAT=0
# Select platform profile:
# performance, balanced, low-power.
# Controls system operating characteristics around power/performance levels,
# thermal and fan speed. Values are given in order of increasing power saving.
# Note: check the output of tlp-stat -p to determine availability on your
# hardware and additional profiles such as: balanced-performance, quiet, cool.
# Default: <none>
PLATFORM_PROFILE_ON_AC=performance
PLATFORM_PROFILE_ON_BAT=low-power
# Set the min/max/turbo frequency for the Intel GPU.
# Possible values depend on your hardware. For available frequencies see
# the output of tlp-stat -g.
# Default: <none>
INTEL_GPU_MIN_FREQ_ON_AC=100
INTEL_GPU_MIN_FREQ_ON_BAT=100
INTEL_GPU_MAX_FREQ_ON_AC=1300
INTEL_GPU_MAX_FREQ_ON_BAT=800
INTEL_GPU_BOOST_FREQ_ON_AC=1300
INTEL_GPU_BOOST_FREQ_ON_BAT=1100
# Wi-Fi power saving mode: on=enable, off=disable.
# Default: off (AC), on (BAT)
#WIFI_PWR_ON_AC=off
WIFI_PWR_ON_BAT=off
# PCIe Active State Power Management (ASPM):
# default(*), performance, powersave, powersupersave.
# (*) keeps BIOS ASPM defaults (recommended)
# Default: <none>
#PCIE_ASPM_ON_AC=default
PCIE_ASPM_ON_BAT=powersupersave
# Exclude PCIe devices assigned to the listed drivers from Runtime PM.
# Note: this preserves the kernel driver default, to force a certain state
# use RUNTIME_PM_ENABLE/DISABLE instead.
# Separate multiple drivers with spaces.
# Default: "mei_me nouveau radeon", use "" to disable completely.
RUNTIME_PM_DRIVER_DENYLIST=""

View File

@@ -1,3 +0,0 @@
context.properties = {
default.clock.max-quantum = 1024
}

View File

@@ -1,17 +0,0 @@
!include /usr/share/ublue-os/just/bling.just
# Install all flatpaks defined in recipe.yml
setup-flatpaks:
#!/usr/bin/env bash
echo 'Installing flatpaks from the ublue recipe ...'
flatpaks=$(yq -- '.firstboot.flatpaks[]' "/usr/share/ublue-os/recipe.yml")
for pkg in $flatpaks; do \
echo "Installing: ${pkg}" && \
flatpak install --user --noninteractive flathub $pkg; \
done
# Include some of your custom scripts here!
# Add boot parameters needed for a Framework 13 laptop
framework-13:
rpm-ostree kargs --append="module_blacklist=hid_sensor_hub" --append="nvme.noacpi=1" --append="tpm_tis.interrupts=0"

View File

@@ -0,0 +1,2 @@
modules:
- type: signing

View File

@@ -1,5 +1,5 @@
modules:
- from-file: modules/docker-engine.yml
- from-file: common/docker-engine.yml
- type: script
scripts:
- setup-kubectl.sh

View File

@@ -0,0 +1,6 @@
modules:
- type: files
files:
- steam-firewall: /usr
- type: r2modman
version: 3.1.48

View File

@@ -0,0 +1,12 @@
modules:
- from-file: common/common.yml
- from-file: common/pipewire-tweaks.yml
- from-file: common/jp-packages.yml
- from-file: common/gaming.yml
- from-file: common/dev-packages.yml
- type: files
files:
- distrobox: /usr
- type: fonts
nerdfont:
- JetBrainsMono

View File

@@ -0,0 +1,5 @@
modules:
- type: files
files:
- desktop-audio: /usr
- from-file: common/jp-common.yml

View File

@@ -0,0 +1,6 @@
modules:
- type: rpm-ostree
install:
- fprintd
- fprintd-pam
- from-file: common/jp-common.yml

View File

@@ -4,7 +4,7 @@ modules:
- install-syncthing.sh
- type: rpm-ostree
repos:
- https://pkgs.tailscale.com/stable/fedora/%OS_VERSION%/tailscale.repo
- https://pkgs.tailscale.com/stable/fedora/tailscale.repo
install:
- libadwaita
- cronie
@@ -17,4 +17,3 @@ modules:
- strawberry
- xclip
- bat

View File

@@ -0,0 +1,3 @@
type: files
files:
- pipewire-tweaks: /usr

View File

@@ -6,7 +6,6 @@ modules:
- type: files
files:
- usr: /usr
- from-file: modules/framework.yml
- type: rpm-ostree
install:
- libadwaita

View File

@@ -3,11 +3,4 @@ base-image: ghcr.io/ublue-os/bazzite-nvidia
image-version: latest
description: The image of Wunker OS for JP's desktop gaming.
modules:
- type: signing
- type: files
files:
- steam-firewall: /usr
- desktop-audio: /usr
- from-file: modules/jp-apps.yml
- from-file: modules/gaming.yml
- from-file: modules/dev-packages.yml
- from-file: common/jp-desktop.yml

View File

@@ -3,11 +3,4 @@ base-image: ghcr.io/ublue-os/bazzite-nvidia
image-version: 39
description: The image of Wunker OS for JP's desktop gaming.
modules:
- type: signing
- type: files
files:
- steam-firewall: /usr
- desktop-audio: /usr
- from-file: modules/jp-apps.yml
- from-file: modules/gaming.yml
- from-file: modules/dev-packages.yml
- from-file: common/jp-desktop.yml

View File

@@ -3,11 +3,4 @@ base-image: ghcr.io/ublue-os/bazzite
image-version: latest
description: The image of Wunker OS for JP's Laptop.
modules:
- type: signing
- from-file: modules/jp-apps.yml
- type: rpm-ostree
install:
- fprintd
- fprintd-pam
- from-file: modules/gaming.yml
- from-file: modules/dev-packages.yml
- from-file: common/jp-laptop.yml

View File

@@ -3,11 +3,4 @@ base-image: ghcr.io/ublue-os/bazzite
image-version: 39
description: The image of Wunker OS for JP's Laptop.
modules:
- type: signing
- from-file: modules/jp-apps.yml
- type: rpm-ostree
install:
- fprintd
- fprintd-pam
- from-file: modules/gaming.yml
- from-file: modules/dev-packages.yml
- from-file: common/jp-laptop.yml

View File

@@ -1,10 +0,0 @@
modules:
- type: files
files:
- framework-13: /usr
- type: rpm-ostree
install:
- fprintd
- fprintd-pam
- tlp
- powertop

View File

@@ -1,3 +0,0 @@
modules:
- type: r2modman
version: 3.1.48

View File

@@ -1,9 +0,0 @@
modules:
- type: files
files:
- usr: /usr
- distrobox: /usr
- from-file: modules/jp-packages.yml
- type: fonts
nerdfont:
- JetBrainsMono