====== Information ======
* FreeBSD ((https://www.freebsd.org/))
* 14.1 ((https://www.freebsd.org/releases/14.1R/relnotes/)) ((https://www.freebsd.org/releases/14.1R/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]])
* i915 GuC/HuC firmware ([[https://forums.freebsd.org/threads/is-intel-gpu-guc-huc-firmware-used-hw-i915kms-enable_guc.94924/|thread]])
* Android ''adb'' ([[https://forums.freebsd.org/threads/adb-android-tools.93731/#post-670844|post]])
* [[https://svnweb.freebsd.org/ports/head/devel/git/Makefile?view=markup&pathrev=564784#l73|Git tiny/lite differences]]
====== 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 =====
==== ZFS ====
* TODO: UFS instead
* Auto ZFS on Root
* Pool Type/Disks: stripe: 1 disk (''nda0'', [[linux;notes;drive_wipe|512e Sectors, wiped NVMe]])
* :!: ''NO'' Force 4K Sectors
===== System Configuration =====
* [x] ''local_unbound''
* ''sshd'' unchecked
* ''moused'' unchecked
* [x] ''ntpd''
* [x] ''ntpd_sync_on_start''
* ''powerd'' unchecked
* ''dumpdev'' 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="myssid"
psk="mypsk"
}
===== 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
====== 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
su -l
pkg install xorg drm-kmod
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 filezilla firefox xdg-user-dirs
==== 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 mpv thunar-archive-plugin transmission-gtk 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
===== 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
==== Other ====
****
minecraft-client
===== 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 ====
* 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 -> Uncheck Custom DPI setting
==== Panel Preferences ====
* Items -> Add -> Whisker Menu (move to beginning of Items and remove Applications Menu) ((default app menu doesn't allow right-clicking desktop entries which prevents extra 2004scape and Wine launcher stuff))
* Items -> Window Buttons -> Settings Wrench -> Uncheck ''Group windows by application''
==== Terminal ====
* General -> [x] Unlimited Scrollback
* Appearance -> [x] Use system font
* Appearance -> Background -> Transparent Background ''0.80''
==== Window Manager ====
* Style -> Theme -> Greybird-dark
===== loader.conf =====
==== Spinesnap ====
su -l
ee '/boot/loader.conf'
autoboot_delay="2"
hw.usb.usbhid.enable="1"
==== 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"
defaultrouter="192.168.1.1"
ifconfig_em0_ipv6="inet6 accept_rtadv"
local_unbound_enable="YES"
ntpd_enable="YES"
ntpd_sync_on_start="YES"
moused_nondefault_enable="NO"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="NO"
zfs_enable="YES"
kld_list="i915kms"
dbus_enable="YES"
cupsd_enable="YES"
===== 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'
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 updated: 2024/09/09
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'
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]]
===== profile.d =====
==== Mesa ====
su -l
ee '/usr/local/etc/profile.d/Mesa-tweaks.sh'
# Mesa
export MESA_DISK_CACHE_SINGLE_FILE='1'
export MESA_DISK_CACHE_DATABASE='1'
export MESA_DISK_CACHE_COMBINE_RW_WITH_RO_FOZ='1'
export VAAPI_MPEG4_ENABLED='1'
export mesa_glthread='true'
export MESA_NO_ERROR='1'
# End
===== OpenJDK =====
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
==== Add Database Password to GNOME Keyring ====
****
secret-tool store --label='KeePass' 'keepass' 'default'
===== Secure Shell =====
* TODO
===== Drive Maintenance =====
==== UFS ====
su -l
fsck_ufs -E -f -y -z '/dev/nda0p2'
===== Wine =====
* See [[bsd;notes;wine|Wine]]
===== Xorg =====
* [[bsd;notes;xorg.conf_snippets|xorg.conf Snippets]] (75Hz, ''evdev'')
==== Full RGB HDMI ====
* ''xrandr'' lines go above ''xfce4/xinitrc''
ee ~/'.xinitrc'
xrandr --output HDMI-1 --set "Broadcast RGB" Full
xrandr --output HDMI-1 --set "content type" Game
====== Firefox ======
* See [[programs;firefox|Firefox]]
====== Notable Folders and Commands ======
===== Font Cache =====
****
fc-cache -r -v
===== Drive Wipe =====
gpart show
gpart destroy -F 'da0'
===== USB Flash Drive =====
camcontrol devlist
usbconfig -d '/dev/ugen0.6' power_off
===== User/Group =====
awk -F":" '{print $1}' /etc/passwd
awk -F":" '{print $1}' /etc/group
pw userdel 'x' -r
pw groupdel 'x'
===== pkg =====
* ''x'' is package name
pkg info -l x
pkg autoremove
===== Handbook =====
pkg info -l 'en-freebsd-doc'
gio open '/usr/local/share/doc/freebsd/en/books/handbook'
===== CPU Frequency =====
****
su -l root -c "sysctl 'dev.cpu.0.freq' 'dev.cpu.1.freq' 'dev.cpu.2.freq' 'dev.cpu.3.freq' 'dev.cpu.4.freq' 'dev.cpu.5.freq' 'dev.cpu.6.freq' 'dev.cpu.7.freq'"
===== Network Restart =====
su -l
'/etc/netstart'
===== hw-probe =====
* https://bsd-hardware.info/
* https://bsd-hardware.info/?view=howto
* 2024/09/13: [[https://bsd-hardware.info/?probe=99f8e55057|Spinesnap]]
su -l
pkg install 'hw-probe'
hw-probe -all -upload
===== Crashdump Clean-up =====
****
rm -fv ~/*'.core'
===== Xfce Settings Reset =====
rm -fv ~/'.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml'
gio open ~/'.config/xfce4/xfconf/xfce-perchannel-xml'
gio open ~/'.config/xfce4/xfconf'
===== Audio Output Switch =====
* https://docs.freebsd.org/en/books/handbook/multimedia/#sound-mixer
* https://man.freebsd.org/cgi/man.cgi?query=mixer
mixer -a
echo ' Headphones ' && mixer -d 'pcm1' -f '/dev/mixer1'
echo ' Onboard ' && mixer -d 'pcm0' -f '/dev/mixer0'
===== Logs =====
newsyslog -v -CC -N
cat '/dev/null' > '/var/log/all.log'
cat '/dev/null' > '/var/log/Xorg.0.log'
gio open '/var/log'
ls -la '/var/log'
==== syslog.conf ====
=== all.log ===
== Enable ==
* Uncomment
su -l
ee '/etc/syslog.conf'
#*.* /var/log/all.log
== Permissions ==
su -l
touch '/var/log/all.log' && chmod '600' '/var/log/all.log'
== View ==
su -l
ee '/var/log/all.log'
===== Other Files/Paths =====
* TODO