Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
C4 game engine drops Linux support citing frustrations with desktop Linux (terathon.com)
44 points by iwwr on Jan 13, 2015 | hide | past | favorite | 84 comments


While Linux development, especially for game development, does has it's fare share of pain points. I don't think this should be interpreted as any more than it is, a single developer deciding he wants to stop supporting, one specific platform.

Eric is indeed a very skilled programmer, but this engine is very much developed to meet his whims. He hasn't yet released any games on it, and the vast majority of his engine licensees are hobbyists, who quite frankly are also unlikely to release a game.

So while Linux was a nice-to-have earlier on, and likely sold him a few licenses, with UE4 heading to Linux it's unlikely to give him many more sales. And I suspect he's used to developing in Windows, likely with visual studio, and in comparison, Linux can feel quite archaic. And in that context, maintaining Linux build systems can seem quite painful, likely the primary reason it's getting dropped.

On the contrary, with Valve's current and monumental efforts, I suspect we're going to see a lot of games continuing to be released on Linux. And the tools are improving vastly, and some rather nice tools, vogl for instance, are only fully functional on Linux, which provides a strong advantage.

I'm personally pretty excited to see what comes from AMD being much more open with their ISA, and related documentation. I'm pretty hopeful for a very open and fast graphics API, OpenGL in my opinion is the worst part of working on Linux.


"I suspect he's used to developing in Windows, likely with visual studio, and in comparison, Linux can feel quite archaic. And in that context, maintaining Linux build systems can seem quite painful, likely the primary reason it's getting dropped."

That's not it. Eric explained it in here: http://www.terathon.com/forums/viewtopic.php?f=2&t=14050&sid...


Thanks, I tried to search for more info but couldn't find it. I can't read this right now since it seems that Terathon.com is down, but will check it out.


I still haven't see any of the Steam machines on the wild.

Frankly I doubt I will ever see them.


Neither have I, if we're talking about the 'console' style Steam OS things.

But I'm playing on this Thinkpad running Arch, using my Steam account. I tend to ignore games that aren't cross platform (although I have a gaming box running Windows 8 as well).

It helps that a lot of games that I like (Awesomenauts for example) are available and work amazingly well.


I was running Steam in Big Picture mode on my Linux laptop only minutes before reading your comment. It's not a true Steam Machine, but neither is it that far off. :)


What is the specific difference between a true Steam Machine and a PC with Steam installed?


Besides Steam OS, mentioned earlier, people also expect them to be console-like in their compactness and portability, but that's not a hard requirement.


Well they use the SteamOS as an operating system


I don't think that is a requirement though, realistically the cost saving on a Windows OEM license will be eclipsed by the reduced game catalog for quite some time.


With Microsoft and Windows 10 having an App Store will certainly cause Steam OS to continue to Develop. The longer it is being baked the better it will be in the end.

Certainly people still need the need for Linux as an alternative to Windows and I have so little hope that OS X users would also see the need. Looking at you HTF+.


> The longer it is being baked the better it will be in the end.

Gnu HURD Forever!


I hate to admit but graphics part of Linux is really a big mess. I hope Valve will not abandon their efforts and succeed in making useable 3D platform/API running on Linux.


IMO, the biggest issue with Linux gaming is not OpenGL, as others claim, but input support.

Specifically, advanced controller support. SDL2 is far from enough.

For windows, there's no issue adding support for Logitech G25, G27, F710, Microsoft gamepads and Joysticks (the best joysticks ever made), and several other wheels like Fanatec.

In Linux it seems that only XBox360 compatibility is possible and everything else requires a huge amount of refactoring.

Also, raw keyboard and mouse support requires having root permissions and whatnot, something users can't be expected to set up themselves.

So, OpenGL has some performance issues but it works, input programming is actually a nightmare in comparison.

Still no Steam game works with the G25. Euro Truck Simulator 2 can't read it right, despite having kernel support, and the game is simply boring with a controller instead of a wheel.


What a pity they've decided to take a political position rather than a technological one .. plenty of other game engines work just fine on Linux (my personal example is MOAI) and so it seems to me what was needed was to just learn a little more about how to support Linux properly, and stop complaining about it. The fact that other game engines have no problems with this speaks volumes about the author. I respect his 'personal choice' in the matter - but removing working features from the release just seems like politics as usual..


It's more of a "I don't have the mental resources to deal with all this stuff" position and, as a Linux enthusiast, who has been running almost exclusively Linux for the last 8 years (I've tried SuSE, gentoo, ubuntu and currently settled on arch), I support his decision. The only way to really develop is to keep up, sometimes intimately, with the way things work and are built. I've had to do things like manually set up workarounds for buggy BIOSes (that are worked around via the drivers on Windows), patch binaries so they request a different sampling rate from my sound card and dump the initialisation sequence for my soundcard from the Windows drivers (another driver workaround for a buggy/incomplete BIOS).

It all makes you realise that computers aren't really user-friendly in the least, it's a lot of smoke and mirrors set up just right so one given platform will boot by god's grace and appear to work with stability. Linux won't make inroads until someone manages to write an advanced distributed AI to probe the hardware and automatically receive workarounds, i.e. do the thing that the hardware manufacturers do on Windows.


What a pity they've decided to take a political position rather than a technological one .

Not sure if that really is the case - to me it reads like "I spent so much time getting this thing to work and it still doesn't work properly now, so I just give up"

Yeah sure, the underlying reason for this might be that he doesn't know how to properly do it (and the reason for that in turn might be that it is hard), but how is not wanting to spend any more time on it purely a political position rather than a technological or business decision? Especially the latter, which is also explained again by Eric:

I cannot afford to spend weeks at a time just trying to install Linux, get it to boot, and get a development environment working. I simply don't have the funding to justify letting the engine stagnate while I mess around with an OS that should just work. It's extremely wasteful and unfair to users who are waiting on new features.


> spend weeks at a time just trying to install Linux, get it to boot, and get a development environment working

I think we found the problem. It's between chair and keyboard.


Well all of the 50+ people I know using linux everyday including myself, most of them as their major OS, have encountered these type of issues where you lose huge amounts of time trying to get something rather trivial to work. While your claim "It's between chair and keyboard" aka "yeah that's because they don't know how to do it" is of course perfectly valid, the reason the problem exists in the first place is usually elsewhere.

That being said, my last Debian install was pretty much effortless. But I seem to have a machine with which most Linux distors are quite happy :]


While there can be some trivialities that waste huge amount of time on every OS, however, installing Linux and setting up dev environment is not one of them.

Certainly not compared to Windows, where you must consider VS/msvcrt version, if you are using third party SDKs. It gets into "really not funny" territory when they have conflicting requirements.

Compared to that, Linux development environment is a piece of cake.


Sort of agree, the benefits of most linux' distros package managment system combined with lots of open source and gcc binaries being compatible with a quite few versions back are obvious.

But that doesn't mean they don't exist partly on Windows. "where you must consider VS/msvcrt version, if you are using third party SDKs." is a bit too narrow: that is (afaik) only the case if you use binary distributions of 3rd party libs and only for particular languages like C/C++ and if they make use of the standard libraries and force that upon the user by exporting instances of objects in it - and more often than not I've encountered all sorts of situation where that was not the case:

- it's OK to have e.g. a C lib linking against msvcrt x and use it in an application linked against msvcrt y, as long as the API is written properly and doesn't do insane things like trying to free what has been malloc'ed elsewhere

- if you have the source, you just build everything with the same VS version and that's it

- for C# etc there's a rather decent package manager so that's it as well usually


We seem to agree together :).

It may be or may be not easy to rebuild everything with the same VS version, especially open source packages. Many maintainers do not care about VS at all (e.g. xz/liblzma - use mingw, VS is not C99 anyway... but mingw links agains msvcrt.dll, which is a no-no) or have some crazy build system, that is supposed to work cross-platform, but really works only on Linux and maybe OSX (I'm looking at you, py2cairo). Some of them do care and building is a piece of cake (curl). Or they are somewhere in the middle, where will make their own build system, that defies all your expectations and does it's own things ignoring your vcvars (Boost).

When we get out of the C/C++ realm, it gets easier everywhere, whether C# or Python.


Oddly enough, I had a lot of trouble getting my new laptop to boot, work and sleep properly. Not for lack of experience: I first installed linux in the summer of 1992 using hlu's floppies and have used linux for daily work for about 20 of the 22½ years since then.

I can easily believe that someone used to windows with its mishmash of installers might have an unpleasant experience. Apt-get works wonderfully on a pristine system, but not so well if the system is halfway upgefucked with tarballs and rm -rf.

And particularly if systemd on ubuntu 14.04 supports his hardware as poorly as it supports my new laptop.


I'm with you - been running Linux since those days too, and I also think that the problem is entirely political in this case - he's already admitted that its not for any problem with the Linux host for C4 in particular, just that he's a frustrated Linux desktop user and wants nothing to do with Linux. But the Linux support is there and the C4 engine works on it .. so this is more of a political rant than anything else.


In that case I expressed myself badly (possibly due to systemd-induced gritting of teeth). Sorry.

I think it doesn't have to be political. The tiniest bit of ill will towards linux, a bit of windows-like behaviour (tar xf, rm -rf), and a bit of badly-supported hardware is quite enough to end up with an unworkable system and difficult-to-diagnode problems.


apt-get also only works extremely well for FOSS releases. If something is closed source (reality check) the developer will need to maintain the a build for each distro+release. The user will also need to add that apt repo and click through Linux's warnings about that.

> What a pity they've decided to take a political position rather than a technological one.

Ironically, it's the political (rather: religious) position of Linux that is getting in the way here. If you're not looking through the rosey colored RMS glasses it's very clear that the dev has taken the practical position.

Don't get me wrong, I wish it was different. Linux has amazing potential, but it unrealistically hostile toward these guys. Maybe SteamOS will bring some uniformity to the situation.


If you build your binaries against Ubuntu 12.04 (=glibc 2.15 symbols), chances are, that it will be extremely compatible with many distributions for years to come. Just make sure you know, what API you are really linking against.

The resulting package can install the repo by itself - i.e. user downloads the package, install it and suddenly, he has repo for updates installed. Google Chrome does it, for example.


Interesting! I assume you would have to statically link all other libs? Distros often swap out e.g. libfoo for foolib and from my own experience that usually ends up being a rabbit hole of "make."


You need to be able to make call, which libraries you are going to link dynamically. LSB libs, X11 and other parts of the infrastructure with staying history are safe, some random foo library is probably not.


The basic problem with systemd is that its "dependencies" based design result in all manner of nondeterministic behavior.

And i suspect this has little to do with the original complaint. I think that is more in terms of "lib version X-1 do not support the feature i need, X+1 breaks a different feature in a subtle way, and version X can't be found in any distro repo out there".

Sadly the above is not a problem of Linux or libraries, but of distro package formats balking at having multiple lib versions installed at once.


Makes me wonder which distro he's trying to use. My recent install of Mint Linux (on my primary dev box) was a breeze.


You've described the problem that a lot of developers I know have. Linux just isn't easy to understand, even for programmers, if they don't have a *NIX background to start with.


Linux is made by programmers, for programmers. If someone can't understand it, maybe it's not Linux's fault.


Actually, Eric Lengyel is a well-respected guy and programmer. If an OS takes him long (and by long I mean more than 10 minutes) to install and configure, that doesn't speak all-too-well for that OS.



While the website is down, I think it forgets to mention the "Never add comments to any code unless it's explicitly part of the public API."

It's also possible he prepossesses the comments out.


I have now :) I disagree with almost everything, but that doesn't make him a bad programmer.


There are so many reports of normal people installing Ubuntu without problems that I'd rather guess he hit some obscure bug.


Admittedly it's not as bad as 5 years, and yes, Ubuntu is ridiculously easy to install if everything goes well. That being said, I think obscure bugs are one of FOSS's biggest enemies. For example, a small and easily-solvable bug with NVIDIA driver can scare off a lot of users.


OSX takes me about 40 minutes to install and I still speak pretty damn well about it.


39 of these 40 are waiting download/installation. Don't put my comment out of context :)


Sooo, how about taking up the flag?


The engine is proprietary, stefantalpalaru couldn't "take up the flag" even if (s)he wanted.


I understand that.

But, say I propose to stefantalpalaru to write an engine supporting Linux from scratch. And if that's too hard, wouldn't it be fair to say, that it is also a problem between the chair and the keyboard?


If I ever complain about needing weeks to do something as simple as installing a Linux distro and creating a development environment, feel free to say it.


I'm just curios, how would you imagine the dev environment for C4 would look like?


Autotools, gcc, needed libraries, binary blob drivers for the video card, a terminal emulator and vim with a bunch of scripts.


I like how you gloss over the "needed libraries".

But seriously, let's take a quick look (here)[http://www.terathon.com/architecture.php] and think, what might be a clear pain point in Linux, even if the "needed libraries" worked perfectly with all the hardware and all distros and the blobs were perfect.

Did I hear someone say "Linux sound support"? Yes, that is a correct answer. Sound in Linux is a know clusterfuck.

What else might be not as trivial? Did someone say support for multiple graphic cards? Yes, even with OpenGL it might be an issue.

Not to mention all the GUI tools.

So yeah, those all things obviously would never have any less than functioning dependencies on Linux...


Use PortAudio for sound (MIT license), Qt for the GUI and various OS dependent abstractions (threads, mutexes, etc.) - LGPL. If you don't like the OpenGL wrapper from Qt, go with FreeGLUT (MIT) or SDL (zlib license).


I'm not arguing that there aren't any libraries.


No, you're just spreading FUD about Linux. There is no audio clusterfuck, just incompetent developers like those working on Skype that only support PulseAudio instead of using a library that would give them ALSA, JACK and OSS support.


Seriously, buddy, I gave you like a ton of ways to deescalate the douche in your response, but you went right through the wall.

C4 isn't the only case where developers are frustrated with Linux. And if Windows and OS X fare better in attracting developers (which these systems do), even though Linux is essentially free (and the competition isn't), that's per definition a sign of a shit product.

So, you can of course, think that all of this is FUD and everybody in the world is incompetent, while more and more people drop support for a system that's too much duct-taped together for its own good.


Actually, in this case, glossing over the "needed libraries" is appropriate. Eric some serious NIH. Choosing to write his own video codec, for example.


I'm not sure I get your point. Although writing your own video codec seems a bit overkill.

The spec here isn't that trivial, I mean the thing has clearly strict performance and portability constraints across systems and compilers, not to mention maintainability and quality consistency across the releases. Finding libraries that fit well with those constraints, especially for a large project like this, isn't easy. So I can imagine scenarios where NIH would be justified.

I was mostly making a point, that using such broad strokes to claim someone to be incompetent, while assuming all the libraries and tools required are in perfect condition and perfectly work is dumb and Stefi's hissy-fit here is just self indulgent ego-stroking.


Yes, sorry. I should have better explained. In this case, C4 is capable of building with nearly zero libraries, afaik, only requiring OS libs, and OpenGL. In this case, I think we can expect the libraries to be in perfect working condition.


It depends if (s)he abandons the project because installing a distro is too hard or (s)he had a legitimate roadblock.


I'd guess installing a distro and installing a distro with all dependencies for developing a complex game engine might be different things.

If they say it's a legitimate roadblock for them, then I tend to believe it.


My 3 cents:

Maybe a possible alternative would be to focus on one particular linux distribution, like ubuntu or debian, with certain dirty intall scripts ?

Or go all the way and just deliver a bootable CD or USB drive that install the games somewhere, and then boots up a certain linux kernel configuration with specific, working nvidia or amd drivers.

Honestly if I had a successful game I could sell, I'd try to sell it at half the price by packaging it with some linux distribution the game works on, just for promoting linux to show the consumers that developers appreciate it.

Maybe another other alternative would be to offer games on certain hardware which is supported, and not to other types of hardware.

But obviously, as long as hardware vendors don't give a damn about linux, I won't be surprised reading those posts.

Game developers should not expect being able to use the latest graphics features on an open platform. It just won't happen. The 3D hardware industry always adds new things, it's impossible to keep up unless you had engineers working tightly with nvidia or AMD.

So drop the support of high end 3D features, only keep the core ones that have been working for a long time (do you really need that shader ?), focus on other basic things (like scriptability and other libraries, there is so much stuff to put in a game engine), and deliver a working 3D engine that is easy to use and program with. I don't think any small developer who wants to release on linux can really compete with AAA, high end graphics titles. The only possible way to compete is to bring something new in term of gameplay, stop focusing on the graphics and the bells and whistles, it just won't happen.

TLDR:

gaming is obviously anti competitive if you want to release on linux. what to do: don't try to compete with what other games have already done, and focus on things that are doable and have been done well for a long time. There are many existing game concept that could be improved if you stop wasting time on the graphics. Having basic 3D rendering is already awesome in itself.


> So drop the support of high end 3D features

You're really suggesting people in a field that is constantly pushing the boundaries of graphics to drop one of the things they do best?

> do you really need that shader

Yes!

> I don't think any small developer who wants to release on linux can really compete with AAA

You'd be surprised with what a small developer can do, See tomorrow children. Sadly sometimes it sometimes seems that if you want to push graphics features, you cannot release on Linux.

> Having basic 3D rendering is already awesome in itself

No, not really. I'd prefer 2D rendering to basic 3D rendering.

> don't try to compete with what other games have already done, and focus on things that are doable and have been done well for a long time

Did you really just contradict yourself in the same sentence?

Though, more to the point, the problem isn't that getting something running Linux would be difficult. The problem is that in order for Linux to have proper and first-rate support, or in some cases, any support at all, you need to start getting developers working on it as a primary development platform. And if I can't do the things that I, as a graphics programmer, need to do, I'll go elsewhere. Working on Linux is nice, but if I have to choose between developing the game I want to, or having Linux support, that's a trivial decision.


> You're really suggesting people in a field that is constantly pushing the boundaries of graphics to drop one of the things they do best?

Better work in CGI graphics then. Also, what's the point of rendering ? You won't make a game if all you have is good rendering. You also need quality content. You can't be a good graphics programmers AND spend time producing geometry.

> Did you really just contradict yourself in the same sentence?

I just meant do improve designs that have been proven to work, not try to make the same kind of design you usually see in AAA shelves.

I see many indie games just being some remake, or influenced by many other games. They don't have any kind of standing out feature, the only interesting thing there is, is content, which is not what makes a good game. There is almost never a feature of the game that is standing out in term of gameplay and algorithm.

A good example is minecraft: the game is interesting because it has an infinite, consistent 3D level. No game had that before. All I care is gameplay and interactions. My point is this: if a game is not different in gameplay and can't attract the player imagination, it's maybe not worth doing.


Unless SteamOS and Steam Boxes becomes a thing releasing native games on Linux doesn't really make sense unfortunately, cost of customer support alone would be prohibitive, and the negative backslash from the Linux community if Linux distro X on hardware Y is not supported would do the rest to drive devs away. The most realistic distribution platform for games on Linux (unless SteamOS takes off) would actually be HTML5 games using WebGL for 3D rendering. In this case the browser vendors do all the hard work to provide a unified platform wrapper (not that I ever got WebGL support working on Linux in a VM though).


I don't know if you can make a serious game with js though. ASM.js might help, the 3D demo from the unreal engine showed a decent framerate, but I don't know if it can go from the neat demo to something that can be sold.


Whoa, blast from the past; I did a minor game design using this engine. I spent most of the time refactoring the demo game code to something a bit more OO / to my style though. I don't know if that was good for performance, but it pleased me.

But yeah, as another commenter stated, it just doesn't have the leverage as the bigger engines have (U4, Unity, etc), and those have very competitive pricing for hobbyist developers nowadays. Not to mention the financial means to have their developers also support Linux, with all the headaches that may incur.


From a consumer point of view, everything above the Linux Kernel is a mess. A mess means actually choice where the consumer doesn't need one. I had hopes that Steam Machines may leverage Linux to consumers but trying to configure my father's Linux machine to his needs brought me back to reality.

I even think that the consumer perspective is the one that hinders Linux. Want to develop something for Linux? What's the display server? Proprietary or free drivers? What Desktop Environment? QT or GTK Application? All those things are fine to develop for, but what do you develop for when you don't have time to test and support every existing configuration.


I like your definition of "mess". It clarifies but is still subjective. :)

The answer in my opinion is "develop for Ubuntu LTS". Non-LTS changes too fast. In contrast to Debian, you can assume proprietary nVidia/ATI drivers. If it works on Ubuntu, it (usually) also works for Debian and Mint, although you don't have to explicitly support them. Arch users are probably used to and savvy enough to port stuff from Ubuntu. It implicitly means GTK/Gnome/Unity, although games probably just use SDL and OpenGL.


I had hopes that Steam Machines may leverage Linux to consumers but trying to configure my father's Linux machine to his needs brought me back to reality.

I don't see why. A Steam Machine would solve exactly the problem you point out: it would set a fixed configuration that developers could target. Then other distros would have to adapt themselves if they wanted to run those games, and not the other way around.


> "From a consumer point of view, everything above the Linux Kernel is a mess."

That's the sort of thing projects like systemd aim to fix.

> "Want to develop something for Linux? What's the display server? Proprietary or free drivers? What Desktop Environment? QT or GTK Application?"

You don't need to concern yourself with the display server if you're writing using a library like Qt or GTK+, but it's not a hard question anyway (X.org now, Wayland/Mir in the future). Drivers wise, most devices only have one driver to choose from, the only exceptions are for the GPU, and if you want to play games the answer is clear (NVidia card, proprietary driver). Desktop environment doesn't matter, they all support X.org graphics frameworks.

There are certainly challenges with Linux development, and there is a need for a bit more stability lower down the OS stack, but the situation is improving, and Windows proves you can offer both choice and stability. The only issue I see that is a time bomb with regards to Linux gaming is the sound stack, everything else appears to be improving.


Looks like a cure that is worse than the illness from here...


Note that Windows is a similar mess. From the very beginning, you had plenty of different GUI libraries - MFC, WTL, WinForms, Delphi, Xwt, wxWindows etc. (let's not even mention Java, the perpetual red-headed step child) Every office version introduce some new "default style" that everybody had to emulate (flat toolbars, ribbons...), resulting in a plethore of subtly different applications. Does your menu have icons? Where is the preferences dialog?

And the only salvation for the driver mess is that apart from Nvidia, Intel and ATI, every other manufacturer has left the picture. No more Tseng, S3, Matrox etc.

But Windows is immmensely popular. So you have to go through those problems. Linux isn't that hard, but it still might not be worth the effort. OS X does pretty well in that regard, not that popular, either, but very homogenous. At least since the days of RealBasic apps is finally over ;)


For games you don't care about the window system, what's critical is a 3D API, input and sound. MS got this right early with D3D, DirectInput and DirectSound. And MS forced hardware vendors to commit to these APIs which was a good thing.

The problem with Linux (above the kernel) is that everyone is pulling into a different direction.


Of couse games do not care about UI toolkits, but the excuse against linux was always Gnome-KDE or Gtk-Qt-Motif-Athena-whatever, even through games do not care about these things (see also your grandparent post).

In Linux, there is glx[1]+OpenGL and SDL. The problem (quality of OpenGL implementations) is not unique to Linux.

[1] - yes, soon to be EGL.


Yes I remember now that the Valve SteamOS devs recommended to use SDL2 instead of going directly on the OS APIs, since it takes care about a lot of small problems and differences. So basically SDL would take the role of DirectX.


I think it's better to hand over the platform support to experts (Mono/JVM) and just focus on the engine.


Fragmentation still continues to increase; see the recent systemd debacle and the ALSA vs Pulseaudio farce.

A veritable shitfest of useless and downright poisonous changes that alienate users and non-core developers.

"Oh, you have this thing that works perfectly? Well, here's a shitty idea with a shoddy execution that is the new standard. It supports this feature that 1 percent of users like and no longer supports this other feature that 99 percent of users actually care about."


Worst for him.

I personally feel that C & C++ develop on Windows is ANAL. Installing libs and detecting isntalled libs, it's very problematic, when on my GNU/Linux desktop I only need to do a : sudo apt-get XXX or git clone XXX & make & sudo make install


"Easy to pull 3rd party libraries" is not particularly positive for a engine/library developer; ideally, you should incur as little dependencies on your users as possible.


Why?

There are outstanding ecosystems for packaging and dependency management in place. That makes it easier to embrace than to avoid dependencies as a library developer.


A library can't depend on other libraries unless there's a strong guarantee that those other libraries will work everywhere. If you go using tons of dependencies, you limit yourself on porting. If you go crazy with apt dependencies, you've probably just limited yourself to Linux, and end up with the opposite problem as shown in the article.


That's true, honestly, library installation is a pain on Windows. Sadly, the problem on Linux is often Driver installation, which is more problematic to be missing.


I would suggest that on windows you copy all the relevant libraries and headers to your project root and use those, rather than try to "install" them.


The answer to this developer's install problems are a VMWare virtual machine running on his usual Windows setup. By his own account his actual Linux code works just fine - the only thing that was in his way was his inability to install the OS in the first place. It seems a shame to throw out all that working code over such a trivial & easily solvable problem.

Wrestling with weird stability problems (which might be a hardware fault, might be buggy display drivers, who knows?) for weeks on end before flouncing out stage right promising never to return is the mark of someone who hasn't really thought things through.


VMs just add another dimension to the pain of incompatible or buggy components. I don't know if VMWare provides modern OpenGL support (3.x or better). I have only experience with Virtual Box, and only ever got OpenGL 2.1 (8 years old) without extensions running with hardware acceleration, but with bugs (e.g. vsync never works). Right now I can't update to the latest VBox version because its display driver is incompatible with my Linux version.

I work on Linux running in VMs every day, but can't recommend this setup at all for OpenGL development.


Ah, fair point - VMWare only gets you OpenGL 2.1 & given that the guy is writing a games engine he probably wants 3.x at least.


The OpenGL profile isn't enough either. You really need direct and real hardware access. Emulated graphics just won't do.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: