====== Information ======
* FreeBSD
* 15.0-BETA2
* Xfce
* :!: 2025/10/22: WIP
* Spinesnap = Dell Latitude 5591 ((i5-8400H, UHD 630, AX210, UEFI; no TB, no dGPU))
FreeBSD 15.0-STABLE
====== 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 ([[bsd:notes:misc#mount_mtp]])
* Install note 32-bit libs https://docs.freebsd.org/en/books/handbook/bsdinstall/#bsdinstall-components
* [[bsd:notes:wifi]]
* Install: log-in root, do everything until ''xdg-user-dirs'', log into user, that + ''startx'' ((no point user -> ''su -'' for initial set-up))
====== Download ======
* https://download.freebsd.org/releases/amd64/amd64/ISO-IMAGES/15.0/
FreeBSD-15.0-BETA2-amd64-memstick.img
====== Installation Notes ======
===== Partitioning =====
* https://docs.freebsd.org/en/books/handbook/bsdinstall/#bsdinstall-partitioning
* Auto (UFS)
* RST/RAID Enabled (not AHCI)
DEVICE MAJ:MIN SIZE TYPE LABEL MOUNT
nda0 0:83 954G GPT - -
nda0p1 0:85 260M efi gpt/efi /boot/efi
nda0p2 0:87 950G freebsd-ufs gpt/freebsd-ufs /
nda0p3 0:89 3.9G freebsd-swap gpt/freebsd-swap SWAP
===== System Configuration =====
* https://docs.freebsd.org/en/books/handbook/bsdinstall/#bsdinstall-sysconf
* ''[ ]'' Everything (nothing checked)
===== System Hardening =====
* https://docs.freebsd.org/en/books/handbook/bsdinstall/#bsdinstall-hardening
* ''[x]'' Everything
===== User =====
* Invite to other groups: ''wheel''
* Shell: ''sh''
===== Network =====
* DHCP or Static on Ethernet (''em0'')
* DHCP on USB Tether (''ue0'')
====== Network ======
===== Wifi =====
* 2025/08/15
* [[bsd;notes;wifi|Notes]]
===== 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
* TODO: ''pkg''
===== pkg =====
su -
pkg update -f
pkg upgrade
===== Firmware =====
su -
fwget -v
====== Xorg ======
* https://docs.freebsd.org/en/books/handbook/x11/#x-install
su -
pkg install xorg 'drm-66-kmod'
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 && exit & reboot
===== Login =====
* Username -> Password -> ''startx''
* TODO: xdg dirs before first log-in
startx
====== Software ======
===== Initial =====
su -
pkg install firefox-esr xdg-user-dirs filezilla
==== XDG Dirs ====
* :!: Done from regular user and not ''su''
exit
xdg-user-dirs-update --force
===== General =====
su -
pkg install evince-lite thunderbird-esr 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 mesa-dri mesa-devel mesa-libs noto unar wget xarchiver xrandr yt-dlp
===== Specs =====
****
fastfetch lsblk
===== Wine =====
* https://docs.freebsd.org/en/books/handbook/wine/#installing-wine-on-freebsd
wine wine-gecko wine-mono winetricks
===== Intel =====
****
libva-intel-driver
===== Games =====
****
neverball
==== DevilutionX ====
* [[games:bsd:devilutionx]]
devilutionX
==== Doomsday Engine ====
* [[games;bsd;doomsday_engine|Doomsday Engine]]
doomsday
===== OpenVPN =====
****
openvpn-devel
===== Tor Browser =====
****
tor-browser
====== Settings ======
===== Groups =====
* ''operator'' to allow general reboot/power-off from ''xfce4-whiskermenu''
su -
pw groupmod 'operator' -m 'espionage724'
===== 32-bit Wine =====
* :!: Done from regular user and not ''root''
exit
'/usr/local/share/wine/pkg32.sh' update -f && '/usr/local/share/wine/pkg32.sh' upgrade
'/usr/local/share/wine/pkg32.sh' install wine mesa-dri mesa-devel mesa-libs 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]]
* :!: [[bsd;notes;chicago95_git|Install notes]]
* Style -> Chicago95
* Icons -> Chicago95
==== Desktop ====
* Menus -> Desktop Menu -> ''[ ]'' Include applications menu on desktop right click
* Menus -> Window List Menu -> ''[ ]'' Show window list menu on desktop middle click
* Toggle Background -> Color to ''Horizontal gradient'' and back to ''Solid color''
==== Panel 1 ====
=== Display ===
* Measurements -> Row size (pixels): ''30''
=== Items ===
* Whisker Menu
* Window Buttons
* Separator (Style: ''Transparent'', ''[x]'' Expand)
* Workspace Switcher
* Separator (Style: ''Transparent'', ''[ ]'' Expand)
* Status Tray Plugin (Fixed icon size: ''16'', ''[ ]'' Square items)
* Power Manager Plugin (Show label ''None'')
* Clock
=== Whisker Menu ===
* General -> Show as list
* General -> ''[ ]'' Show generic application names
* General -> ''[x]'' Show category names
* General -> ''[x]'' Show application tooltips
* General -> ''[ ]'' Show application descriptions
* General -> Application icon size: ''Small''
* General -> Category icon size: ''Smaller''
* General -> Menu width: ''425''
* General -> Menu height: ''525''
* General -> Background opacity: ''100''
* Appearance -> Menu -> ''[ ]'' Position categories horizontally
* Appearance -> Menu -> ''[ ]'' Position categories on left
* Appearance -> Menu -> ''[ ]'' Position profile on bottom
* Appearance -> Menu -> [x] Position search entry on bottom
* Appearance -> Menu -> [x] Position commands next to search entry
* Appearance -> Menu -> Profile: ''Hidden''
* Appearance -> Panel Button -> Display: ''Icon and title''
* Appearance -> Panel Button -> Title: ''Start''
* Commands -> ''[x]'' Lock Screen, Log Out (top/''--fast''), Restart, Shut Down (uncheck rest)
=== Window Buttons ===
* Appearance -> ''[x]'' Show button labels
* Appearance -> ''[ ]'' Show flat buttons
* Appearance -> ''[ ]'' Show handle
* Appearance -> ''[x]'' Show tooltips
* Appearance -> Sorting order: ''None, allow drag-and-drop''
* Behaviour -> Middle click action: ''Nothing''
* Behaviour -> ''[ ]'' Group windows by application
* Behaviour -> ''[ ]'' Restore minimized windows to current workspace
* Behaviour -> ''[ ]'' Draw window frame when hovering a button
* Behaviour -> ''[ ]'' Switch windows using the mouse wheel
* Filtering -> ''[ ]'' Show windows from all workspaces
* Filtering -> ''[ ]'' Show only minimized windows
* Filtering -> ''[x]'' Show windows from all monitors
=== Clock ===
* Appearance -> Layout: ''Digital''
* Clock Options -> Layout: ''Date, then time''
* Clock Options -> Date -> Format: ''Custom Format'' (1st)
* Clock Options -> Time -> Format: ''Custom Format'' (2nd)
%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 -> 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
==== Screensaver ====
* TODO
==== Settings ====
xfconf-query --channel 'xfwm4' --property '/general/vblank_mode' --type 'string' --set 'xpresent' --create
xfconf-query --channel 'xfce4-session' --property '/general/SaveOnExit' --type 'bool' --set 'false' --create && rm -Rf ~/'.cache/sessions'
=== Fonts ===
xfconf-query --channel 'xsettings' --property '/Xft/Antialias' --type 'int' --set '1' --create
xfconf-query --channel 'xsettings' --property '/Xft/HintStyle' --type 'string' --set 'hintnone' --create
xfconf-query --channel 'xsettings' --property '/Xft/RGBA' --type 'string' --set 'none' --create
xfconf-query --channel 'xsettings' --property '/Xft/DPI' --type 'int' --set '96' --create
===== Keyboard =====
****
xfce4-keyboard-settings
==== Behavior ====
* Repeat delay: ''400''
* Repeat speed: ''30''
==== Shortcuts ====
* Ctrl + Alt + Z
* F6
'/bin/sh' -c "secret-tool lookup 'keepass' 'default' | keepassxc --pw-stdin ~/'Documents/keepass.kdbx'"
'/bin/sh' -c "xfce4-terminal -T 'FreeBSD Updater' -x su 'root' -c ~/'.local/scripts/freebsd-updater.sh'"
=== 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 'pcm'='+5%'" --create
xfconf-query --channel 'xfce4-keyboard-shortcuts' --property '/commands/custom/AudioLowerVolume' --type 'string' --set "mixer 'pcm'='-5%'" --create
xfconf-query --channel 'xfce4-keyboard-shortcuts' --property '/commands/custom/AudioMute' --type 'string' --set "mixer 'pcm'='mute=toggle'" --create
===== loader.conf =====
==== Spinesnap ====
su -
ee '/boot/loader.conf'
security.bsd.allow_destructive_dtrace=0
kern.geom.label.disk_ident.enable="0"
kern.geom.label.gptid.enable="0"
cryptodev_load="YES"
zfs_load="YES"
autoboot_delay=2
hw.usb.usbhid.enable=1
hw.acpi.video.lcd0.fullpower=100
hw.em.enable_aim=0
hw.em.eee_setting=0
hw.i915kms.modeset=1
hw.i915kms.nuclear_pageflip=1
hw.i915kms.fastboot=1
hw.i915kms.enable_psr=0
hw.i915kms.enable_psr2_sel_fetch=0
hw.i915kms.panel_use_ssc=0
hw.i915kms.enable_ips=0
hw.i915kms.enable_fbc=0
hw.i915kms.enable_dc=0
hw.i915kms.disable_power_well=0
hw.i915kms.enable_guc=3
hw.i915kms.guc_log_level=0
hw.i915kms.verbose_state_checks=0
hw.i915kms.error_capture=0
compat.linuxkpi.iwlwifi_mvm_power_scheme=1
==== Unused ====
hw.efi.poweroff="0"
hw.acpi.osname="Windows 2017"
exec="gop set 0"
==== Boot Commands ====
* TODO: Under misc
boot
gop list
===== rc.conf =====
==== Spinesnap ====
* ''TSO'' does both ''TSO4'' and ''TSO6''
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 tso"
defaultrouter="192.168.1.1"
#ifconfig_em0_ipv6="inet6 accept_rtadv"
moused_nondefault_enable="NO"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="NO"
zfs_enable="YES"
kld_list="i915kms acpi_video"
dbus_enable="YES"
webcamd_enable="YES"
sysrc ifconfig_em0+="tso"
=== Wifi TODO ===
wlans_iwlwifi0="wlan0"
ifconfig_wlan0="WPA inet 192.168.1.150 netmask 255.255.255.0"
===== 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
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"
===== 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
===== OpenJDK =====
su -
ee '/etc/fstab'
# OpenJDK
fdesc /dev/fd fdescfs rw 0 0
# End
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 [[#shortcuts|Keyboard Shortcut]]
secret-tool store --label='KeePass' 'keepass' 'default'
===== Drive Maintenance =====
==== ZFS ====
* TODO [[bsd:notes:zfs_nas_format]]
zpool status 'zroot'
===== Wine =====
* [[bsd;notes;wine#tweaks|Tweaks]]
===== Xorg =====
* [[bsd;notes;xorg.conf_snippets|xorg.conf Snippets]] (75Hz, ''evdev'')
==== Spinesnap ====
xrandr --verbose
ee ~/'.xinitrc'
xrandr --output 'eDP-1' --set 'Broadcast RGB' 'Full'
xrandr --output 'eDP-1' --set 'Colorspace' 'opRGB'
'.' '/usr/local/etc/xdg/xfce4/xinitrc'
=== 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='cairo'
export GTK_A11Y='none'
# Mesa
export MESA_NO_ERROR='1'
export mesa_glthread='false'
export MESA_DISK_CACHE_DATABASE='0'
export MESA_DISK_CACHE_SINGLE_FILE='0'
# Intel
export ANV_NO_GPL='1'
# End
====== Firefox ======
* [[programs;firefox|Notes]]
* Thunderbird uses some settings too ((Settings -> General -> (bottom) -> Config Editor = ''about:config''))
===== sndio Audio Fix =====
* [[https://forums.freebsd.org/threads/stuttering-video-in-browsers-oss-related.97857/#post-701850|Post]]
* [[https://www.youtube.com/watch?v=Hg0Sjh9VMTk|Video]]
* 2025/08/20: Still required to fix above video
su -
pkg install 'sndio'
==== Autostart ====
* Application Autostart -> ''+ Add'' -> Trigger: ''on login''
xfce4-session-settings
'/usr/local/bin/sndiod'
===== Colors =====
* Green
A9D158
* Red
EA4335
* Blue
0078D4
====== Scripts ======
===== Updater =====
* [[#shortcuts|Keyboard Shortcut]]
mkdir -p ~/'.local/scripts' && ee ~/'.local/scripts/freebsd-updater.sh' && chmod +x ~/'.local/scripts/freebsd-updater.sh'
#!/bin/sh
ntpd -g -q > '/dev/null'
freebsd-update fetch install
pkg update -f
pkg upgrade
pkg autoremove
su 'espionage724' -c "'/usr/local/share/wine/pkg32.sh' update -f"
su 'espionage724' -c "'/usr/local/share/wine/pkg32.sh' upgrade"
su 'espionage724' -c "'/usr/local/share/wine/pkg32.sh' autoremove"
su 'espionage724' -c "rm -Rf ~/'.cache/mesa_shader_cache'*"
sync
read -p 'Done. Press Enter to exit.' 'x'
sleep '2'
# End
====== Notable Folders and Commands ======
* See [[bsd;notes;misc]]