User Tools

Site Tools


distros:opensuse_tumbleweed_plasma_test

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Last revisionBoth sides next revision
distros:opensuse_tumbleweed_plasma_test [2018/09/29 15:02] – [General] Sean Rhonedistros:opensuse_tumbleweed_plasma_test [2018/09/29 15:09] – [PCI-E ASPM] Sean Rhone
Line 1: Line 1:
 +====== Information ======
  
 +  * openSUSE ((https://www.opensuse.org))
 +  * Tumbleweed ((https://en.opensuse.org/Portal:Tumbleweed))
 +  * KDE ((https://www.kde.org))
 +
 +====== Download ======
 +
 +===== DVD-x86_64-Current.iso =====
 +
 +  * http://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso
 +
 +  cd ~/'Downloads' && aria2c 'http://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso' && sync
 +
 +===== Hashes =====
 +
 +  * http://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso.mirrorlist
 +
 +====== Installation Notes ======
 +
 +  * ''\EFI\opensuse\grubx64.efi'' ((EFI file to boot and in the case of Acer laptops, add to SecureBoot trust; doesn't matter if SecureBoot is enabled or not))
 +  * 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 =====
 +
 +  * https://download.videolan.org/pub/vlc/SuSE/Tumbleweed
 +
 +  * 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 =====
 +
 +  * http://packman.inode.at/suse/openSUSE_Tumbleweed
 +
 +  * 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 ((requires [[#add_password_to_wallet|password to be added to KDE's Wallet]]))
 +  * 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 ====
 +
 +  * https://1.1.1.1/
 +
 +  1.1.1.1,1.0.0.1
 +
 +  2606:4700:4700::1111,2606:4700:4700::1001
 +
 +==== OpenNIC DNS ====
 +
 +  * https://www.opennic.org/
 +  * 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 [[Information:Internet Radio]]
 +
 +===== Terminal =====
 +
 +  * 10-notch Transparency
 +
 +===== GRUB =====
 +
 +==== Modern Standby ====
 +
 +  * Fixes suspend on a Dell XPS 13 (9360) ((still necessary as of 2018/09/22 on F28))
 +
 +  mem_sleep_default='s2idle'
 +
 +==== Corsair USB Quirks ====
 +
 +  * https://github.com/ckb-next/ckb-next/wiki/Troubleshooting#usbhid-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_tables|Decompile ACPI tables]] and determine best value
 +  * ''2015'' on Nightwane
 +  * ''2017'' 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 ===
 +
 +  * ''enable_psr'' at ''1'' and ''3'' cause issues ((Suspend -> Wake -> Wait a little bit; ''dmesg'' reports potential broken atomic stuff)) ((''2'' is verified working from ''/sys/kernel/debug/dri/0/i915_edp_psr_status''))
 +
 +  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|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'
 +
 +<code>
 +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</code>
 +
 +===== KeePassXC =====
 +
 +==== Add Password to KDE Wallet ====
 +
 +  * The space at the beginning of this command is intentional ((this prevents the command and the password supplied from being written to bash history))
 +  * Change ''x'' to the KeePass database password
 +
 +<code>
 + echo 'x' | kwallet-query --folder 'Passwords' --write-password 'keepass' 'kdewallet'</code>
 +
 +===== 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'
 +
 +<code>
 +[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</code>
 +
 +===== 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 =====
 +
 +  * See [[Clients: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 ((defaults,discard))
 +
 +  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 ====
 +
 +  * https://blog.packagecloud.io/eng/2017/02/21/set-environment-variable-save-thousands-of-system-calls
 +
 +  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'
 +
 +<code>
 +Section "Device"
 +    Identifier  "Intel iGPU"
 +    Driver      "intel"
 +    Option      "DRI"           "3"
 +    Option      "TearFree"      "0"
 +EndSection</code>
 +
 +==== amdgpu ====
 +
 +  sudo zypper install 'xf86-video-amdgpu' && sudo -e '/etc/X11/xorg.conf.d/99-graphics.conf'
 +
 +<code>
 +Section "Device"
 +    Identifier  "Arctic Islands"
 +    Driver      "amdgpu"
 +EndSection</code>
 +
 +==== radeon ====
 +
 +  * Expects pre-SI GPUs ((HD6000 series and lower, and non-SI HD7000 series))
 +  * For SI, CIK, and newer GPUs, use ''amdgpu'', along with enabling ''si_support'' and ''cik_support'' respectively for the ''amdgpu'' kernel module ((see ''modinfo -p amdgpu''))
 +
 +  sudo zypper install 'xf86-video-ati' && sudo -e '/etc/X11/xorg.conf.d/99-graphics.conf'
 +
 +<code>
 +Section "Device"
 +    Identifier  "AMD GPU"
 +    Driver      "radeon"
 +    Option      "AccelMethod"   "EXA"
 +    Option      "DRI"           "3"
 +    Option      "TearFree"      "0"
 +EndSection</code>
 +
 +==== Other ====
 +
 +  * If using Optimus or some other multi-GPU set-up, add the ''BusID'' option
 +
 +<code>    BusID      "PCI:0:2:0"</code>
 +
 +====== Mozilla Firefox ======
 +
 +  * Use Disconnect.me strict protection Block List
 +
 +===== YouTube HTML5 =====
 +
 +  * https://www.youtube.com/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'
 +
 +<code>
 +[General]
 +StartWithLastProfile=1
 +
 +[Profile0]
 +Name=default
 +IsRelative=1
 +Path=CHANGEME
 +Default=1</code>
 +
 +==== user.js ====
 +
 +  * Last updated: 2018/05/07
 +
 +  rm -fv '/tmp/user.js' && nano '/tmp/user.js'
 +
 +<code>
 +/******************************************************************************
 + * 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                                                                        *
 + ******************************************************************************/</code>
 +
 +==== 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 ((not really, but need some kind of date reference))
 +
 +<code>
 +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</code>
 +
 +====== 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 =====
 +
 +  * https://nouveau.freedesktop.org/wiki/Optimus
 +
 +  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|Power Management notes]] on how to add backlight changes to a udev script
 +  * See [[https://wiki.archlinux.org/index.php/backlight|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