

You could either add emulators as non-Steam games to Steam and launch it in Big Picture mode, or use RetroArch which is exactly made for this case
You could either add emulators as non-Steam games to Steam and launch it in Big Picture mode, or use RetroArch which is exactly made for this case
Why do you want to run emulators through Heroic? Most emulators run natively on Linux, most of them are available as flatpaks or native packages.
I feel like you’re trying to do too much at once. Installing Linux for the first time and immediately trying to use and understand containers and virtualization is like trying to fly a fighter jet after getting your first drivers license lesson. For example, Docker is useful in server contexts when you want independent, isolated servers running next to each other on the same physical machine, much less in desktop environments.
Take the time to understand the concepts first. Proton/Wine are translation layers that let you run Windows applications/games on Linux almost as native applications, Steam and Heroic are storefronts to download and install paid games, Docker/Podman are used to run containers, virtual machines are fake computers inside your real computer that can be easily managed with Gnome Boxes for example, etc.
My take:
For gaming:
For Windows applications:
Think of the OS as a sum of hundreds of components. You have a kernel, a boot manager, a boot and service manager system, a shell, some command line utils, drivers, a display server, a graphical interface, a sound server etc.
On a classical OS, all these components are distributed individually as packages. Which means that there is a risk of failure at any update: discrepancies on dependencies or compiler versions, failed updates, power outages etc.
“Immutable”, also called “atomic” or “transactional” OSs, distribute the whole stack as a single image. If it reminds you of Docker, that’s because it’s exactly the same thing. An update can’t fail. It’s either fully applied or not at all. And that’s because it’s not an update at all, it’s a complete system image deployed alongside the one currently in use. If it doesn’t work, you can simply “downgrade” by selecting the previous image.