This is an old revision of the document!
duckinator
- Name: Ellen Dash
- Email: me@duckie.co
- Website: https://smallest.dog
- Mastodon: @pup@vulpine.club
- AKA: duckie, puppy
I do a lot of work with Python, Rust, and C. You may know me from my work at Ruby Together, helping maintain RubyGems and Bundler.
Notes
- https://klarasystems.com/articles/automation-and-hacking-your-freebsd-cli/ — Info about some CLI tools integrating with libxo for JSON, XML, etc output.
- https://github.com/duckinator/fbsd-wiki-user-css/ — My experiments with custom User CSS for the FreeBSD wiki. (URL for the wiki setting is:
https://duckinator-fbsd-wiki-user-css.netlify.app/user.css)
Containers
Install runj + containerd + nerdctl, enable containerd, then finally start containerd:
pkg install runj containerd nerdctl && sysrc containerd_enable="YES" && service containerd start
Now you can run FreeBSD containers, albeit without networking. I had to run it as root, but the command is:
nerdctl run --net none -it knast/freebsd:13-STABLE
More info:
- The nerdctl documentation provides a nice summary of the state of things.
- Support for Linux containers on FreeBSD has been merged into containerd, and it looks like that will be included in v1.7.0.
- It looks like container networking on FreeBSD can be manually done, and it's just a matter of someone porting the reference CNI plugins to FreeBSD.
Discord
sudo pkg install linux-c7-nss linux-c7-atk linux-c7-at-spi2-atk linux-c7-cups-libs linux-c7-libdrm linux-c7-gtk3 linux-c7-alsa-lib linux-c7-ca-certificates
Use this script:
#!/compat/linux/bin/sh
mkdir -p ~/software
cd ~/software
if [ ! -d Discord ]; then
curl -L 'https://discord.com/api/download?platform=linux&format=tar.gz' | tar xzf -
fi
cd Discord
#PA_SOCK_PATH=$(sockstat | awk -v me=$(whoami) -F'[ \t]+' '$1 == me && $2 == "pulseaudio" && $6 ~ /native/ { print $6; exit 0 }')
#export PULSE_SERVER=unix:${PA_SOCK_PATH}
/usr/bin/env ./Discord --no-sandbox --no-zygote --in-process-gpu --v=0 "$@"
RX 6600 support
It looks like support for the AMD RX 6600 GPU will be in 14.0, and may also be added to a 13.x release at some point.
Building Latest Version Of Odamex
mkdir build && cd build && LDFLAGS="-L/usr/local/lib -R/usr/local/lib -lexecinfo -lcompat" cmake .. && make
Problems Encountered/Things To Document Fixes For
These are some of the notable problems I encountered while settling into using FreeBSD as my main OS for the first time in over a decade.
Audio
!!! This has been made a lot more complicated and harder to debug by the fact that apparently PulseAudio got installed anyway and I don't know how or why, and it starts with Firefox for some reason even though Firefox used to work without it.
Initially, I had lots of general audio glitchiness. Intermittent static/buzzing noises. Using virtual_oss allowed me to record desktop audio (with OBS, recordmydesktop, etc). The solution appears to be using an 8ms buffer for virtual_oss and avoiding PulseAudio. (Any time I install PulseAudio, I have trouble keeping it from starting and taking over audio for the whole system – which is a problem, given how poorly it performs on my system.)
NOTE: I am having trouble with intermittent audio glitchiness again. Apparently it wasn't a solution so much as an improvement.
OBS Studio
- Tries to drag in PulseAudio by default.
- PulseAudio has terrible performance on my system, so I'd rather not have it.
- The OBS binary package pulls in PulseAudio unconditionally.
- Making sure PulseAudio was not installed, then building OBS from ports with PulseAudio disabled works.
- You can't use OSS with the “Desktop Audio” feature. Use the
sndio input clientsource instead. - Install mesa-gallium-va and go into Settings → Advanced or something like that and enable ffmpeg encoding to get hardware acceleration.
- Should probably also install mesa-gallium-vdpau although idk what it affects.
Blender is slow
Blender is slow, by default. As someone else on the forums discovered, vblank_mode=0 blender or LIBGL_DRI3_DISABLE=1 blender does the trick.
Even if I continue to need one of those kludges, I'd at least like to know what the cause is.
Disc Drives
I added a blu-ray drive to my computer, and ran into the following problems:
- I can't play, let alone rip, a blu-ray disc.
- Ripping a *CD* (using
abcde) takes upwards of half an hour:idea: for some reason. On my girlfriend's computer, it takes roughly 5 minutes per CD. We swapped disc drives for unrelated reasons, and it still took half an hour on my system and about 5 minutes on her system. (TODO: Try seeing if it's reproducible on other OSes on my system.)
Ports/Packages That Are Missing Or Outdated
These ports either don't exist, or are outdated enough that it caused me problems:
- progress — no port/package.
- Discord — proper port/package is missing, but usable via web browser.
- Odamex — latest version as of 2023-01-18 is 10.3.0. version in ports is 0.7.0, which is multiple years old.
These ports were previously nonexistent or outdated, but are now both existent up-to-date enough that it doesn't cause me issues:
- Signal — now available as
signal-desktop - ruby-install — now up-to-date