There are so many combinations of hardware that can be used in a "PC", I'm surprised we don't have a scrolling list of people that stopped writing drivers like actors that died this year.
There are these things called standards and API's and as long as people stay within them then everything works. What breaks stuff is when developers take short cuts to meet sprint deadlines thinking it's no big deal, only to have that code break a year or three later. On the flip side project managers will chronically underreport the required resources for a project in order to meet some quarterly / yearly budget target which only makes the problem worse.