The only major stumbling block for Linux gaming is kernel level anti-cheat, which some people equate to behaving like malware anyway. Several anti-cheat systems (e.g. BattlEye, Easy Anti Cheat, XIGNCODE3) have Linux support, but some game developers refuse to enable them on Linux for...reasons. Some feel that it forces them to fully support Linux when they don't see an economic reason to or other claims it's ineffective because it's not kernel level on Linux.
As far non-Steam gaming stores go, I use Heroic Games Launcher, which has Linux, macOS and Windows versions and supports easily playing all your GOG, Epic and Amazon titles in one launcher. You can also use Lutris to cover even more game stores in one client, but I found it less friendly than Heroic. I don't play multi-player games and I do a quick check on protondb.com if Steam says a game is "Unsupported" (which doesn't mean it doesn't run on Linux - quite often the reverse is true). I reckon at least 95% of my 3,000+ Steam Library (plus almost 1000 games in other stores - almost all freebies from GOG, Epic and Amazon) works on both my Steam Deck and my Fedora Linux desktop fine.