Both sides previous revisionPrevious revisionNext revision | Previous revision |
distros:fedora_workstation_gnome [2024/01/24 11:09] – Sean Rhone | distros:fedora_workstation_gnome [2024/05/02 03:13] (current) – Sean Rhone |
---|
| |
* Fedora Workstation ((https://getfedora.org/en/workstation)) | * Fedora Workstation ((https://getfedora.org/en/workstation)) |
* 39 | * 40 |
| |
====== Download ====== | ====== Download ====== |
| |
* https://dl.fedoraproject.org/pub/alt/live-respins | * https://dl.fedoraproject.org/pub/alt/live-respins |
| * 2024/04/29: This is still offering F39 images currently |
| |
====== Installation Notes ====== | ====== Installation Notes ====== |
| |
| ===== ISO Image Write ===== |
| |
| * :!: 2024/04/29: Rufus from Windows 10 wrote F40's Workstation ISO in DD mode to an external HDD and caused media check to fail around 4% |
| * :!: Fedora Image Writer [[https://github.com/FedoraQt/MediaWriter/releases/tag/5.0.9|5.0.9 win64]] also had failed media checks in the past ([[https://github.com/FedoraQt/MediaWriter/issues/669#issuecomment-1901538714|comment]]), but [[https://github.com/FedoraQt/MediaWriter/releases/tag/latest-windows|this version]] ((Oct 25, 2023, [[https://github.com/FedoraQt/MediaWriter/commit/43acd55d77299ee674c91e9743e61d659f31d0ba|43acd55]])) was consistently fine |
| |
| * 2024/04/29: ''dd'' images from Linux or a LiveUSB session of it, or [[https://etcher.balena.io/#download-etcher|balena's Etcher]] portable on Windows |
| |
===== Partitioning ===== | ===== Partitioning ===== |
- :!: Delete ''/home'' | - :!: Delete ''/home'' |
- :!: Delete ''/'' | - :!: Delete ''/'' |
- Set ''/boot'' to XFS | - Set ''/boot'' to XFS ((Fedora Server and RHEL do it)) |
- Re-create ''/'' without specifying a size | - Re-create ''/'' without specifying a size ((this uses all available remaining space)) |
- Set ''/'' to XFS | - Set ''/'' to F2FS or XFS ((If F2FS isn't an option, install ''f2fs-tools'' on F38 and older before starting Anaconda)) |
| - :!: See [[notes:misc_linux#create_software_raid|Software RAID]] notes if software RAID across multiple drives is wanted |
| |
====== HOSTS ====== | ====== HOSTS ====== |
| |
====== Repositories ====== | ====== Repositories ====== |
| |
| ===== Keybase ===== |
| |
| * https://keybase.io/ |
| |
| sudo rpm --import 'https://keybase.io/docs/server_security/code_signing_key.asc' && sudo dnf config-manager --add-repo 'http://prerelease.keybase.io/rpm/$basearch' |
| |
===== RPM Fusion ===== | ===== RPM Fusion ===== |
| |
* :!: See [[notes:fedora_rpm_fusion|RPM Fusion]] notes | * https://rpmfusion.org |
| * See [[notes:fedora_rpm_fusion|RPM Fusion]] notes |
| |
====== Software ====== | ====== Software ====== |
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' | 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' |
| |
===== Multimedia ===== | ==== Multimedia ==== |
| |
**** | **** |
**** | **** |
| |
sudo dnf install evolution file-roller filezilla foliate gbrainy gimp gnome-extensions-app keepassxc mpv transmission-gtk android-tools aria2 binutils hdparm htop irqbalance icoutils kernel-tools lm_sensors openssl1.1 gstreamer1-plugin-openh264 openh264 mozilla-openh264 p7zip p7zip-plugins unar wget xrandr yt-dlp | sudo dnf install evolution file-roller filezilla foliate gbrainy gimp gnome-extensions-app keepassxc mpv transmission-gtk android-tools aria2 binutils hdparm htop icoutils kernel-tools lm_sensors gstreamer1-plugin-openh264 openh264 mozilla-openh264 p7zip p7zip-plugins unar wget xrandr yt-dlp |
| |
===== Intel Media Driver ===== | ===== Google Chrome ===== |
| |
* Fedora 40 ([[https://src.fedoraproject.org/rpms/intel-media-driver-free|src]], [[https://bugzilla.redhat.com/show_bug.cgi?id=1942132|#1942132]]) ((can be installed from RPM in F39 but doesn't offer any known benefit)) | **** |
* TODO: See if ''wine'' benefits and add ''i686'' packages if so | |
| |
intel-media-driver-free | google-chrome-stable |
| |
===== Google Chrome ===== | ===== Keybase ===== |
| |
**** | **** |
| |
google-chrome-stable | keybase |
| |
===== OBS Studio ===== | ===== OBS Studio ===== |
===== Wine ===== | ===== Wine ===== |
| |
<code>wine winetricks openssl1.1.i686</code> | <code>wine winetricks</code> |
| |
<code>mesa-libd3d mesa-libd3d.i686</code> | <code>mesa-libd3d mesa-libd3d.i686</code> |
| |
socket://192.168.1.164:9100 | socket://192.168.1.164:9100 |
| |
Kole | |
| |
HP Officejet Pro 8710 | HP Officejet Pro 8710 |
| |
* systemd-resolved caches DNS | * systemd-resolved caches DNS |
* [[notes:dns_servers#quad9|Quad9]] | * [[notes:dns_servers#quad9|Quad9]], see [[notes:dns_servers]] for other addresses |
* See [[notes:dns_servers]] for other servers | |
| |
sudo mkdir -p '/etc/systemd/resolved.conf.d' && sudo -e '/etc/systemd/resolved.conf.d/99-dns-over-tls.conf' | sudo mkdir -p '/etc/systemd/resolved.conf.d' && sudo -e '/etc/systemd/resolved.conf.d/99-dns-over-tls.conf' |
| |
sysctl 'kernel.sysrq' | sysctl 'kernel.sysrq' |
| |
==== Swappiness ==== | |
| |
* ''vm.swappiness = 0'' | |
| |
echo 'vm.swappiness = 0' | sudo tee '/etc/sysctl.d/99-swappiness.conf' > '/dev/null' && cat '/etc/sysctl.d/99-swappiness.conf' | |
| |
sysctl 'vm.swappiness' | |
| |
===== Dracut ===== | |
| |
* System-specific boot optimization | |
* :!: Be sure to undo this if planning on booting the same disk install on different hardware, notably for servers | |
| |
sudo -e '/etc/dracut.conf.d/99-custom.conf' && sudo dracut --force --regenerate-all && sync | |
| |
<code> | |
compress="cat" | |
do_strip="yes" | |
aggressive_strip="yes" | |
hostonly="yes" | |
hostonly_mode="strict" | |
fileloglvl="0" | |
sysloglvl="0" | |
stdloglvl="0"</code> | |
| |
==== Undo ==== | |
| |
**** | |
| |
sudo rm -f '/etc/dracut.conf.d/99-custom.conf' && sudo dracut --force --regenerate-all && sync | |
| |
===== GRUB ===== | ===== GRUB ===== |
==== Spinesnap ==== | ==== Spinesnap ==== |
| |
* Last updated: 2024/01/24 | * Last updated: 2024/04/29 |
* ''GRUB_CMDLINE_LINUX='' | * ''GRUB_CMDLINE_LINUX='' |
* :!: Some of this is based on //assumptions// about power-saving and performance | |
| |
sudo -e '/etc/default/grub' && sudo grub2-mkconfig -o '/boot/grub2/grub.cfg' | sudo -e '/etc/default/grub' && sudo grub2-mkconfig -o '/boot/grub2/grub.cfg' |
| |
<code>acpi_osi='Linux' iommu='pt' pcie_aspm='off' pci='pcie_bus_perf,realloc,pcie_scan_all,big_root_window,nocrs,assign-busses' intremap='off' preempt='full' threadirqs nohz='off' i915.enable_fbc='0' i915.enable_psr='0' i915.panel_use_ssc='0' i915.nuclear_pageflip='1' i915.edp_vswing='2' reboot='pci' usbcore.quirks='1b1c:1b75:gn'</code> | <code>preempt='full' threadirqs nohz='off' acpi_osi='Linux' pci='pcie_bus_perf,realloc,pcie_scan_all,big_root_window' video='HDMI-A-1:1920x1080MR@75' reboot='pci'</code> |
| |
===== GNOME ===== | ===== GNOME ===== |
| |
| ==== Disable Wayland ==== |
| |
| * :!: 2023/07/23: It's been the cause of **far** too many issues and solving nothing while doing it |
| |
| * Last tested: 2024/04/29 |
| |
| <code>cat '/etc/gdm/custom.conf' | grep '#WaylandEnable' > '/dev/null' && sudo sed -i 's/'#WaylandEnable=false'/'WaylandEnable=false'/g' '/etc/gdm/custom.conf' && cat '/etc/gdm/custom.conf' | grep 'WaylandEnable=false'</code> |
| |
| <code>sudo -e '/etc/gdm/custom.conf'</code> |
| |
| ==== Force evdev ==== |
| |
| * See [[notes:xorg.conf_snippets#evdev|evdev]] |
| |
==== Dynamic Wallpaper ==== | ==== Dynamic Wallpaper ==== |
| |
==== Extensions ==== | ==== Extensions ==== |
| |
| === Disable unredirect fullscreen windows === |
| |
| * https://extensions.gnome.org/extension/1873/disable-unredirect-fullscreen-windows/ |
| * 2023: This resolves screen tearing with some games on Intel UHD 630 on GNOME on Xorg ((seemingly not required for GNOME on Wayland)) |
| |
| === Hide Top Bar === |
| |
* https://extensions.gnome.org/extension/545/hide-top-bar/ | * https://extensions.gnome.org/extension/545/hide-top-bar/ |
* :!: TODO: Compile certain version for GNOME 45 | * :!: 2024/04/29: TODO: Compile from source for GNOME 46 https://gitlab.gnome.org/tuxor1337/hidetopbar/-/merge_requests/401 |
| |
==== External Monitor Settings ==== | ==== External Monitor Settings ==== |
* Notably useful for setting a laptop's built-in screen as disabled for the log-in screen while used in a dock configuration | * Notably useful for setting a laptop's built-in screen as disabled for the log-in screen while used in a dock configuration |
| |
sudo cp ~/'.config/monitors.xml' ~gdm/'.config/monitors.xml' && sudo chown 'gdm':'gdm' ~gdm/'.config/monitors.xml' | sudo cp --remove-destination ~/'.config/monitors.xml' ~gdm/'.config/monitors.xml' && sudo chown 'gdm':'gdm' ~gdm/'.config/monitors.xml' && sudo restorecon -F -I -R ~gdm/'.config/monitors.xml' |
| |
=== Undo === | === Undo === |
| |
sudo rm ~gdm/'.config/monitors.xml' && sync | sudo rm ~gdm/'.config/monitors.xml' && sync |
| |
==== Tweaks ==== | |
| |
sudo -e '/etc/profile.d/99-tweaks.sh' | |
| |
<code> | |
# Mutter | |
export MUTTER_DEBUG_ENABLE_ATOMIC_KMS='0' | |
export MUTTER_DEBUG_FORCE_KMS_MODE='simple' | |
| |
# Clutter | |
export CLUTTER_PAINT='disable-dynamic-max-render-time' | |
| |
# Mesa | |
export MESA_DISK_CACHE_SINGLE_FILE='1' | |
export MESA_DISK_CACHE_DATABASE='1' | |
export MESA_DISK_CACHE_COMBINE_RW_WITH_RO_FOZ='1' | |
| |
# End</code> | |
| |
==== Settings ==== | ==== Settings ==== |
=== All-in-one === | === All-in-one === |
| |
* Last updated: 2024/01/02 | * Last updated: 2024/04/01 |
| |
gsettings reset 'org.gnome.shell' 'app-picker-layout' && 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.desktop.wm.preferences' 'focus-mode' 'click' && gsettings set 'org.gnome.desktop.wm.preferences' 'disable-workarounds' 'true' && gsettings set 'org.gnome.software' 'download-updates' 'false' && gsettings set 'org.gnome.desktop.interface' 'clock-show-weekday' 'true' | gsettings reset 'org.gnome.shell' 'app-picker-layout' && 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.desktop.wm.preferences' 'focus-mode' 'click' && gsettings set 'org.gnome.software' 'download-updates' 'false' && gsettings set 'org.gnome.desktop.interface' 'clock-show-weekday' 'true' |
| |
=== Individual === | === Individual === |
| |
* Last updated: 2024/01/02 | |
| |
gsettings reset 'org.gnome.shell' 'app-picker-layout' | gsettings reset 'org.gnome.shell' 'app-picker-layout' |
| |
gsettings set 'org.gnome.desktop.wm.preferences' 'focus-mode' 'click' | gsettings set 'org.gnome.desktop.wm.preferences' 'focus-mode' 'click' |
| |
gsettings set 'org.gnome.desktop.wm.preferences' 'disable-workarounds' 'true' | |
| |
gsettings set 'org.gnome.software' 'download-updates' 'false' | gsettings set 'org.gnome.software' 'download-updates' 'false' |
| |
==== Weather ==== | ==== Weather ==== |
| |
| === Location Fork === |
| |
* https://gitlab.gnome.org/GNOME/gnome-weather/-/issues/247#note_1819885 | * https://gitlab.gnome.org/GNOME/gnome-weather/-/issues/247#note_1819885 |
| |
* Last tested: 2024/01/22 | * Last tested: 2024/03/31 |
| |
wget -O ~/'Downloads/add-location-to-gnome-weather.sh' 'https://gitlab.com/Espionage724/scripts/-/raw/main/add-location-to-gnome-weather.sh?ref_type=heads' && chmod +x ~/'Downloads/add-location-to-gnome-weather.sh' && sh ~/'Downloads/add-location-to-gnome-weather.sh' | wget -O ~/'Downloads/add-location-to-gnome-weather.sh' 'https://gitlab.com/Espionage724/scripts/-/raw/main/add-location-to-gnome-weather.sh?ref_type=heads' && chmod +x ~/'Downloads/add-location-to-gnome-weather.sh' && sh ~/'Downloads/add-location-to-gnome-weather.sh' |
| |
secret-tool store --label='KeePass' 'keepass' 'default' | secret-tool store --label='KeePass' 'keepass' 'default' |
| |
| ===== Keybase ===== |
| |
| **** |
| |
| <code>run_keybase && sudo rm -f '/etc/yum.repos.d/prerelease.keybase.io_rpm_basearch.repo'</code> |
| |
===== lm_sensors ===== | ===== lm_sensors ===== |
| |
===== Drive Maintenance ===== | ===== Drive Maintenance ===== |
| |
| ==== XFS Scrub ==== |
| |
| * [[https://wiki.archlinux.org/title/XFS#Online_metadata_checking_(scrub)|XFS - ArchWiki]] |
| |
| sudo dnf install 'xfsprogs-xfs_scrub' -y && sync |
| |
| sudo systemctl enable 'xfs_scrub_all.timer' --now && sudo systemctl start 'xfs_scrub_all' && sync && sudo systemctl status 'xfs_scrub_all' -l |
| |
==== Trim ==== | ==== Trim ==== |
===== Xorg/Wayland ===== | ===== Xorg/Wayland ===== |
| |
==== Full RGB HDMI ==== | ==== Display Settings ==== |
| |
* See [[notes:proptest_full_rgb]] for more ports | * This sets Full RGB and other options for a connected display (HDMI) |
| * See [[notes:proptest_full_rgb]] for more ports and examples |
* This works on Wayland as well as GNOME on Xorg even with Wayland globally-disabled from ''custom.conf'' | * This works on Wayland as well as GNOME on Xorg even with Wayland globally-disabled from ''custom.conf'' |
* :!: The numbers ''103'' and after the ''connector'' change depending on the hardware and need checked from ''proptest'' on a Wayland session ((the current values are specific to a Dell Latitude 5591 and its onboard HDMI port)) | * :!: The numbers ''103'' and after the ''connector'' change depending on the hardware and need checked from ''proptest'' on a Wayland session ((the current values are specific to a Dell Latitude 5591 and its onboard HDMI port)) |
| |
| * Last updated: 2024/04/29 |
| |
sudo dnf install 'drm-utils' -y && sudo -e '/etc/gdm/PostLogin/Default' && sudo restorecon -F -I -R '/etc/gdm/PostLogin/Default' && sudo chmod +x '/etc/gdm/PostLogin/Default' && sync | sudo dnf install 'drm-utils' -y && sudo -e '/etc/gdm/PostLogin/Default' && sudo restorecon -F -I -R '/etc/gdm/PostLogin/Default' && sudo chmod +x '/etc/gdm/PostLogin/Default' && sync |
<code> | <code> |
#!/bin/bash | #!/bin/bash |
| |
| # Broadcast RGB (99) to Full (1) |
proptest -M 'i915' -D '/dev/dri/card'* '103' 'connector' '99' '1' | proptest -M 'i915' -D '/dev/dri/card'* '103' 'connector' '99' '1' |
proptest -M 'i915' -D '/dev/dri/card'* '103' 'connector' '107' '4'</code> | |
| # content type (107) to Game (4) |
| proptest -M 'i915' -D '/dev/dri/card'* '103' 'connector' '107' '4' |
| |
| # Colorspace (106) to opRGB (7) |
| proptest -M 'i915' -D '/dev/dri/card'* '103' 'connector' '106' '7' |
| |
| # max bpc (108) to 8 |
| proptest -M 'i915' -D '/dev/dri/card'* '103' 'connector' '108' '8' |
| |
| # End</code> |
| |
====== Firefox ====== | ====== Firefox ====== |
| |
* See [[notes:firefox#aboutconfig|about:config]] for more info | * See [[notes:firefox#aboutconfig|about:config]] for more info |
* :!: ''layout.frame_rate'' ideally needs set if using Wayland and above 60Hz | * :!: ''layout.frame_rate'' ideally needs set if using Wayland and above 60Hz ((check ''Target Frame Rate'' in ''about:support'')) |
| |
layout.frame_rate | layout.frame_rate |
| |
extensions.pocket.enabled | extensions.pocket.enabled |
| |
| ===== Test ===== |
| |
| * :!: 2024/05/01: ''gfx.x11-egl.force-disabled'' sounds ideal on Xorg sessions, but EGL is likely required for Wayland |
| |
| gfx.x11-egl.force-disabled |
| |
===== Extensions ===== | ===== Extensions ===== |
===== DNS over HTTPS ===== | ===== DNS over HTTPS ===== |
| |
* [[notes:dns_servers#quad9|Quad9]] | * [[notes:dns_servers#quad9|Quad9]], see [[notes:dns_servers]] for other addresses |
* See [[notes:dns_servers]] for other addresses | |
| |
<code>https://dns.quad9.net/dns-query</code> | <code>https://dns.quad9.net/dns-query</code> |