User Tools

Site Tools


distros:opensuse_tumbleweed_plasma_test

This is an old revision of the document!


Table of Contents

Information

  • openSUSE 1)
  • Tumbleweed 2)
  • KDE 3)

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.efi 4)
  • XFS, no separate /home, separate swap partition 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 nowrap and nonewlines for 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-libav and gstreamer-plugins-ugly are needed to generate video thumbnails for more media
  • youtube-dl in the past needed ffmpeg to correct DASH containers or something like that
mpv ffmpeg gstreamer-plugins-libav gstreamer-plugins-ugly youtube-dl

VA-API

  • For GPUs using the intel kernel module
gstreamer-plugins-vaapi libva-utils
intel-vaapi-driver

Wine

  • Pick one; SuSE is awesome enough to have many flavors :)
  • winetricks is included within the wine package 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

1.1.1.1,1.0.0.1
2606:4700:4700::1111,2606:4700:4700::1001

OpenNIC DNS

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

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_aspm can be off if 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
  • efi is likely ok for platforms using UEFI
  • pci is likely ok for non-UEFI platforms
  • On Spinesnap, reboot=efi mostly fixes Ethernet not working after a reboot
reboot='efi'
reboot='pci'

acpi_osi

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

  • enable_psr at 1 and 3 cause issues 7) 8)
i915.enable_psr='2'

amdgpu

  • If audio over HDMI or DisplayPort is wanted, set amdgpu.audio to 1
amdgpu.audio='0' amdgpu.deep_color='1'

radeon

  • If audio over HDMI or DisplayPort is wanted, set radeon.audio to 1
radeon.audio='0' radeon.deep_color='1'

Blacklist Watchdogs

  • iTCO_wdt controls watchdog on some Intel platforms
  • sp5100_tco controls watchdog on some AMD platforms
  • nowatchdog disables 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 x to the KeePass database password
 echo 'x' | kwallet-query --folder 'Passwords' --write-password 'keepass' 'kdewallet'

Hostname

  • Change x to computer name
sudo hostnamectl set-hostname 'x'

Kernel Options

  • Enables kernel.dmesg_restrict, kernel.kptr_restrict, and kernel.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.powersave can be 2 for disabled, or 3 for 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-method to soxr-vhq for 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

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

  • Add discard after defaults for the swap mountpoint 10)
sudo -e '/etc/fstab'
,discard

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 enabling si_support and cik_support respectively for the amdgpu kernel 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 BusID option
    BusID      "PCI:0:2:0"

Mozilla Firefox

  • Use Disconnect.me strict protection Block List

YouTube HTML5

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

  • Path should report the current user's username, and the text Custom user.js file is present should 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

  • D is the destination you want the extracted files to go
  • x is the ISO you want to extract files from
  • No space after the -o flag 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 x to a URL
youtube-dl -F x

Download Audio-only

  • Download the m4a audio only format shown from the above command
  • The format code is likely 140
  • Change x to 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-erase and security-erase-enhanced on /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-erase and security-erase-enhanced on /dev/sda
  • Removes the first security-set-pass since 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 efibootmgr to 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 _OSI values, along with Windows and Linux
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 376 to desired brightness
  • Desired brightness must be under max_brightness value
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 --permanent as-needed to allow the rule to persist
sudo firewall-cmd --add-service=x
sudo firewall-cmd --remove-service=x

Add/Remove Port

  • Add --permanent as-needed to allow the rule to persist
  • Change tcp to udp as-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 x in x.7z to the desired archive name
  • Change CHANGEME in -pCHANGEME to the desired password
sudo zypper install 'p7zip-full'
7za a 'x.7z' -p'CHANGEME'

oathtool

  • x is 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
6)
still necessary as of 2018/09/22 on F28
7)
Suspend → Wake → Wait a little bit; dmesg reports potential broken atomic stuff
8)
2 is verified working from /sys/kernel/debug/dri/0/i915_edp_psr_status
9)
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 amdgpu
13)
not really, but need some kind of date reference
/var/www/wiki/data/attic/distros/opensuse_tumbleweed_plasma_test.1538248148.txt.gz · Last modified: 2018/09/29 15:09 by Sean Rhone