====== Information ======
* FreeBSD ((https://www.freebsd.org/))
* 14.1-RELEASE (([[https://www.freebsd.org/releases/14.1R/relnotes/|relnotes]], [[https://www.freebsd.org/releases/14.1R/announce/|announce]]))
* Xfce ((https://www.xfce.org/))
====== TODOs ======
* [[bsd;notes;freebsd]]
* Joystick [[bsd;notes;joystick#devdconf|devd.conf]]
* PC speaker beep at log-in ([[https://forums.freebsd.org/threads/how-to-have-pc-speaker-beep-when-log-in-is-ready.94934/|thread]])
* Solo U2F key and Firefox ([[https://forums.freebsd.org/threads/solo-key-u2f-fido2-in-firefox.95203/|thread]])
* ZFS repair notes/commands
* Wargus with GOG files (works; wine gog install, :?: no xpac 2nd extract)
* 720p 1080p desktop res change desktop launchers
* Wine ''wine.bin'' kill desktop launcher
* Xfce Sticky Keys notification ([[https://forums.freebsd.org/threads/disable-random-notification-about-sticky-keys.94929/|thread]])
* Android ''adb'' ([[https://forums.freebsd.org/threads/adb-android-tools.93731/#post-670844|post]])
* Spinesnap = Dell Latitude 5591 laptop ((Intel UHD 630, no TB, no dGPU))
* Stepmania and Clone Hero
====== Download ======
* https://download.freebsd.org/releases/amd64/amd64/ISO-IMAGES/14.1/
* ''dvd1.iso'' can also be ''dd'''d to USB drives according to [[https://www.freebsd.org/releases/14.1R/announce/|Announcement]] ((''dvd1: Additionally, this can be written to a USB memory stick (flash drive) for the amd64 architecture and used to do an install on machines capable of booting off USB drives.'')) and worked fine for installing
FreeBSD-14.1-RELEASE-amd64-memstick.img
====== Installation Notes ======
===== Partitioning =====
* Auto (UFS)
* Entire Disk
* GPT
===== System Configuration =====
* [x] ''local_unbound''
* Everything else unchecked
===== System Hardening =====
* [x] ''clear_tmp''
* [x] ''disable_syslogd''
===== User =====
* Invite to other groups: ''wheel''
* Shell: ''sh''
===== Network =====
* DHCP or Static on Ethernet (''em0'')
* DHCP on USB Tether (''ue0'')
* :!: Wifi didn't seem to ask for a passcode after scan/select during install ((works [[#wireless|post-install]]))
====== Network ======
===== Wireless =====
* https://docs.freebsd.org/en/books/handbook/network/#network-wireless
* :!: AC speeds aren't supported ((2024/09/08: Intel Wireless-AC 9560: 30MB/s from NAS with ''wifibox'', 2MB/s native, 15MB/s USB Tether))
su -l
ee /etc/wpa_supplicant.conf
network={
ssid="x"
psk="x"
scan_ssid=1
key_mgmt=WPA-PSK
priority=5
}
===== USB Tethering =====
* https://forums.freebsd.org/threads/usb-tethering-detected-and-up-but-no-internet.88441/
* May also be any USB network device if it shows under ''ue#''
su -l
sysrc ifconfig_ue0=SYNCDHCP
/etc/netstart
====== Time Sync ======
su -l
ntpd -g -q
====== Update ======
===== FreeBSD =====
* https://docs.freebsd.org/en/books/handbook/cutting-edge/#freebsdupdate-security-patches
su -l
freebsd-update fetch install
sync && reboot
===== pkg =====
su -l
pkg update --force
pkg upgrade
====== Xorg ======
* https://docs.freebsd.org/en/books/handbook/x11/#x-install
* 2024/11/25: ''drm-61-kmod'' over ''drm-kmod'', ''gpu-firmware'' for CFL Intel UHD 630
su -l
pkg install xorg 'drm-61-kmod' 'gpu-firmware-intel-kmod-kabylake'
pw groupmod video -m espionage724
sysrc kld_list+=i915kms
====== Xfce ======
* https://docs.freebsd.org/en/books/handbook/desktop/#xfce-environment
su -l
pkg install xfce
ee /etc/fstab
# Xfce
proc /proc procfs rw 0 0
sysrc dbus_enable="YES"
echo '. /usr/local/etc/xdg/xfce4/xinitrc' > /home/espionage724/.xinitrc
chown espionage724:espionage724 /home/espionage724/.xinitrc
sync && reboot
===== Login =====
* Username -> Password -> ''startx''
startx
====== Software ======
===== Initial =====
su -l
pkg install xdg-user-dirs filezilla firefox
==== XDG Dirs ====
* :!: Done from regular user and not ''su''
exit
xdg-user-dirs-update --force
===== General =====
su -l
pkg install evince-lite evolution foliate gbrainy gimp keepassxc libreoffice mate-calc ristretto thunar-archive-plugin transmission-gtk vlc xfce4-screensaver xfce4-screenshooter-plugin xfce4-whiskermenu-plugin android-tools aria2 cups en-freebsd-doc en-hunspell gnome-keyring gstreamer1-plugins-good gstreamer1-plugins-ugly gstreamer1-libav gtk-sharp30 htop icoutils libressl mesa-demos noto unar wget xarchiver xrandr yt-dlp
===== Chicago95 =====
* https://github.com/grassmunk/Chicago95
chicago95
===== Wine =====
* https://docs.freebsd.org/en/books/handbook/wine/#installing-wine-on-freebsd
wine wine-gecko wine-mono winetricks
===== Intel =====
****
libva-intel-driver
===== Games =====
* TODO: Joystick fix for ''neverball''
neverball xonotic
==== DevilutionX ====
* [[games;bsd;devilutionx|DevilutionX]]
devilutionx
==== Doomsday Engine ====
* [[games;bsd;doomsday_engine|Doomsday Engine]]
doomsday fluid-soundfont
==== FlightGear ====
* :!: [[games:bsd:flightgear|FlightGear]]
* [[games;controller_bindings;flightgear_sidewinder_joystick|Sidewinder Precision Pro Joystick Bindings]]
flightgear flightgear-data
===== Tor Browser =====
****
tor-browser
====== Settings ======
===== Groups =====
* ''operator'' to allow general reboot/power-off and [[bsd:notes:virtualbox|VirtualBox]]
su -l
pw groupmod 'operator' -m 'espionage724'
===== 32-bit Wine =====
* :!: Needs done as regular user running Wine apps and **not** from ''su'' ((''pkg32.sh'' has ''echo "Don't run this script as root!"''))
'/usr/local/share/wine/pkg32.sh' install wine mesa-dri gstreamer1-plugins-good gstreamer1-plugins-ugly gstreamer1-libav libressl
'/usr/local/share/wine/pkg32.sh' update --force
'/usr/local/share/wine/pkg32.sh' upgrade
===== Xfce =====
==== Appearance ====
* [[https://github.com/grassmunk/Chicago95/blob/master/INSTALL.md#enabling-chicago95|Chicago95]]
* Style -> Greybird
* Icons -> elementary Xfce
* Fonts -> **Enable** anti-aliasing -> Uncheck and re-check for full check-mark
* Fonts -> Rendering -> Hinting: None
* Fonts -> Rendering -> Sub-pixel order: None
* Fonts -> DPI -> Custom DPI setting ''96''
==== Panel 1 ====
* Items -> Add -> Whisker Menu (move to beginning of Items and remove Applications Menu)
* Items -> Window Buttons -> Sorting order: None, allow drag-and-drop
* Items -> Window Buttons -> Uncheck Group windows by application
* Items -> Window Buttons -> Uncheck Switch windows using the mouse wheel
* Items -> Status Tray Plugin -> Fixed icon size (pixels): ''16''
=== Whisker Menu ===
* General -> Menu width: ''425''
* General -> Menu height: ''600''
* General -> Background opacity: ''80''
* General -> Uncheck Show application descriptions
* Appearance -> [x] Position commands next to search entry
* Appearance -> Profile: Hidden
* Commands -> [x] Lock Screen, Log Out, Restart, Shut Down (uncheck rest)
=== Clock ===
* Custom Formats for Date, and Time
%a, %b %d
%l:%M %P
==== Power Manager ====
* Display -> Blank after and Put to sleep after: Never
* Display -> Switch off after: 5 minutes
==== Terminal ====
* General -> Scrollback: ''10000''
* Appearance -> [x] Use system font
* Appearance -> Background -> Transparent Background ''0.80''
==== Window Manager ====
* Style -> Theme -> Greybird-dark ((Greybird themes makes window borders tiny for mouse grab; Alt + Right-click hold-and-drag works nicely, [[https://forum.xfce.org/viewtopic.php?id=10432|thread]]))
==== Window Manager Tweaks ====
* Compositor -> Uncheck ''Show shadows under popup windows''
* Compositor -> Uncheck ''Show shadows under dock windows''
* Compositor -> Opacity of window during move: 10 notches from right/Opaque
==== Xfce Screensaver ====
* Screensaver -> Floating Xfce
* Screensaver -> Regard the computer as idle after: ''1'' minutes
* Lock Screen -> Lock the screen after the screensaver is active for: ''4'' minutes
* Lock Screen -> Disable Session Status Messages
* Lock Screen -> Disable User Switching
===== loader.conf =====
==== Spinesnap ====
su -l
ee '/boot/loader.conf'
autoboot_delay="2"
hw.usb.usbhid.enable="1"
hw.i915kms.enable_guc="3"
hw.i915kms.modeset="1"
hw.i915kms.fastboot="1"
hw.i915kms.disable_power_well="0"
hw.i915kms.enable_dc="0"
hw.i915kms.enable_fbc="0"
hw.i915kms.enable_psr="0"
hw.i915kms.enable_psr2_sel_fetch="0"
hw.i915kms.panel_use_ssc="0"
hw.i915kms.nuclear_pageflip="1"
hw.i915kms.enable_hangcheck="0"
hw.i915kms.reset="0"
==== Unused ====
hw.acpi.osname="Windows 2017"
exec="gop set 0"
==== Boot Commands ====
* TODO: Under misc
boot
gop list
===== rc.conf =====
==== Spinesnap ====
su -l
ee '/etc/rc.conf'
clear_tmp_enable="YES"
syslogd_flags="-ss"
hostname="Spinesnap"
ifconfig_em0="inet 192.168.1.150 netmask 255.255.255.0"
ifconfig_em0_ipv6="inet6 accept_rtadv"
defaultrouter="192.168.1.1"
local_unbound_enable="YES"
moused_nondefault_enable="NO"
dumpdev="NO"
kld_list="i915kms"
dbus_enable="YES"
cupsd_enable="YES"
=== Wi-Fi ===
****
wlans_iwm0="wlan0"
ifconfig_wlan0="WPA DHCP"
ifconfig_wlan0_ipv6="inet6 accept_rtadv"
create_args_wlan0="country US regdomain FCC"
===== sysctl.conf =====
==== Spinesnap ====
* https://docs.freebsd.org/en/books/handbook/config/#hwpstate_intel
* TODO: Device hint or devd.conf to change the epp state on AC/BAT states?
su -l
ee '/etc/sysctl.conf'
kern.sched.preempt_thresh=224
dev.hwpstate_intel.0.epp=0
===== device.hints =====
==== Spinesnap ====
* https://docs.freebsd.org/en/books/handbook/multimedia/#sound-mixer
* https://forums.freebsd.org/threads/thinkpad-x270-audio-device-hints-for-headphones.74193/
* For built-in speaker and 3.5mm headphone jack auto-switch
* Last tested: 2024/11/27
su -l
ee '/boot/device.hints'
hint.hdac.0.cad0.nid20.config="as=1 seq=0"
hint.hdac.0.cad0.nid33.config="as=1 seq=15 device=Headphones"
===== Keyboard Shortcuts =====
bash -c "secret-tool lookup 'keepass' 'default' | keepassxc --pw-stdin ~/'Documents/keepass.kdbx'"
xfce4-terminal --title='FreeBSD Updater' --command "su -l 'root' -c 'freebsd-update fetch install && pkg update --force && pkg upgrade && sync && echo 'Done' && sleep '3''"
xfce4-popup-whiskermenu
mixer 'vol'='+5%' >> /dev/null 2>&1
mixer 'vol'='-5%' >> /dev/null 2>&1
mixer 'vol'='mute=toggle' >> /dev/null 2>&1
==== Keys ====
* Listed respectively to above
* Ctrl + Alt + Z
* F6
* Super/Windows Key
* ''mixer'' commands bound to ''AudioRaiseVolume'', ''AudioLowerVolume'', and ''Audio Mute'' ((when set from a USB keyboard, requires ''hw.usb.usbhid.enable=1''))
===== Network =====
==== local-unbound DNS ====
* https://docs.freebsd.org/en/books/handbook/network/#configuring-nameserver
* Already done during install by ''local_unbound''
cat '/etc/rc.conf' | grep 'local_unbound_enable'
cat '/etc/resolv.conf'
su -l
ee '/etc/resolv.conf'
nameserver 127.0.0.1
options edns0
===== Printer =====
* https://docs.freebsd.org/en/books/handbook/printing/
==== CUPS ====
* https://docs.freebsd.org/en/articles/cups/
su -l
sysrc cupsd_enable="YES"
service 'cupsd' start
==== Printer ====
* http://localhost:631/admin
* Log-in as regular user (not ''root'')
* Internet Printing Protocol (ipp)
* HP
* IPP Everywhere ™
* Output Mode: DeviceGray
* Duplex: DuplexNoTumble ((presumably double-sided printing, flip-on-long-edge))
ipp://192.168.1.164/ipp/print
Kole
===== Game Controllers =====
* :!: See [[bsd;notes;joystick|Joystick]]
===== OpenJDK =====
* 2024/11/25: ''openjdk17'' is a dependency for ''libreoffice''
su -l
ee '/etc/fstab'
# OpenJDK
fdesc /dev/fd fdescfs rw 0 0
mount | grep 'fdesc'
===== KeePassXC =====
==== Settings ====
* General -> [ ] Load previous databases on startup
* Security -> [x] Use DuckDuckGo service to download website icons
==== Database Password on Keyring ====
* For [[#keyboard_shortcuts|Keyboard Shortcut]]
secret-tool store --label='KeePass' 'keepass' 'default'
===== Secure Shell =====
* TODO
===== Drive Maintenance =====
==== UFS ====
* :!: TODO: Figure this and ''preen'' out
su -l
fsck_ufs -E -p -z -f -y '/dev/nda0p2'
===== Wine =====
* See [[bsd;notes;wine|Wine]]
===== Xorg =====
* [[bsd;notes;xorg.conf_snippets|xorg.conf Snippets]] (75Hz, ''evdev'')
==== Full RGB HDMI ====
ee ~/'.xinitrc'
xrandr --output 'HDMI-1' --set 'Broadcast RGB' 'Full'
xrandr --output 'HDMI-1' --set 'content type' 'Game'
'.' '/usr/local/etc/xdg/xfce4/xinitrc'
====== Firefox ======
* See [[programs;firefox|Firefox]]
====== Notable Folders and Commands ======
* See [[bsd;notes;misc]]