====== Information ======
* openSUSE ((https://www.opensuse.org/))
* Tumbleweed ((https://en.opensuse.org/Portal:Tumbleweed))
* Xfce ((https://en.opensuse.org/Portal:Xfce))
* Spinesnap = Dell Latitude 5591 ((i5-8400H, UHD 630, AX210, UEFI; no Thunderbolt, no dGPU, [[devices:dell_latitude_5591_spinesnap|notes]]))
* 2025/12/31: [[https://linux-hardware.org/?probe=bc2c35fb4c|hw-probe]]
====== Download ======
* http://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso
* https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256
http://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso
openSUSE-Tumbleweed-DVD-x86_64-Snapshot20260507-Media.iso
====== Installation Notes ======
===== Partitioning =====
- ext2 ''/''
- No separate ''/home''
- Separate ''swap'' without suspend resize
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 953.9G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot/efi
├─nvme0n1p2 259:2 0 950.9G 0 part /
└─nvme0n1p3 259:3 0 2G 0 part [SWAP]
===== Boot Loader =====
* GRUB2 for EFI
====== PackageKit ======
sudo systemctl stop 'packagekit' && sudo zypper remove 'PackageKit'
sudo zypper addlock 'PackageKit'
====== Repositories ======
===== PackMan =====
* https://en.opensuse.org/Additional_package_repositories#Packman
* http://packman.links2linux.org/mirrors
* https://ftp.fau.de/packman/suse/openSUSE_Tumbleweed/
* Priority: 98
sudo rpm --import 'https://ftp.fau.de/packman/suse/openSUSE_Tumbleweed/repodata/repomd.xml.key' && sudo zypper addrepo --check --gpgcheck-strict --refresh --priority '98' --name 'Packman repository (openSUSE_Tumbleweed)' 'https://ftp.fau.de/packman/suse/openSUSE_Tumbleweed/' 'packman'
====== Software ======
===== Disable USB Source =====
****
sudo zypper modifyrepo --disable --medium-type 'hd'
===== Update =====
==== System ====
****
sudo zypper clean --all && sudo zypper refresh --force --services && sudo zypper dist-upgrade --details --allow-downgrade --allow-name-change --allow-arch-change --allow-vendor-change && sync
==== Firmware ====
****
sudo fwupdmgr enable-remote 'lvfs-testing' --no-remote-check && sudo fwupdmgr refresh --force && sudo fwupdmgr update
===== GNU nano =====
* Installs ''nano''
* Sets ''VISUAL'' and ''EDITOR'' to ''nano'' via environment variable
* Sets ''nowrap'' for current user
sudo zypper install 'nano' && export 'VISUAL=nano' && export 'EDITOR=nano' && echo -e 'export VISUAL=nano\nexport EDITOR=nano' | sudo tee '/etc/profile.d/editor-nano.sh' > '/dev/null' && cat '/etc/profile.d/editor-nano.sh' && mkdir -p ~/'.config/nano' && echo 'set nowrap' | tee ~/'.config/nano/nanorc' > '/dev/null' && cat ~/'.config/nano/nanorc'
===== Remove =====
sudo zypper remove --clean-deps catfish geoclue2 menulibre parole pragha myrlyn xfce4-clipman-plugin xfce4-notes-plugin gnome-packagekit PackageKit-gstreamer-plugin PackageKit-gtk3-module plymouth
sudo zypper addlock catfish geoclue2 menulibre parole pragha myrlyn xfce4-clipman-plugin xfce4-notes-plugin gnome-packagekit PackageKit-gstreamer-plugin PackageKit-gtk3-module plymouth
==== Firefox TODO ====
* ''firefox-esr'' below
sudo zypper remove --clean-deps 'MozillaFirefox'
sudo zypper addlock 'MozillaFirefox'
===== General =====
* 2026/05/02: H.264 ''libavcodec58'' version from [[https://build.opensuse.org/projects/openSUSE:Factory/packages/firefox-esr/files/firefox-esr.spec|firefox-esr.spec]]
* 2026/05/10: ''typelib-1_0-Xfconf-0'' resolved ''xfce4-screensaver-preferences'' settings panel
sudo zypper install firefox-esr libavcodec58_134 filezilla foliate gimp google-noto-*-fonts keepassxc libreoffice MozillaThunderbird transmission-gtk vlc vlc-codecs 7zip android-tools aria2 fastfetch gstreamer-plugins-*-extra htop Mesa-demo-x secret-tool sensors typelib-1_0-Xfconf-0 unar yt-dlp
===== Intel =====
intel-vaapi-driver intel-gpu-tools libvulkan_intel
kernel-firmware-iwlwifi
===== Games =====
****
doomsday
===== Wine =====
* Old WoW64
* ''binutils'' provides ''strings''
wine-staging wine-staging-32bit libSDL3-0-32bit gstreamer-plugins-base-32bit gstreamer-plugins-good-32bit gstreamer-plugins-bad-32bit gstreamer-plugins-ugly-32bit gstreamer-plugins-*-extra-32bit gstreamer-plugins-libav-32bit Mesa-libva-32bit libvulkan_intel-32bit winetricks icoutils binutils
===== OBS Studio =====
****
obs-studio
===== Tor Browser =====
****
torbrowser-launcher
===== Specs =====
clear && fastfetch && uname -a && date
sudo intel_gpu_top -s '500' -p -m
====== Xfce TODO ======
===== Theme =====
* [[linux:notes:chicago95_git|Chicago95]]
===== Default Apps =====
gio mime 'text/plain' 'org.xfce.mousepad.desktop'
gio mime 'image/jpeg' 'viewnior.desktop'
gio mime 'image/png' 'viewnior.desktop'
gio mime 'image/bmp' 'viewnior.desktop'
gio mime 'application/pdf' 'atril.desktop'
gio mime 'application/epub+zip' 'com.github.johnfactotum.Foliate.desktop'
xdg-settings set 'default-web-browser' 'firefox.desktop'
==== Terminal ====
* Utilities -> Terminal Emulator: ''Xfce Terminal''
xfce4-mime-settings
===== General =====
* [[https://gitlab.xfce.org/xfce/xfwm4/-/blob/master/src/main.c#L407|vblank_mode]]
xfconf-query --channel 'xfwm4' --property '/general/use_compositing' --type 'bool' --set 'false' --create
xfconf-query --channel 'xfwm4' --property '/general/vblank_mode' --type 'string' --set 'off' --create
xfconf-query --channel 'xfce4-session' --property '/general/SaveOnExit' --type 'bool' --set 'false' --create && rm -Rf ~/'.cache/sessions'
===== Fonts =====
xfconf-query --channel 'xsettings' --property '/Xft/Antialias' --type 'int' --set '1' --create
xfconf-query --channel 'xsettings' --property '/Xft/DPI' --type 'int' --set '96' --create
xfconf-query --channel 'xsettings' --property '/Xft/HintStyle' --type 'string' --set 'hintnone' --create
xfconf-query --channel 'xsettings' --property '/Xft/Hinting' --type 'int' --set '0' --create
xfconf-query --channel 'xsettings' --property '/Xft/RGBA' --type 'string' --set 'none' --create
===== Keyboard =====
xfconf-query --channel 'keyboards' --property '/Default/KeyRepeat/Delay' --type 'int' --set '400' --create
xfconf-query --channel 'keyboards' --property '/Default/KeyRepeat/Rate' --type 'int' --set '30' --create
===== Terminal =====
xfconf-query --channel 'xfce4-terminal' --property '/scrolling-lines' --type 'int' --set '10000' --create
xfconf-query --channel 'xfce4-terminal' --property '/misc-cursor-blinks' --type 'bool' --set 'true' --create
xfconf-query --channel 'xfce4-terminal' --property '/font-use-system' --type 'bool' --set 'true' --create
xfconf-query --channel 'xfce4-terminal' --property '/misc-show-unsafe-paste-dialog' --type 'bool' --set 'false' --create
====== Settings ======
===== Hostname =====
sudo hostnamectl set-hostname 'Spinesnap'
cat '/etc/hosts' | grep "$HOSTNAME" || echo "127.0.0.1 $HOSTNAME" | sudo tee --append '/etc/hosts' > '/dev/null'
===== Printer =====
* http://localhost:631/admin
* :!: Log-in as ''root''
* Internet Printing Protocol (ipp) -> HP -> IPP Everywhere ™
* Color Mode: Device Gray
* Administration -> Set As Server Default
ipp://192.168.1.164/ipp/print
===== Network =====
==== DNS ====
* [[servers:upstream_dns_servers|More DNS Servers]]
1.1.1.2,1.0.0.2
2606:4700:4700::1112,2606:4700:4700::1002
==== Firewalld ====
* [[linux:notes:firewalld|Notes]]
sudo firewall-cmd --set-default-zone='block'
sudo firewall-cmd --add-service='dhcpv6-client'
sudo firewall-cmd --get-active-zones
sudo firewall-cmd --permanent --zone='docker' --remove-interface='docker0'
sudo systemctl restart 'firewalld'
===== Kernel Options =====
==== BPF Disable ====
* https://docs.kernel.org/admin-guide/sysctl/kernel.html#unprivileged-bpf-disabled
* ''kernel.unprivileged_bpf_disabled = 0''
echo 'kernel.unprivileged_bpf_disabled=0' | sudo tee '/etc/sysctl.d/99-bpf-disable.conf' > '/dev/null' && cat '/etc/sysctl.d/99-bpf-disable.conf'
'/usr/sbin/sysctl' 'kernel.unprivileged_bpf_disabled'
==== Legacy MMap ====
* https://man7.org/linux/man-pages/man5/proc_sys_vm.5.html
* ''vm.legacy_va_layout = 1''
echo 'vm.legacy_va_layout=1' | sudo tee '/etc/sysctl.d/99-vm-legacy-va.conf' > '/dev/null' && cat '/etc/sysctl.d/99-vm-legacy-va.conf'
'/usr/sbin/sysctl' 'vm.legacy_va_layout'
==== Perf Counters ====
* https://www.kernel.org/doc/html/latest/admin-guide/perf-security.html
* ''kernel.perf_event_paranoid = -1''
echo 'kernel.perf_event_paranoid=-1' | sudo tee '/etc/sysctl.d/99-perf-events.conf' > '/dev/null' && cat '/etc/sysctl.d/99-perf-events.conf'
'/usr/sbin/sysctl' 'kernel.perf_event_paranoid'
==== Intel Perf Counters ====
* https://wiki.archlinux.org/title/intel_graphics#Enable_performance_support
* ''dev.i915.perf_stream_paranoid = 0''
echo 'dev.i915.perf_stream_paranoid=0' | sudo tee '/etc/sysctl.d/99-i915-perf.conf' > '/dev/null' && cat '/etc/sysctl.d/99-i915-perf.conf'
'/usr/sbin/sysctl' 'dev.i915.perf_stream_paranoid'
==== Magic SysRq key ====
* https://www.kernel.org/doc/html/latest/admin-guide/sysrq.html
* Allows ''REISUB''
* ''kernel.sysrq = 1''
echo 'kernel.sysrq = 1' | sudo tee '/etc/sysctl.d/99-sysrq.conf' > '/dev/null' && cat '/etc/sysctl.d/99-sysrq.conf'
'/usr/sbin/sysctl' 'kernel.sysrq'
==== Swappiness ====
* ''vm.swappiness = 0''
echo 'vm.swappiness = 0' | sudo tee '/etc/sysctl.d/99-swappiness.conf' > '/dev/null' && cat '/etc/sysctl.d/99-swappiness.conf'
'/usr/sbin/sysctl' 'vm.swappiness'
===== Xfce =====
* TODO
==== Default Apps ====
****
xdg-settings set 'default-web-browser' 'firefox-esr.desktop'
==== Keyboard Shortcuts ====
* [[#add_database_password_to_keyring|KeePassXC]]
* [[#updater|Updater]]
'/usr/bin/bash' -c "'/usr/bin/secret-tool' lookup 'keepass' 'default' | '/usr/bin/keepassxc' --pw-stdin ~/'Documents/keepass.kdbx'"
'/usr/bin/bash' -c "'/usr/bin/xfce4-terminal' -T 'openSUSE Updater' -I '/usr/share/icons/hicolor/scalable/apps/distributor.svg' --working-directory='/tmp' -e ~/'.local/scripts/opensuse-updater.sh'"
===== Firefox =====
* [[programs:firefox|Notes]]
* Also Thunderbird
===== KeePassXC =====
==== Settings ====
* General -> [ ] Load previous databases on startup
* Security -> ''[x]'' Use DuckDuckGo service to download website icons
==== Add Database Password to Keyring ====
* [[#keyboard_shortcuts|Keyboard shortcut]]
'/usr/bin/secret-tool' store --label='KeePass' 'keepass' 'default'
===== Laptop Power Management =====
* [[linux:notes:x86_energy_perf_policy|udev Rule]]
===== lm_sensors =====
sudo sensors-detect --auto
sudo -e '/etc/sysconfig/lm_sensors'
===== PipeWire =====
* [[linux:notes:misc#pipewire|Notes]]
mkdir -p ~/'.config/pipewire/pipewire.conf.d' && nano ~/'.config/pipewire/pipewire.conf.d/99-custom.conf'
context.properties = {
default.clock.allowed-rates = [ 44100 48000 96000 192000 ]
}
# End
===== Time =====
****
timedatectl set-timezone 'America/New_York' && sudo timedatectl 'set-ntp' 'true' && sudo hwclock --systohc && timedatectl status
====== Boot Loader ======
* YaST2
===== Boot Code Options =====
* Boot Loader: ''GRUB2 for EFI''
* ''[ ]'' Secure Boot Support
* ''[x]'' Update NVRAM Entry
* Protective MBR flag: ''do not change''
===== Kernel Parameters =====
* CPU Mitigations: ''Off''
* ''[x]'' Graphical console
* ''[ ]'' Serial console
==== Spinesnap ====
* [[linux:notes:kernel_parameters|More Kernel Parameters]]
* Last updated: 2026/05/07
* :!: [[bios:notes:umaf#opensuse|UMAF]]
quiet bgrt_disable security='' lsm='' audit='0' add_efi_memmap mce='off' ras='cec_disable' acpi_osi='!' acpi_osi='Windows 2013' mem_sleep_default='s2idle' reboot='pci' hibernate='no' idle='halt' nohz='off' preempt='lazy' iommu='pt' swiotlb='noforce' memory_corruption_check='0' init_on_alloc='0' init_on_free='0' align_va_addr='on' module_blacklist='iTCO_wdt,intel_oc_wdt' nowatchdog tsc='nowatchdog' drm_kms_helper.poll='0' drm_kms_helper.fbdev_emulation='0' video='HDMI-A-1:1600x900MR@76' acpi_mask_gpe='0x6E' pci='nocrs,no_e820,noaer,rom,routeirq,skip_isa_align,pcie_bus_tune_off,ecrc=off,realloc,noari,noats,pcie_scan_all,big_root_window,notph' pcie_ports='compat' pcie_port_pm='off'
=== Test ===
* Last updated: 2026/05/05
cgroup_disable='cpu,blkio,net_cls,perf_event,hugetlb,pids,rdma,misc,dmem,memory' rcu_nocbs noautogroup
cat '/proc/cgroups'
===== Bootloader Options =====
* Timeout in Seconds: ''1''
* ''[ ]'' Probe Foreign OS
* ''[ ]'' Hide Menu on Boot
* Default Boot Section: ''openSUSE Tumbleweed''
* ''[ ]'' Protect Boot Loader with Password
====== Drive Maintenance ======
===== Trim =====
sudo systemctl enable 'fstrim.timer' --now
sudo systemctl start 'fstrim' && sync && sudo systemctl status 'fstrim' -l
sudo fstrim -v -a
===== EFI =====
* ''nvme0n1p1'' type ''vfat''
sudo umount '/boot/efi' && sudo dosfsck -a -t -w -v '/dev/nvme0n1p1' && sudo mount '/boot/efi'
===== ext2 =====
* :!: From LiveUSB/unmounted
sudo e2fsck -D -E 'discard,optimize_extents,inode_count_fullmap' -f -v -y '/dev/nvme0n1p2'
==== Recovery Boot ====
* Single-user mode
* ''(recovery mode)'' boot option
sudo -e '/ext2.sh' && sudo chmod +x '/ext2.sh'
#!/bin/bash
umount '/'
e2fsck -D -E 'discard,optimize_extents,inode_count_fullmap' -f -v -y '/dev/nvme0n1p2'
sync
sleep '3'
reboot
# End
/ext2.sh
====== Tweaks ======
===== General =====
sudo -e '/etc/profile.d/general-tweaks.sh'
# General
export LD_BIND_NOW='1'
export LD_PREFER_MAP_32BIT_EXEC='1'
# GTK
export GDK_DEBUG='gl-prefer-gl'
export GDK_RENDERING='image'
export GSK_RENDERER='cairo'
export GTK_A11Y='none'
export GTK_OVERLAY_SCROLLING='0'
# Intel
export LIBVA_DRIVER_NAME='i965'
export MESA_GL_VERSION_OVERRIDE='4.6COMPAT'
export ANV_NO_GPL='1'
export anv_disable_link_time_optimization='true'
export force_guc_low_latency='false'
export allow_compressed_fallback='true'
# Mesa
export vblank_mode='0'
export MESA_VK_WSI_PRESENT_MODE='immediate'
export MESA_NO_ERROR='1'
export mesa_glthread='false'
export MESA_DISK_CACHE_DATABASE='0'
export MESA_DISK_CACHE_SINGLE_FILE='0'
export allow_higher_compat_version='true'
export block_on_depleted_buffers='true'
export disable_throttling='true'
export force_integer_tex_nearest='true'
export vk_wsi_force_bgra8_unorm_first='true'
export vk_x11_ignore_suboptimal='true'
export vk_xwayland_wait_ready='false'
# End
===== modprobe.d =====
* [[linux;notes;modprobe.d_tweaks#spinesnap|Notes]]
===== Dracut =====
==== General ====
sudo -e '/etc/dracut.conf.d/99-tweaks.conf'
compress="cat"
do_strip="yes"
aggressive_strip="yes"
hostonly="yes"
hostonly_mode="strict"
reproducible="no"
enhanced_cpio="no"
i18n_install_all="no"
kernel_cmdline="rd.luks=0 rd.lvm=0 rd.md=0 rd.dm=0"
# End
==== Spinesnap ====
sudo -e '/etc/dracut.conf.d/99-spinesnap.conf'
early_microcode="no"
nofscks="yes"
force_drivers+=" i915 "
omit_drivers+=" intel_oc_wdt iTCO_wdt iTCO_vendor_support thunderbolt "
omit_dracutmodules+=" i18n resume suse-xfs terminfo kernel-modules-extra "
# End
sudo dracut --force --regenerate-all
===== journald =====
sudo mkdir -p '/etc/systemd/journald.conf.d' && sudo -e '/etc/systemd/journald.conf.d/99-tweaks.conf'
[Journal]
Storage=none
Compress=false
MaxLevelStore=0
MaxLevelSyslog=0
MaxLevelKMsg=0
MaxLevelConsole=0
MaxLevelWall=0
# End
sudo journalctl --vacuum-time='1s' --rotate
===== fstab =====
****
sudo -e '/etc/fstab'
==== swap ====
****
,discard=once
==== ext2 ====
* ''/ type ext2''
,noatime
==== EFI ====
* https://www.kernel.org/doc/Documentation/filesystems/vfat.txt
* ''/boot/efi type vfat''
,discard,tz=UTC,shortname=winnt,allow_utime=0002
utf8,dmask=0077
===== Wine =====
* [[linux;notes;wine|Notes]]
sudo -e '/etc/profile.d/wine-tweaks.sh'
# Staging
export STAGING_SHARED_MEMORY='1'
export STAGING_WRITECOPY='1'
export WINE_LARGE_ADDRESS_AWARE='1'
# Logging
export WINEDEBUG='-all'
export VKD3D_DEBUG='none'
export VKD3D_SHADER_DEBUG='none'
export DXVK_LOG_LEVEL='none'
# End
===== Xorg =====
==== Snippets ====
* [[linux:notes:xorg.conf_snippets]]
==== HDMI ====
* ''HDMI1'' (no-dash) = [[linux:notes:xorg.conf_snippets#intel|Intel]] DDX
xfce4-session-settings
'/usr/bin/bash' -c "'/usr/bin/xrandr' --output 'HDMI1' --set 'Broadcast RGB' 'Full' --set 'content type' 'Game' --set 'Colorspace' 'opRGB' --set 'audio' 'force-dvi' --set 'max bpc' '8'"
====== Scripts ======
===== Updater =====
* [[#keyboard_shortcuts|Keyboard shortcut]]
mkdir -p ~/'.local/scripts' && nano ~/'.local/scripts/opensuse-updater.sh' && chmod +x ~/'.local/scripts/opensuse-updater.sh'
#!/bin/bash
cd '/tmp'
sudo '/usr/bin/zypper' clean --all
sudo '/usr/bin/zypper' refresh --force --services
sudo '/usr/bin/zypper' dist-upgrade --details --allow-downgrade --allow-name-change --allow-arch-change --allow-vendor-change
rm -Rf ~/'.cache/mesa_shader_cache/'* ~/'.cache/thumbnails/'*
rm -Rf ~/'.cache/mozilla/firefox/'* ~/'.cache/thunderbird/'*
sync
zypper ps --short
read -p 'Done. Press Enter to exit.' 'x'
sleep '2'
# End
~/'.local/scripts/opensuse-updater.sh'
====== Notable Folders and Commands ======
* See [[linux;notes;misc]]