For interested parties, I’m currently testing a Pi Zero W (not Pi Zero 2) running WF Server connected to an Icom IC-7300. Here are the steps I took to get a working WF server.
First I downloaded and imaged an SD card with PI OS (Debian) 32 bit. ** Must be the 32 bit image for Pi zero W.
I configured userconf with user name pi and wpa_supplicant.conf for a wifi connection.
There is still quite a bit of the command handling code in wfserver, which is not needed so I may be able to reduce the CPU consumption a small amount. This is on my list to look at.
The vast majority of CPU is taken with audio encoding/resampling so one option is to set the native sample rate of Linux audio to 48K and use 16bit 48K on your client. This should passthrough the audio “practically” untouched. You should see from the server log what the current native sample rate/format is.
Are you using Opus audio? This can sometimes result in lower CPU as it sends much smaller packets.
I guess it’s all about finding balance between network bandwidth and CPU. Opus is complex and does a lot of computational things to lower the network bandwidth requirements. PCM, on the other hand, is pretty raw. Lots of bandwidth but no processing.
uLaw may be a good option since it uses a lookup table to get considerably more than 8 but dynamic range out of an 8 bit stream. Very low CPU with it.