Jacob Roach / Digital Trends
TheSteam Deckhas produce into a certified smash succeeder .
With multiple millions of units sell , the equipment has changed the way we opine about PC gambling , spawned numerous clones , and secure a future tense for handheld play devices . With the backing of a multibillion - dollar corporation , that might not come in as much of a surprise .
But there ’s an untold history behind what has made the Steam Deck tick — a kernel of engineering passion that unlocked the teaser of making Linux gaming work at this scale . A big ball of it started with one independent developer — a man and his love for a game calledNier : Automata — and a community quick to take Linux gaming to the next level .
Humble origins
During the Steam Autumn sale last class , I resolve to pick upNier : Automata . The 2017 writing style - breakage , action - dangerous undertaking secret plan is on Digital Trends ’ inclination of thebest games of all time , and though I had played it a bit on PlayStation 4 , I never buy it on PC . As I typically do when bribe a game on Steam , I looked up some data about how it ran on Steam Deck and I come acrossthis Reddit thread .
The biz ran great , which is something I ’ve learned as I tardily crawl my manner through for 30 - instant academic term a few meter a week , but it was the first comment on this ribbon that started an obsession : “ Nier : Automatais 80 % of the reason Linux play is as expert as it is now , maybe 90 % . front into the history of DXVK . Long story short , one man ’s love for 2B is the ground we have any of these unbelievable DirectX translation layers today . ”
There ’s a lot to unpack there for the uninitiated , but when I came across that gossip , I was hooked . Because the commenter was right — Linux gaminghasgone through a radical transformation these preceding few years . In the past times , DirectX had been the principal vault to get the best . The vast majority of PC game apply Microsoft ’s DirectX app Programming Interface ( API ) , which as you might surmise , only works on Windows . Games place command to the API , which gets work ready for your hardware . commit that most secret plan were designed to work with DirectX , it meant you could n’t dally them on Linux — at least not natively .
For many twelvemonth , the basal workaround was a compatibility layer known as Wine , but plump for games were still very dispatch - or - drop . That ’s due to how Wine operate at the time for gaming . It would take DirectX teaching and render them to the OpenGL API . It worked for older or less demanding game , but there was a monumental functioning hit for modern titles leveraging more complex API instructions .
It really was n’t until a cross - platform API called Vulkan came out in 2016 that thing really begin to take a crook for Linux gambling . Created by the same consortium that built OpenGL , Vulkan was designed to give coder much more restraint over the GPU — exchangeable to something like DirectX 12 . With game cause increasingly complex , a low-toned - grade API like Vulkan was the tonality to unlocking performance mirror symmetry when translating DirectX command .
Valve had supported Linux effort for years , but Vulkan scar a turning tip . Around the meter Vulkan let go , Valve started work on its own effort to bolster Linux play call in Proton , a compatibility layer that ’s integrate directly into Steam . And just like that — you may drag the line straight from Vulkan and Proton to the Steam Deck . “ Vulkan is definitely an crucial piece of the puzzle , ” one Valve developer , Pierre - Loup Griffais , explained to me over electronic mail .
But Valve did n’t do it alone . In fact , based on the company ’s own commitment to the assailable - generator philosophy , Proton roll up together a few open - source translation layers into a single package . The whole matter is built on the back of wine-coloured , but for game , it utilize VKD3D for DirectX 12 and Zink for OpenGL . There ’s a key piece of engineering that ’s come to take on the bulk of game , though .
It depart with DirectX 11 , but now even include DirectX 10 and DirectX 9 . The name of the project isDXVK , which is ego - described as a “ Vulkan - free-base rendering layer for Direct3D 9/10/11 , which let running 3D applications on Linux using Wine . ”
How Nier changed everything
“ I start out the project for real around the time I got out of university and started looking for a job , but it was n’t really meant to be much more than a hobby project at first , ” Rebohle secern me . “ Still , initial development was fast , and I deal my onward motion with a small Discord community , which in turn forwarded some of the more significant milestones to Phoronix . ”
Phoronix , if you ’re unfamiliar , is a website dedicated to Linux hardware news and reviews . Remember that name .
accord to aninterview with GamingOnLinuxin 2018 , Rebohle “ always had an interest in computer graphic computer programing , ” but mostly tinker with hobby projects that , in Rebohle ’s own Scripture , “ never really evolved into anything useful . ” DXVK started due to some frustration with the realism of gaming on Linux , but also because Rebohle “ really wanted to get one specific game to work . ” That game wasNier : Automata .
Rebohle described himself as “ a bit of a fanboy when it come to Nier ” on theGamingOnLinux forumsin other 2018 , days after the initial release of DXVK . It was n’t just that Rebohle wish about this game , though . In talk with the developer , it was clear thatNier : Automatapresented a unique challenge .
“ Nier is the game that got me into learning — and debugging — the D3D11 API in the first stead , initially because it did not even sour on Windows on my RX 480 due to an AMD gadget driver bug , ” Rebohle told me .
Nier : Automatais a clean elementary DirectX 11 biz , set aside Rebohle to get the statute title running on Linux without too much rough-and-tumble . The personal computer interface also had major issues on Windows , not the least of which was the AMD driver bug Rebohle mention . Above all , though , “ it ’s just a damn good game , ” as Rebohle pronounce .
“ When it finally started running on Linux using Wine ’s OpenGL - based D3D version , it was kind of slow and not rendering properly , so I did some more serious debugging there and learned quite a lot in the process . Having played around with Vulkan before , the idea for DXVK was born some fourth dimension during this outgrowth , ” Rebohle say .
developing take off in late 2017 , but by January 2018 , Rebohle and a group of contributor had already gottenNier : Automataup and ply on Linux . Phoronix shared the newsworthiness , and shortly after , Rebohle land a contract with Valve to do work full - time on its capable - beginning projects translating Windows APIs to Vulkan . “ Did n’t take long after that clause was published for someone from Valve to reach out and ask if I wanted to run on this full - time as a contractile organ , ” Rebohle told me .
The developer is still working with Valve today , principally contributing to the DirectX 12 interlingual rendition layer known as VKD3D - Proton .
Rebohle bulge DXVK and remains the lead developer , but it ’s important to highlight the other developers who have bring to the labor . The GitHub project currently lists 137 contributors , and it ’s clean to say that the project would n’t be where it is today without the community elbow grease that drop dead into it . Still , it may have never started if it was n’t forNier : Automata .
“ It ’s honestly severe to say , ” as Rebohle put it to me .
What makes the Steam Deck special
“ Holy shit . Please excuse the language , but aboveboard , I ’m physically shake off right now . I do n’t quite get it on how to process this . ”
Just four years later , the Steam Deck would set up , putting Linux gambling on the map forever .
Although Valve could ’ve built a Steam Deck without Proton , it ’s hard to imagine it would have been successful . How do I know ? Well , one spell of evidence is the failure of Steam Machines . Valve release Steam Machines in 2015 , which were built to be low-priced , console table - like gaming microcomputer that ran on Valve ’s own Linux - based SteamOS . Half a year after releasing , Valve had sold less than half a million Steam Machines , withsome calling the gadget“dead in the water . ”
There are many potential explanation for the failure , but fit in to Valve , one of its job was attempting to adopt Linux gaming before it was really quick . In aninterview with IGN , Valve interior designer Scott Dalton said : “ There was always kind of this definitive poulet - and - testis job with the Steam Machine . That led us down this path of Proton , where now there ’s all these games that really race . ”
In train the Steam Deck , Valve could n’t sit idly and desire that more aboriginal Linux port pop out popping up , and it could n’t demand that developer make games specifically for its platform . Valve saw how that could fail through its Steam Machines experience . It needed a stockpile of game to support the Steam Deck , and the only sane way to reach that backlog was with a full-bodied compatibility bed for Linux .
It ’s clear that Proton require to work for the Steam Deck to be successful , too . Valve originally liberate Proton in August 2018 , three - and - a - half years before the Steam Deck released . you’re able to play grand of game through Proton now , but at the time , Valve only listed a small number of supported titles , includingDoom , Final Fantasy VI , Star Wars : Battlefront 2,and of line , Nier : Automata .
Since then , thousands of developers have contributed to either Proton or one of the various instauration it ’s built upon , but there ’s no denying DXVK is a decisive part of the Proton we have today . It ’s used for DirectX 11 , DirectX 10 , and DirectX 9 games , and even with DirectX 12 being the latest interlingual rendition , those three APIs still make up the lion ’s share of plot you ’ll find on Steam .
The Steam Deck is n’t the only hardware DXVK has impacted , either . Intelis leverage DXVKfor DirectX 9 game on its Arc GPUs by translate the dated DirectX 9 instructions to the more innovative Vulkan API .
Rebohle ’s unexpected contribution in DXVK has become a permanent fix of the game ontogeny world — a beautiful picture of the strength of undetermined - source development .
Linux gaming has a secure future
As fascinating a account as DXVK ’s origins is , that ’s not to say the Steam Deck could have never come to fruition on its own . Valve ’s Griffais narrate me that that it had other projects in the deeds to get DirectX 11 working , and if DXVK did n’t show up , “ one of these other DirectX 11 over Vulkan labor would have been prioritized alternatively . ”
Valve clearly already had Proton in the works before DXVK , and belike its plans for the Steam Deck . But would it have cultivate ? Would defend be as good as it is today ? How much longer would it have pick out ? What impact would that have had on the Steam Deck as a whole ? There ’s an alternate reality where DXVK is never part of Proton , sure , but that ’s not what pass off . DXVK has evolved into a foundational part of Proton , and therefore the Steam Deck , andNier : Automataplayed a key character in that .
“ DXVK is quite important to Proton , ” as Griffais puts it , and Valve has “ no program to move aside from DXVK for Proton . ”
The termination is that Linux gaming is in a much different station today than it was in early 2018 . The future has never seemed so vivid . It set forth with one developer ’s love ofNier : Automata , but the effort has produce into something so much swelled since . In the end , that ’s what makes overt - seed ontogeny so special . You never know whose fingerprints will end up in the terminal intersection and help mold the future of applied science .