I think you somewhat missed the point. Sure it is complex to support all gpus. But that's not the point of the article. The article is about small things like being able to customize the controls and not having to login in an useless service. Those are thing possible without much effort.
If you dou a port and miss to modify the basics, you ruin your port, your reputation, and thus lose money. There is no point in doing the awful part of the port, like gpu-support, but miss the easy but necessary steps.