The options, and which problem each solves:
Running ARM guests, fast. Several virtualisation products for Apple Silicon run ARM operating systems at near-native speed using the platform's own hypervisor framework. If you need a Linux virtual machine and can use the ARM build — which nearly all major distributions provide — this is the right answer and the performance is excellent.
Running x86 guests, slowly. Emulators exist and will boot an x86 system on ARM hardware. Expect it to be usable for light work and painful for anything demanding. Fine for testing an installer, not for a development environment you live in.
Containers rather than virtual machines. If the actual requirement is Linux userland rather than a full machine, ARM container images cover most of what people used virtual machines for, and they are fast.
A remote x86 machine. A cheap cloud instance or an old desktop in a cupboard, reached over the network. This is what I ended up doing for the few genuinely x86-only things.