Yes I hate how Ubuntu sandboxes firefox by default (even when you install it via apt, it secretly installs the snap instead). Terrible. I eventually had to use a PPA just to get firefox.
Also, Nvidia is non-negotiable due to performance requirements and local deep learning experiments. I think Nvidia has gotten a lot better lately, even Sway (Wayland window manager) works these days. Incidentally I think the bad firefox framerates were only on i3 and not on Sway.
I'm docking my NVIDIA GPU with the vfio driver and have an Intel cheapest dGPU for my desktop.
Then i attach the NVIDIA GPU to either a Windows VM or a NixOS one for gaming or "work".
It takes space and PCIe lanes to do so however, so I run SATA6 drives still :)
But if you can splurge, having multiple GPUs isn't unreasonable, as "Postgrest" docs says(0): Use a collection of sharp tools rather than building a big ball of mud.
I used to have both an AMD GPU and an Nvidia GPU and also dual boot Linux and Windows. But that is an incredible hassle. Nowadays, Nvidia on Linux works pretty well, and gaming on Linux on Steam often works flawlessly with one click, so it's more like a Swiss army knife rather than a big ball of mud.
I never dualboot, Linux runs my hardware. I just pass my NVIDIA GPU between different VMs.
I also wrote a little Python script that uses evdev to capture a numpad I bought and bind keys to different scripts that bind and unbind USB devices from my VMs for gaming.
I run sound though QEMU and pipewire and I get 45ms headphones to mic latency (measured with audacity) so slightly below 23ms latency. (I get essentially half doing the same measurement in Linux)
Also, Nvidia is non-negotiable due to performance requirements and local deep learning experiments. I think Nvidia has gotten a lot better lately, even Sway (Wayland window manager) works these days. Incidentally I think the bad firefox framerates were only on i3 and not on Sway.