====== 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]]