linux:distros:opensuse_tumbleweed_gnome
Table of Contents
Information
Download
http://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso
openSUSE-Tumbleweed-DVD-x86_64-Snapshot20260512-Media.iso
Installation Notes
Partitioning
- ext2
/ - No separate
/home - Separate
swapwithout 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
pkill 'gnome-software' && sudo systemctl stop 'packagekit' && sudo zypper remove 'PackageKit'
sudo zypper addlock 'PackageKit'
Repositories
PackMan
- 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
VISUALandEDITORtonanovia environment variable - Sets
nowrapfor 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 baobab snapshot evolution* gnome-clocks gnome-contacts gnome-logs gnome-maps gnome-music gnome-online-accounts gnome-packagekit gnome-photos gnome-remote-desktop gnome-shell-search-provider-* gnome-software gnome-tour gnome-tweaks gnome-weather patterns-gnome-gnome_games malcontent-control totem snapshot yelp plymouth
sudo zypper addlock baobab snapshot evolution gnome-clocks gnome-contacts gnome-logs gnome-maps gnome-music gnome-online-accounts gnome-packagekit gnome-photos gnome-remote-desktop gnome-shell-search-provider-* gnome-software gnome-tour gnome-tweaks gnome-weather patterns-gnome-gnome_games malcontent-control totem snapshot yelp plymouth
Firefox TODO
firefox-esrbelow
sudo zypper remove --clean-deps 'MozillaFirefox'
sudo zypper addlock 'MozillaFirefox'
General
sudo zypper install firefox-esr filezilla foliate gimp google-noto-*-fonts gnome-browser-connector gnome-extensions nautilus-file-roller keepassxc libreoffice MozillaThunderbird transmission-gtk wallpapers-openSUSE-extra vlc vlc-codecs 7zip android-tools aria2 fastfetch gstreamer-plugins-*-extra htop Mesa-demo-x secret-tool sensors unar yt-dlp
Fixes
libavcodec58_134
Intel
intel-media-driver intel-gpu-tools libvulkan_intel
Games
doomsday
Wine
- Old WoW64
binutilsprovidesstrings
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
Settings
Printer
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
Firewalld
dhcpv6-clientis on defaultpubliczone
sudo firewall-cmd --set-default-zone='block'
sudo firewall-cmd --permanent --add-service='dhcpv6-client'
sudo firewall-cmd --list-all
sudo firewall-cmd --get-active-zones
sudo firewall-cmd --permanent --zone='docker' --remove-interface='docker0'
sudo systemctl restart 'firewalld'
Kernel Options
BPF Disable
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
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
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
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
- 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'
GNOME
External Monitor Settings
- Full RGB + 8-bit color
- Also applies disabled monitors at log-in (docked laptop)
- Between
</mode>and</monitor>
nano ~/'.config/monitors.xml' && sudo cp -fv ~/'.config/monitors.xml' '/etc/xdg/monitors.xml'
<rgbrange>full</rgbrange>
<maxbpc>8</maxbpc>
Extensions
gsettings
gsettings reset 'org.gnome.shell' 'app-picker-layout' && gsettings reset 'org.gnome.mutter' 'experimental-features' && gsettings set 'org.gnome.desktop.interface' 'clock-format' '12h' && gsettings set 'org.gnome.desktop.interface' 'accent-color' 'green' && gsettings set 'org.gnome.desktop.interface' 'enable-animations' 'true' && gsettings set 'org.gnome.desktop.interface' 'clock-show-date' 'true' && gsettings set 'org.gnome.desktop.interface' 'clock-show-weekday' 'true' && gsettings set 'org.gnome.desktop.screen-time-limits' 'history-enabled' 'false' && gsettings set 'org.gnome.desktop.wm.preferences' 'focus-mode' 'click' && gsettings set 'org.gtk.gtk4.Settings.FileChooser' 'sort-directories-first' 'true' && gsettings set 'org.gnome.nautilus.preferences' 'date-time-format' 'detailed' && gsettings set 'org.gnome.nautilus.preferences' 'show-delete-permanently' 'true' && gsettings set 'org.gnome.desktop.peripherals.mouse' 'accel-profile' 'flat' && gsettings set 'org.gnome.desktop.peripherals.touchpad' 'natural-scroll' 'false' && gsettings set 'org.gnome.desktop.peripherals.touchpad' 'tap-to-click' 'false' && gsettings set 'org.gnome.desktop.peripherals.touchpad' 'tap-and-drag' 'false' && gsettings set 'org.gnome.desktop.peripherals.touchpad' 'disable-while-typing' 'false' && gsettings set 'org.gnome.desktop.peripherals.touchpad' 'click-method' 'areas' && gsettings set 'org.gnome.desktop.interface' 'gtk-enable-primary-paste' 'false' && gsettings set 'org.freedesktop.Tracker3.Miner.Files' 'enable-monitors' 'false' && gsettings set 'org.freedesktop.Tracker3.Miner.Files' 'crawling-interval' '-2' && gsettings set 'org.freedesktop.Tracker3.Miner.Files' 'index-on-battery' 'false' && gsettings set 'org.freedesktop.Tracker3.Miner.Files' 'index-on-battery-first-time' 'false' && gsettings reset 'org.gnome.Settings' 'last-panel' && gsettings set 'org.gnome.settings-daemon.plugins.housekeeping' 'donation-reminder-enabled' 'false' && gsettings set 'org.gnome.shell' 'always-show-log-out' 'true' && gsettings set 'org.gnome.shell' 'app-picker-layout' '[]' && gsettings set 'org.gnome.desktop.app-folders' 'folder-children' "['YaST']" && gsettings set 'org.gnome.Console' 'restore-window-size' 'false' && gsettings set 'org.gnome.desktop.interface' 'overlay-scrolling' 'false' && echo 'gsettings done'
Keyboard Shortcuts
'/usr/bin/kgx'
'/usr/bin/bash' -c "'/usr/bin/secret-tool' lookup 'keepass' 'default' | '/usr/bin/keepassxc' --pw-stdin ~/'Documents/keepass.kdbx'"
'/usr/bin/kgx' --working-directory='/tmp' -T 'openSUSE Updater' -e ~/'.local/scripts/opensuse-updater.sh'
Firefox
- Also Thunderbird
KeePassXC
Settings
- General → [ ] Load previous databases on startup
- Security → [x] Use DuckDuckGo service to download website icons
Add Database Password to GNOME Keyring
'/usr/bin/secret-tool' store --label='KeePass' 'keepass' 'default'
Laptop Power Management
lm_sensors
sudo sensors-detect --auto
sudo -e '/etc/sysconfig/lm_sensors'
PipeWire
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
- Last updated: 2026/05/14
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' hostname='localhost'
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
nvme0n1p1typevfat
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' # GNOME export CLUTTER_PAINT='disable-dynamic-max-render-time' export CLUTTER_VBLANK='none' export CLUTTER_DEFAULT_FPS='76' export MUTTER_DEBUG_FORCE_KMS_MODE='simple' export MUTTER_DEBUG_KMS_THREAD_TYPE='user' # GTK export GDK_DEBUG='gl-prefer-gl' export GDK_RENDERING='image' export GSK_RENDERER='cairo' export GTK_A11Y='none' export NO_AT_BRIDGE='1' export GTK_OVERLAY_SCROLLING='0' # Intel 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
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
/boot/efi type vfat
,discard,tz=UTC,shortname=winnt,allow_utime=0002
utf8,dmask=0077
Wine
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
Scripts
Updater
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/'* localsearch reset --filesystem sync zypper ps --short echo 'Done.' # End
~/'.local/scripts/opensuse-updater.sh'
Notable Folders and Commands
- See misc
5)
line
246 has mozilla-libavcodec58_91.patch, and auto-installed libavcodec62 didn't work/srv/www/wiki/data/pages/linux/distros/opensuse_tumbleweed_gnome.txt · Last modified: by Sean Rhone
