Most games work on Linux/Proton. Only a handful doesn't, and most of those are games with Anti-cheat.
But ProtonDB is an excellent place to check what you need to make it work, and you can give your own Review about how well it runs and if you did anything to make it run.
If you want to make most games run better, then i will recommend making two kinds of cache. DXVK STATE CACHE. 2. GL SHADER DISK CACHE.
DXVK cache is made when the game runs in DXVK and makes the games run better since all the Data it has Cache doesn't have to be Compiled all over again, which means less work for your PC and higher FPS and Smoother game-play in the long run.
DXVK is a Vulkan-based graphics API translation layer for Direct3D 9/10/11 developed for running 3D applications on Linux using Wine. It can, however, be applied to OMSI 2 (Windows/Linux) which result
GL Cache is NVIDIA Hardware cache, and it does the same as DXVK, but just for your GPU, which means less work for your GPU.
you can also make a dxvk.conf file that you put in where the Game .Exe is.
in that folder you can put in Command that help some games to run better or use the DXVK UI in game without has to putting in a command to do so for every game.
What i have in my dxvk.conf that i use in most games.
dxvk.useStateCache = True
dxvk.hud = compiler,pipelines,frametimes,drawcalls,fps
dxgi.maxFrameLatency = 1
dxgi.maxDeviceMemory = 4096
dxgi.maxSharedMemory = 4096
dxgi.nvapiHack = False
d3d9.deferSurfaceCreation = True
d3d9.maxAvailableMemory = 4096
d3d11.constantBufferRangeCheck = True
Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine - GitHub - doitsujin/dxvk: Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine