====== Information ======
* openSUSE ((https://www.opensuse.org))
* Tumbleweed ((https://en.opensuse.org/Portal:Tumbleweed))
* KDE Plasma ((https://kde.org/plasma-desktop/)) ((https://en.opensuse.org/KDE))
====== Download ======
* http://download.opensuse.org/tumbleweed/iso/
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
====== Installation Notes ======
===== Partitioning =====
- ext4 ''/''
- No separate ''/home''
- Separate ''swap'' with suspend resize
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 953.9G 0 disk
├─nvme0n1p1 259:1 0 512M 0 part /boot/efi
├─nvme0n1p2 259:2 0 938G 0 part /
└─nvme0n1p3 259:3 0 15.4G 0 part [SWAP]
===== TODOs =====
* GRUB no Secure Boot support
* GRUB timeout
* MAC: None
====== PackageKit ======
sudo systemctl stop 'packagekit' && sudo zypper remove 'PackageKit'
sudo zypper addlock 'PackageKit'
====== Repositories ======
===== PackMan Essentials =====
* http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/Essentials
* Priority: 98
sudo rpm --import 'http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/Essentials/repodata/repomd.xml.key' && sudo zypper addrepo --check --gpgcheck-strict --refresh --priority '98' --name 'Packman Essentials repository (openSUSE_Tumbleweed)' 'http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/Essentials/' 'packman-essentials'
===== Wine =====
* https://download.opensuse.org/repositories/Emulators:/Wine/openSUSE_Tumbleweed/
* Priority: 98
sudo rpm --import 'https://download.opensuse.org/repositories/Emulators:/Wine/openSUSE_Tumbleweed/repodata/repomd.xml.key' && sudo zypper addrepo --check --gpgcheck-strict --refresh --priority '98' --name 'Wine (openSUSE_Tumbleweed)' 'https://download.opensuse.org/repositories/Emulators:/Wine/openSUSE_Tumbleweed/' 'wine'
====== 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
===== 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 =====
* TODO
sudo zypper remove --clean-deps baobab cheese evolution* gnome-clocks gnome-contacts gnome-maps gnome-music gnome-packagekit gnome-photos gnome-remote-desktop gnome-shell-search-provider-* gnome-software gnome-weather patterns-gnome-gnome_games myrlyn polari totem vinagre xscreensaver yelp irqbalance
sudo zypper addlock baobab cheese evolution* gnome-clocks gnome-contacts gnome-maps gnome-music gnome-packagekit gnome-photos gnome-remote-desktop gnome-shell-search-provider-* gnome-software gnome-weather patterns-gnome-gnome_games myrlyn polari totem vinagre xscreensaver yelp irqbalance
===== General =====
****
sudo zypper install filezilla gimp google-noto-*-fonts wallpapers-openSUSE-extra keepassxc libreoffice qbittorrent vlc 7zip android-tools aria2 binutils htop icoutils nano secret-tool sensors unar yt-dlp
===== Intel =====
ucode-intel intel-media-driver intel-gpu-tools libvulkan_intel
sudo intel_gpu_top -s '500' -p -m
===== Games =====
****
doomsday
===== Wine =====
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-libav-32bit Mesa-libva-32bit
libvulkan_intel-32bit
===== systool =====
sysfsutils
sudo systool -v -m 'i915'
===== Tor Browser =====
****
torbrowser-launcher
====== Settings ======
===== Keyboard Shortcuts =====
* [[#updater|Updater script]]
'/usr/bin/bash' -c "secret-tool lookup 'keepass' 'default' | keepassxc --pw-stdin ~/'Documents/keepass.kdbx'"
'/usr/bin/kgx' -T 'openSUSE Updater' -e ~/'.local/scripts/opensuse-updater.sh'
'/usr/bin/bash' -c "konsole -p tabtitle='openSUSE Updater' -e ~/'.local/scripts/opensuse-updater.sh'"
===== 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]]
9.9.9.9,149.112.112.112
2620:fe::fe,2620:fe::9
===== Kernel Options =====
==== 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'
sudo sysctl 'dev.i915.perf_stream_paranoid'
==== Magic SysRq key ====
* https://www.kernel.org/doc/html/latest/admin-guide/sysrq.html
* ''kernel.sysrq = 1''
echo 'kernel.sysrq = 1' | sudo tee '/etc/sysctl.d/99-sysrq.conf' > '/dev/null' && cat '/etc/sysctl.d/99-sysrq.conf'
sudo 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'
sudo sysctl 'vm.swappiness'
===== Plasma =====
* TODO
===== KeePassXC =====
==== Settings ====
* General -> [ ] Load previous databases on startup
* Security -> [x] Use DuckDuckGo service to download website icons
==== Add Database Password to KDE Wallet ====
****
secret-tool store --label='KeePass' 'keepass' 'default'
===== Laptop Power =====
* [[linux:notes:x86_energy_perf_policy|x86_energy_perf_policy udev Rule]]
===== lm_sensors =====
sudo sensors-detect --auto
sudo -e '/etc/sysconfig/lm_sensors'
===== Secure Shell =====
* See [[clients:secure_shell|Client]] notes to generate/restore public key
===== Disk Drives =====
==== Trim ====
****
sudo systemctl enable 'fstrim.timer' --now && sudo systemctl start 'fstrim' && sync && sudo systemctl status 'fstrim' -l
===== Time =====
* :!: 2024/05/06: Even though ''chrony'' does NTP sync, it doesn't seem to write it to the hardware clock which is usually wrong after a CMOS reset ((starting Firefox quickly after rebooting has a wrong system clock certificate failure error))
* This sets the hardware clock to the current system/OS clock
* TODO: Figure out ''chrony'' command to do NTP sync
sudo hwclock --systohc
==== UTC ====
* [[https://wiki.archlinux.org/index.php/System_time#Time_standard|System time - ArchWiki]]
* Set RTC to UTC
* :!: Needed if Windows is installed first
* :!: Windows should also be set to UTC
* :?: TODO: Should this be ran on openSUSE that's using ''chrony'' instead?
sudo timedatectl set-local-rtc '0'
==== Verify ====
****
timedatectl | grep local
====== Boot Loader ======
* [[linux:notes:kernel_parameters|More Kernel Parameters]]
===== Spinesnap =====
* TODO: [[bsd;freebsd_14.3_xfce#loaderconf|FreeBSD]] ''i915'' ips, etc
* TODO: Check ''iwlwifi.bt_coex_active'' default with ''systool''
acpi_osi='Linux' idle='halt' nohz='off' preempt='full' iommu='pt' pci='nocrs,pcie_bus_perf,realloc,pcie_scan_all,big_root_window' pcie_aspm='off' pcie_port_pm='off' ahci.mobile_lpm_policy='1' iwlmvm.power_scheme='1' nvme_core.default_ps_max_latency_us='0' nvme.noacpi='1' nowatchdog modprobe.blacklist='iTCO_wdt' tsc='nowatchdog' snd_hda_intel.power_save='0' usbcore.autosuspend='-1' i915.enable_fbc='0' i915.enable_psr='0' i915.enable_dc='0' i915.enable_guc='3' i915.guc_log_level='0' i915.nuclear_pageflip='1' rootflags='data=writeback' iwlwifi.bt_coex_active='0'
==== i915 ====
sudo -e '/etc/modprobe.d/99-i915.conf'
options i915 mitigations=off
sudo dracut --force --regenerate-all
====== Drive Maintenance ======
===== EFI =====
* ''nvme0n1p1'' type ''vfat''
sudo umount '/boot/efi'
sudo dosfsck -a -t -w -v '/dev/nvme0n1p1'
sudo mount '/boot/efi'
===== ext4 =====
* TODO
====== New Settings ======
===== hostname =====
sudo hostnamectl hostname 'Spinesnap'
sudo hostnamectl hostname 'x'
====== Tweaks ======
===== General =====
sudo -e '/etc/profile.d/general-tweaks.sh'
# Qt
export QSG_RENDER_LOOP='basic'
export QSG_USE_SIMPLE_ANIMATION_DRIVER='1'
export QSG_NO_VSYNC='1'
export QT_QPA_UPDATE_IDLE_TIME='0'
export QSG_RHI_BACKEND='vulkan'
export QT_LOGGING_RULES='*=false'
# Mesa
export MESA_NO_ERROR='1'
export mesa_glthread='false'
export MESA_DISK_CACHE_DATABASE='0'
export MESA_DISK_CACHE_SINGLE_FILE='0'
# End
===== Dracut =====
sudo -e '/etc/dracut.conf.d/99-custom.conf' && sudo dracut --force --regenerate-all
# Compression
compress="cat"
# Machine-specific
do_strip="yes"
aggressive_strip="yes"
hostonly="yes"
hostonly_mode="strict"
# End
==== Undo ====
****
sudo rm -f '/etc/dracut.conf.d/99-custom.conf' && sudo dracut --force --regenerate-all
===== ext4 =====
* ''nvme0n1p2'' type ''ext4''
sudo tune2fs -O 'fast_commit' '/dev/nvme0n1p2'
===== fstab =====
* ''swap'' and ext4 ''/'' on NVMe
* ''data=writeback'' requires kernel parameter ''rootflags=data=writeback''
sudo -e '/etc/fstab'
,discard=once
,data=writeback,nobarrier,journal_async_commit
===== Wine =====
* [[linux:notes:wine#tweaks]]
====== Scripts ======
===== Updater =====
mkdir -p ~/'.local/scripts' && nano ~/'.local/scripts/opensuse-updater.sh' && chmod +x ~/'.local/scripts/opensuse-updater.sh'
#!/bin/bash
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
rm -Rf ~/'.cache/mesa_shader_cache'*
balooctl6 purge
sudo fstrim --all --verbose
sync
zypper ps --short
read -n '1' -s -r -p 'Done. Press any key to exit.'
sleep '3'
# End
~/'.local/scripts/opensuse-updater.sh'
====== Notable Folders and Commands ======
* See [[linux;notes;misc]]