Thoughts on Linux and Gamedev

So, I have a couple of outdated machines and I was looking at upgrading them. Before me lay three options, IMAC pro, Windows 10 or Linux.

The IMAC pro is a relatively expensive proposition, in regards to W10 it seems to me ever since Windows 8 they’ve wanted to turn the OS into a tablet / mobile style platform and interweave further monetization options. Which is fine I suppose but when I tried W10 on a couple of machines it didn’t gel with me ergonomically and / or in terms of outright speed / efficiency and / or stability with some applications / devices.

I’m not trying to start an OS superiority debate, it’s just my 2c on it so far. Anywho, I though W10 will probably be the best course to take but I’ll look into other options.

So I got my hands on numerous distro’s of Linux, just to note you could call me a Linux noob because I’ve not used Linux for desktop replacement in about a decade.

First things first, you need decent apps for game dev. Between Blender (which has awesome sculpting tools), Houdini (which is a bag load of awesome and has auto-rigging etc.), Substance Designer / Painter and of course Unity we’re pretty much all covered.

If there’s some fringe apps I need like Photoshop / Megascans there’s always Wine and / or IOMMU / Vt-d (if your device supports it. In case you don’t know what that is, it allows you to use bare metal access from VM’s for stuff like graphics cards).

Initial impressions have been positive, it can do near enough everything my Windows desktop could. It’s fast, efficient, secure and performant… My machines barely tick-over when the desktop is loaded and everything seems fast for some reason, even Blender seems faster.

For me at least I’m finding it hard to find reasons why I wouldn’t use Linux, BUT!!! it’s a big one here…! Whilst many things have changed for the better since my last experience, many things have not… It’s still damn user unfriendly, I chose my workstation as the test subject as it has the widest array of proprietary chipsets in it. I thought if it works with that it’ll work with anything…

Much to my surprise, it wasn’t all the proprietary stuff that didn’t work…! It was all the basic bog standard well known chipsets like wireless drivers and Nvidia drivers that I had a headache with. Mint couldn’t find my USB 3.1 chipset drivers which stopped it from installing, it couldn’t find my M.2 either so the “chips” were down on that one.

With Ubuntu and Arch it depended on the version… With 16.04 LTS Ubuntu had a few kernal errors, Arch was errm interesting. Ultimately I got going with Ubuntu 17.10…!

Then I installed the GPU PPA (non-proprietary) drivers and it trashed it, I couldn’t get to the initial terminal to do much about either. I mounted disks from the live CD and attempted to repair some “known” issues, I could list all 50 steps but y’know this post is already long enough.

I then downloaded the official Nvidia drivers which complained about a slurry of things. The biggest issue here being Noveau (Linux bog standard display driver), whilst the Ubuntu docs said leave it alone, Nvidia said it needs removing… So I set on my merry way of doing so, I booted into a prompt, started adding config files and various other commands to blacklist the Noveau display driver. The modprobe conf the install driver tries to apply doesn’t work…

After a couple of attempts, it ran fine. Although if you want to run Steam etc., you’ll probably have legacy pointers in modprobe / GL which you also have to blacklist.

Then after the upgrade from 16.04 LTS my wireless cut out every 30 seconds or so, then I had to compile down a driver from github which isn’t for the feint of heart (especially if it goes wrong)…

Ultimately it felt like I was using an open source game engine…! :slight_smile:

My POINT being, it’s fine for a programmer to go through all of this… I got it all up and running in about seven hours with no previous experience of this setup. Although no sane every day user would want to go through all this, the worst thing is after I knew exactly what the issue was I compiled a script / .deb that does it all for me in a single click. It just asks for the sudo U/P every now and again…!

It needs standardizing even more, I’d be happy to pay $100.00 for Ubuntu with desktop licenses / ticket / forum primary support in which they could obfuscate a lot of this and follow up on Linux’s primary issue… Drivers.! I know there’s several layers of LL audio support as well and bitwig is one of the first major DAW players to enter the Linux market, but again drivers for a lot of audio devices are an issue… Something like MAC’s core audio would go a long way.

Hopefully that would attract a lot more dev’s with native apps as well.

After all that I expected Unity to have a lot of dependencies and be troublesome, props to the Unity guys and gals it was the easiest part of the entire project. Double click a .deb file, CTRL + C/ V the desktop icon and done…

Again once you get past the initial hurdles Linux is a dream to use, it’s ergonomically brilliant… Everything is easy to find, it’s very fast and seems rock solid… The wireless driver I got is better than the one from the manufacturer for Windows, it’s never worked so well.! Along with their “app store” there’s plenty of stuff to cover all of your needs as well, would highly recommend to developers if at some point you’re looking to switch.

P.S If you’re interested in the process of getting a Linux based dev rig setup post here and I’ll share the love.

4 Likes

Interesting read. I made the switch to Linux (Mint) a few weeks ago after daily frustrations about automatic updates that I can’t seem to stop. I noticed some people hardly have these issues on Windows 10, but let me tell you on my machine it is batsh*t insane the amount of updates I get which I didn’t even ask for. The final thing for me was when I booted up my computer and had to wait 30 minutes before updates were done. When the updates were done the NEXT update was already queued up. Think what you want but this seriously offends me.

So same day I made the switch to Linux, it actually surprised me how easy it was to set up, and find out that most of the programs I use are also available. This gets me to the Unity editor on Linux. Shit. In 1 word. I get that Unity wants to be as cross platform as possible, but in my short experiences with the editor on Linux I feel like it’s nowhere close to an engine I would actually use on Linux to make a serious game. Too many bugs, which makes it feels amateurish. I click somewhere and it crashes. I can’t resize editor windows (the console for example). I can’t change the editor layout because this also make the application crash. All simple little things that go wrong, and frankly I want to make a game, not file bug reports all the time. Getting Unity on Linux wasn’t a big deal (had some minor issues on first start), but using it isn’t a pleasure at all. I can do some work, and have to remember to save a lot. You think saving will save you, well I even had crashes when I clicked the save button.

No I’m not impressed with Unity on Linux, there are better options and I’m considering them. I love Unity but the Linux editor comes off as sluggish at best for me. Too many things fail or work buggy. I did some research before downloading Unity for Linux so I knew it wasn’t perfect, but seeing is believing and I gave it a fair chance. I’m still very happy with my switch to Linux, but unfortunately can’t say the same about Unity on Linux, I wish I could.

2 Likes

First off, let’s agree this isn’t an OS debate, rather a discussion on what works and what doesn’t :slight_smile:

MacOS is just out of the question for me; I could write 5 pages on just how much the Dock and whatever-the-persistent-bar-on-top-is-called annoy me. The hardware choices are very limited and expensive, and Hackintosh is a whole other story that’s also illegal.

Normally, if you ask someone “Linux or Win10”, the obvious answer for most would be Win10. However, after reading this, I think everything pretty much comes down to this: What does Linux do for you that Windows can’t or does poorly?

The most common reason I’ve heard people dislike Windows is the forced updates. However, in the recent versions of Windows, it appears no one knows that you can go to Settings > Updates > Advanced Options and pause ALL updates for up to 35 days, and the huge feature updates for a YEAR. This used to be a huge pain, but I think now the forced update situation is about as good as it gets.

Your case against Windows was this:

The tablet / mobile style direction I can agree with you on that, it’s definitely happening. However, I think we can also agree that 90% of the OS can’t continue looking like Vista in 2018. Most of the changes by MS have been beneficial and well received (Start menu, an easy Settings app, Cortana, Action Center), and some have made things worse (eventually forced updates, no F8 on boot for safe mode, small ad nags for MS spread throughout the OS, pre-installed Candy Crush Saga). Speed I can’t really talk about as it’s usually hardware dependent; Linux usually runs better on slower hardware. If you run Windows on an SSD, it’ll be extremely snappy as well in most applications. Finally, you bring up stability. It doesn’t sound like Linux has been very stable for you, but enough time spent has made it usable.

///the following is my opinion/experience; it might not be yours as well
I’ve tried Ubuntu and Mint as I was considering to make the leap, and I liked Mint more. However, the problem for me is that normally, stuff I’d expect on Windows to “work” doesn’t work, everything from drivers to software behavior, updates seemingly making regressions and constant Googling of Terminal commands to fix something that’s gone wrong (I even had basic copy/paste keyboard shortcuts not work). Then, there’s the usability aspect. Simple things you’d expect to find in a Settings menu need to be done via command line. If you want to install most software, instead of installing in 30 seconds, you need to tinker in Wine or config files or blacklists (unless you’re lucky enough to find what you need via Terminal). Many of the things I expect to work either don’t work, or require extra effort to make them work.

Now let’s think overall of a programmer’s usage of the OS. We usually aren’t digging in settings or the Start menu or enjoying the fancy Win+Tab animations. We aren’t marveling at the new blur effects in the Calculator app. We’re spending 99% of our time in software. What matters is how well the software we use runs on the OS; everything else is much less important. And I’m going to say it right here with @williemsenzo, Unity Editor on Linux is S***. Also, Visual Studio on Linux is s***, and I have yet to find a replacement that’s as good for free. LibreOffice is s***, installing real Office with Wine is an extra pain in the ass, and f*** Google Docs for serious work. Spotify for Linux is not supported, and the web version is s***. Does some stuff run better? Yes. Does most stuff I use run worse and/or is an extra pain in the ass to get to work? Also yes.

Which brings me to my conclusion: The advantages Linux offers do not outweigh the disadvantages of Windows because Linux’s disadvantages outweigh its own advantages (I didn’t intend that to be a tongue twister :))
///

I actually think quite the opposite. It’s not fine because programmers have limited time (especially me as a part-time hobby). Time that could be spent writing code, or even just staring somewhere trying to think of a solution to a code dilemma you’re facing in your project is wasted on trying to make your computer compute. Even if you do get it working 99% of the time, I’d rather wait a few extra seconds in Windows to have a more reliable experience. Now, if you’re one of those Python programmers who needs Linux in his/her line of work, that’s awesome! But with my usage of both a normal prosumer AND a C# coder, Windows does both better out of the box.

If you have the time and patience to deal with extra issues and bugginess in Linux to achieve a result that’s better than what you’d achieve in Windows, good for you and congrats on saving the $200! But I don’t have enough time and patience to put up with that, especially when the gain is almost non-existent.

P.S. No serious user picks a desktop OS for its app store :slight_smile:

2 Likes

On Ubuntu 17.10 the only issue I’ve come across so far is for some reason the GPU thread is being recorded in the CPU thread, it’s not exactly a deal breaker though. I’ve tried out most of the other functions and all seems well… No issues with crashing / re-scaling etc…

I personally didn’t have much luck with Mint (in all regards)…

True, but then again Linux has come a long way in terms of sleek visuals… Taking into account I’m using Unity desktop and not Cinnamon or Mate that comes with Mint (also it’s different in 17.10)… I have an easy settings app and an action center, the toolbar at the top reminds me of all current updates and what apps / wi-fi / bluetooth etc. are doing. I even have a “start menu” equivalent in the bottom right hand corner… Which all auto-hides itself when not in use…

It’s all preference though and ultimately there’s UI’s to suit most people when it comes to Linux…

The only real difference between the two is Cortana and I can’t really say it’s a loss. I ran Windows 10 on an M.2 SSD and it had it’s moments, it never at least felt “quick” even compared to W8… Then again I never tried it on my workstation, which would just hammer it with a lot of cores and speed.

In terms of stability, sure you have to work for it harder but I’ll respond to your other point as well. What I’m looking for? Flexibility mainly, I understand MS’s position on putting a software lock on CPU upgrades… People weren’t moving to W10 which is what THEY needed, but for many it didn’t make that much sense.

They still have to support it until 2023 either way, it’s decisions like that which makes me peak over the fence even if it ultimately ends up in “I’ll go with W10”…

Forgive me for saying it but all this seems a little over-dramatic. It took around seven hours to get it installed with all my apps and drivers etc. whilst I don’t appreciate the amount of effort it took to get said drivers rolling it’s not like I spent a week on it.

You say no serious user picks an OS for it’s app store, but complain about not being able to get spotify (which I checked and it’s on the Ubuntu software center)… Of course I’m doing nothing more than responding, nobody can change your personal preference and if you’re happy to stay away that’s cool… As much as it’s a cop out whatever works for you…

Here’s a couple of other things, I really don’t like VS… It’s overly fat, slow and I don’t always work with Unity so it’s intellisense with C++ is something to be desired. I honestly prefer monodevelop for Unity, although there’s a shed load of other IDE’s I’d prefer to use in either sense like QT…

As for LibreOffice, maybe I don’t use word apps etc. enough as I can’t really tell much of a difference… They seem to do the same things, even with LibreDraw for creating diagrams… I suppose I miss stencils to a certain point.

As for Unity, well I might not of dug deep enough so far… I guess time will tell, if it’s a pain then I know for a fact UE4 works well on Linux and I’ve been using that for the past three years (on Windows). Also between synaptic package manager and Ubuntu software center I’ve not had an issue with installing native apps…

Finally stability, again once Linux is sorted out it’s as stable as they come… I’ve not had a single issue (plus it runs faster and my devices work better). I do believe it needs to be standardized more and I completely agree some things (again drivers) are far more complex than they need to be…

For an end user only, it’s not where it needs to be… For someone with a bit of technical knowhow (again this is my first Linux setup in over a decade) it is a viable option.

P.S I wouldn’t mind paying $200.00 for Ubuntu if it resolves the major bug bears…

1 Like

Think this is about asking yourself a lot of questions. So your making a game in Unity, what are your target platforms, what kind of 1st party software do you need access to, and what kinda money do you have to put into this?

Its been a while since i used linux on anything but a server but iirc running software on Wine was a pretty terrible and inconsistent experience, Its worth dumping some money to just have everything working natively for me. Your target platform will likely lock you down to macOS or Windows10 since you will need win10 to dev and test for windows or xbox games and will need macOS for iOS so unless you are just making Linux and Android games you will need to at least test on other systems. Keep in mind this is the system not the hardware, you can easily duel boot Linux distros and Win10 on PC hardware and can easily do multi boot with all 3 on Apple hardware. Though i would not recommend the apple tax unless you are using macOS regularly

After asking myself these questions i choose to do my development on macOS. It has the first party support, i can use any Adobe product and have Maya, Out of the box i can target everything but Xbox and Win10, but i have bootcamp so i can boot win10 when ever i want, then i also just prefer macOS as a system to windows with its big upside to me being the same upside i see with linux which is great terminal and just a better desktop environment then windows offers.

Now the downside to it, is Apple as a company and the cost of my iMac is much greater then my gaming PC, even if you include the cost of the 5k display built into.

p.s.
I really wish apple still made their old macPro towers since they were fully upgradeable and negated a lot of the downsides to using Apple hardware.

2 Likes

Krita is another useful graphics package with a Linux version.

If you are still testing different distributions, Solus is worth a look. Its software centre isn’t as comprehensive as Deb/rpm based distros, the pro audio side in particular is a little behind what I’d like - but otherwise it’s looking like a solid base for game dev. The Solus team does having gaming firmly in their sights and don’t have server versions; they are a desktop only distribution so have a little different focus to some distros.

Linux has all the software I need for game development. If you get linux you will have cut off maya and 3ds max, paintshop pro, and many other commercial game development software.

With Linux you get krita, gimp, blender3d, and unity3d. There are other software but you will find they are always highly limited and weak programs that have bugs. And then you will learn about this great new windows tool, that will not work in linux, not even with the latest wine.

Money! that’s why I use linux. Windows will cost me about $3,000 dollars every 3 months. My machine is always getting an upgrade. Linux has never done that to me.

Linux has a problem with driver compatibility. Linux might have a driver for your video card, or that sound card, but it’s not full or buggy. Sometimes linux will crash because of the hardware driver. If you go with linux, research the hardware.

This also goes with pen pads. I had to do some research on the pen pad to make certain I could use it. A large majority of pen pads will not work on linux. This happens with many other things.

On my linux machine I had to by a cheap usb sound card to get sound to work. None of my sound cards work, that means no sound blaster support. The driver used to work, but now it will not put out sound. And there is no help from the community for sound cards. This could be a problem with analog. In theory digital output is the only thing that works on linux kernels past 4.4.0.

Use linux, save your money, save your time too. With linux you can have privacy, with windows someone is always looking at your nakedness.

There are ways to disable the automatic updates for Windows 10. Currently I’m using one of the easier tactics which works on Anniversary Edition (10.0.14939) which is to mark all of my network connections as metered.

For best results you need to plan your hardware around Linux. Atheros, for example, is one of the best wireless chipsets for that OS. NVIDIA, for example, has problems with IOMMU depending on the cards you’re using (gamer versus workstation) that need manual steps to bypass while AMD works out of box.

1 Like

Yep. My audio issues with Solus are because ffado (firewire audio drivers) isn’t in the repository for it yet. I did compile ffado myself for Kubuntu 16.04 with my M-Audio Projectmix I/O so I don’t foresee any major problems getting it going, I just haven’t made time for it yet. I never had any problems with my ESI Juli@ sound card across various Linux distros in the 10 years or so I’ve had it. I did check for Linux support when I bought it though.

Glad you found a way to get things working more or less. I’m kind of stuck in a conundrum because Unity is the engine I’m accustomed to and it’s not working out for me on Linux. At the same time I think it’s not that bad because it makes me realize I could be more flexible and learn some new things. The issues with Unity aside, I think it worked out for me just fine, but I can totally imagine that an average computer user does not want to go through all these things and just stick with what they know.

Thanks I will try that as I still have windows 10 just in case. Rhetorical question: why do we have to jump through these hoops just to get the idea we still control our machines?..

This is why it is often better just the shell out the money and use a well supported platform, do you want to be spending your time faffing about with drivers and trying to use possibly weaker non industry standard apps, or do you want shit to just work so you can spend your time making your game.

The upsides in my opinion don’t really out weigh the downsides, and i value my time a lot so spending money so i can use my time more efficiently is good for me. While others might want to spend time and not money.

Also dont know what you are doing wrong, but windows is not that expensive, i been upgrading just fine and i have not paid for it in years.

3 Likes

How did you come to that conclusion? I built my PC for around $800 and apart from adding an SSD, RAM and upgrading external peripherals, have not spent a dime more… All extra money I spent was on optional hardware upgrades.

1 Like

@passerbycmc

It’ll be interesting to see what they do with the new Mac Pro.!

@Ryiah

That’s another issue, there’s a lot of conflicting information… I did plan ahead and already had two aetheros based devices from Asus and a cheap whatchamacallit… Neither of them worked properly, I bought this latest adapter (Realtek based) because it was noted to work with Linux correctly and it does IF you compile a driver for it.

As for basic mobo chipsets, well that seemed to be more of a distro / release / bug thing than an actual “issue” as such… None of this counts towards “user” friendly and a lot of the compatibility databases are severely outdated and / or wrong in some instances.

It needs a lot of work…

@willemsenzo

I’m kinda hinting here you should try Ubuntu 17.10 ;)…!

the problem I keep having with windows, is it always invalids my registration. After using linux for such a long time, I have become addicted to the OS. Even though windows has the best software support, I would rather use linux. (Linux Mint). This does not mean I am a power user, I just do simple basic tasks.

Where are you purchasing the license from?

It came from an online vender. I tried reporting them as fraud but lost the url as I didn’t need it anymore. This is a fact I had forgotten about the whole problem, is I later found out that there had been lots of fake registrations sold.

I am still upset from loosing all that money and windows. I think bill Gates shouldn’t be this strict about the software.

Right. That’s basically the answer I was expecting.

1 Like

Even though the vender sold me a fake number, I could not afford windows. I was forced to move into linux. I have been very happy with linux, because of the freedom I now have.

You definitely can’t afford Windows if you continue purchasing it from a less than reputable source. For the amount you stated earlier I could buy enough licenses for 25 people! Windows 10 is only $119 for Home and $199 for Pro if you purchase it directly from Microsoft.

https://www.microsoft.com/en-us/store/d/windows-10-home/d76qx4bznwk4/1NT3
https://www.microsoft.com/en-us/store/d/windows-10-pro/df77x4d43rkt/48DN

2 Likes