User Tools

Site Tools


distros:opensuse_tumbleweed_gnome

Table of Contents

Information

Download

DVD-x86_64-Current.iso

http://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso

Hashes

Installation Notes

  • EFI/opensuse/grubx64.efi 5)
  • XFS, no separate /home, separate swap partition enlarged to RAM for suspend

HOSTS

wget -O '/tmp/hosts-tmp' 'https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling/hosts' && sudo cp '/etc/hosts' '/etc/hosts-bak' && sudo mv '/tmp/hosts-tmp' '/etc/hosts' && sync
cat '/etc/hosts' | grep 'Date:'
sudo -e '/etc/hosts'

PackageKit

  • :!: PackageKit is an long-standing and constant annoyance when using zypper
  • This removes it, and prevents it from being re-installed
  • :!: This breaks GNOME Software
sudo zypper remove --clean-deps 'PackageKit'
sudo zypper addlock PackageKit

Repositories

PackMan Essentials

  • Repository Priority: 98
  • Provides extended multimedia support
sudo rpm --import 'http://packman.inode.at/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'

Keybase

  • Repository Priority: 98
  • Provides the Keybase GUI client
  • :!: zypper mentions something about the key being modified after signing, see GitHub issue #3412, but otherwise not an issue seemingly
sudo rpm --import 'https://keybase.io/docs/server_security/code_signing_key.asc' && sudo zypper addrepo --gpgcheck --refresh 'http://prerelease.keybase.io/rpm/$basearch' 'Keybase' && sudo zypper mr -p 98 'Keybase'

Mesa

  • Repository Priority: 97
  • Provides updated open-source graphics stack (Mesa + LLVM)
  • :!: As of 2020/09/05, it's unknown if this is the best source for updated graphics stack packages
sudo rpm --import 'http://download.opensuse.org/repositories/home:/khnazile:/video-llvm-next/openSUSE_Tumbleweed/repodata/repomd.xml.key' && sudo zypper addrepo --check --gpgcheck-strict --refresh --priority '97' --name 'Branch project for package llvm (openSUSE_Tumbleweed)' 'http://download.opensuse.org/repositories/home:/khnazile:/video-llvm-next/openSUSE_Tumbleweed' 'home_khnazile_video-llvm-next'

Software

List

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 refresh --force && sudo fwupdmgr update --verbose

Flatpaks

flatpak update && sudo flatpak update

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'

General

sudo zypper install evolution filezilla gimp keepassxc NetworkManager-connection-editor NetworkManager-openvpn transmission-gtk rhythmbox aria2 flashrom gnome-extensions hdparm hplip-hpijs htop irqbalance nano p7zip-full secret-tool sensors unar wget 

Multimedia

ffmpeg-4 gstreamer-plugins-vaapi libvdpau1 libvdpau_radeonsi mpv youtube-dl

ckb-next

Keybase

keybase

Wine

  • winetricks is included within the wine package and isn't a separate install
  • Mesa-libd3d requires Gallium Nine either standalone or patched-Wine, and Gallium-based open-source graphics drivers 6)
wine-staging libpulse0-32bit libvulkan_radeon-32bit
Mesa-libd3d Mesa-libd3d-32bit libpulse0-32bit

Tor Browser

torbrowser-launcher

Google Chrome

sudo rpm --import 'https://dl-ssl.google.com/linux/linux_signing_key.pub' && sudo zypper install 'https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm'

Settings

Keyboard Shortcuts

gnome-terminal
bash -c "secret-tool lookup 'keepass' 'default' | keepassxc --pw-stdin ~/'Documents/keepass.kdbx'"
gnome-terminal --command "sudo sh -c 'zypper clean --all && zypper refresh --force --services && zypper dist-upgrade --details --allow-downgrade --allow-name-change --allow-arch-change --allow-vendor-change && sync && flatpak update && rm -Rfv '/usr/lib64/firefox/browser/features' '/home/'*'/.mozilla/firefox/'*'/features' && wget -O '/etc/hosts' 'https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling/hosts' && sync && fstrim --all --verbose && sync && read -n '1' -s -r -p 'Done' && sleep '2''"

Xfce

xfce4-terminal --command "sudo sh -c 'zypper clean --all && zypper refresh --force --services && zypper dist-upgrade --details --allow-downgrade --allow-name-change --allow-arch-change --allow-vendor-change && sync && rm -Rfv '/usr/lib64/firefox/browser/features' '/home/'*'/.mozilla/firefox/'*'/features' && wget -O '/etc/hosts' 'https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling/hosts' && sync && fstrim --all --verbose && sync && read -n '1' -s -r -p 'Done' && sleep '2''"

Keys

  • Listed respectively to above
  • Ctrl + Alt + T
  • Ctrl + Alt + Z
  • Pause or F7

Printer

  • :!: Log-in as root
  • Output Mode: Black Only Grayscale
  • Print Quality: High-Resolution Photo
  • Administration → Set As Server Default
socket://192.168.1.164:9100

gedit

  • 4 Tab width
  • Insert Spaces for Tab mode

Network

Quad9 DNS

9.9.9.9,149.112.112.112
2620:fe::fe,2620:fe::9

VPN.AC

  • See VPN.AC
  • :!: If using this VPN, disable IPv6 from NetworkManager

Nautilus

  • Sort folders before files
  • 4096 MB File Previews

Rhythmbox

ckb-next

sudo systemctl enable 'ckb-next-daemon' --now

GRUB

amdgpu

  • Allows use of Overdrive options for overclocking and notably increasing the Power Limit
amdgpu.ppfeaturemask=0xffffffff
cat '/sys/module/amdgpu/parameters/ppfeaturemask' | grep '4294967295'

GNOME

Extensions

Top Panel Workspace Scroll

rm -Rf ~/'.local/share/gnome-shell/extensions/scroll-workspaces@gfxmonk.net' '/tmp/gnome-shell-scroll-workspaces-master.zip' '/tmp/gnome-shell-scroll-workspaces-master' && wget -O '/tmp/gnome-shell-scroll-workspaces-master.zip' 'https://github.com/timbertson/gnome-shell-scroll-workspaces/archive/master.zip' && unzip '/tmp/gnome-shell-scroll-workspaces-master.zip'  -d '/tmp' && mkdir -p ~/'.local/share/gnome-shell/extensions' && mv '/tmp/gnome-shell-scroll-workspaces-master/scroll-workspaces' ~/'.local/share/gnome-shell/extensions/scroll-workspaces@gfxmonk.net' && gnome-extensions enable 'scroll-workspaces@gfxmonk.net' && sync
Uninstall

gnome-extensions disable 'scroll-workspaces@gfxmonk.net' && rm -Rf ~/'.local/share/gnome-shell/extensions/scroll-workspaces@gfxmonk.net' && sync

Disable Wayland

cat '/etc/gdm/custom.conf' | grep '#WaylandEnable' > '/dev/null' && sudo sed -i 's/'#WaylandEnable'/'WaylandEnable'/g' '/etc/gdm/custom.conf' && cat '/etc/gdm/custom.conf' | grep 'WaylandEnable'
sudo -e '/etc/gdm/custom.conf'

Root GUI Apps in Wayland

  • Run this before running GUI applications requiring root
  • This needs re-ran after session restart
  • TODO: Is this even needed anymore?
xhost +LOCAL:

Settings

All-in-one

  • Last updated: 2019/12/23
gsettings set 'org.gnome.desktop.interface' 'enable-animations' 'false' && gsettings set 'org.gnome.desktop.peripherals.touchpad' 'send-events' 'disabled-on-external-mouse' && gsettings set 'org.gnome.desktop.peripherals.touchpad' 'natural-scroll' 'false' && gsettings set 'org.gnome.desktop.peripherals.mouse' 'accel-profile' 'flat' && 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' 'clock-show-date' 'true' && gsettings set 'org.gnome.software' 'download-updates' 'false' && gsettings set 'org.gnome.desktop.interface' 'clock-show-weekday' 'true'

Individual

  • Last updated: 2019/12/23
gsettings set 'org.gnome.desktop.interface' 'enable-animations' 'false'
gsettings set 'org.gnome.desktop.peripherals.touchpad' 'send-events' 'disabled-on-external-mouse'
gsettings set 'org.gnome.desktop.peripherals.touchpad' 'natural-scroll' 'false'
gsettings set 'org.gnome.desktop.peripherals.mouse' 'accel-profile' 'flat'
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' 'clock-show-date' 'true'
gsettings set 'org.gnome.software' 'download-updates' 'false'
gsettings set 'org.gnome.desktop.interface' 'clock-show-weekday' 'true'

Hostname

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

Keybase

  • :!: Run after initial install
run_keybase

KeePassXC

Settings

  • General → [ ] Load previous databases on startup
  • Security → [x] Use DuckDuckGo service to download website icons

Add Database Password to GNOME Keyring

secret-tool store --label='KeePass' 'keepass' 'default'

lm_sensors

sudo sensors-detect --auto

mpv

mkdir -p ~/'.config/mpv' && nano ~/'.config/mpv/mpv.conf'
profile=gpu-hq
scale=ewa_lanczossharp
cscale=ewa_lanczossharp
video-sync=display-resample
interpolation
tscale=oversample

NetworkManager

  • wifi.powersave can be 2 for disabled, or 3 for enabled
  • :!: ethernet.cloned-mac-address=random breaks USB Tethering with iOS/iPhones
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

Laptop Power Management

Secure Shell

  • See Client notes to generate/restore public key

TRIM

Swap

  • Add discard after defaults for the swap mountpoint 7)
  • According to the swapon man page, setting this in fstab is acceptable
sudo -e '/etc/fstab'
,discard

Service

sudo systemctl enable 'fstrim.timer' --now && sudo systemctl start 'fstrim' && sync && sudo systemctl status 'fstrim' -l

UTC

  • Set RTC to UTC
  • :!: Needed if Windows is installed first
  • :!: Windows should also be set to UTC
sudo timedatectl set-local-rtc '0'

Verify

timedatectl | grep local

Wine

Xorg

Mozilla Firefox

Settings

Environment Variables

  • Enables hardware acceleration, use of WebRenderer, and smooth-scrolling
  • :!: WebRenderer requires the previous MOZ_ACCELERATED variable as well
echo -e 'export MOZ_ACCELERATED=1\nexport MOZ_WEBRENDER=1\nexport MOZ_USE_XINPUT2=1' | sudo tee '/etc/profile.d/firefox-hwaccel.sh' > '/dev/null' && cat '/etc/profile.d/firefox-hwaccel.sh'
sudo -e '/etc/profile.d/firefox-hwaccel.sh'

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: 2020/04/15
  • :!: IPv6 is disabled in order to prevent WebRTC from grabbing an IPv6 address even though NetworkManager has it disabled…
  • :!: media.peerconnection.enabled disables WebRTC
  • :!: layout.frame_rate needs adjusted for displays with a refresh rate higher than 60Hz 8)
  • The User Agent override here forces old interfaces for Facebook and apparently Twitter
rm -fv '/tmp/user.js' && nano '/tmp/user.js'
/*********************
 * Hardware-specific *
 *********************/

user_pref("layout.frame_rate", 144);

/***********
 * General *
 ***********/

user_pref("extensions.screenshots.disabled", true);
user_pref("reader.parse-on-load.enabled", false);

user_pref("media.mediasource.experimental.enabled", true);
user_pref("media.mediasource.ignore_codecs", true);
user_pref("media.autoplay.enabled", false);
user_pref("media.av1.enabled", false);
user_pref("media.hardware-video-decoding.force-enabled", true);
user_pref("widget.wayland-dmabuf-vaapi.enabled", true);

user_pref("webgl.disabled", true);
user_pref("webgl.enable-webgl2", false);
user_pref("accessibility.force_disabled", 1);
user_pref("mousewheel.min_line_scroll_amount", 40);
user_pref("browser.tabs.drawInTitlebar", true);
user_pref("network.standard-url.escape-utf8", false);

/***********
 * Privacy *
 ***********/

user_pref("security.tls.version.min", 2);
user_pref("security.ssl.require_safe_negotiation", true);
user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true);
user_pref("security.OCSP.require", true);
user_pref("security.cert_pinning.enforcement_level", 2);
user_pref("security.ssl3.rsa_des_ede3_sha", false);
user_pref("security.ssl.enable_false_start", false);

user_pref("geo.enabled", false);
user_pref("network.http.sendRefererHeader", false);
user_pref("privacy.donottrackheader.enabled", true);

user_pref("browser.safebrowsing.malware.enabled", false);
user_pref("browser.safebrowsing.phishing.enabled", false);
user_pref("browser.safebrowsing.downloads.enabled", false);

user_pref("network.security.esni.enabled", true);

user_pref("privacy.trackingprotection.enabled", true);
user_pref("toolkit.telemetry.enabled", false);

/*************
 * User Agent*
 *************/

user_pref("general.useragent.override", "Mozilla/5.0 (Windows NT 9.0; WOW64; Trident/7.0; rv:11.0) like Gecko");

/*******
 * U2F *
 *******/

user_pref("security.webauth.u2f", true);

/**********
 * Tweaks *
 **********/

user_pref("browser.cache.disk.enable", false);
user_pref("browser.cache.memory.enable", true);
user_pref("browser.cache.memory.enable", true);

/*******
 * VPN *
 *******/

user_pref("network.dns.disableIPv6", true);
user_pref("media.peerconnection.enabled", false);

/*******
 * END *
 *******/

Apply Settings

  • Path should report the current user's username, and the text Custom Stuff should be visible
  • :!: If Firefox doesn't open automatically, firefox -p default must be ran the first time Firefox is started after this command
ls '/tmp/profiles.ini' '/tmp/user.js' && pkill -f '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 'Custom Stuff' && sleep '1' && sync || firefox -p 'default'

Extensions

Download

  • Decentraleyes
  • Privacy Possum
  • Cookie AutoDelete
  • uBlock Origin
gio open 'https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/versions' && gio open 'https://addons.mozilla.org/en-US/firefox/addon/privacy-possum/versions' && 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'
  • Clean-up everything
  • Disable notifications

uBlock Origin

Settings

  • [x] Prevent WebRTC from leaking local IP addresses

Filter lists

  • [ ] Ads → EasyList 9)
  • [ ] Privacy → EasyPrivacy 10)
  • Multipurpose → [x] Dan Pollock's hosts file
  • Multipurpose → [x] MVPS HOSTS
  • Custom → [x] Import

Custom 3rd-party filters

  • Last updated: 2018/11/23
  • Last verified: 2020/09/15
https://www.fanboy.co.nz/fanboy-problematic-sites.txt
https://www.fanboy.co.nz/r/fanboy-ultimate.txt
https://www.fanboy.co.nz/fanboy-antifacebook.txt
https://www.fanboy.co.nz/fanboy-antifonts.txt
https://www.fanboy.co.nz/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

My filters

Facebook
  • Last updated: 2020/09/13
!Facebook filters
!old Facebook; https://www.reddit.com/r/uBlockOrigin/comments/fnkwa4/facebook_ads/fla7alm/?sort=new
facebook.com##div[id^=hyperfeed_story_id_]:has(a[role^=button]:has(> span:matches-css(position: relative):has-text(S):not(:has-text(1)):not(:has-text(2)):not(:has-text(3)):not(:has-text(4)):not(:has-text(5)):not(:has-text(6)):not(:has-text(7)):not(:has-text(8)):not(:has-text(9)):not(:has-text(w))))

!Merged: new Facebook + "Suggested for you"
facebook.com##div[data-pagelet^="FeedUnit"]:has(a[role^=button]:has(> span > span:matches-css(position: relative):has-text(S))|div[role^=button]:has(> span > span:matches-css(position: relative):has-text(S))|div[role=button]:has(> span > b > b:matches-css(display: inline):has-text(S))|div[role="article"]:has(span:has-text(Suggested for you)))

!Remove timeline red number notification bubbles; https://www.reddit.com/r/uBlockOrigin/comments/ii7jrp/make_the_new_facebook_slightly_more_bearable_by/?sort=new
facebook.com##[aria-label*="Pages"] span span
facebook.com##[aria-label*="Groups"] span span
facebook.com##[aria-label*="Watch"] span span
facebook.com##[aria-label*="Gaming"] span span

!Remove Rooms
facebook.com##div[data-pagelet^="VideoChatHomeUnit"]

!Remove Stories
facebook.com##div[data-pagelet^="Stories"]

www.facebook.com##div[role="article"]:has([aria-label="Sponsored"])
facebook.com##div[data-pagelet^="FeedUnit"]:has([role^=button]:has(> span:has-text(S)):not(:has-text(1)):not(:has-text(2)):not(:has-text(3)):not(:has-text(4)):not(:has-text(5)):not(:has-text(6)):not(:has-text(7)):not(:has-text(8)):not(span:has-text(9)):not(span:has-text(w)))
facebook.com##div[data-pagelet^="FeedUnit"]:has(div:has-text(/^Suggested for You$/i))
facebook.com##div[data-pagelet^="FeedUnit"]:has(div:has-text(/^Events you may like$/i))
facebook.com##div[data-pagelet^="FeedUnit"]:has(div:has-text(/^Friend Requests$/i))
facebook.com##div[data-pagelet^="FeedUnit_"]:has(div:has-text(/^Suggested Groups$/i))

Testing Sites

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/LTSC 2019' -y '/home/espionage724/Downloads/en_windows_10_enterprise_ltsc_2019_x64_dvd_be3c8ffb.iso' && sync && sync

youtube-dl

Download

rm -f '/tmp/youtube-dl' && wget -O '/tmp/youtube-dl' 'https://yt-dl.org/downloads/latest/youtube-dl' && chmod +x '/tmp/youtube-dl'

Show Formats

  • Change x to a URL
'/tmp/youtube-dl' --list-formats x

Download Media

  • Change x to a URL
  • bestaudio can be changed to bestvideo for just video, or best for best video with audio
'/tmp/youtube-dl' --extract-audio --format 'bestaudio' x

M4A Audio

  • Ideally for if iOS devices will be involved
'/tmp/youtube-dl' --extract-audio --format 'bestaudio' --audio-format 'm4a' x

MP3 Audio

'/tmp/youtube-dl' --extract-audio --format 'bestaudio' --audio-format 'mp3' x

Shortcuts

/usr/share/applications
~/.local/share/applications

Icons

/usr/share/icons/hicolor
~/.local/share/icons/hicolor

Zypper

Find Orphans

zypper packages --orphaned

Remove Package and Deps

sudo zypper remove --clean-deps 'x'

Show Installed Patterns

sudo zypper patterns --installed-only

Folder

ls '/etc/zypp/repos.d'

List

zypper repos --priority

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'

List GNOME gsettings

  • Change x to schema or omit it to show all settings
gsettings list-recursively 'x'

GNOME Software Maintenance

pkcon -c '1' refresh && pkcon update

fstrim

sudo fstrim --verbose --all

GNOME Monitors Reset

rm -f ~/'.config/monitors.xml' ~/'.config/monitors.xml~'

PulseAudio Reset

rm -f ~/'.config/pulse/'*

Xorg Debug

journalctl -e _COMM='gdm-x-session'
gio open ~/'.local/share/xorg/Xorg.1.log'

Verify DRI3

LIBGL_DEBUG='verbose' glxinfo | grep 'libgl'

GpuTest

Execute

HDTV

  • 1280×720
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='1280' /height='720'
cd '/tmp/GpuTest_Linux_x64_'* && ./GpuTest /test='fur' /width='1280' /height='720'
/fullscreen /benchmark /benchmark_duration_ms='15000'
NVIDIA Optimus

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_'* && __NV_PRIME_RENDER_OFFLOAD='1' __GLX_VENDOR_LIBRARY_NAME='nvidia' ./GpuTest /test='fur' /width='1280' /height='720'

FHD

  • 1920×1080
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'
cd '/tmp/GpuTest_Linux_x64_'* && ./GpuTest /test='fur' /width='1920' /height='1080'
/fullscreen /benchmark /benchmark_duration_ms='15000'

UHDTV1

  • 3840×2160
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='3840' /height='2160'
cd '/tmp/GpuTest_Linux_x64_'* && ./GpuTest /test='fur' /width='3840' /height='2160'
/fullscreen /benchmark /benchmark_duration_ms='15000'

Cleanup

rm -Rf '/tmp/GpuTest_Linux_'* && cd ~ && sync

Show Sensors

sudo zypper install -y 'sensors' && sudo sensors-detect --auto && sudo watch -n0.1 sensors

Show CPU Frequency

grep 'MHz' '/proc/cpuinfo'
watch -n 0.1 grep \'cpu MHz\' '/proc/cpuinfo'

OpenSSL Supported Ciphers

openssl ciphers -v | awk '{print $2}' | sort | uniq

Partition Information

  • Both commands present the same information
df -hT
df --human-readable --print-type

Encryption Information

sudo cryptsetup -v status '/dev/dm-0'

ATA Secure Erase

  • :!: All hdparm commands below assume actions to be performed on /dev/sda

Preparation

sudo zypper install 'hdparm' && sync
sudo hdparm -I '/dev/sda'
sync && systemctl suspend

ATA Secure Erase

sudo blkdiscard --verbose '/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
sudo hdparm --user-master u --security-set-pass 'x' '/dev/sda' && sudo hdparm --user-master u --security-erase 'x' '/dev/sda' && sync

NVMe Erase

  • NVMe Erase from the start page lands here and I usually use a Ubuntu LiveUSB to do this, hence the apt command
sudo apt install 'nvme-cli' -y && sync
sudo zypper install 'nvme-cli' -y && sync
sudo nvme format '/dev/nvme0' --reset --ses='1' --pil='0' --pi='0' --ms='0' && sync

Clean EFI Variables

  • :!: Could potentially cause a firmware brick or other issues with improper EFI implementations, use at own risk 11)
  • Safer way is to use efibootmgr to remove boot entries individually
sudo rm -f '/sys/firmware/efi/efivars/'* || sync && sudo efibootmgr -v

RAID

Controller Details

  • This can be used to get the Oprom version for Intel RST
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

Custom Resolutions

Generate Modeline

  • Use --reduced only for LCD/Non-CRT displays, and only as-needed 12)
  • Syntax is horizontal (width), vertical (height) and refresh rate
cvt '3840' '2160' '60'
cvt --reduced '3840' '2160' '60'
--reduced

Temporarily Apply

  • Changes are lost after reboot
  • Values after --newmode are from the above generate command, and is everything after Modeline
xrandr --newmode "3840x2160R"  533.00  3840 3888 3920 4000  2160 2163 2168 2222 +hsync -vsync
xrandr --addmode 'HDMI-A-0' '3840x2160R'
xrandr --output 'HDMI-A-0' --mode '3840x2160R'

Verify

xrandr --verbose | grep *current

Permanently Apply

  • Identifier is the name of the port on the GPU the display is connected to
  • Modeline is from the above generate command, including the text Modeline
  • PreferredMode is the custom resolution name generated
Section "Monitor"
    Identifier  "HDMI-A-0"
    Modeline x
    Option      "PreferredMode" "3840x2160R"
EndSection

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'

HT/SMT 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;'

Privacy

Clear Terminal History

history -cw

Create 7z Password Archive

  • Change 7ZIPNAME in 7ZIPNAME.7z to the desired archive name
  • Change PASS in -pPASS to the desired password
  • Change x to the file or folder to add to the archive
7za a '7ZIPNAME.7z' -p'PASS' 'x'
7za a 'x.7z' -p'x' 'x'

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)
mostly works with Xfce too
5)
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)
currently not NVIDIA proprietary drivers; maybe Intel in the future
7)
defaults,discard
8)
go to Help → Troubleshooting information (or about:support) and check Target Frame Rate
9) , 10)
uncheck; included in Fanboy Ultimate List
11)
personally tested fine on several Acer and Dell computers
12)
useful for reducing amount of bandwidth over cables, particularly in-case of unstable 4k@60Hz set-ups
distros/opensuse_tumbleweed_gnome.txt · Last modified: 2020/09/25 01:59 by Sean Rhone