

I know people have been investing a lot of work into getting Nvidia into a state where it Just Works, but if you don’t need any fancy Nvidia features and are starting from scratch I’d honestly just recommend getting an AMD card just so you don’t have to worry about it.
What games are you thinking of running and what resolution/frequency monitor do you have/want?
All three are web based frontends for git repositories; you use git to send and receive code to/from them for storage and sharing. They all also provide other things useful to developers such as issue tracking, wikis and such. They are different products that fulfill the same role.
It’s all proprietary software (presumably) written in-house. We don’t have access to it.
Github:
Pro: Wider reach, everyone knows about Github.
Con: Proprietary; your code is hosted based on the whims of Microsoft.
Forgejo:
Pro: Open source, selfhostable. There’s a big instance on https://codeberg.org/ which a lot of open source projects are starting to move to.
Con: It’s smaller and not as well known as Github. In theory it may also lack features, but I’ve not seen any that have gotten in my way.
Gitlab:
Pro: It’s… I guess in second place in terms of popularity? It’s also selfhostable.
Con: It’s one of those open source projects with paid closed source features, so not really appealing to either group. It’s also had questionable management decisions recently.
If you want to selfhost a git server, I’d recommend Forgejo; it seems to be the most friendly towards the open source and selfhosting communities.