[0] https://www.gamingonlinux.com/articles/codeweavers-on-how-pr...
I can't see why a third-party program cannot be used with Proton. You can just add it as an external program and enable windows compatibility as you would with a steam game.
- wine with some additional patches (written by Codewavers themselves so they will make it to wine proper)
- DXVK and its DX12 counterpart for better direct X compat (these work fine with wine, but they are not part of wine)
- Some bridging layer to let wine programs talk with native Steam (previously you would have had to run Steam itself under wine)
You can run other programs under proton by adding them to Steam, but probably not worth it for non games.
On average I don't expect specific merits using Proton vs using vanilla Wine for non-game applications. As far as I know, Proton-specific patches are usually hacks targeted either generally at games or at specific titles. Actually, using Proton could be worse than vanilla Wine, because Proton is based on a past version of Wine which only gets updated every now and then (last Proton is based on Wine 5.13), so you are missing some development (on the other hand, sometimes developing features breaks stuff, so this could also go the other way around).
Ideally, we always want as many patches as possible to go into vanilla Wine instead of Proton or CrossOver; first because we love free software and second because maintaining forked versions is time-consuming like mad. However Wine rightly has strict code quality requirements, and sometimes developing a proper fix for some bug is either impossible or too long; those cases are handled with patches in Proton (perhaps shared with Wine Staging or CrossOver).
Disclosure: I work for CodeWeavers on Proton. Opinions my own.
CrossOver and Proton are rather independent as codebases, except they're both constantly rebased on Wine. Of course patches can flow in both directions (and from either to vanilla Wine, which is the best), but AFAIK none is systematically based on the other.
I’ve always been curious, I stopped playing games shortly before steam on Linux, back then it was a mess of using various wine versions and configs on various games (or maybe I just sucked, I had far less luck getting stuff to work than others on Wine DB).
There are also some instances of game-specific behaviour: Proton detects at runtime which game is running and decides whether to enable or not some code. This is done for the most filthy hacks that are required to run something, but risk to spoil some other program. Search the code for instances of getenv("SteamAppId") or getenv("SteamGameId").
So yes, please leave reports, they will get addressed, eventually. :-)