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.efi
4)- XFS, no separate
/home
, separateswap
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
andnonewlines
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
andgstreamer-plugins-ugly
are needed to generate video thumbnails for more mediayoutube-dl
in the past neededffmpeg
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 thewine
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
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_aspm
can beoff
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 UEFIpci
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
- Decompile ACPI tables and determine best value
2015
on Nightwane2017
on 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.audio
to1
amdgpu.audio='0' amdgpu.deep_color='1'
radeon
- If audio over HDMI or DisplayPort is wanted, set
radeon.audio
to1
radeon.audio='0' radeon.deep_color='1'
Blacklist Watchdogs
iTCO_wdt
controls watchdog on some Intel platformssp5100_tco
controls watchdog on some AMD platformsnowatchdog
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
, 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.powersave
can be2
for disabled, or3
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
tosoxr-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
- 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_support
andcik_support
respectively for theamdgpu
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
- 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
Path
should report the current user's username, and the textCustom 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 gox
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
andsecurity-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
andsecurity-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 withWindows
andLinux
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
toudp
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
inx.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
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_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