====== Information ======
* FreeBSD ((https://www.freebsd.org/))
* 14.2-RELEASE (([[https://www.freebsd.org/releases/14.2R/relnotes/|relnotes]], [[https://www.freebsd.org/releases/14.2R/announce/|announce]]))
* Xfce ((https://www.xfce.org/))
* 2025/03/10: ''FreeBSD 14.2-RELEASE-p2'' ((random ''fastfetch''es might show ''p1'' still; kernel update?))
====== TODOs ======
* [[bsd;notes;freebsd]]
* [[bsd:notes:ports_temp|Ports/Src]] (drm-61-kmod; newer note in above link)
* 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]])
* Wine ''wine.bin'' kill desktop launcher
* Android ''adb'' ([[https://forums.freebsd.org/threads/adb-android-tools.93731/#post-670844|post]])
* Android file transfers with MTP (''adb pull'' works)
* Install note 32-bit libs https://docs.freebsd.org/en/books/handbook/bsdinstall/#bsdinstall-components
* Spinesnap = Dell Latitude 5591 laptop ((Intel UHD 630, no TB, no dGPU))
====== Download ======
* https://download.freebsd.org/releases/amd64/amd64/ISO-IMAGES/14.2/
FreeBSD-14.2-RELEASE-amd64-memstick.img
====== Installation Notes ======
===== Partitioning =====
* https://docs.freebsd.org/en/books/handbook/bsdinstall/#bsdinstall-partitioning
* UFS
===== System Configuration =====
* [x] ''local_unbound''
* Everything else unchecked
===== System Hardening =====
* [x] Everything checked
===== User =====
* Invite to other groups: ''wheel''
* Shell: ''sh''
===== Network =====
* DHCP or Static on Ethernet (''em0'')
* DHCP on USB Tether (''ue0'')
====== Network ======
===== USB Tethering =====
* https://forums.freebsd.org/threads/usb-tethering-detected-and-up-but-no-internet.88441/
* :?: Might apply to any type of USB network device that shows up under ''ue#''
su -
sysrc ifconfig_ue0=SYNCDHCP
/etc/netstart
====== Time Sync ======
su -
ntpd -g -q
====== Update ======
===== FreeBSD =====
* https://docs.freebsd.org/en/books/handbook/cutting-edge/#freebsdupdate-security-patches
su -
freebsd-update fetch install
sync && reboot
===== pkg =====
su -
pkg update -f
pkg upgrade
====== Xorg ======
* https://docs.freebsd.org/en/books/handbook/x11/#x-install
su -
pkg install xorg 'drm-515-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 -
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 ======
===== Repos =====
==== FreeBSD-latest ====
* TODO: Move somewhere else (not actively used)
su -
mkdir -p '/usr/local/etc/pkg/repos' && ee '/usr/local/etc/pkg/repos/FreeBSD-latest.conf'
FreeBSD: { enabled: no }
FreeBSD-latest: {
url: "pkg+https://pkg.freebsd.org/${ABI}/latest",
enabled: yes,
priority: 0,
mirror_type: "SRV",
signature_type: "FINGERPRINTS",
fingerprints: "/usr/share/keys/pkg"
}
==== FreeBSD-kmods ====
* TODO: Move somewhere else (not actively used)
* https://lists.freebsd.org/archives/freebsd-ports/2024-December/006997.html
su -
mkdir -p '/usr/local/etc/pkg/repos' && ee '/usr/local/etc/pkg/repos/FreeBSD-kmods-latest.conf'
FreeBSD-kmods-latest: {
url: "pkg+https://pkg.freebsd.org/${ABI}/kmods_latest_${VERSION_MINOR}",
enabled: yes,
priority: 1,
mirror_type: "SRV",
signature_type: "FINGERPRINTS",
fingerprints: "/usr/share/keys/pkg"
}
===== Initial =====
su -
pkg install xdg-user-dirs filezilla firefox
==== XDG Dirs ====
* :!: Done from regular user and not ''su''
exit
xdg-user-dirs-update --force
===== General =====
su -
pkg install evince-lite thunderbird foliate gbrainy gimp keepassxc libreoffice mate-calc mpv 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 mesa-devel noto unar wget xarchiver xrandr yt-dlp
===== Chicago95 =====
* https://github.com/grassmunk/Chicago95
* https://www.freshports.org/x11-themes/chicago95
chicago95
===== rox-filer =====
* https://www.freshports.org/x11-fm/rox-filer/
* :?: Interesting for a spatial file manager
rox-filer
===== Fastfetch =====
* https://www.freshports.org/sysutils/fastfetch
fastfetch
===== Wine =====
* https://docs.freebsd.org/en/books/handbook/wine/#installing-wine-on-freebsd
wine-devel wine-gecko-devel wine-mono-devel winetricks
===== Intel =====
****
libva-intel-media-driver
===== Games =====
****
neverball
==== 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
su -
pw groupmod 'operator' -m 'espionage724'
===== 32-bit Wine =====
* :!: Done from regular user and not ''su''
exit
'/usr/local/share/wine/pkg32.sh' update -f && '/usr/local/share/wine/pkg32.sh' upgrade
'/usr/local/share/wine/pkg32.sh' install wine-devel mesa-dri gstreamer1-plugins-good gstreamer1-plugins-ugly gstreamer1-libav libressl
'/usr/local/share/wine/pkg32.sh' autoremove
===== MIME =====
gio mime 'text/plain' 'org.xfce.mousepad.desktop'
gio mime 'image/jpeg' 'org.xfce.ristretto.desktop'
gio mime 'image/png' 'org.xfce.ristretto.desktop'
gio mime 'image/bmp' 'org.xfce.ristretto.desktop'
gio mime 'application/pdf' 'org.gnome.Evince.desktop'
gio mime 'application/epub+zip' 'com.github.johnfactotum.Foliate.desktop'
===== Xfce =====
==== Appearance ====
* [[https://github.com/grassmunk/Chicago95/blob/master/INSTALL.md#enabling-chicago95|Chicago95]]
* Style -> Chicago95
* Icons -> Chicago95
* 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''
008080
==== Panel 1 ====
* Items -> Add -> Whisker Menu (move to beginning of Items and remove Applications Menu)
* Items -> Status Tray Plugin -> Fixed icon size (pixels): ''16''
* Items -> Status Tray Plugin -> Uncheck ''Square items''
=== Items ===
* Whisker Menu
* Separator (Handle)
* Window Buttons
* Separator (Transparent, **Expand**)
* Separator (Handle)
* Workspace Switcher
* Separator (Handle)
* Status Tray Plugin (Fixed ''16'', uncheck Square items)
* Separator (Handle)
* Power Manager Plugin
* Separator (Handle)
* Clock
=== Whisker Menu ===
* General -> Uncheck ''Show generic application names''
* General -> Uncheck ''Show application descriptions''
* General -> Menu width: ''425''
* General -> Menu height: ''525''
* General -> Background opacity: ''100''
* Appearance -> [x] Position search entry on bottom
* Appearance -> [x] Position commands next to search entry
* Appearance -> Profile: Hidden
* Appearance -> Display: Icon and title
* Appearance -> Display: ''Start''
* Commands -> [x] Lock Screen, Log Out (top/''--fast''), Restart, Shut Down (uncheck rest)
=== Window Buttons ===
* Appearance -> Uncheck ''Show flat buttons''
* Appearance -> Uncheck ''Show handle''
* Appearance -> Sort order: ''None, allow drag-and-drop''
* Behaviour -> Uncheck ''Group windows by application''
* Behaviour -> Uncheck ''Switch windows using the mouse wheel''
=== Clock ===
* Time Settings -> Timezone: ''America/New_York''
* Appearance -> Layout: Digital
* Clock Options -> Layout: Date, then time
* Clock Options -> Date/Time Format: Custom Format
* Date
%a, %b %d
* Time
%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 -> Chicago95
==== Window Manager Tweaks ====
* Compositor -> ''Enable display compositing'' on for no tearing, or off for lowest latency
* Compositor -> Uncheck ''Show shadows under popup windows''
* Compositor -> Uncheck ''Show shadows under dock windows''
* Compositor -> Uncheck ''Zoom desktop with mouse wheel''
* 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: ''5'' minutes
* Lock Screen -> Disable Session Status Messages
* Lock Screen -> Disable User Switching
==== Settings ====
xfconf-query --channel 'xfwm4' --property '/general/vblank_mode' --type 'string' --set 'off' --create
xfconf-query --channel 'thunar' --property '/misc-volume-management' --set 'false'
xfconf-query --channel 'thunar' --property '/misc-show-delete-action' --set 'true'
xfconf-query --channel 'xfce4-notifyd' --property '/theme' --type 'string' --set 'Chicago95' --create
xfconf-query --channel 'xfce4-terminal' --property '/misc-show-unsafe-paste-dialog' --set 'false'
xfconf-query --channel 'xfce4-terminal' --property '/font-use-system' --set 'true'
===== Keyboard =====
==== Behavior ====
* Repeat delay: ''400''
* Repeat speed: ''30''
==== Shortcuts ====
bash -c "secret-tool lookup 'keepass' 'default' | keepassxc --pw-stdin ~/'Documents/keepass.kdbx'"
xfce4-terminal --title='FreeBSD Updater' --command "su - 'root' -c 'freebsd-update fetch install && pkg update --force && pkg upgrade && sync && echo 'Done' && sleep '3''"
xfce4-popup-whiskermenu
* Vol Up
mixer 'vol'='+5%' > '/dev/null'
* Vol Down
mixer 'vol'='-5%' > '/dev/null'
* Vol Mute
mixer 'vol'='mute=toggle' > '/dev/null'
* Brightness Up
backlight incr '10'
* Brightness Down
backlight decr '10'
=== 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''))
* ''backlight'' commands bound to ''MonBrightnessUp'' and ''MonBrightnessDown'' ((Spinesnap requires ''acpi_video''))
=== xfconf-query ===
xfconf-query --channel 'xfce4-keyboard-shortcuts' --property '/commands/custom/Super_L' --type 'string' --set 'xfce4-popup-whiskermenu' --create
xfconf-query --channel 'xfce4-keyboard-shortcuts' --property '/commands/custom/MonBrightnessUp' --type 'string' --set "backlight incr '10'" --create
xfconf-query --channel 'xfce4-keyboard-shortcuts' --property '/commands/custom/MonBrightnessDown' --type 'string' --set "backlight decr '10'" --create
xfconf-query --channel 'xfce4-keyboard-shortcuts' --property '/commands/custom/AudioRaiseVolume' --type 'string' --set "mixer 'vol'='+5%' > '/dev/null'" --create
xfconf-query --channel 'xfce4-keyboard-shortcuts' --property '/commands/custom/AudioLowerVolume' --type 'string' --set "mixer 'vol'='-5%' > '/dev/null'" --create
xfconf-query --channel 'xfce4-keyboard-shortcuts' --property '/commands/custom/AudioMute' --type 'string' --set "mixer 'vol'='mute=toggle' > '/dev/null'" --create
===== loader.conf =====
==== Spinesnap ====
su -
ee '/boot/loader.conf'
security.bsd.allow_destructive_dtrace=0
autoboot_delay=2
hw.usb.usbhid.enable=1
hw.acpi.video.lcd0.fullpower=100
hw.i915kms.enable_psr=0
hw.i915kms.enable_fbc=0
hw.i915kms.enable_dc=0
hw.i915kms.disable_power_well=0
==== Unused ====
hw.acpi.osname="Windows 2017"
exec="gop set 0"
==== Boot Commands ====
* TODO: Under misc
boot
gop list
===== rc.conf =====
==== Spinesnap ====
su -
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"
defaultrouter="192.168.1.1"
ifconfig_em0_ipv6="inet6 accept_rtadv"
local_unbound_enable="YES"
moused_nondefault_enable="NO"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="NO"
kld_list="i915kms acpi_video"
dbus_enable="YES"
webcamd_enable="YES"
===== sysctl.conf =====
==== Spinesnap ====
* https://docs.freebsd.org/en/books/handbook/config/#hwpstate_intel
su -
ee '/etc/sysctl.conf'
dev.hwpstate_intel.0.epp=0
security.bsd.see_other_uids=0
security.bsd.see_other_gids=0
security.bsd.see_jail_proc=0
security.bsd.unprivileged_read_msgbuf=0
security.bsd.unprivileged_proc_debug=0
kern.randompid=1
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/12/11
su -
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"
===== Backlight =====
su -
sysrc kld_list+="acpi_video"
===== 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 -
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 - root -c 'service cupsd onestart'
su - root -c 'service cupsd onestop'
==== 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]]
===== mpv =====
mkdir -p ~/'.config/mpv' && ee ~/'.config/mpv/mpv.conf'
save-position-on-quit
sub-auto=fuzzy
force-window=yes
profile=gpu-hq
scale=ewa_lanczossharp
cscale=ewa_lanczossharp
video-sync=display-resample
interpolation
tscale=oversample
hwdec=vaapi
hwdec-codecs=all
===== OpenJDK =====
* 2024/11/25: ''openjdk17'' is a dependency for ''libreoffice''
su -
ee '/etc/fstab'
# OpenJDK
fdesc /dev/fd fdescfs rw 0 0
mount | grep 'fdescfs on /dev/fd'
mount | grep 'procfs on /proc'
===== 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 =====
==== ZFS ====
* TODO [[bsd:notes:zfs_nas_format]]
===== 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'
xrandr --output 'HDMI-1' --set 'Colorspace' 'opRGB'
'.' '/usr/local/etc/xdg/xfce4/xinitrc'
====== Tweaks ======
su -
ee '/usr/local/etc/profile.d/general-tweaks.sh'
# GTK
export GSK_RENDERER='gl'
# Mesa
export mesa_glthread='false'
export MESA_NO_ERROR='1'
# Intel
export ANV_PRIMITIVE_REPLICATION_MAX_VIEWS='0'
export ANV_NO_GPL='1'
# End
====== Firefox ======
* See [[programs;firefox|Firefox]]
====== Notable Folders and Commands ======
* See [[bsd;notes;misc]]