Sometimes both. I recently started using an old Macbook with Void, which they have notorious broadcom-wl, so I searched a lot and a got a micro network adapter. It was actually quite hard to find with a working driver because Realtek. Anyway this one I found seemed to had a dkms driver on Void repo, so I went with that.
The dkms driver gives bunch of errors for some reason. I didn't have time to debug it and just compiled from Github. Naturally I have to compile it every kernel update. I probably can add a hook for it but haven't done that yet because lazy.
Edit: Added a kernel hook. It's not harder than writing this comment. :)