Why is EA Permanently BANNING Linux Players?!?

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey everybody it's your friend and your guy and your favorite preacher gardener the Linux gamer this video is brought to you by my 126 amazing patrons over on patreon without whom I would not be able to do this show I want to give a special shout-out to Nima Nima my dude your support is truly appreciated if you find yourself enjoying this video if you find it informative thought-provoking interesting hit that like button it really helps to show out you can also hit that subscribe button and it'll keep you up to date in all likelihood with the videos that I release here on the channel I do one every Monday and every Friday you can also head over to lb ry l b ry TV slash @thelinuxgamer it's pretty awesome so Electronic Arts is banning people playing Battlefield 5 who are playing on Linux and this isn't just a trivial like 24 hour ban or anything like that they are being banned for cheating because they're playing on Linux now Linux does give you a competitive edge mostly because Linux is just way cooler than Windows and that just gives you swag points on the battlefield but no honestly the reports are coming in that that battlefield 5 players are being just categorically banned if they're playing on Linux through wine now there are some people who have said that this is because of the anti cheat software and I kind of wanted to go into this and do kind of a deep dive because I haven't seen someone like actually explain why anti cheat software would would flag someone as cheating if they're not cheating and just playing on wine let's talk about it let's start by talking about operating systems I mean computers are complicated they're a mess of Hardware firmware drivers and software and somehow it all just kind of magically works together whether you're running Windows or Linux I mean it really doesn't matter that much your CPU speaks the same language regardless of what operating system it's running I mean in many ways the CPU in your desktop or your laptop if you're running Linux can understand the exe files but here's the deal every PC is different I mean every combination of hardware every cpu GPU and sound card combination all of that would mean that developers would have to target each of those specifically and developers don't want to do that that's where operating systems come in see if it's Linux if it's Mac OS opposed Windows they all kind of work in the same way they create a software layer that lets software developers target that layer rather than targeting the the like insurmountable number of variations of hardware configurations and it's understandable why we want that in in our software development we want to be able to just target one software stack and have it work regardless of what the hardware underneath is instead of having to write a graphics pipeline in machine code for literally every vendors GPU out there a developer can just target Vulcan and it right at once and have it work no problem or if they're dumbasses they can use DirectX so here's the thing operating systems actually provide this low-level library support stuff like Vulcan or DirectX or any number of things and these assist developers so that they don't have to reinvent the wheel with every application they write and for every piece of hardware they want to support but this is where things being written for Windows comes into play while in all likelihood your CPU can understand what the app is trying to do the libraries that the app depends on just aren't on your system if it's a Windows app and you're running Linux now this is a gross oversimplification so before your keyboard warriors out there try to go down in the comments and tell me I'm wrong which please do that it really helps the video I understand that this is an oversimplification but I think it paints the picture pretty well so this is where wine comes in wine is super awesome Linux is awesome because we have wine now what wine does is it actually provides open source implementations of the windows only libraries that applications written for Windows depend on so when a Windows application opens up in wine and wine sees that the app wants DirectX 9 dll for example wine goes oh you want dx9 dll here you go and it's not the actual dx9 dll it's an open-source version of it ok so I hope you're still with me I hope that I'm actually adequately explaining this at kind of a high level so that even like new people to this these ideas can understand this so you might have heard someone say wine is not an emulator and that's actually 100 percent accurate emulators simulate the hardware of the system that they're trying to emulate for example the Super Nintendo so what an emulator does when you load up a Super Nintendo ROM for example is it turns the incompatible machine code of the super Nintendos CPU and it converts that into a code that's accessible and usable by your machine with wine you're not actually doing that your cpu already speaks CPU right so you don't have to take and convert x86 system calls into x86 system calls you your cpu already does then what wine does is it supplies open source Linux compatible libraries to the application that you're trying to run but that's where we run into our first problem Windows libraries are proprietary so Microsoft owns the copyright on these things the wine project can't just copy and paste the code into their own project and then release it that would not work first of all but it also would be illegal the wine project had to start from scratch and they started out by building their own compatibility layer doing a lot of tests and eventually ending up where we're at now they have their own alternative libraries that work with Linux and they can supply to the application what they expect to receive from these external libraries but it's not perfect and that's why you end up with glitches you might be asking yourself what do these libraries actually even do let's say that you have some complicated math that you need to do repeatedly throughout your program right you can simplify that by by creating a program within a program what we call a function now this function accepts an input does its little thing to the input and then returns whatever the modified value is and you can think of a library as a collection of functions so there's small little programs that allow you to not have to reinvent the wheel every time all those dll files that you find alongside the applications that you want to run those are all libraries a lot of them are provided by the operating system but sometimes they can be brought in by third parties and like I said all the dll's that come from Microsoft that are included in Windows the code is closed source it's all secret nobody outside of Microsoft knows exactly how these libraries actually function so let's say that you want to draw just a triangle to the screen right you can use a function in one of these libraries like draw triangle for example and doing that will result in a triangle magically appearing on your screen so now let's say you're trying to run that same app that draws a triangle to the screen in one wine sees that you're trying to use draw triangle and so it takes the input from the app and draws the triangle on the screen as well but maybe it didn't draw exactly the way the windows library would maybe it's slightly larger maybe it's scaled or skewed a little bit differently so let's say you're playing an online multiplayer game and every time you want to move your character around the world the movement algorithm in the game uses some proprietary code from a library that comes from Windows in order to do some like physics calculations let's say let's say that every time you want to move your character forward the Windows library returns the value 1.2 units every frame so you move your character 1.2 units every time a frame ticks forward in the gameplay now let's say that you're trying to play the game in wine and the wine version returns the value one point two zero zero zero zero one two one eight all right let's say that that is the result of the wine library now let's say that the game runs anti cheat software it sees that your movement speed is not exactly what it expects it to be and so it bans you out right now I'm not an expert on this and I understand that this is an oversimplification but you get where you start to run into issues right online multiplayer games are super complex with tons of computed values that are going through the processor like simultaneously and each each software is a little more sophisticated than that but honestly that's the kind of thing that any cheat software looks for and when open source libraries in wine don't output the exact same output that you would be getting from Windows libraries well that's when you're gonna run into issues the question is what can actually be done about this the way I see it there are three options don't play games with auntie Qi enabled there are some games like Halo the Master Chief collection that allows you to turn off anti cheat before you even launch the game games like that really do us a solid originally Master Chief collection allows you to start the game without any cheat enabled because they want you to be able to use mods but it also helps us you can also play multiplayer games with a native Linux client and they can't ban you because the native Linux client is officially supported and finally if you're a Linux user just stop playing these horrible games I mean seriously if you're playing these games and you're running it through wine there are always a chance that you could be banned and if you're banned by an evil corporation like EA you have literally no recourse you can pay 60 bucks and just be banned outright and you have nothing that you can do about it so don't give them your money if you're a Linux user they don't deserve it and besides I mean come on multiplayer games just aren't fun alright I think that's gonna do it for this video I want to know what you guys think do you think that EA should not be allowed to ban people for playing in wine do you think that wine should be an officially supported option in multiplayer games or do you think multiplayer games just shouldn't be played cuz they're dumb and not fun let me know in the comments and I'd love to hear what you have to say if you believe in the work that I do you can support this show with a monthly contribution over on patreon you can also pick up a t-shirt there's a link down below but no matter what you do whether you hit that like button or share this video with your friends don't forget to subscribe to see more from me the Linux gamer and as always thanks for watching
Info
Channel: Gardiner Bryant
Views: 95,750
Rating: undefined out of 5
Keywords: linux, gaming, The Linux Gamer, steamos, gnu/linux, steam os, Gardiner Bryant, linux overview, satire, critique, commentary, criticism
Id: GGZCT3lTgos
Channel Id: undefined
Length: 11min 9sec (669 seconds)
Published: Sat Jan 04 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.