Counter to my expectations, using ffmpeg to x11grab works totally
fine, but I can't get audio working. Maybe just audio playback.

I guess the direct rendering manager is used to working with poor
resources for what it wants to do, but I don't have a dedicated
audio card. I quit out of x11 and have been trying this:

$ aucat -h raw -e u8 -r 4000 -o test.raw

this appears to work (with my usual mic) but then when

$ aucat -h raw -e u8 -r 4000 -i test.raw

I get up to a few seconds of playback, then aucat crashes due to
audio underflow. So I'm not sure if it's just a resource
constrained playback thing.

Sampling frequency 4000 is openbsd aucat's minimum. I tried single
channel rather than stereo, but it also seemed not to help

-c 0:0

but I could have made some other error. To my knowledge these are
the minimum audio constraints on modern openbsd.