This is an old revision of the document!


duckinator

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.


It looks like support for the AMD RX 6600 GPU will be in FreeBSD 14.0, and may also be added to a 13.x release at some point.

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

You can also specify --platform linux/amd64 to run Linux containers:

nerdctl run --platform linux/amd64 --rm -it docker.io/library/debian:11-slim

More info:

  • If you want to use an image from Docker Hub, specify the image as docker.io/<user>/<container>:<tag>.
    • For containers where no user is specified, pretend <user> is library: e.g., docker.io/library/debian:11-slim or docker.io/library/alpine:latest.
  • Support for Linux containers on FreeBSD landed in containerd 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.

Unreliable, buggy, WIP.

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 "$@"
mkdir build && cd build && LDFLAGS="-L/usr/local/lib -R/usr/local/lib -lexecinfo -lcompat" cmake .. && make

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.

!!! 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.

  • 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 client source 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, 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.

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.)

These ports either don't exist, or are outdated enough that it caused me problems:

  • progress &mdash; no port/package.
  • Discord &mdash; proper port/package is missing, but usable via web browser.
  • Odamex &mdash; 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:


  • duckinator.1683957021.txt.gz
  • Last modified: 2023/05/13 05:50
  • by duckinator