====== Information ======
* FreeBSD ((https://www.freebsd.org/))
* Xfce ((https://www.xfce.org/))
* 15.1
* Spinesnap = Dell Latitude 5591 ((i5-8400H, UHD 630, AX210, UEFI; no Thunderbolt, no dGPU, [[devices:dell_latitude_5591_spinesnap|notes]]))
* 2026/03/05: [[https://bsd-hardware.info/?probe=7213be387f|hw-probe]]
uname -aKU
FreeBSD Spinesnap 15.1-PRERELEASE FreeBSD 15.1-PRERELEASE stable/15-n283067-e9d3512bb587 GENERIC amd64 1500507 1500507
====== TODOs ======
* [[bsd;notes;freebsd]]
* PC speaker beep at log-in ([[https://forums.freebsd.org/threads/how-to-have-pc-speaker-beep-when-log-in-is-ready.94934/|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]])
* [[bsd:notes:wifi]]
* :?: Disable geoclue agent in Xfce start
====== Download ======
* https://download.freebsd.org/snapshots/amd64/amd64/ISO-IMAGES/15.0/
FreeBSD-15.0-STABLE-amd64-20260416-e4f02a72f7f6-283007-memstick.img
====== Installation Notes ======
* Packages (Tech Preview)
===== Partitioning =====
* https://docs.freebsd.org/en/books/handbook/bsdinstall/#bsdinstall-partitioning
* Auto (UFS)
* GPT
DEVICE MAJ:MIN SIZE TYPE LABEL MOUNT
nda0 0:81 954G GPT - -
nda0p1 0:83 954G efi gpt/efi /boot/efi
nda0p2 0:85 954G freebsd-ufs gpt/freebsd-ufs /
nda0p3 0:87 954G freebsd-swap gpt/freebsd-swap SWAP
===== System Components =====
* https://docs.freebsd.org/en/books/handbook/bsdinstall/#bsdinstall-components
* ''[x]'' base
* ''[x]'' lib32
* ''[x]'' optional
===== 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
===== FreeBSD Firmware Installation =====
* ''[x]'' Everything
===== User =====
* Invite to other groups: ''wheel''
* Shell: ''sh''
===== Network =====
* Manual Ethernet (''em0'')
* Static IPv4
* Auto IPv6 with SLAAC
====== 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
====== Initial Set-up ======
* Log-in as ''root''
===== Time Sync =====
****
ntpd -g -q
===== Update =====
* https://docs.freebsd.org/en/books/handbook/cutting-edge/#pkgbase
pkg update -f
pkg upgrade
===== Firmware =====
****
fwget -v
===== Xorg =====
* https://docs.freebsd.org/en/books/handbook/x11/#x-install
* 2026/01/13: ''drm-latest-kmod'' crashed with Xfce randomly with ''xorg'' and failed to load at all when switched to ''xf86-video-intel''
pkg install xorg 'drm-61-kmod'
pw groupmod video -m espionage724
sysrc kld_list+=i915kms
===== Xfce =====
* https://docs.freebsd.org/en/books/handbook/desktop/#xfce-environment
pkg install xfce
sysrc dbus_enable=YES
echo '. /usr/local/etc/xdg/xfce4/xinitrc' > /home/espionage724/.xinitrc
chown espionage724:espionage724 /home/espionage724/.xinitrc
===== Etc =====
* ''firefox-esr'' at end
* :!: ''exit'' at end to log-into regular user before reboot
pkg install xdg-user-dirs filezilla firefox-esr
sync && exit
===== XDG User Dirs =====
* Ctrl + Alt + Del to reboot
espionage724
xdg-user-dirs-update --force
sync && exit
===== Login =====
* Username -> Password -> ''startx''
startx
====== Software ======
===== General =====
su -
pkg install evince-lite filezilla foliate gbrainy gimp keepassxc libreoffice mate-calc obs-studio viewnior thunar-archive-plugin thunderbird-esr 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 libressl mesa-demos mesa-dri mesa-devel mesa-libs noto unar wget xarchiver xrandr yt-dlp
===== Specs =====
* [[bsd:notes:misc#hw-probe]]
fastfetch lsblk
clear && fastfetch && uname -aKU && date
===== Wine =====
* https://docs.freebsd.org/en/books/handbook/wine/#installing-wine-on-freebsd
wine-devel wine-gecko-devel wine-mono-devel winetricks icoutils
===== Intel =====
****
libva-intel-driver
===== Games =====
****
neverball
==== DevilutionX ====
* [[games:bsd:devilutionx|DevilutionX]]
devilutionX
==== Doomsday Engine ====
* [[games;bsd;doomsday_engine|Doomsday Engine]]
doomsday
===== OpenVPN =====
****
openvpn-devel
===== Tor Browser =====
****
tor-browser
====== Non-Debug Kernel ======
* [[https://man.freebsd.org/cgi/man.cgi?query=malloc.conf&apropos=0&sektion=0&manpath=FreeBSD+16.0-CURRENT&format=html|malloc.conf]]
su -
echo 'abort:false,confirm_conf:false,abort_conf:false,percpu_arena:phycpu,dirty_decay_ms:-1,muzzy_decay_ms:-1,stats_print:false,junk:false,zero:false,utrace:false,xmalloc:false,zero_realloc:free,trust_madvise:true,retain:true' | tee '/etc/malloc.conf' > '/dev/null'
====== Settings ======
===== Groups =====
* ''operator'' to allow general reboot/power-off from ''xfce4-whiskermenu''
su -
pw groupmod 'operator' -m 'espionage724'
pw groupmod 'u2f' -m 'espionage724'
===== 32-bit Wine =====
* :!: Done from regular user and **not** ''root''
exit
'/usr/local/share/wine/pkg32.sh' --old -o 'ASSUME_ALWAYS_YES=YES' update -f && '/usr/local/share/wine/pkg32.sh' --old upgrade
'/usr/local/share/wine/pkg32.sh' --old install -r FreeBSD-ports wine-devel mesa-dri mesa-libs gstreamer1-plugins-good gstreamer1-plugins-ugly gstreamer1-libav libressl
'/usr/local/share/wine/pkg32.sh' --old autoremove && '/usr/local/share/wine/pkg32.sh' --old clean -a -q -y
===== MIME =====
gio mime 'text/plain' 'org.xfce.mousepad.desktop'
gio mime 'image/jpeg' 'viewnior.desktop'
gio mime 'image/png' 'viewnior.desktop'
gio mime 'image/bmp' 'viewnior.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|Chicago95]]
* :!: [[bsd;notes;chicago95_git|Install notes]]
* TODO: More conf (Debian), default notification delay 5s
* 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 (Transparent/Expand)
* Workspace Switcher
* Separator (Transparent)
* Status Tray Plugin (Fixed icon size: ''16'', ''[ ]'' Square items)
* Power Manager Plugin (No label)
* Clock
=== Whisker Menu ===
* Show as list
* ''[ ]'' Show generic application names
* ''[x]'' Show category names
* ''[x]'' Show application tooltips
* ''[ ]'' Show application descriptions
* Application icon size: ''Small''
* Category icon size: ''Smaller''
* General -> Menu width: ''425''
* General -> Menu height: ''525''
* ''[ ]'' Position categories horizontally
* ''[ ]'' Position categories on left
* ''[ ]'' Position profile on bottom
* ''[x]'' Position search entry on bottom
* ''[x]'' Position commands next to search entry
* Profile: ''Hidden''
* Display: ''Icon and title''
* Title: ''Start''
* Commands -> ''[x]'' Lock Screen, Log Out (top/''--fast''), Restart, Shut Down (uncheck rest)
=== Window Buttons ===
* ''[x]'' Show button labels
* ''[ ]'' Show flat buttons
* ''[ ]'' Show handle
* ''[ ]'' Show tooltips
* Sorting order: ''None, allow drag-and-drop''
* Middle click action: ''Nothing''
* ''[ ]'' Group windows by application
* ''[ ]'' Restore minimized windows to current workspace
* ''[ ]'' Draw window frame when hovering a button
* ''[ ]'' Switch windows using the mouse wheel
=== Clock ===
* Tooptip format: ''MM/DD/YY''
* Date/Time: Custom Format (respectively)
America/New_York
%a, %b %d
%l:%M %P
==== Power Manager ====
* Display -> ''Blank after'' and ''Put to sleep after'': Never
* Display -> Switch off after: 5 minutes
==== Terminal ====
* Scrollback: ''10000''
* ''[x]'' Cursor blinks
* ''[x]'' Use system font
==== Window Manager ====
* Style -> Theme -> Chicago95
==== Window Manager Tweaks ====
* :?: Accessibility -> Key used to grab and move windows ((default ''Alt'' interferes with Diablo "Show Items"))
* Accessibility -> ''[ ]'' Use mouse wheel on the title bar to roll up the window
* Accessibility -> ''[x]'' Notify of urgency by making window's decoration blink
* Workspaces -> ''[ ]'' Use the mouse wheel on the desktop to switch workspaces
* Compositor -> ''[ ]'' Enable display compositing
==== Screensaver ====
* TODO
==== Settings ====
* [[https://gitlab.xfce.org/xfce/xfwm4/-/blob/master/src/main.c#L407|vblank_mode]]
xfconf-query --channel 'xfwm4' --property '/general/vblank_mode' --type 'string' --set 'off' --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 "'/usr/local/bin/secret-tool' lookup 'keepass' 'default' | '/usr/local/bin/keepassxc' --pw-stdin ~/'Documents/keepass.kdbx'"
'/bin/sh' -c "'/usr/local/bin/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 "'/usr/sbin/mixer' 'vol'='+5%'" --create
xfconf-query --channel 'xfce4-keyboard-shortcuts' --property '/commands/custom/AudioLowerVolume' --type 'string' --set "'/usr/sbin/mixer' 'vol'='-5%'" --create
xfconf-query --channel 'xfce4-keyboard-shortcuts' --property '/commands/custom/AudioMute' --type 'string' --set "'/usr/sbin/mixer' 'vol'.'mute'='toggle'" --create
===== loader.conf =====
==== Spinesnap ====
su -
ee '/boot/loader.conf'
autoboot_delay="2"
efi_max_resolution="1600x900"
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="0"
hw.i915kms.guc_log_level="0"
hw.i915kms.verbose_state_checks="0"
hw.i915kms.error_capture="0"
compat.linuxkpi.iwlwifi_mvm_power_scheme="1"
==== Other ====
****
speaker_load="YES"
kern.vt.enable_bell="1"
==== Default ====
****
security.bsd.allow_destructive_dtrace=0
===== rc.conf =====
==== Spinesnap ====
su -
sysrc ifconfig_em0+="tso"
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"
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"
=== Wifi TODO ===
wlans_iwlwifi0="wlan0"
ifconfig_wlan0="WPA inet 192.168.1.150 netmask 255.255.255.0"
===== sysctl.conf =====
==== Spinesnap ====
* [[https://man.freebsd.org/cgi/man.cgi?query=securelevel&apropos=0&sektion=0&manpath=FreeBSD+16.0-CURRENT&format=html|securelevel]]
* [[https://docs.freebsd.org/en/books/handbook/config/#hwpstate_intel|hwpstate_intel]]
* ''hw.snd.default_unit=2'' sets HDMI audio default ((:!: Audio pin on iGPU is set disconnected in BIOS))
su -
ee '/etc/sysctl.conf'
machdep.idle="hlt"
machdep.idle_mwait="0"
dev.hwpstate_intel.0.epp="0"
machdep.mitigations.flush_rsb_ctxsw="0"
machdep.mitigations.rngds.enable="0"
kern.elf64.aslr.shared_page="0"
kern.elf64.aslr.stack="0"
kern.elf64.aslr.pie_enable="0"
kern.elf64.aslr.enable="0"
==== Default ====
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
===== 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
===== 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]]
'/usr/local/bin/secret-tool' store --label='KeePass' 'keepass' 'default'
===== Drive Maintenance =====
==== ZFS ====
* ''-p'' pauses scrub
zpool status 'zroot'
su 'root' -c "zpool scrub 'zroot'"
su 'root' -c "zpool scrub -p 'zroot'"
===== Xorg =====
* [[bsd;notes;xorg.conf_snippets|xorg.conf Snippets]]
====== Tweaks ======
su -
ee '/usr/local/etc/profile.d/general-tweaks.sh'
# General
export LD_BIND_NOW='1'
# GTK
export GDK_DEBUG='gl-prefer-gl'
export GDK_RENDERING='image'
export GSK_RENDERER='cairo'
export GTK_A11Y='none'
export GTK_OVERLAY_SCROLLING='0'
# Intel
export ANV_NO_GPL='1'
export anv_disable_link_time_optimization='true'
export force_guc_low_latency='false'
export allow_compressed_fallback='true'
# Mesa
export vblank_mode='0'
export MESA_NO_ERROR='1'
export mesa_glthread='false'
export MESA_DISK_CACHE_DATABASE='0'
export MESA_DISK_CACHE_SINGLE_FILE='0'
export allow_higher_compat_version='true'
export block_on_depleted_buffers='true'
export disable_throttling='true'
export force_integer_tex_nearest='true'
export vk_wsi_force_bgra8_unorm_first='true'
export vk_x11_ignore_suboptimal='true'
export vk_xwayland_wait_ready='false'
# End
====== Firefox ======
* [[programs;firefox|Notes]]
* Thunderbird uses some settings too ((Settings -> General -> (bottom) -> Config Editor = ''about:config''))
===== 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
'/usr/sbin/ntpd' -g -q > '/dev/null'
'/usr/sbin/pkg' update -f
'/usr/sbin/pkg' upgrade
'/usr/sbin/pkg' autoremove
'/usr/sbin/pkg' clean -a -q -y
'/usr/bin/su' $USER -c "'/usr/local/share/wine/pkg32.sh' --old -o 'ASSUME_ALWAYS_YES=YES' update -f"
'/usr/bin/su' $USER -c "'/usr/local/share/wine/pkg32.sh' --old upgrade"
'/usr/bin/su' $USER -c "'/usr/local/share/wine/pkg32.sh' --old autoremove"
'/usr/bin/su' $USER -c "'/usr/local/share/wine/pkg32.sh' --old clean -a -q -y"
'/usr/bin/su' $USER -c "'/bin/rm' -Rf ~/'.cache/mesa_shader_cache/'* ~/'.cache/thumbnails/'* ~/'.cache/mozilla/firefox/'* ~/'.cache/thunderbird/'*"
'/bin/sync'
read -p 'Done. Press Enter to exit.' 'x'
'/bin/sleep' '2'
# End
===== xrandr =====
==== Spinesnap ====
mkdir -p ~/'.local/scripts' && ee ~/'.local/scripts/xrandr-HDMI.sh' && chmod +x ~/'.local/scripts/xrandr-HDMI.sh'
#!/bin/sh
'/usr/local/bin/xrandr' --output 'HDMI-1' --set 'Broadcast RGB' 'Full'
'/usr/local/bin/xrandr' --output 'HDMI-1' --set 'content type' 'Game'
'/usr/local/bin/xrandr' --output 'HDMI-1' --set 'Colorspace' 'opRGB'
'/usr/local/bin/xrandr' --output 'HDMI-1' --set 'max bpc' '8'
'/usr/local/bin/xrandr' --output 'HDMI-1' --set 'audio' 'force-dvi'
# End
==== Autostart ====
* Trigger: ''on login''
xfce4-session-settings
'/bin/sh' -c "~/'.local/scripts/xrandr-HDMI.sh'"
====== Notable Folders and Commands ======
* See [[bsd;notes;misc]]