distros:opensuse_tumbleweed_plasma_test
This is an old revision of the document!
Table of Contents
Information
Download
DVD-x86_64-Current.iso
cd ~/'Downloads' && aria2c 'http://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso' && sync
Hashes
Installation Notes
\EFI\opensuse\grubx64.efi4)- XFS, no separate
/home, separateswappartition enlarged to RAM for suspend
Software Settings
Disable PackageKit
sudo systemctl mask 'packagekit' && sudo rm -Rf '/var/cache/PackageKit' && sync
Zypper Settings
- Allows packages to change vendor if needed
- Disable delta RPMs
- Cleanup unused dependencies on package remove
sudo sed -i 's/solver.dupAllowVendorChange = false/solver.dupAllowVendorChange = true/g' '/etc/zypp/zypp.conf' && echo -e 'solver.allowVendorChange = true\ndownload.use_deltarpm = false\nsolver.cleandepsOnRemove = true' | sudo tee --append '/etc/zypp/zypp.conf' > '/dev/null' && echo 'Current Settings:' && cat '/etc/zypp/zypp.conf' | grep -e 'solver.allowVendorChange = true' -e 'solver.dupAllowVendorChange = true' -e 'download.use_deltarpm = false' -e 'solver.cleandepsOnRemove = true'
Repositories
VideoLAN
- Repository Priority: 98
- Provides extended multimedia support
sudo rpm --import 'http://download.videolan.org/SuSE/Tumbleweed/repodata/repomd.xml.key' && sudo zypper ar -f 'https://download.videolan.org/pub/vlc/SuSE/Tumbleweed/SuSE.repo' && sudo zypper mr -p 98 'VideoLAN repo (Tumbleweed)' && sync
PackMan
- Repository Priority: 98
- Provides extended multimedia support
sudo rpm --import 'http://packman.inode.at/suse/openSUSE_Tumbleweed/repodata/repomd.xml.key' && sudo zypper ar -f 'http://packman.inode.at/suse/openSUSE_Tumbleweed/packman.repo' && sudo zypper mr -p 98 'Packman repository (openSUSE_Tumbleweed)' && sync
Software
Disable USB Source
sudo zypper modifyrepo -d -m 'hd'
Update
sudo zypper clean --all && sudo zypper refresh -f && sudo zypper dup && sync
GNU nano
- Installs
nano - Sets as system-wide default editor
- Sets
nowrapandnonewlinesfor current user
sudo zypper --non-interactive install 'nano' && export 'EDITOR=nano' && echo 'Defaults editor = /usr/bin/nano' | sudo tee '/etc/sudoers.d/nano' > '/dev/null' && sudo cat '/etc/sudoers.d/nano' && echo -e "set nowrap\nset nonewlines" | tee ~/'.nanorc' > '/dev/null' && cat ~/'.nanorc'
General
sudo zypper install filezilla keepassxc p7zip p7zip-full unar aria2 gimp transmission-qt hdparm nano htop wget irqbalance
Packman
gstreamer-plugins-libavandgstreamer-plugins-uglyare needed to generate video thumbnails for more mediayoutube-dlin the past neededffmpegto correct DASH containers or something like that
mpv ffmpeg gstreamer-plugins-libav gstreamer-plugins-ugly youtube-dl
VA-API
- For GPUs using the
intelkernel module
gstreamer-plugins-vaapi libva-utils
intel-vaapi-driver
Wine
- Pick one; SuSE is awesome enough to have many flavors :)
winetricksis included within thewinepackage and isn't a separate install
wine
wine-nine Mesa-libd3d Mesa-libd3d-32bit
wine-staging
wine-staging-nine Mesa-libd3d Mesa-libd3d-32bit
Tor Browser
torbrowser-launcher
Google Chrome
sudo rpm --import 'https://dl-ssl.google.com/linux/linux_signing_key.pub' && sudo dnf install 'https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm'
Settings
Keyboard Shortcuts
- KeePassXC 5)
- System Update
bash -c "kwallet-query --folder 'Passwords' --read-password 'keepass' 'kdewallet' | keepassxc --pw-stdin ~/'Documents/keepass.kdbx'"
konsole -e "bash -c 'sudo zypper clean --all && sudo zypper refresh -f && sudo zypper dup && sudo zypper ps -s && sudo rm -Rfv '/usr/lib64/firefox/browser/features' && sync && read -n1'"
Keys
- Listed respectively to above
- Ctrl + Alt + Z
- Pause or F7
gedit
- 4 Tab width
- Insert Spaces for Tab mode
Network
Cloudflare DNS
OpenNIC DNS
- Last Updated: 2018/09/16
172.98.193.42,18.215.88.41,192.99.85.244,128.52.130.209
2001:470:1f06:10b::2,2001:41d0:2:73d4::100,2a00:dcc0:eda:88:245:71:858e:a15,2a00:dcc0:dead:b242::42
Nautilus
- Sort folders before files
- 2GB File Previews
Rhythmbox
- See Internet Radio
Terminal
- 10-notch Transparency
GRUB
Modern Standby
- Fixes suspend on a Dell XPS 13 (9360) 6)
mem_sleep_default='s2idle'
Corsair USB Quirks
usbhid.quirks='0x1b1c:0x1b3c:0x20000408,0x1b1c:0x1b38:0x20000408'
iwlwifi
iwlwifi.11n_disable='8' iwlwifi.amsdu_size='3'
intel_iommu
intel_iommu='on'
blk_mq
scsi_mod.use_blk_mq='y' dm_mod.use_blk_mq='y'
PCI-E ASPM
pcie_aspmcan beoffif ASPM causes problems
pcie_aspm='force'
Intel HDA
snd_hda_intel.power_save='1' snd_hda_intel.enable_msi='1'
Reboot
- Can be
efi,pci,acpi, or TODO: Other stuff efiis likely ok for platforms using UEFIpciis likely ok for non-UEFI platforms- On Spinesnap,
reboot=efimostly fixes Ethernet not working after a reboot
reboot='efi'
reboot='pci'
acpi_osi
- Decompile ACPI tables and determine best value
2015on Nightwane2017on Spinesnap
acpi_osi='Linux'
acpi_osi='!' acpi_osi='Windows 2015'
acpi_osi='!' acpi_osi='Windows 2017'
i915
- GuC firmware loading/submission requires PAVP to be enabled in BIOS
i915.enable_fbc='1' i915.fastboot='1' i915.enable_guc='3'
Spinesnap
amdgpu
- If audio over HDMI or DisplayPort is wanted, set
amdgpu.audioto1
amdgpu.audio='0' amdgpu.deep_color='1'
radeon
- If audio over HDMI or DisplayPort is wanted, set
radeon.audioto1
radeon.audio='0' radeon.deep_color='1'
Blacklist Watchdogs
iTCO_wdtcontrols watchdog on some Intel platformssp5100_tcocontrols watchdog on some AMD platformsnowatchdogdisables both soft and hard generic watchdogs- I don't use watchdog features and apparently this reduces power usage slightly
modprobe.blacklist='iTCO_wdt,sp5100_tco' nowatchdog
Backlight
- This prevents systemd from restoring previous backlight value on reboot
- This is necessary for Power Management
systemd.restore_state='0'
DRM Debug
- This may make lower-end machines become very unresponsive; be prepared to have some safe way of rebooting
drm.debug='0xe'
Input
sudo -e '/etc/X11/xorg.conf.d/99-libinput-custom.conf'
Section "InputClass"
Identifier "libinput pointer custom"
Driver "libinput"
MatchIsPointer "yes"
Option "AccelProfile" "flat"
EndSection
Section "InputClass"
Identifier "libinput touchpad custom"
Driver "libinput"
MatchIsTouchpad "yes"
Option "AccelProfile" "flat"
Option "DisableWhileTyping" "0"
Option "MiddleEmulation" "0"
Option "NaturalScrolling" "0"
Option "ScrollMethod" "twofinger"
Option "SendEventsMode" "disabled-on-external-mouse"
Option "Tapping" "0"
EndSection
Section "InputClass"
Identifier "libinput touchscreen custom"
Driver "libinput"
MatchIsTouchscreen "yes"
Option "AccelProfile" "flat"
EndSection
KeePassXC
Add Password to KDE Wallet
- The space at the beginning of this command is intentional 9)
- Change
xto the KeePass database password
echo 'x' | kwallet-query --folder 'Passwords' --write-password 'keepass' 'kdewallet'
Hostname
- Change
xto computer name
sudo hostnamectl set-hostname 'x'
Kernel Options
- Enables
kernel.dmesg_restrict,kernel.kptr_restrict, andkernel.sysrq
echo -e "kernel.dmesg_restrict = 1\nkernel.kptr_restrict = 1\nkernel.sysrq = 1\nvm.swappiness = 10\nvm.vfs_cache_pressure = 50" | sudo tee '/etc/sysctl.d/99-custom.conf' > '/dev/null' && cat '/etc/sysctl.d/99-custom.conf'
NetworkManager
wifi.powersavecan be2for disabled, or3for enabled
sudo mkdir -p '/etc/NetworkManager/conf.d' && sudo -e '/etc/NetworkManager/conf.d/99-custom.conf'
[device-mac-randomization] wifi.scan-rand-mac-address=yes [connection-mac-randomization] ethernet.cloned-mac-address=random wifi.cloned-mac-address=random [connection] wifi.powersave=2
PulseAudio
SoX Resampling
- Sets
resample-methodtosoxr-vhqfor current user
echo 'resample-method = soxr-vhq' | tee ~/'.config/pulse/daemon.conf' > '/dev/null' && cat ~/'.config/pulse/daemon.conf' | grep -e 'resample-method = soxr-vhq'
Secure Shell
- See Secure Shell
systemd
Journal
- Max file sizes of
50MB
sudo mkdir -p '/etc/systemd/journald.conf.d' && echo -e "[Journal]\nSystemMaxUse=50M\nRuntimeMaxUse=50M" | sudo tee '/etc/systemd/journald.conf.d/logging.conf' > '/dev/null' && cat '/etc/systemd/journald.conf.d/logging.conf'
TRIM
Swap
Service
sudo systemctl enable 'fstrim.timer' --now && sudo systemctl start 'fstrim' && sync && sudo systemctl status 'fstrim' -l
Environment Variables
Plasma Scaling
echo 'export PLASMA_USE_QT_SCALING=1' | sudo tee '/etc/profile.d/plasma-tray-scaling.sh' > '/dev/null' && cat '/etc/profile.d/plasma-tray-scaling.sh'
Timezone
echo 'export TZ=:/etc/localtime' | sudo tee '/etc/profile.d/tz.sh' > '/dev/null' && cat '/etc/profile.d/tz.sh'
Computer-specific
Graphics xorg.conf
intel
sudo zypper install 'xf86-video-intel' && sudo -e '/etc/X11/xorg.conf.d/99-graphics.conf'
Section "Device"
Identifier "Intel iGPU"
Driver "intel"
Option "DRI" "3"
Option "TearFree" "0"
EndSection
amdgpu
sudo zypper install 'xf86-video-amdgpu' && sudo -e '/etc/X11/xorg.conf.d/99-graphics.conf'
Section "Device"
Identifier "Arctic Islands"
Driver "amdgpu"
EndSection
radeon
- Expects pre-SI GPUs 11)
- For SI, CIK, and newer GPUs, use
amdgpu, along with enablingsi_supportandcik_supportrespectively for theamdgpukernel module 12)
sudo zypper install 'xf86-video-ati' && sudo -e '/etc/X11/xorg.conf.d/99-graphics.conf'
Section "Device"
Identifier "AMD GPU"
Driver "radeon"
Option "AccelMethod" "EXA"
Option "DRI" "3"
Option "TearFree" "0"
EndSection
Other
- If using Optimus or some other multi-GPU set-up, add the
BusIDoption
BusID "PCI:0:2:0"
Mozilla Firefox
- Use Disconnect.me strict protection Block List
YouTube HTML5
- Everything (including H.264) should have support
Settings
Default Profile
rm -fv '/tmp/profiles.ini' && nano '/tmp/profiles.ini' && sed -i 's/'CHANGEME'/'$USER'/g' '/tmp/profiles.ini'
[General] StartWithLastProfile=1 [Profile0] Name=default IsRelative=1 Path=CHANGEME Default=1
user.js
- Last updated: 2018/05/07
rm -fv '/tmp/user.js' && nano '/tmp/user.js'
/******************************************************************************
* SECTION: Custom Stuff *
******************************************************************************/
user_pref("mousewheel.min_line_scroll_amount", 40);
user_pref("browser.sessionstore.interval", 300000);
user_pref("extensions.pocket.enabled", false);
user_pref("reader.parse-on-load.enabled", false);
user_pref("privacy.popups.disable_from_plugins", 3);
user_pref("network.http.referer.userControlPolicy", 2);
user_pref("extensions.screenshots.system-disabled", true);
user_pref("media.autoplay.enabled", false);
user_pref("browser.tabs.drawInTitlebar", true);
user_pref("accessibility.force_disabled", 1);
/******************************************************************************
* SECTION: GPU Acceleration *
******************************************************************************/
user_pref("layout.frame_rate.precise", true);
user_pref("gfx.canvas.azure.accelerated", true);
user_pref("layers.acceleration.force-enabled", true);
user_pref("browser.tabs.remote.autostart", true);
user_pref("browser.tabs.remote.force-enable", true);
user_pref("layout.css.servo.chrome.enabled", true);
user_pref("layers.omtp.enabled", true);
/******************************************************************************
* SECTION: Privacy Settings Overrides *
******************************************************************************/
user_pref("dom.storage.enabled",true);
/******************************************************************************
* END *
******************************************************************************/
Apply Settings
Pathshould report the current user's username, and the textCustom user.js file is presentshould be visible
pkill 'firefox' && rm -Rfv ~/'.mozilla' && sync && mkdir -p ~/'.mozilla/firefox/'$USER && mv '/tmp/profiles.ini' ~/'.mozilla/firefox/profiles.ini' && mv '/tmp/user.js' ~/'.mozilla/firefox/'$USER'/user.js' && sync && cat ~/'.mozilla/firefox/profiles.ini' | grep $USER && cat ~/'.mozilla/firefox/'$USER'/user.js' | grep 'user.js'
Extensions
Download
- 7 extensions
gio open 'https://addons.mozilla.org/en-US/firefox/addon/privacy-settings/versions' && gio open 'https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/versions' && gio open 'https://www.eff.org/https-everywhere' && gio open 'https://www.eff.org/privacybadger' && gio open 'https://addons.mozilla.org/en-US/firefox/addon/cookie-autodelete/versions' && gio open 'https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/versions' && gio open 'https://addons.mozilla.org/en-US/firefox/addon/canvasblocker/versions'
uBlock Origin
- Enable Advanced Mode
- Uncheck EasyPrivacy
- Uncheck EasyList
- Check MVPS HOSTS
- Check hpHost's Ad and tracking servers
- Check Dan Pollock's hosts file
Custom 3rd-party filters
- Last updated: 2018/02/07 13)
https://secure.fanboy.co.nz/fanboy-problematic-sites.txt https://secure.fanboy.co.nz/r/fanboy-ultimate.txt https://secure.fanboy.co.nz/fanboy-antifacebook.txt https://secure.fanboy.co.nz/fanboy-antifonts.txt https://raw.githubusercontent.com/ryanbr/fanboy-adblock/master/fanboy-cookiemonster.txt https://raw.githubusercontent.com/ryanbr/fanboy-adblock/master/popads-domains-list.txt https://raw.githubusercontent.com/ryanbr/fanboy-adblock/master/fake-news.txt https://raw.githubusercontent.com/ryanbr/fanboy-adblock/master/enhancedstats-addon.txt
Notable Folders and Commands
Extract ISO
Dis the destination you want the extracted files to goxis the ISO you want to extract files from- No space after the
-oflag is intentional - This is primarily useful for copying Windows ISO images to a FAT32 flash drive
7z x -o'D' -y x
7z x -o'/run/media/espionage724/WIN1803' -y '/home/espionage724/Downloads/Win10_1803_English_x64.iso'
youtube-dl
Show Formats
- Change
xto a URL
youtube-dl -F x
Download Audio-only
- Download the
m4aaudio onlyformat shown from the above command - The format code is likely
140 - Change
xto a URL
youtube-dl -f 140 x
Shortcuts
/usr/share/applications
~/.local/share/applications
Icons
/usr/share/icons/hicolor
~/.local/share/icons/hicolor
Zypper Repos
Folder
ls '/etc/zypp/repos.d'
List
zypper lr -p
GPG Keys
Check Keys
rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n'
Remove Keys
sudo rpm -e x
Re-generate Thumbnails
rm -Rf ~/'.cache/thumbnails'
fstrim
sudo fstrim -v --all
Xorg Debug
gio open '/var/log/Xorg.0.log'
Verify DRI3
LIBGL_DEBUG='verbose' glxinfo | grep 'libgl'
GpuTest
Execute
wget -O '/tmp/GpuTest_Linux_x64.zip' 'http://www.ozone3d.net/gputest/dl/GpuTest_Linux_x64_0.7.0.zip' && unzip '/tmp/GpuTest_Linux_x64.zip' -d '/tmp' && cd '/tmp/GpuTest_Linux_x64_'* && ./GpuTest /test='fur' /width='1920' /height='1080'
Cleanup
rm -Rf '/tmp/GpuTest_Linux_'* && cd ~ && sync
Show CPU Frequency
grep 'MHz' '/proc/cpuinfo'
watch -n 0.1 grep \'cpu MHz\' '/proc/cpuinfo'
Partition Information
df -hT
Encryption Information
sudo cryptsetup -v status '/dev/dm-0'
hdparm Secure Erase
sudo hdparm -I '/dev/sda'
systemctl suspend
sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda'
sudo hdparm --user-master u --security-erase 'x' '/dev/sda'
sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sda'
Quick-command
- Performs both
security-eraseandsecurity-erase-enhancedon/dev/sda
sudo hdparm -I '/dev/sda'
sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase 'x' '/dev/sda' && sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sda' && sync
Dell Quick-command
- Performs both
security-eraseandsecurity-erase-enhancedon/dev/sda - Removes the first
security-set-passsince this needs to be set from firmware settings
sudo hdparm -I '/dev/sda'
sudo hdparm --user-master u --security-erase 'x' '/dev/sda' && sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase-enhanced 'x' '/dev/sda' && sync
NVMe Erase
sudo zypper --non-interactive install 'nvme-cli' -y && sync
sudo nvme format '/dev/nvme0' --reset --ses='1' --pil='0' --pi='0' --ms='0' && sync
Clean EFI Variables
- This works fine on a few Acer and Dell laptops, but could potentially cause a brick with bad platform implementations, use at own risk
- Safer way is to use
efibootmgrto remove boot entries
sudo rm -f '/sys/firmware/efi/efivars/'* || sync && sudo efibootmgr -v
RAID Controller Details
sudo mdadm --detail-platform
Create Software RAID
- Came from old notes; I assume this worked at some point, but in any case, the syntax looks nice :p
sudo mdadm --create '/dev/md0' --name='RAID' --level='0' --raid-devices='3' '/dev/sda' '/dev/sdb' '/dev/sdc' --verbose
VGA Switcheroo Power States
sudo cat '/sys/kernel/debug/vgaswitcheroo/switch'
ACPI Tables
- In
dsdt.dsl, look for_OSIvalues, along withWindowsandLinux
sudo zypper install 'acpica'
sudo cp --force '/sys/firmware/acpi/tables/DSDT' ~/'dsdt.dat'
cd ~ && iasl -d ~/'dsdt.dat'
gio open ~/'dsdt.dsl'
sudo zypper remove 'acpica' && sync
Backlight
Notes
- The following commands with an asterisk expect only one backlight controller at
/sys/class/backlight - This was only tested on one laptop with
intel_backlight - See Power Management notes on how to add backlight changes to a udev script
- See backlight for more details
Controller Name
ls '/sys/class/backlight'
Query Current Brightness
cat '/sys/class/backlight/'*'/brightness'
Query Max Brightness
cat '/sys/class/backlight/'*'/max_brightness'
Set Custom Brightness
- Change
376to desired brightness - Desired brightness must be under
max_brightnessvalue
echo "376" | sudo tee '/sys/class/backlight/'*'/brightness' > '/dev/null'
Set Max Brightness
echo "$(cat '/sys/class/backlight/'*'/max_brightness')" | sudo tee '/sys/class/backlight/'*'/brightness' > '/dev/null'
Intel GuC Firmware
sudo cat '/sys/kernel/debug/dri/0/i915_guc_info'
sudo cat '/sys/kernel/debug/dri/0/i915_guc_load_status'
Hyper-threading Information
grep -e "processor" -e "core id" -e "^$" /proc/cpuinfo
Optimal GCC compiler flags
gcc -v -E -x c -march=native -mtune=native - < /dev/null 2>&1 | grep cc1 | perl -pe 's/ -mno-\S+//g; s/^.* - //g;'
FirewallD
List Active Rules
sudo firewall-cmd --list-all
List Available Services
sudo firewall-cmd --get-service
Reload
sudo firewall-cmd --reload
Add/Remove Service
- Add
--permanentas-needed to allow the rule to persist
sudo firewall-cmd --add-service=x
sudo firewall-cmd --remove-service=x
Add/Remove Port
- Add
--permanentas-needed to allow the rule to persist - Change
tcptoudpas-needed
sudo firewall-cmd --add-port=x/tcp
sudo firewall-cmd --remove-port=x/tcp
Privacy
Clear Terminal History
history -cw
Create 7z Password Archive
- Change
xinx.7zto the desired archive name - Change
CHANGEMEin-pCHANGEMEto the desired password
sudo zypper install 'p7zip-full'
7za a 'x.7z' -p'CHANGEME'
oathtool
xis a secret without&digits=6
sudo zypper install 'oath-toolkit'
oathtool --totp -b 'x'
Remove EXIF data
sudo zypper install 'exiftool'
exiftool -all= *.* -overwrite_original
4)
EFI file to boot and in the case of Acer laptops, add to SecureBoot trust; doesn't matter if SecureBoot is enabled or not
5)
requires password to be added to KDE's Wallet
6)
still necessary as of 2018/09/22 on F28
7)
Suspend → Wake → Wait a little bit;
dmesg reports potential broken atomic stuff8)
2 is verified working from /sys/kernel/debug/dri/0/i915_edp_psr_status9)
this prevents the command and the password supplied from being written to bash history
10)
defaults,discard
11)
HD6000 series and lower, and non-SI HD7000 series
12)
see
modinfo -p amdgpu13)
not really, but need some kind of date reference
/usr/local/www/wiki/data/attic/distros/opensuse_tumbleweed_plasma_test.1538248148.txt.gz · Last modified: by Sean Rhone
