Thanks for your reply, Norman!
The reason I thought of using WebAssembly modules as a distribution method was that Linux graphics drivers are seldom as independent of binary blobs as other Linux drivers. One NVidia card I had had become incompatible with the Linux kernel during an upgrade despite having worked well for years. Linux has an unstable ABI so the binary blobs within the closed-source driver didn't have the correct offsets for the kernel modules after the version 5 kernel update.
Recently, NVidia started embedding RISC-V controllers into their cards so that the drivers can be implemented as a simple message passing driver instead of the elaborate driver designs of the past. This makes their pledges of making closed source drivers on Linux a thing of the past, a reasonable thing to expect.
I hope that other drivers can become pure open-source as well. With network adapters, I'm not so hopeful. That's why I think that the binary blobs used by the network adapter companies are WebAssembly outside the browser. It might not happen overnight but as WebAssembly compilers become better, perhaps binary blobs will become a thing of the past or at least use a common bytecode like WebAssembly.
Maybe next year the backlash against binary blobs will become sufficient to adopt new standards. Until then, I'm looking forward to a Genode PinePhone.
Sincerely,
Samuel D. Crow