All you have to do is add a significant user base, say 5-10% of the market and it will be competitive with Mac and I am sure there will be lots more commercial software for it.
I would also like to mention that my sister is a total computer dummy. Her computer always gets infected with malware and lots of it. But I installed Linux on it because I did not have a Windows install disk. And she loves it because it doesn't get malware anymore. And she loves the fact that she can install free software using Ubuntu's software center. That's a true story.
A year or so later, they both use Mac. In both cases, the inevitable question came "so I bought this <peripheral/software>, how can I get it to work?".
When they want some hw or sw, they ask what would I recommend. They realize that they know nothing about it and do not want to buy some crap.
Of course it's complicated, more complicated than Windows, depending on your type of program. But seeing how Valve made it work for games, I think it's going to be seen more and more.
All I run natively is MS office stuff, chrome/ff, and vpn/vnc/ssh remote access type stuff. I have a linux desktop box on my desk running all the remote stuff plus native emacs that I use for most real work, the little old MS box is just for opening Excel sheets and legacy Word docs occasionally.
Its been a long time since I've run a non-MS (and non-chrome non-FF) binary on a MS desktop at work. Many years at least. The future is the web not native apps. IT will no longer deploy native client apps as a policy, so its not like any are officially ever coming back.
Decades ago its amusing to recall how much work IT folks had to do to install dozens of 3rd party applications on desktops before we'd get to use them. We had multipage checkbox forms. Now its "office, FF and chrome" and some corporate secret sauce (corporate anti-virus whatever type stuff) and they're done. A more draconian employer would just install office and force minions to use MSIE. And google docs and competitors are taking over all non-corporate "productivity app" work. With web access and outlook web mail and free viewers, technically most worker drones don't need anything more than a MSIE bootloader, although its more humane to let people use FF / Chrome.
For most employees, if it boots and runs FF or chrome, that's all they use to earn their pay, so no difference if MS, linux, freebsd, or mac.
You mean "window manager", right? Why would depend on a specific WM unless you were writing a WM-specific utility where no decision would be necessary? Your application only needs to target X11, which is implicit when you use a pre-existing toolkit.
> audio devices
What audio devices? Just write to the default ALSA device. Better yet, delegate the problem by linking to something like OpenAL.
I'm sure there are edge that are more complicated to port, but that is true for any OS. For most apps, porting shouldn't be particularly difficult.
But making sure that it runs under a sufficiently large number of distributions/versions of distribution is under GNU/Linux.
I guess it depends on how many dependencies you're relying on and on what those dependencies are, but the process is pretty smooth.
If they manage to develop things for Android, it can be done for Linux, too.
(Source: developed and packaged a commercially-distributed Linux application. Not too painful a process.)