Files
Workstation/pc_fedora.md
2023-03-06 08:26:08 -05:00

297 lines
8.9 KiB
Markdown

# Fedora Gaming PC
## Drive Setup
This assumes 2x 1TB drives and 1x 500GB drive. Note that I'm not encrypting the steam drive.
This is because you can get *slightly* better performance out of an unencrypted drive. Plus,
realistically, nothing but steam common stuff will be stored there so there's nothing to
protect.
1. Erase the drives completely. Don't format. Make sure each only has free space.
2. Launch the installer
3. Select all 3 drives and select "Advanced Custom (Blivet-GUI)"
4. Click Done
5. On the 500GB drive create a 1024GB ext4 partition, label it boot, and mount it at "/boot"
6. On the 500GB drive create a 600GB efi partition, label it efi, and mount it at "/boot/efi"
7. On the 500GB drive create an encrypted btrfs partition with the rest of the space and mount it at "/"
8. On the slower 1TB drive create an encrypted btrfs partition and mount it at "/home"
9. On the faster 1TB drive create an unencrypted btrfs partition and mount it at "/steam"
10. Click "Done" and begin installation
## RDP with autologin
https://askubuntu.com/questions/1396745/21-10-make-screen-share-password-permanent
### Autologin
1. Enable autologin from the gnome user settings
### Create an RDP keychain
1. Open "Passwords and Keys" app on the desktop. Password and Keys App
2. Create a new "Password Keyring" using the "+" icon. Create a new Password Keyring
3. Name the new keyring "Zero Security Keyring" or something that reminds you it will be un-encrypted. Leave the password blank so that the keychain is unencrypted. You will be warned that you are creating an unencrypted keychain.
4. Right-click on the new keyring and choose "set as default" Set the new keyring as the default
5. Click on the old "Default" keyring and delete "GNOME Remote Desktop RDP Credentials" Delete the old RDP password from the "Default keyring"
6. Open settings and set a new RDP password set a new RDP password
7. Check that the password was stored under the "Zero Security Keyring" Check that the RDP password was stored in the new keychain
9. Right click on "Default" keyring and choose "set as default" Remember to set "Default keyring" as the default
## Set Hostname
```bash
hostnamectl set-hostname gamebox
```
## Fira Code
Copy all ttf files into /usr/share/fonts/FiraCode
`sudo fc-cache -v`
## Terminal
1. Rename default profile to "Fira Code"
2. Set the terminal size to 160x60
3. Set the default font to Fira Code
4. Relaunch the terminal
## Disable Gnome Software Updates (packagekitd and software)
To prevent Gnome Shell from starting Software open Settings->Search and disable Software from there.
Run the following to disable auto updating:
```bash
sudo systemctl disable packagekit
sudo systemctl stop packagekit
sudo systemctl mask packagekit
dconf write /org/gnome/software/allow-updates false
dconf write /org/gnome/software/download-updates false
```
Update the system:
`sudo dnf update --refresh`
Reboot.
## Gnome Tweaks
`sudo dnf install gnome-tweaks`
1. Fonts -> Monospace Text -> Fira Code Regular
2. Keyboard & Mouse -> Acceleration Profile -> Flat
5. Top Bar -> Clock -> Weekday -> On
6. Top Bar -> Clock -> Seconds -> On
## Disable Hot Corner
```bash
dconf write /org/gnome/desktop/interface/enable-hot-corners false
```
## Extensions
`sudo dnf install gnome-extensions-app`
Restore to ~/.local/share/gnome-shell/extensions
Vitals:
1. CPU GHz, CPU %, CPU Temp
2. RAM Free
3. Disk Free
4. Network down, Network up
## Automatic Disk Decryption with TPM2
`sudo dnf install vim`
https://gist.github.com/jdoss/777e8b52c8d88eb87467935769c98a95
Create a function in ~./bashrc.d/cryptenroll.sh:
```bash
function tpm-luks-enroll {
read -s -p "Password: " PASSWORD
export PASSWORD=$PASSWORD
sudo -E systemd-cryptenroll --tpm2-device=auto --tpm2-pcrs=0+2+4+7 /dev/nvme1n1p3
sudo -E systemd-cryptenroll --tpm2-device=auto --tpm2-pcrs=0+2+4+7 /dev/nvme2n1p1
unset password
}
function tpm-luks-reenroll {
read -s -p "Password: " PASSWORD
export PASSWORD=$PASSWORD
sudo -E systemd-cryptenroll --tpm2-device=auto --tpm2-pcrs=0+2+4+7 --wipe-slot=tpm2 /dev/nvme1n1p3
sudo -E systemd-cryptenroll --tpm2-device=auto --tpm2-pcrs=0+2+4+7 --wipe-slot=tpm2 /dev/nvme2n1p1
unset password
}
```
Add your luks keys to the tpm module and set up boot parameters:
```bash
# Enroll for the first time
tpm-luks-enroll
# Add tpm2 configuration option to /etc/crypttab FOR EVERY DISK
luks-$UUID UUID=disk-$UUID none tpm2-device=auto,discard
# Add rd.luks.options=tpm2-device=auto to grub
sudo grubby --args="rd.luks.options=tpm2-device=auto" --update-kernel=ALL
sudo dracut -f
```
When you update the kernel:
```bash
tpm-luks-reenroll
```
Reboot.
## RDP with autologin
https://askubuntu.com/questions/1396745/21-10-make-screen-share-password-permanent
### Autologin
1. Enable autologin from the gnome user settings
2. Create a systemd user service to lock the screen after autologin
```bash
mkdir -p ~/.local/share/systemd/user/autolock.service
vim ~/.local/share/systemd/user/autolock.service
```
**~/.local/share/systemd/user/autolock.service**
```service
[Unit]
Description=Auto lock after auto login
[Service]
Type=oneshot
ExecStart=/bin/bash -c "sleep 5 && loginctl lock-session"
[Install]
WantedBy=default.target
```
systemctl --user enable autolock.service
### Create an RDP keychain
`sudo dnf install seahorse`
1. Open "Passwords and Keys" app on the desktop. Password and Keys App
2. Create a new "Password Keyring" using the "+" icon. Create a new Password Keyring
3. Name the new keyring "Zero Security Keyring" or something that reminds you it will be un-encrypted. Leave the password blank so that the keychain is unencrypted. You will be warned that you are creating an unencrypted keychain.
4. Right-click on the new keyring and choose "set as default" Set the new keyring as the default
5. Click on the old "Default" keyring and delete "GNOME Remote Desktop RDP Credentials" Delete the old RDP password from the "Default keyring"
6. Open settings and set a new RDP password set a new RDP password
7. Check that the password was stored under the "Zero Security Keyring" Check that the RDP password was stored in the new keychain
9. Right click on "Default" keyring and choose "set as default" Remember to set "Default keyring" as the default
Reboot.
## Flatpack
```bash
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak update
```
## Steam
```bash
flatpak install flathub net.davidotek.pupgui2
```
```bash
sudo dnf install https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install steam
sudo chown ducoterra:ducoterra /steam
# If libbz2 is missing (or some other error)
cd ~/.local/share/Steam/
./steam.sh --reset
```
## Power Button Behavior
The power button is controlled from 2 locations:
1. DCONF (or gnoem settings) at `gnome.settings-daemon.plugins.power`
2. ACPI at /etc/acpi/events/powerconf
The powerconf acpi configuration will execute at the same time the gnome settings do.
This can lead to situations where the gnome settings say "suspend" but the acpi settings
say "shutdown". On waking up your laptop it will immediately shutdown.
The solution is to comment out everything in /etc/acpi/events/powerconf and rely on the
gnome settings **OR** set the gnome settings to "nothing" and edit
`/etc/acpi/actions/power.sh` with the behavior you expect. Either way you should pick
one to control power button behavior.
## Discord
vim ~/.local/share/applications/Discord.desktop
```conf
[Desktop Entry]
Encoding=UTF-8
Name=Discord
Exec=/home/ducoterra/Applications/Discord/Discord
Icon=/home/ducoterra/Applications/Discord/discord.png
Type=Application
Categories=Communication;
```
## AppImage Launcher
Download RPM from https://github.com/TheAssassin/AppImageLauncher/releases/tag/v2.2.0
## Snap
```bash
sudo dnf install -y snapd
sudo ln -s /var/lib/snapd/snap /snap # for classic snap support
ln -s /var/lib/snapd/desktop/applications ~/.local/share/applications/snap # make apps show up in gnome
sudo reboot now
```
### Minecraft
1. You can find extra java versions at /etc/alternatives
2. You need to `dnf install xrandr` to launch any modpacks
3. You can create a desktop icon by putting this at ~/.local/share/applications/*.desktop:
```
[Desktop Entry]
Encoding=UTF-8
Name=Technic Launcher
Exec=/usr/bin/java -jar /home/ducoterra/Applications/TechnicLauncher.jar
Icon=/home/ducoterra/.icons/minecraft-launcher.png
Type=Application
Categories=Games;
```
### Sound
If you want to disable a specific device or tell Fedora not to use a specific device
as output or input (looking at you yeti microphone, you're not a speaker), you can
install pulse audio control for much more fine-tuned... control.
Setting your speakers to analog output seems to work best for a USB dac if it has
a separate volume knob since this ties the volume knob on the dac to the internal
volume of your computer.
Setting your mic to analog input works just fine on a yeti usb mic.
```bash
sudo dnf install pavucontrol
```