 Good morning everyone. My name is David Brooks and welcome to the stage of open-source games and open-source game tools in 2021 Or get into the weeds of it I absolutely have to thank the two talented artists Victorians been who dedicated time and a lot of effort and love Making some cute penguins to make the slide deck a little bit better a little bit by myself I'm a cyber security engineer by day I'm a computer science master student at night studying Game development and computer science at the University of New Orleans. I am an NDD game developer Linux gamer open-source gamer Gamer on Linux any combination and think of basically I moved to Linux as my primary gaming platform back in 2012 and it wasn't quite as easy as it is now Make it a game platform on the agenda today. We're going to be looking at History of where we are with open-source games To understand where we are in 2021 and where we're probably going we need to take a look back and where we've been We're also going to look at some open-source gaming tools that enable us to play Windows-based games Usually closed-source games on Linux those tools include wine crossover Lutrous we're going to look at a lot of the technologies that enable those games to work from Specifically the Chronos group. We're going to look at what OpenGL was and is We're Vulcan came from open XR and then Val's contributions to Allowing us to play a lot of Windows games on Linux and You know generally have a good time the The limiting thing I had with this presentation was deciding what to keep in what to keep out because there are so many people So many companies that he came their time and effort to make Linux a first-class gaming platform And in 50 minutes, I do not have enough time to talk about it and that makes me sad but We'll start out with a little bit of history the first Open-source game that I can find And anybody can correct me if I'm not going back far enough 1973 hunt the wumpus Most of us probably weren't born then yet It is a tech space game It features a character your hunting and monster called a wumpus. There are series of caves It was innovative because instead of like a grid-based cave system like apparently a lot of its peers were back then The rooms in this cave system were mapped to the surface of a dodecahedron It's it's inspired us through culture. It's like the wumpus if you play D&D. It's made it as a character in D&D There's been songs written about it. It's kind of neat How far it's come 1982 pinball constructor set Apple 2e game originally This looks like cga graphics like if you remember ancient graphics You're gonna get those those teals and these purples and It's Interesting to see like this progression we get to 1992 Crossfire this game started out as a Gauntlet clone not the 3d gauntlet that we might recognize really the original arcade gauntlet Gauntlet That was on the NES 2d overhead platformer game and it eventually evolves into an RPG and you know the 90s Which kind of blows my mind we jump ahead to the year 2000 we can look at tux racer This is our first kind of 3d game on this list. We see tux in a 3d environment. We have a whole lot of More advanced graphics than than we've had in the past 2012 Unvanquished This first-person shooter if anybody was playing first-person shooters in 1999 2000 You might remember the quake 3 engine this looks like a lot like the quake 3 engine or a good reason It's software back before Bethesda bottom pretty much had a rule where they were going to open source Every game that they've created within a couple years of lunch They did with the doom engines. They did with the quake going quite to equate three engines And it really like it shows a progression right it shows us going from these original games where Developers had to make their own graphics engine had to make their own sound engine how to do everything on their own to You know this game where they're getting their benefiting from all these open source contributions from corporate entity, which You know we're all grateful for in 2021 2020 depending on where we start this decade library start counting for X zero index one. There's been no culturally significant open source games release There's two ways to look at it. These games are still be released here in 2021 and That could be all or they're just not culturally relevant yet Like we don't know about them yet. They're being developed. They're in initial release But not enough people are playing them to get them on Majority of our radius, so they're not in a repository. You can't just do an app get install game can't go in You know any any common places and just find these so as possible these games are being made But in a couple years we might see them Looking at the number of open source games released per year and by decade like we can see 1970s we had a whole two games released 1980s we had a bit more 1990s we start seeing an explosion of games and The the way a lot of people feel about it is it's offer really kicked the open source game development process from Very very low enthusiasm to a lot higher enthusiasm as they release all their technologies You notice I didn't specifically mention quite three years of course game Because they open source the engine the open source of technology, but they didn't open source the game The levels the characters the music the sound everything else Is closed source while all these other games are talking about? All the media is really centered creative commons license But they're what they did you know really Helped a lot of people see the excitement see the value number of open source games based on their Initial launch date initial release date and are still in development It's kind of interesting to see like this one off here 1984 still in development in 2021 That's like new chess You can still go downloaded this being maintained pretty cool stuff But out of the 101 games You know we see on this chart only 19 of them are still in development 2021 So if you want to make a game you want to make an open source game, please do You were just at the keynotes you saw the Linux foundation is releasing New tools as already released new tools to make games as a new engine go get it go use it Go contribute to it. Please we all want to play what you have to make So why is gaming on Linux so hard beyond open source games? My better half tells me I play the Get the links operating system working before I actually play a real video game game If we look at this this is I've done this so many times like zero hours in okay I should be able to the boot BSD soon or play whatever game I'm trying to make Six hours in I'd be happy if I can get it back to where it was when I started You know 10 hours in I can at least fix the problems laptops developed, but the desktops a lost cause and you know Here's me and my friends family out at sea being chased by sharks because I've been trying to get Gaming working on Linux But let's take a look at some of the tools that we use as nice gamers of wine is a long ongoing open-source projects it One of the key components making windows games work on Linux that's important because Most games are released for Windows as their primary platform It's starting to change now a lot of companies a lot of it Especially smaller studios are releasing games native on Linux in addition to Mac OS in addition to Windows But there's still like all the major companies are not doing that. It's Well, a lot of the major companies are not doing that yet But what is wine wine wine is not an emulator. So what's what does that mean wine is basically taking a Windows binary, so a game compiled for Windows trying to make it run on Linux instead of trying to emulate Windows What it's doing is providing basically compatibility layer So it is taking the calls that the Windows game is trying to send to the Windows operating system Intercepting those inverting those is something that the Linux kernel can use and run them, you know back to the game It's very performance. It's it's very capable like pretty much any game You can think of has an entry on their website has someone working on it has Ability to be played I want to talk about crossover crossover is a paid implementation of wine They Think it's charged $60 a year and open up two tickets with them If you're new to trying to get gaming on Linux working, it can be a big technical hurdle You might just want to get in and start playing a favorite game and not have to spend a lot of time these guys Are basically, you know making it where we have support They're adding to any contributing to wine and they're also backfording everything they're doing I don't work for them I want people to get hired by them so they can do but you know more good work for us But they are hiring if you're looking for a job. They need a general wine developer support team members in QA Go apply Don't wine if we look at a wine release or a changelog I'm gonna see some fun things here like add a support for wine 64 and apple one one, which is kind of cool So like wine Has initial support on apples new silicon We have translation updates. They try to make sure it works in every language possible We have documentation updates and this one various Nacris looking line various bugs fix various bug fixes And this is kind of what goes into a release all these all these patches came from And stable and then testing and eventually made it here some of these patches I was hoping to be bigger, but some of these patches are game specific Some of these patches are just general something to have to do with wine and it's interesting You'll see games of the specific things like your favorite game loads up And it's just a gray screen and you don't see the main menu and it's just this weird bug in wine someone has to go in there and address it and fix it Part of the reason that might happen Kind of goes back to the way actual games are made for Windows And the process that happens There could be some strange bug the developer found when they're making it when they're testing it They might give back with Microsoft saying hey, we found this really weird interaction with the way our game runs on Windows 10 they might come back and see oh, this is a graphics driver issue and DirectX isn't creating the exact same output on On Nvidia graphics drivers on AMD graphics drivers and Intel graphics drivers So they might work with all three of those companies to try to make some specific fix for their game into the graphic strivers and Those specific fixes probably haven't made it into wine up until now and Eventually they get there Wine has something called the app DB if you're not sure how well your specific game is going to work You can go into the app DB Literally search for whatever game you want and there's going to be an entry for it in that entry You're gonna see test results from other users. You're gonna see bug results Bug postings from other users. You're gonna see guides that say all right if you're having the issue where you launched the upload one Everything looks like a Christmas tree instead of an actual game Then try changing these such and such settings and there's it's a very helpful community It's a very responsive community. So when you post a bug come as you're usually gonna try to recreate it within a day or two From my experience No telling when it's gonna get fixed, but you know, someone's gonna look at it. Someone's gonna try Lutris is a piece of software that enables us to kind of Merge a lot of technologies together And we don't have to think what graphics drivers are we using to convert from DirectX to Vulkan what graph what? Version of wine that we're running all these different components that Allow the games Windows game to talk to the CPU and Linux allow the Windows game to talk to the GPU and Linux allow the Windows game to talk to our Sound card or audio device and Linux or kind of manage it can be managed by Lutris instead of trying to do it the hard way And kind of going back to the the joke Playing the Linux game and make your computer work right before I got this set up My computer decided it did not want to mirror screens. So I am awkwardly looking over while trying to show this But to launch leaps, you know, so you know, you just install Lutris using your favorite repository you go to Lutris website Grab it, but to launch it. It's gonna type Lutris. It's gonna give us a nice little window and this window is You know kind of removes all of our all of our you fit only around on the command line Which is nice. I think that was this config. Yeah, right And we can go in here. We can see which version of wine we're running And it's anything you have installed. It can also install other wine versions that for you. We can see Which one of those is directed or DXPK? Is that it? Yeah, that's what 1.9.2. I hope Well, thank you first audience question But there's there's basically every setting in here that you can think of to make a Windows program run on Linux and all of these settings Were spread across multiple config files the past bread and multiple different config tools in the past had to be Sometimes installed manually from source It was a jumbled mess Lutris comes in and makes it a whole lot easier to manage our games Like for instance if I'm gonna play it all I do is right click click play and It always makes my heart skip a beat because it doesn't do anything for a second But I've learned patience is a key like don't try to kill the process Don't don't try to do anything for a second. Like it's it's probably going to launch. It just takes a second for it to convert from Trying to run on a Windows environment to Linux, but it is performant in Like the amount of strange things that you don't expect like getting went Microsoft core fonts in here getting like this Is this is really just an edge browser like getting edge installed Like there's so many components just to make this one simple looking looking game launcher work That you just don't think about And that's really where we want to be as gamers, right? We don't want to spend our time trying to make the computer Play a game we want to spend our time playing the game and that's that's what Lutris does for us This is Diablo 2's remake from Blizzard. It just came out last Thursday my experience with it when I launched it it Immediately crashed the first time I Went into Lutris. I looked at the DXVK version. That's DirectX implemented in Vulkan I'll talk about that more in a bit and then I Realized I didn't have the latest version realize I didn't have the latest version and As you do apt update to the app upgrade it went and grabbed the latest version of Lutris latest version of DXVK I was able to reboot relaunch it and then select 1.9.2 Relaunched the Bellinet launcher relaunched Diablo 2 and I was in the game. I didn't have to fuss around in the command line I didn't have to go look at forums I didn't have to go really That's the play button, right? Yeah, I didn't have to go to a lot of technical effort or put a lot of Analytical thought into trying to make this game work Which is a barrier for a lot of people like I Won the rare people that will go through all that trouble and again like black screen no loading like be patient this this is common for Like the game runs great once you're in it, but like there might be a Second or two when it's not loading, but it actually is it doesn't seem like I just want to show improve that some game does work here saving and You know talking about like all I had to do was update my system change the setting back two years ago three years ago and before I would have had to Either create the patch myself to make this work or wait till someone else did Which might be weeks where my friends are playing the brand new launch game, and I can't you know I'm just sitting there looking sad while they have fun Not where we want to be but we are in a much better place they'll talk about some of the technologies that enables gaming on Linux whether it's a native game or a Windows port The Kronos group is an open-source consortium that manages open GL Vulkan open XR and a whole bunch of other technologies, but we're just gonna look at Vulkan and open XR today Vulkan is like open GL if y'all remember open GL open GL was and is a Graphics API that gives programmers the ability to talk to the GPU and tell it to do something specific Draw a polygon onto the screen create a camera with perspective Map a texture to this polygon When you shoot a rocket across the screen perhaps make a smoke show with a particle system Create a light behind it all of those things are done with the graphics API on Open-source systems like natively has been open GL Vulkan is a spiritual successor to all that and Does pretty much the same thing it is triple. Are you ready? And you know, it's amazing open XR is a technology that they also help manage it allows for Virtual reality it allows for augmented reality and it's it goes into making virtual reality possible on Linux like I play VR games with a steam headset you know valve of headset on my bunty machine and it's just seamless like I click the button Game launches. I'm happy DXVK, so a direct 3d is Microsoft's Version of what open GL and Vulkan do it provides graphics programmers a You know an API to be able to talk to the GPU and tell it to do things Games made on Windows generally as a rule run with direct 3d as their graphics API and Microsoft did that, you know, hey, you want your game to work on the Xbox one You wanted to work on Windows without having to do a whole lot of extra programming use direct X because it's gonna be a unified experience for you DXVK is an implementation of direct X that uses Vulkan to allow direct X developed games to run in the Linux environment Valve has made a lot of contributions over the years to allowing games whether they're Linux only games whether they're Games compiled for Windows to work on Linux. I don't know if any of y'all were at Linux con. Linux con was the Previous convention before it was called the open-source summit, but at Linux con 2013 in New Orleans gave Newell a valve Came and gave one of the keynotes just like we heard earlier this morning. He Got up there. He talked about how Linux needs to be a first-class gaming operating system and And you know announced the world that steam was coming to Linux that valve was also making a Linux operating system that was made with gamers And since then they they've done a whole lot of stuff to help us Have a much nicer much smoother experience on our Linux systems The last week when I finalized these slides that you know on the 20th and 21st you can see According to Valve's own stats how many gamers you know are present so At the time is a current of 19.9 million and a peak of 24.2 million players worldwide You can see our little stats here Linux went up by 0.02 percent in an adoption So that brings us up to a whole 1.02 percent of gamers on steam using Linux as their operating system If you do some basic math and some hand-waving That's roughly 163,200 people to 247,197 Linux gamers on steam you know spending real money buying real games using various versions of Linux as their main gaming operating system, which Is pretty amazing You look at it the Cmo s it started out as a Debian distribution Versions 1.0 and 2.0 the idea that Valve had was they wanted to democratize Gaming they wanted gaming on consoles. They wanted to compete with Microsoft and Sony and Nintendo by Not necessarily releasing their own console But releasing an operating system that other OEMs could use to make their own console that would enable people to play Every game on steam at home on their TV in their living room seamlessly Dell Dell had a steam steam box HP had one like pretty much all the major You know computer manufacturers made one because all it really was it was a computer running Debian with valves packages to make gaming a little bit better. It was fortunately not a commercial success They stopped being made they didn't really sell a lot though Her version is an arch Distribution, which is pretty exciting. We'll see where that's going in a few minutes So proton proton is Valves Internal tool that you can get for steam you can go to GitHub you can download it build from source if you want They say you know officially oh, it's a wine implementation they basically took wine Made a whole bunch of modifications made it better. They're pushing all their their modifications back to the main line Wine HQ as well But this is kind of small right if we look at this this has more than wine in it. We have open XR we have Audio here we have DXVK here We we have basically all the tools you need kind of like what Lutrus does for Generally gaming and Linux at pulling Windows games or Linux proton kind of does that with a whole lot of extra support from valve specifically for steam so steam OS has Made its way into something called a steam deck. I think they're going to be launching this at the end of December It's next year They claim it's going to be able to run every game on steam right out the box If anybody can pull that off its valve because they have Push the goalposts so far like getting us so far to making almost every Windows game work on a native Linux environment Well they have a good shot this is so this computer here is a Chromebook it's The new Acer's 173 spin. It's got the new Intel Core i5 Evo and the iris Xe PPU from Intel And I got this one because it is you know Probably our best bet You know on the market is something you can get something you can afford and be able to play Games on Linux Actually kill it. So this is the built-in steam. I'm sorry the built-in Linux VM. I don't know if y'all have Any experience with Chromebooks, but Google has started Chipping a Linux virtual machine with Chromebooks Go into settings go into developers you see this here Linux development environment like there Before you have it before you have it installed This would be a but giant button that says install Linux After you have it installed it's just a way the place you can manage your settings Including your disk size like how much of your your internal SSD are you dedicating here VM? But you essentially launch it you get a terminal After you install steam you basically download the steam.deb from Valve's website you go here and install it So again, this is me playing the let's make Linux work game But got the I got had the VM in some kind of failed state. So I just killed it And here it is like here's your steam like this is Not steam light not something like steam. This is the steam we can go and At launch a game we'll try Half-Life 2 Again, like there's that pause with my heart drops. Is it going to launch? But it did And you know here we are on a Chromebook that's Somehow we're forcing it the to run To run Half-Life 2 on here. So this this is a 2k display Graphic settings are maxed out. You can see it's loading quickly You can see that the game looks like it's supposed to we're not getting visual artifacts We're not getting audio artifacts like the sound Yeah, and here we are we're in the game we're playing Basically had to do very little work to get this get to this point so if you if you go and look at the Images that Google has for reference boards for Chromebooks You're gonna see something that popped up late last year probably I think October November Something called Borealis says a reference board and from what the Chromebook community has been able to suss out it's Valve working with Google to make Steam be a native app on Chromebooks and essentially it's going to be a native app on Chromebooks by running its own arch-based virtual machine, which is going to essentially be From you know steam OS running as a VM in here and it eventually will become A Team will just be an icon on your Chromebook and behind the scenes It's going to be launching this VMs going to be managing proton Which is managing DXVK and wine and false audio and all the other technologies that it needs to happen But to the user they're going to see a steam icon. It's going to launch It's just going to work. That's that's what they're trying to do the only caveat is it right now? It's only for x86 base CPUs so if you're on a arch Not much If you're on anything else, it's just not going to work sadly quick limitation This is essentially only running only able to run Native Linux games right now, so this is steam. This is like Half-Life 2 has a build for Linux but We can't run games that are developed in DXVK and DirectX yet mainly because there is not a DirectX DXVK implementation For the GPU that the virtual machine the Linux virtual machine on this thing has like if you ask this thing Well, what kind of GPU do you have it's going to say in my manufacturer for my GPU is red hat You're like wait red hat makes hardware. I thought it'd be Intel. I thought it'd be Nvidia I thought it'd be AMD one of those not red hat But it'll also say this GPU is a vert IO Which is a software GPU that red hat made that? Gives this virtual machine essentially hardware level access to the GPU like on the metal on the system that we're not We're not virtualizing a GPU and then you know sending that to the physical GPU We're just doing a pass through with vert IO essentially but vert IO does not yet have a DXVK driver, so we can't run DirectX games on the vert IO GPU that our virtual machine has Inside our Chromebook it is v-made you can go out there and build your own Virtual machine like if you if you go out there you can go out grab an image of arch You can go grab all the patches you can get basically what borealis is going to be all running on your own Or you can just like wait till probably February And it'll probably just work by then. I'm gonna say it 2022 will be the year of the Linux desktop You know here. We are you know xkcd has a comic for everything You know this guy saying it took a lot of work But this latest Linux patch enable support for machines with up to 4096 CPU up from the old limit of 1024 and this guy's asking do you have support for smooth full screen flash video yet? We'll scratch that out and say full support for Windows gaming on Linux yet and of course this this kernel developer is saying no, but who uses that and Every time I've seen anybody make a prediction like this is gonna be your let's it's this is a killer feature that we've needed to make Linux the Main OS that people use No one's ever said gaming gaming in my mind I was like it's not gonna be this year because we do not yet have gaming as a first-class Way to use Linux But thanks to a lot of the efforts from valve the open-source community You know people we didn't get a chance to talk about today epic and a whole lot of other companies out there They're they're they're doing the hard work to make this happen. No any questions All right, okay That is a good question. I want to say KVM But I've need to go fact-check that to be sure and the question was what kind of hypervisor is the Chromebook using to launch any because it the one the one that Googling in valve are gonna be this essentially going to use the same hypervisor as a Debbie face one here does And it you can go and grab the arch image and use it. It's gonna use the same hypervisor Any other questions? You have full as a no go ahead Yeah, so the question is There's a lot of games out there that Won't work now because we don't have graphics drivers or wine But because the games are developed with an anti-cheat mechanism that is just is not supported on on Linux yet and Epic games Invalve actually It is crazy awesome. How fast this is moving like this is I think news that is two days old They both announced that their Mainline anti-cheat software now has native builds on Linux So games like fortnight, which otherwise would run fine on steam with proton Unlutrous, you know with DXVK and everything else. We're just missing that anti-cheat mechanism But now that it's officially you know come from epic as a native build to Linux We should start seeing that come through as soon as specific game developers are able to implement it for their games and Make it work for their game It's also possible that valve might beat them to it and say we really want Fortnight or whatever game to just work Because they have a financial incentive on from the steam deck coming out late this year early next year They might do the hard work themselves, but It's just a matter of time now that the technologies there any other questions, but I'm curious How many of y'all are like gamers on Linux? One two three four five six seven awesome Y'all been anybody wish out all I yell y'all being gamers for a while like is this something new you'll try to you I've been doing it for a while Yeah, no worries Cool. Well if that is all the questions we have I guess we can go ahead and call it a wrap Thank you, buddy