Doing hardware can be tricky indeed. Since I mostly had almost all Prototype refreshments in hand and had tested them you see how the quality of the product grows over time.
In the beginning the ergonomics were not great, controllers mushy or partly not working at all. Then you try to make the best of it and hide the flaws you might easily spot when you do a demo at a tradeshow for customers. It is always brave to show early products to potential customers and deal with harsh feedback early.
Most of the prototypes to produce are very costly, so they get recycled and reused or fixed in some funny ways to make them work. You have a Frankenstein who married the daughter of McGyver. And your father in law fixed some issues on your circuits.
Also updating Firmware can be tricky. For example an older prototype I updated and created a dead duck cos PCB layout had changed on newer models so the new firmware stopped supporting the earlier prototypes completely. To fix that, you either have to remove the BIOS ROM chip or use a special tool to reflash it with the older BIOS firmware to make it work again. So is it broken? Well, soft broken. Hardware still works, just don’t boot cos it doesn’t find stuff it needs.
Then getting things like suspend, sleep and other power related stuff working can be tricky too. It didn’t sleep cos some part of the monitor cable always sent a wake me up signal. So we found a way to ignore that to make the earlier prototypes work.
You also have close contact to vendors, manufacturers from many companies like AMD and others. Finding the right contact in kernel development and other aspects can be tricky, but if you know how to navigate you find them.
Then there is the developer community for Gaming on Linux. Sure there are many distros but the common distro wars the end users do exists there not. Here we help each other and point out which patches who is working on to make it a whole.
To get Manjaro into the gaming niche I started with the ASUS ROG ALLY, as it was the easiest and most near available product I could buy when our hardware project started. You need something to work on. Sure that also didn’t work perfectly. So even final products may need 6 months or so to get fully supported on Linux and then it might take up to one year to land in Mainline Linux.
If you pay that effort you can fasttrack that all. If you want community developers to do the job, it will take a while and you need to find those who will do it and are able to do so. So you invest a lot of your time and money up front and hope in the end it will be a success in such a way it compensates you in the end for the efforts you put into that project so far.
It is a new world you work in and you see different aspects and how you design your operating system.