20160304 - Tim Sweeney on UWP - And My Thoughts on the Topic


The Guardian Op-Ed by Tim Sweeney : Microsoft wants to monopolise games development on PC. We must fight it

If the Industry Wants an Alternative It's Free to Make That Alternative!
There has never been a better time to do so either.
Great quality Linux Vulkan drivers are soon to be here from all three of the major desktop GPU manufactures. An engine designed for Vulkan is going to run fantastic on Linux. Linux with some major distro re-shaping (below), can be made into an awesome alternative desktop OS, with traditional WinNT era ideals. As an open system, the Linux platform has the opportunity to be shaped into an OS which has a console-like Quality of Service guarantee for games and VR. For example, the base kernel already has support for real-time priority and pinned CPU memory. The opportunity for gaining benefits on Linux for VR is tremendous: think about OS guaranteed chunks of time on CPU and GPU timed exactly to HMD sync rate in combination of guaranteed resident memory with absolutely no hitching or paging.

Valve still has an amazing opportunity if they would take a reformed SteamOS to the desktop instead of just the living room. Valve has the PC OEM link required with Steam to still pull this off on a pre-installed system.

The effort required to build a reformed Linux starts with fully scrapping the traditional Linux distro, and starting from scratch. Reformed distro needs to break conventions core to the politics of the Linux scene: reformed distro runs binary self contained packages dependent on only the kernel, hardware libraries like Vulkan, and Steam libraries. App install needs to be as easy as dragging a folder into an applications folder on the drive. App delete needs to be as easy as deleting the app's folder. Linux dependency nightmare is removed from the equation.

Treat this like an embedded Linux device. Start with only the Linux kernel, light-weight replacement for glibc (like musl), light-weight shell tools (like busybox), add back only what is required to get the core consumer and developer needs supplied. Things like Wine for some Windows binary compatibility, web browser and associated plugins, movie viewer, mixer control, audio player, browser, Steam, working with usb sticks, decompressing/compressing files, etc, all work out of the box. Scrap the "you need to be a system's programmer" standard Linux configuration system. Something like one file, with a easy GUI control panel for standard users, would be a better option. Run from RAM after boot with the exception of large apps.

Everything on reformed Linux distro either works out of the box, or isn't included. User experience is paramount. The go/no-go gauge for this system, is if a non-computer person can use without instruction and without any kind of frustration.

Seriously it is a Less Than a Year Effort
I'd offer some of my at-home personal-time to contribute to an organized public effort to build this reformed distro. Years ago I developed and maintained a minimized personal-use from-scratch Linux distro which fit on a 100 MB ZIP disk. All this effort needs is a group of people who all agree enough to make forward progress, who are willing to see the thing to completion. Employers who might benefit from this, could start by sponsoring some official at-work time to work on the effort. Etc.

An alternative doesn't exist because of lack of coordination and action from people who care enough to do something about it. Single individuals don't stand a chance on their own. I've re-pitched this idea for years with no buy-in, would love to hear from others who might be interested in making it happen.

For this to work, GL or Vulkan "ports" of DX11 based Windows games isn't going to cut it. Game devs who want an alternative, need to take responsibility to solve the chicken and egg problem. To provide a sustained incentive for a consumer to buy into the platform alternative you are asking for even thought it starts without enough market share to justify the effort in the short term. Consoles get this with critical mass of exclusive 1st party games. A new PC platform can only get this with a sustained migration, until a critical mass point is reached such that it is possible to be the lead platform.

First step is giving consumers a choice without compromise. Release with performance and quality parity on Linux and Windows. The start is taking Vulkan seriously, retooling for the new API to leverage what it is capable of. Using Vulkan to get simultaneous Win7/8/10 support and Linux support from one effort. This is a win-win situation, even if the Linux effort never takes, the investment in Vulkan on Win7/8 will enable investment in better tech which isn't constrained by having a DX11 fallback rendering path. Major game efforts on Vulkan will force IHVs to dedicate effort to tuning and bug fixing drivers. As developers, you choose what you want to be good by launching a game using the API. Real titles are the best form of QA testing, as they have real-world coverage :) Have Linux working during development: a WIN32 and Linux Kernel interface portability layer is trivial to make.

Closing
The industry continuing on its current trajectory won't bring back the conventions of the past. The opportunity to possibly change that exists, if people are willing to band together to build it.