This was fairly easy because they already had ARM64 support (Switch) and x86 Linux support. That meant they had already worked out any architectural differences and they had a set of Linux-friendly libraries. The only real hurdles were:
- Getting a non-Frame ARM64 Linux system for testing
- Steam ARM64 teething issues since Valve has been working on the expectation that nearly everything will be either x86 or ARM Android builds run through a wrapper
- A single library that uses a funky build system
If they'd outsourced the Switch port to a porting house or didn't already have Linux support, this would have been a ton of work.