18 ms·
Valve's GDC Talk: Porting Source to Linux [pdf]
- ZeroGravitas 14y agoThis isn't my area but, they appear to be saying that by using OpenGL instead of Microsoft's equivalent, not only do they get Linux support and a stepping stone to mobile support, they can also use more up-to-date code that Microsoft doesn't support on XP (highlighting China as a place where they have modern machines running the old operating system) and get a 20% performance improvement even when going through a translation layer. That's a very interesting result.
- Colliwinks 14y agoExcellent writeup here [1] of the use of DirectX over OpenGL in games. OpenGL is far from the rosy open source alternative. [1] http://programmers.stackexchange.com/questions/60544/why-do-game-developers-prefer-windows http://programmers.stackexchange.com/questions/60544/why-do-...
- verroq 14y agoDid you read the post you linked? It talks mostly about legacy problems. OpenGL 3.0+ is fine. And by the way, the emphasis should be on cross platform.
- shardling 14y agoWell, the post claims that 3.0 was a failure, but I think that was a case of speaking too soon. My limited understanding is that yes, since then OpenGL has had much better shepherds.
- exDM69 14y ago> Well, the post claims that 3.0 was a failure The failure it is talking about was codename "Longs Peak", a project that was supposed to be OpenGL 3.0. It was supposed to be a redesign from scratch but was eventually abandoned and OpenGL 3.0 was based on the old GL 2.0 API (with some parts deprecated and some new things added).
- gcr 14y agoWolfire Games, of Overgrowth fame (they also were the original organizers of the "Humble Indie Bundle") have another writeup comparing OpenGL to DirectX. Their argument centers mostly on the market ("Linux users are important") and it's a bit dated (2010), but still a great read. http://blog.wolfire.com/2010/01/Why-you-should-use-OpenGL-and-not-DirectX http://blog.wolfire.com/2010/01/Why-you-should-use-OpenGL-an...
- kenjackson 14y agoI tend to believe everything except the performance part. I'd be curious to see a less interested party doing the analysis. I'd like to get Carmack's or Sweeney's take on this. This feels like MS claiming that IE gets better perf than Chrome.
- Ziomislaw 14y agoactually, IE has comparable performance to Chrome (at least in webGL), but they tuned it by silently dropping frames. ;p so yes, Im pretty sure M$ technologies are written really well and could not be trivially optimized by as much as 20%. :)
- arasmussen 14y agoI thought IE doesn't support WebGL?
- spoiler 14y agoI think 10 and 9 do
- esrauch 14y agoNo released IE supports it, but IE11 might. Microsoft hasn't announced anything explicit.
- b0b_d0e 14y agoAt least according to this blog post, there is hints that IE 11 might have some form of OpenGL support in it http://withinwindows.com/within-windows/2013/3/30/blues-clues-how-to-enable-webgl-in-internet-explorer-11 http://withinwindows.com/within-windows/2013/3/30/blues-clue...
- dmm 14y ago> I tend to believe everything except the performance part. My recollection is that the performance increase came from a flaw in the renderer that was accidentally fixed in the OpenGL port.
- pandaman 14y agoBoth DX and OpenGL work with the hardware abstraction that does not exist any more. As a result, the API calls cannot be trivially converted into the hardware commands. Most importantly - there are multiple paths the translation can follow and each will produce very different results from the performance point of view. There is a reason modern video card drivers are hundreds megabytes big - they contain app-specific optimized code for hundreds of games and applications. With the above said, 20% difference is solidly in the area of driver versions differences.
- bitwize 14y agoI'm actually surprised that there isn't more support for a native Linux version of Direct3D. It is by far the better of the two APIs, both in terms of ease of use and more closely conforming to the model used by video hardware itself. Since the future of remote Linux desktops is going to be based on Microsoft's RDP rather than X, it makes sense for the open source community to adopt a better Microsoft technology when it comes along.
- ysangkok 14y agoWhy not just fix OpenGL instead? Actually, it was fixed, but no-one knows how to use OpenGL 4 yet.
- bitwize 14y agoOGL 4 still has too much state machine diddling and extension wrangling. In order to be fixed, it would have to drop a lot of state machine calls and replace them with a comprehensive object model to represent textures, shaders, geometry buffers, etc.; and there would have to be a comprehensive profile of current GPU functionality in the core API with a much faster release cycle. In other words, it would have to become a lot more like Direct3D. "Fixing" OpenGL to bring it into the current era of graphics development usually means making it look more like Direct3D anyway, so why not just go whole hog and adopt Direct3D?
- btian 14y agoBecause Direct3D is not cross-platform. You can't use that on the iOS devices, Android devices, OS X, Linux/Unix systems, PS3/PS4, Wii etc.
- bitwize 14y agoThere's a preliminary free implementation of Direct3D on top of Gallium by Luca Barbieri. Getting the community behind that would be a useful first step towards a native Direct3D rendering stack that could then be ported for use e.g. in iOS apps.
- rplnt 14y agoIs there a video/audio for this talk? Or can we expect it?
- thristian 14y agoThis was a talk given at GDC, so it will no doubt end up on http://www.gdcvault.com/ http://www.gdcvault.com/ sooner or later - but it will very likely be behind a paywall.
- deleted 14y ago[deleted]
- oneofthose 14y agoA similar talk was given at GTC (GPU Technology Conference), it is S3418: Porting Source to Linux: Valve's Lessons Learned. The video is available for attendees right now. Videos should be available to the general public 30 days after the conference ended. This is the website: http://www.gputechconf.com/page/home.html http://www.gputechconf.com/page/home.html
- carl689 14y agoWhile I understand why, I still find it a bit funny seeing Windows screenshots on a Linux porting pdf.
- deleted 14y ago[deleted]
- endianswap 14y agoWe're a pretty Windows-centric shop, I often see great effort to do OSX/Linux development via some convoluted toolchains just to be able to do the brunt of the work on Windows in Visual Studio.
- gioele 14y agoAnd today I learned about the existence of cGDB (a curses frontend for GDB, http://cgdb.github.com/ http://cgdb.github.com/ ). It seems very nice and I agree with what is said in one slide of the Valve talk: «* gdb: debugging from 1970 * cgdb: debugging from 2000»
- gioele 14y agoHN discussion on cgdb: https://news.ycombinator.com/item?id=5492376 https://news.ycombinator.com/item?id=5492376
- deleted 14y ago[deleted]
- wladimir 14y agocgdb looks promising. I really, really liked the Turbo Debugger in the 90's. No debugger has offered me the same experience since. It was fast, the text-based windowed interface allowed efficiently jumping to assembly as well as to the source, view registers, editable hex dumps of memory, view watchpoints etc. gdb is super-powerful but was a bit of a setback interface-wise because everything has to be done on a plain command line. And the GUI-based wrappers around it don't appeal to me much (don't know why, the ones I tried felt somewhat clunky).
- jiggy2011 14y agoThe point about China is interesting, if this gets China to start switching to Linux on the desktop then MS has real problems. I wonder why they are mainly using XP in china? Is it just that 7/8 are more difficult to pirate?
- TazeTSchnitzel 14y agoPerhaps there is a lot of software written for XP, many computers can't run Vista or 7, and there is little incentive to upgrade anyway? Those would be my guesses.
- spacelizard 14y agoThe real question is, can we expect a FOSS release of old (or new) valve code any time soon? It seems natural given their modder-friendly nature and their shift towards GNU/Linux. Plus, it's about time someone else followed Carmack's example.
- keypusher 14y agoTheir approach has generally to release their tools and SDK so others can build using their tools. I don't think they have much interest in releasing the code, but they have always wanted (and benefited from) the community taking their tools and engine and building cool stuff.
- spacelizard 14y agoI think they should have an interest in it. The toolchain they publish is notoriously out of date and suffers from poor documentation. Why not let the community work on it? There seems to be demand for it.
- TazeTSchnitzel 14y agoPerhaps they could release the source for GoldSrc, considering it isn't used by any of their current games.
- aw3c2 14y agoTheir tools are bundled with very limiting terms of usage, you must only use them to develop for their games.
- fulafel 14y agoTelemetry definitely sounds neat. anybody know about pricing?
- noahl 14y agoIt's not directly related to games, but I was very surprised to see their graph of operating system usage. In the last few months (which, admittedly, are not at all typical), their Linux usage increased by 1% every one to two months. At that rate, it would pass OS X use by April. It would be really cool if these numbers made other companies, including non-game ones, become more serious about Linux development.
- ecuzzillo 14y agoSteam for Linux just came out of beta, and they marketed that fact fairly heavily.
- skeletonjelly 14y agoBy merely signing in on the Linux beta you got a tux hat for TF2. Adoption would have been pretty heavily affected by this.
- aspensmonster 14y ago>Why port? >Linux is open Well, GNU/Linux may be open overall, but the NVIDIA drivers and in-house dev tools that are making all the magic happen certainly aren't.
- martijnh 14y agothan you for writing were, rather than was