User Tools

Site Tools


distros:fedora_workstation_gnome

Information

  • Fedora Workstation 1)
  • 37

Download

Workstation

Updated Live Images

Installation Notes

  • EFI/fedora/shimx64.efi 2)

Partitioning

  1. :!: Delete /home
  2. :!: Delete /
  3. Set /boot to use XFS
  4. Re-create / without specifying a size 3)
  5. Set / to use XFS

HOSTS

Initial

  • :!: Only run this once as it overwrites /etc/hosts-bak on subsequent runs
wget -O '/tmp/hosts-tmp' 'https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling-porn/hosts' && sudo cp '/etc/hosts' '/etc/hosts-bak' && sudo mv '/tmp/hosts-tmp' '/etc/hosts' && sudo restorecon -F -I -R '/etc/hosts' && sync

Update

wget -O '/tmp/hosts-tmp' 'https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling-porn/hosts' && sudo mv '/tmp/hosts-tmp' '/etc/hosts' && sudo restorecon -F -I -R '/etc/hosts' && sync

Verify

cat '/etc/hosts' | grep 'Date:'
sudo -e '/etc/hosts'

Restore

sudo cp '/etc/hosts-bak' '/etc/hosts' && sync

DNF

  • Disables Delta RPMs with deltarpm=false
  • Downloads packages from the fastest mirror with fastestmirror=true
cat '/etc/dnf/dnf.conf' | grep 'deltarpm=false' || echo 'deltarpm=false' | sudo tee --append '/etc/dnf/dnf.conf' > '/dev/null' && cat '/etc/dnf/dnf.conf'
cat '/etc/dnf/dnf.conf' | grep 'fastestmirror=true' || echo 'fastestmirror=true' | sudo tee --append '/etc/dnf/dnf.conf' > '/dev/null' && cat '/etc/dnf/dnf.conf'

Repositories

su

  • Useful for fresh installations where repo(s) can be added, and then package updates can be ran afterwards unattended without having sudo timeout and re-prompt for the password
sudo su

calcastor/gnome-patched Copr

sudo dnf copr enable 'calcastor/gnome-patched'

RPM Fusion

free

sudo rpm --import 'https://rpmfusion.org/keys?action=AttachFile&do=get&target=RPM-GPG-KEY-rpmfusion-free-fedora-2020' && sync && sudo dnf install 'https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-'$(rpm -E %fedora)'.noarch.rpm' -y && sync

nonfree

sudo rpm --import 'https://rpmfusion.org/keys?action=AttachFile&do=get&target=RPM-GPG-KEY-rpmfusion-nonfree-fedora-2020' && sync && sudo dnf install 'https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-'$(rpm -E %fedora)'.noarch.rpm' -y && sync

RawhideKernelNodebug

sudo dnf config-manager --add-repo='http://dl.fedoraproject.org/pub/alt/rawhide-kernel-nodebug/fedora-rawhide-kernel-nodebug.repo'

Flathub

  • Enables both flathub and flathub-beta
  • Sets flathub priority to 2 and flathub-beta to 3 4)
  • :!: There's no benefit to replacing native packages with Flatpak in late 2022 5)
sudo flatpak remote-delete --system --verbose 'flathub' && sudo flatpak remote-add --system --prio='2' --if-not-exists --verbose 'flathub' 'https://flathub.org/repo/flathub.flatpakrepo' && sudo flatpak remote-delete --system --verbose 'flathub-beta' && sudo flatpak remote-add --system --prio='3' --if-not-exists --verbose 'flathub-beta' 'https://flathub.org/beta-repo/flathub-beta.flatpakrepo' && sync

Software

Update

System

sudo dnf autoremove -y && sudo dnf distro-sync -y && sync

modesetting

  • Forces use of modesetting with Xorg by removing amdgpu, ati, intel, and nouveau DDX drivers
sudo dnf remove xorg-x11-drv-amdgpu xorg-x11-drv-ati xorg-x11-drv-intel xorg-x11-drv-nouveau

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 dnf install 'nano' -y && 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'

RPM Fusion

Tainted Repos

  • Provides interesting firmware files
sudo dnf install 'rpmfusion-free-release-tainted' 'rpmfusion-nonfree-release-tainted'

Metadata and Multimedia

sudo dnf groupupdate 'core' && sudo dnf groupupdate 'multimedia' --setop='install_weak_deps=False' --exclude='PackageKit-gstreamer-plugin' && sudo dnf groupupdate 'sound-and-video' && sync

More Multimedia

sudo dnf install gstreamer1-plugins-{bad-\*,good-\*,base} gstreamer1-plugin-openh264 gstreamer1-libav --exclude='gstreamer1-plugins-bad-free-devel'
sudo dnf install lame\* --exclude='lame-devel'
sudo dnf group upgrade --with-optional 'Multimedia'

General

sudo dnf install evolution filezilla gimp keepassxc transmission-gtk aria2 'google-noto'* hdparm htop kernel-tools lm_sensors p7zip p7zip-plugins unar wget xfsprogs-xfs_scrub xrandr 

RPM Fusion

free

ffmpeg-libs mpv youtube-dl

Mesa

sudo dnf swap 'mesa-va-drivers' 'mesa-va-drivers-freeworld'
sudo dnf swap 'mesa-vdpau-drivers' 'mesa-vdpau-drivers-freeworld'
sudo dnf swap 'mesa-va-drivers.i686' 'mesa-va-drivers-freeworld.i686'
sudo dnf swap 'mesa-vdpau-drivers.i686' 'mesa-vdpau-drivers-freeworld.i686'

nonfree

Intel

  • :!: iHD may perform worse than the older i965 VA driver, see #925
intel-media-driver

Steam

steam protontricks redhat-lsb-core mangohud

NVIDIA

  • This installs NVIDIA proprietary graphics drivers and necessary packages, along with building the module afterwards
  • :!: If the open kernel module is wanted instead, see nvidia-open-gpu-kernel-modules
  • :!: Reboot after running this
sudo dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda xorg-x11-drv-nvidia-cuda-libs vulkan vdpauinfo libva-vdpau-driver libva-utils nvidia-vaapi-driver -y && sync && sudo akmods --force && sync

Tainted

libdvdcss \*-firmware

ROCm

rocm-opencl rocm-smi

ckb-next

Wine

wine winetricks mangohud

Tor Browser

torbrowser-launcher

Game Controllers

  • Necessary for Xbox 360 controllers
  • Not necessary for a Steam Controller
kernel-modules-extra

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'

Keybase

'https://prerelease.keybase.io/keybase_amd64.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 'dnf clean 'all' && dnf distro-sync -y && sync && flatpak update && wget -O '/etc/hosts' 'https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling-porn/hosts' && restorecon -F -I -R '/etc/hosts' && sync && fstrim --all --verbose && sync && read -n '1' -s -r -p 'Done' && sleep '2''"
gnome-terminal -- sh -c ~/'.local/scripts/Game.sh'

Keys

  • Listed respectively to above
  • Ctrl + Alt + T
  • Ctrl + Alt + Z
  • Menu (Square with 3 lines near Alt)
  • F6

Printer

  • Internet Printing Protocol (ipps) → HP → IPP Everywhere ™
  • Color Mode: Device Gray
  • Administration → Set As Server Default
ipps://192.168.1.164/ipp/print

Network

1.1.1.1 For Families DNS

1.1.1.2,1.0.0.2
2606:4700:4700::1112,2606:4700:4700::1002
https://security.cloudflare-dns.com/dns-query

Nautilus

  • Sort Folders Before Files

Rhythmbox

Terminal

  • 10-notch Transparency

Kernel Options

Magic SysRq key

echo 'kernel.sysrq = 1' | sudo tee '/etc/sysctl.d/99-sysrq.conf' > '/dev/null' && cat '/etc/sysctl.d/99-sysrq.conf'

Swappiness

echo 'vm.swappiness = 0' | sudo tee '/etc/sysctl.d/99-swappiness.conf' > '/dev/null' && cat '/etc/sysctl.d/99-swappiness.conf'

Verify

sysctl 'vm.swappiness'
cat '/proc/sys/vm/swappiness'

Intel Perf Counters

echo 'dev.i915.perf_stream_paranoid = 0' | sudo tee '/etc/sysctl.d/99-i915-perf.conf' > '/dev/null' && cat '/etc/sysctl.d/99-i915-perf.conf'

GRUB

Config

sudo grubby --update-kernel='ALL' --args=''

PCI

sudo grubby --args='pci=pcie_bus_perf,realloc,pcie_scan_all,big_root_window' --update-kernel='ALL'

Modern Standby

sudo grubby --args='mem_sleep_default=s2idle' --update-kernel='ALL'

AMD SME

sudo grubby --args='mem_encrypt=on' --update-kernel='ALL'

Intel

IOMMU

sudo grubby --update-kernel='ALL' --args='intel_iommu=on'

Optimization

  • This enables Framebuffer compression, Panel self-refresh, and i915 Fastboot
  • This also enables GuC and HuC firmware loading if supported by the hardware
sudo grubby --update-kernel='ALL' --args='i915.enable_fbc=1 i915.enable_psr=1 i915.fastboot=1 i915.enable_guc=3'

AMDGPU Overclocking

  • Allows use of Overdrive options for overclocking and increasing the Power Limit

Calculate

printf 'amdgpu.ppfeaturemask=0x%x\n' "$(($(cat /sys/module/amdgpu/parameters/ppfeaturemask) | 0x4000))"

Kernel Option

  • Replace x with above amdgpu.ppfeaturemask
sudo grubby --args='x' --update-kernel='ALL'

GNOME

Notes

  • :!: Disable color calibration for the monitor in GNOME Settings 6)

Hide Top Bar

External Monitor Settings

  • This copies the configured monitor settings from the current user to gdm and also applies it to the log-in screen
  • Notably useful for setting a laptop's built-in screen as disabled for the log-in screen while used in a dock configuration
  • Above 100% scaling makes Fedora's logo on the log-in screen look pixelated
sudo cp ~/'.config/monitors.xml' ~gdm/'.config/monitors.xml' && sudo chown 'gdm':'gdm' ~gdm/'.config/monitors.xml'

Undo

sudo rm ~gdm/'.config/monitors.xml' && sync

Wayland

  • :!: ckb-next auto light shutoff requires Xorg
  • :!: GPU scaling for non-native resolutions requires Xorg
  • :!: Steam and various games through Wine work better on Xorg
  • Xorg can be selected at log-in 7)

Settings

All-in-one

  • Last updated: 2022/10/14
  • :!: TODO: Add gsettings for changing to Noto fonts?
gsettings reset 'org.gnome.shell' 'app-picker-layout' && gsettings set 'org.gnome.desktop.interface' 'enable-animations' 'true' && 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: 2022/10/14
gsettings reset 'org.gnome.shell' 'app-picker-layout'
gsettings set 'org.gnome.desktop.interface' 'enable-animations' 'true'
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
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

  • --auto can be used here, but if modules need to be added to /etc/modules, not using --auto will allow sensors to do it on-prompt
sudo sensors-detect
sudo -e '/etc/sysconfig/lm_sensors'

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

Laptop Power Management

Secure Shell

  • See Client notes to generate/restore public key

Drive Maintenance

Trim

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

XFS Scrub

  • :!: Enable in all cases since it's likely both / and /boot are XFS
sudo systemctl enable 'xfs_scrub_all.timer' --now && sudo systemctl start 'xfs_scrub_all' && sync && sudo systemctl status 'xfs_scrub_all' -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

Wayland

i915 HDMI

sudo dnf install 'drm-utils' -y && sync
sudo -e '/etc/gdm/PostLogin/Default' && sudo chmod +x '/etc/gdm/PostLogin/Default' && sudo restorecon -F -I -R -v '/etc/gdm/PostLogin/Default'
#!/usr/bin/sh
proptest -M 'i915' -D '/dev/dri/card'* '103' 'connector' '98' '1'
proptest -M 'i915' -D '/dev/dri/card'* '103' 'connector' '107' '4'

Xorg

i915 HDMI

  • Same as proptest Wayland commands above
  • These don't need to be auto-start since the above proptest commands for Wayland carry-over to Xorg sessions
xrandr --output 'HDMI-1' --set 'Broadcast RGB' 'Full'
xrandr --output 'HDMI-1' --set 'content type' 'Game'

NVIDIA

Root Xorg

  • :!: Run Xorg as Root
  • This is required to allow overclocking and fan control
  • :!: This is still required as of 2022/10/13 with 520.56.06, even with the open module
echo 'needs_root_rights = yes' | sudo tee --append '/etc/X11/Xwrapper.config' > '/dev/null' && cat '/etc/X11/Xwrapper.config'

xorg.conf

Mozilla Firefox

  • See Firefox if old configuration is needed, otherwise use Firefox Sync

Tweaks

  • Enables smooth-scrolling
sudo mkdir -p '/etc/environment.d' && echo 'MOZ_USE_XINPUT2=1' | sudo tee '/etc/environment.d/99-firefox-tweaks.conf' > '/dev/null' && cat '/etc/environment.d/99-firefox-tweaks.conf'

DNS over HTTPS

https://security.cloudflare-dns.com/dns-query

Server

  • For workstations that run servers as a secondary directive
  • For headless servers, see Fedora Server

Enable SSH

sudo systemctl enable --now 'sshd'

Automatic Updates

Service

sudo -e '/etc/systemd/system/fedora-up.service'
[Service]
Type=oneshot
ExecStartPre='/usr/bin/dnf' clean 'all'
ExecStart='/usr/bin/dnf' distro-sync -y
ExecStart='/usr/bin/dnf' autoremove -y
ExecStartPost='/usr/bin/sync'
ExecStartPost='/usr/bin/systemctl' reboot

Timer

  • 03:00 Oak
sudo -e '/etc/systemd/system/fedora-up.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'fedora-up.timer' --now
[Unit]
Description=Software Package Maintenance and Updater
After=network-online.target
Wants=network-online.target

[Timer]
OnCalendar=*-*-* 03:00:00
Persistent=true

[Install]
WantedBy=timers.target

Notable Folders and Commands

2)
EFI file to boot and in the case of (quirky) InsydeH2O UEFI implementations, add to SecureBoot trust; doesn't matter if SecureBoot is enabled or not
3)
this uses all avaialble space
4)
default fedora repo has top/1 priority
5)
Steam's Flatpak crashes when closing the last window (no background), and Steam Link app has notably higher latency
6)
GNOME for several versions now makes the screen color too warm on Xorg
7)
there used to be notes here on disabling Wayland on the log-in screen with GDM config
8)
modesetting functions better than amdgpu and intel DDX drivers in 2022
/var/www/wiki/data/pages/distros/fedora_workstation_gnome.txt · Last modified: 2023/01/13 14:36 by Sean Rhone

Except where otherwise noted, content on this wiki is licensed under the following license: CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki