Step by Step setup checklist for my own Freebsd Desktop
Note:
Seems like there is a lot to do, but it is worth the extra effort and in my opinion a good way to learn
FreeBSD is very stable and reliable and does not constantly call home like some other OS's.
My preferred desktop is xcfe4 and this checklist is based on it, go to the link here for other desktops for FreeBSD.
Tick each box as you go below.
freebsd-0001 [*] src System source tree Helps with Nvidia Graphics installation.[ ] base-dbg Base system (Debugging) [ *] kernel-dbg Kernel (Debugging) [ ] lib32-dbg 32-bit compatibility libraries (Debugging) [ *] lib32 32-bit compatibility libraries [ ] ports Ports tree [ *] src System source tree [ ] tests Test suite
[ ] local_unbound local caching validating resolver [ ] sshd Secure shell daemon [ ] moused PS/2 mouse pointer on console [ ] ntpd Synchronize system and network time [ ] ntpd_sync_on_start Sync time on ntpd startup, even if offset is high [ ] powerd Adjust CPU frequency dynamically if supported [ ] dumpdev Enable kernel crash dumps to /var/crash
[X] 0 hide_uids Hide processes running as other users [X] 1 hide_gids Hide processes running as other groups [X] 2 hide_jail Hide processes running in jails [X] 3 read_msgbuf Disable reading kernel messages buffer for unprivileged [X] 4 proc_debug Disable process debugging facilities for unprivileged user [X] 5 random_pid Randomize the PID of newly created processes [X] 6 clear_tmp Clean the /tmp filesystem on system startup [X] 7 disable_syslogd Disable opening Syslogd network socket (disable remote) [X] 8 secure_console Enable console password prompt [X] 9 disable_ddtrace Disable DTrace destructive-mode
wheel operator videoFreeBSD Installer #### Example Below for username imani ####### ======================= Add User Username: imani Full name: imani Uid (Leave empty for default): Login group [imani]: login group is imani. Invite imani into other groups? [ ]: wheel operator video login class [default]: Shell (sh csh tcsh nologin) [sh]: Home directory [/home/imani]: Home directory permissions (Leave empty for default): Enable ZFS encryption? (yes/no) default is [no]: Use password-based authentication? [yes]: Use an empty password? (yes/no) [no]: Use an random password? (yes/no) [no]: Enter password: Enter password again: Lock out the account after creation? [no]: Username : imani Password : ***** Full Name : imani Uid : 1001 Class : Groups : imani wheel operator video Home : /home/imani Home Mode : Shell : /bin/sh Locked : no OK? (yes/no) : [yes]: adduser: Info: Successfully added (imani) to the user database. Add another user? (yes/no) [no]:
Tip:
FreeBSD Editor ee will be used below. At the top of the file window, you will see a list of commands.
These are all prefixed with a ^ symbol – this means the Control key.
Example: ^u end of file – press Ctrl + U keys
freebsd-update fetch installqrebootpkg update bectl create before-graphics-added pkg install xf86-video-intel-2.99.917.923_1,1 ee /boot/loader.conf xf86-video-intel-2.99.917.923_1,1_load="YES" pkg install drm-kmod ee /etc/rc.conf Add kld_list="i915kms" ee /usr/local/etc/X11/xorg.conf.d/20-intel.conf ESC key to bring up menu and save Section "Device" Identifier "Card0" Driver "intel" EndSection
rebootfreebsd-update fetch installqpkg update pciconf -lv | grep -B3 display Will show if your GPU has been identified bectl create before-graphics-card-addedfreebsd-update fetch installpkg update pkg install nvidia-driver sysrc kld_list+=nvidia-modeset ee /usr/local/etc/X11/xorg.conf.d/20-nvidia.conf
Section “Device”
Identifier “Card0”
Driver “nvidia”
EndSection
rebootcat /var/log/Xorg.0.log | grep -i nvidiaWill show if your GPU driver has been installed
pkg install glmark2OpenGL Rendering test tool glmark2
glmark2Will start the GPU OpenGL Rendering test
pkg install nvidia-settingsDisplay Control Panel for X NVidia driver
nvidia-settingsOpens Display Control Panel for X NVidia driver, can also be accessed from Desktop.
bectl create before-desktop-addedpkg install xorgpkg install xfcepkg install lightdm lightdm-gtk-greetersysrc lightdm_enable="YES"sysrc dbus_enable="YES"sysrc hald_enable="YES"ee /etc/fstab and add: proc /proc procfs rw 0 0 Example #Device Mountpoint FStype Options Dump Pass# proc /proc procfs rw 0 0
mkdir -p /usr/local/etc/pkg/reposcp /etc/pkg/FreeBSD.conf /usr/local/etc/pkg/repos/FreeBSD.confee /usr/local/etc/pkg/repos/FreeBSD.conf reboot Login to Desktop with your user name su add root password bectl create before-software-addedpkg install sudoee /usr/local/etc/sudoers scroll down and remove this # from belowroot ALL=(ALL:ALL) ALL %wheel ALL=(ALL:ALL) ALL
exitsudo pkg update add your passwordsudo pkg upgrade sudo pkg install firefox https://artiste1.com/artiste1-freebsd-desktop-setup To copy and paste code below sudo pkg install libreofficesudo ee /etc/fstab and add: fdesc /dev/fd fdescfs rw 0 0 sudo pkg install vlcsudo pkg install xfce4-pulseaudio-plugin & sudo sysrc sndio_enable="YES"sudo pkg install audacious audacious-pluginssudo pkg install notepadnextsudo pkg install remminasudo pkg install networkmgr sudo ee /boot/loader.confvfs.zfs.arc_max="2147483648" vfs.zfs.arc_min="1073741824"
sudo kldload fusefssudo sysrc kld_list+=fusefssudo pkg install fusefs-ntfssudo ee /boot/loader.conf Add code belowfusefs_load="YES" fuse_load="YES"
su add root's passwordls -l FreeBSD Basics 3.4. Permissions Documentation Website gpart list add to example below zvol/nvme1tb or /ada1 setfacl -m u:username:full_set::allow /nvme1tb sudo bectl create finished-setupsudo bectl list shows all available backupssudo bectl activate finished-setup makes it the defaulf bootsudo bectl destroy backup-01 deletes if not needed, you will get a warning if its the defaulf boot
sudo bectl list copy the boot backupsudo bectl activate your-backup it will now be the defaulf startup boot Tip: Open Terminal sudo bsdconfig bsdconfig a Graphical User Interface to change freebsd configuration settings
Note: This checklist provides a general guide for setting up FreeBSD Desktop.
Specific steps may vary depending on your specific requirements.
Always refer to the official documentation for the most up-to-date information.