Linked by Thom Holwerda on Tue 11th Mar 2014 13:54 UTC
Games

Two loosely related news items.

During presentations and hands-on demos at Crytek's GDC booth, attendees can see for the first time ever full native Linux support in the new CRYENGINE. The CRYENGINE all-in-one game engine is also updated with the innovative features used to recreate the stunning Roman Empire seen in Ryse - including the brand new Physically Based Shading render pipeline, which uses real-world physics simulation to create amazingly realistic lighting and materials in CRYENGINE games.

Second, Valve has released ToGL as open source, a Direct3D-to-OpenGL translation layer, which the company itself uses for Dota 2.

Order by: Score:
Nice Work!
by Alfman on Tue 11th Mar 2014 14:39 UTC
Alfman
Member since:
2011-01-28

DirectX 9c is a bit old, however I'm glad it's open source since it will probably make it's way into Wine where we can end the dependency on MS redistributables.

(which is explained here)
http://www.dedoimedo.com/games/wine-directx.html


Wine are already working on Direct-X, but lots of todos.
http://wiki.winehq.org/DirectX-ToDo

Edited 2014-03-11 14:45 UTC

Reply Score: 3

RE: Nice Work!
by silviucc on Tue 11th Mar 2014 14:50 UTC in reply to "Nice Work!"
silviucc Member since:
2009-12-05

You need to understand that Valve's translator only needed to be good enough for the Source engine. Wine's aims to be feature complete. It probably already is better than Valve's

The fact that it works well with the original libs from MS should be proof of that.

Edited 2014-03-11 14:53 UTC

Reply Score: 5

RE[2]: Nice Work!
by Alfman on Tue 11th Mar 2014 15:28 UTC in reply to "RE: Nice Work!"
Alfman Member since:
2011-01-28

Well, that depends on what your aiming for. The trouble with that setup is that MS Direct X implementation isn't technically written to operate on top of Linux'es OpenGL stack. Wine has to masquerade as emulated video drivers such that MS directX will work, which is a bit backwards from wine's philosophy and is probably not very optimal. MS'es licensing terms prohibit mirroring of their DirectX libs, not to mention it's a binary blob. It should not be viewed as more than an interim solution, IMHO. A better solution is needed for the long term. Linux + Wine needs to support directx natively, and based on my own experience it's extremely hit or miss.

Wine has come a long way over the years. Never the less assuming CRYENGINE's native DirectX implementation is more mature/complete, then I see a good opportunity for cross-pollination for these two open source projects.

Edited 2014-03-11 15:42 UTC

Reply Score: 1

RE[3]: Nice Work!
by Wootery on Tue 11th Mar 2014 16:49 UTC in reply to "RE[2]: Nice Work!"
Wootery Member since:
2013-11-22

Linux + Wine needs to support directx natively


No. A thousand times no. Writing a decent graphics-card driver is already a vast undertaking, and that's 'just' if you aim to support OpenGL (as current Linux drivers do).

Direct3D has no place being a first class citizen in Linux anyway. It's Microsoft's, and no-one else's. Running Direct3D applications on GNU/Linux absolutely should mean mapping to OpenGL through Wine/Winelib/toGL.

Edited 2014-03-11 16:49 UTC

Reply Score: 8

RE[4]: Nice Work!
by Alfman on Tue 11th Mar 2014 17:51 UTC in reply to "RE[3]: Nice Work!"
Alfman Member since:
2011-01-28

Wootery,

No. A thousand times no. Writing a decent graphics-card driver is already a vast undertaking, and that's 'just' if you aim to support OpenGL (as current Linux drivers do).

Direct3D has no place being a first class citizen in Linux anyway. It's Microsoft's, and no-one else's. Running Direct3D applications on GNU/Linux absolutely should mean mapping to OpenGL through Wine/Winelib/toGL.


Then you must have misunderstood my post since I do not suggest making DirectX a first class citizen in Linux any more than the win32s are. However these *should* be first class citizens within Wine without dependance on proprietary MS software. The whole point of wine is to run windows software on linux. Those who see no value in this need only not install it.

Edited 2014-03-11 17:56 UTC

Reply Score: 4

RE[5]: Nice Work!
by Wootery on Wed 12th Mar 2014 00:16 UTC in reply to "RE[4]: Nice Work!"
Wootery Member since:
2013-11-22

With respect, no, I didn't really misunderstand. You were unclear.


Linux + Wine needs to support directx natively, and based on my own experience it's extremely hit or miss.


You conflated Wine and Linux.

However these *should* be first class citizens within Wine without dependance on proprietary MS software.


In what sense does Wine not already do as you are describing? It does support a respectable subset of Direct3D.

Looking at this Wikipedia article ( https://en.wikipedia.org/wiki/Wine_%28software%29#Software_a... ) I see that nowadays, using Gallium3D, Linux itself can be said to actually support at least some subset of Direct3D natively. Impressive bit of work, that.

Reply Score: 2

RE[6]: Nice Work!
by Alfman on Wed 12th Mar 2014 04:09 UTC in reply to "RE[5]: Nice Work!"
Alfman Member since:
2011-01-28

Wootery,

You conflated Wine and Linux.


I regret having caused the confusion and turning the thread into a train wreck ;) However I really did mean Linux PLUS Wine. Linux does not support DirectX without Wine, and Wine can not support DirectX without the 3d graphics driver code from Linux, hence the "Linux + Wine".

In what sense does Wine not already do as you are describing? It does support a respectable subset of Direct3D.


Parts of it are incomplete, unmaintained, and broken, which is the reason I was happy for this news.


Gallium3D, Linux itself can be said to actually support at least some subset of Direct3D natively. Impressive bit of work, that.


Cool, that's a recent development though, if it is merged in the next linux distro I install, I'll be sure to take a look!

http://article.gmane.org/gmane.comp.video.mesa3d.devel/60445

Edited 2014-03-12 04:21 UTC

Reply Score: 5

RE[7]: Nice Work!
by oiaohm on Wed 12th Mar 2014 05:08 UTC in reply to "RE[6]: Nice Work!"
oiaohm Member since:
2009-05-30

Wootery,

"You conflated Wine and Linux.


I regret having caused the confusion and turning the thread into a train wreck ;) However I really did mean Linux PLUS Wine. Linux does not support DirectX without Wine, and Wine can not support DirectX without the 3d graphics driver code from Linux, hence the "Linux + Wine".
"
Please remember wine runs on BSD and OS X as well.

Also Linux can support so much direct x without wine. http://www.osnews.com/story/613/Direct_3D_8_0_Wrapper_for_OpenGL_Op...

Yes this is not the first time a Direct x to opengl wrapper has appeared.

"In what sense does Wine not already do as you are describing? It does support a respectable subset of Direct3D.


Parts of it are incomplete, unmaintained, and broken, which is the reason I was happy for this news.
"
History of the direct x 8 wrapper and the direct x 1-7 wrapper before us that wrappers have zero effect on wine development and historically very min effect on applications ported.

Reply Score: 4

RE[3]: Nice Work!
by Sabon on Tue 11th Mar 2014 22:30 UTC in reply to "RE[2]: Nice Work!"
Sabon Member since:
2005-07-06

"A better solution is needed for the long term. Linux + Wine needs to support directx natively, and based on my own experience it's extremely hit or miss."

I couldn't agree with less. We don't need the **** that MS makes. Linux programmers can do better. It's better just to intercept the calls and make better libraries which eventually, yes that word, the programs will run better on Linux than on Windows.

Reply Score: 3

RE[4]: Nice Work!
by Alfman on Wed 12th Mar 2014 03:37 UTC in reply to "RE[3]: Nice Work!"
Alfman Member since:
2011-01-28

Sabon,

I couldn't agree with less. We don't need the **** that MS makes. Linux programmers can do better.


It's funny, I keep getting responses purportedly disagreeing with me that I never the less agree with ;)

Keep in mind that Wine is NOT about doing things better; it's about bringing more commodity software to linux, that's it. There's really no insinuation here that linux is inferior.

It's better just to intercept the calls and make better libraries which eventually, yes that word, the programs will run better on Linux than on Windows.


This is what makes me so unsure what you disagree with me about. This is what the wine project is doing, and I made no suggestion to change that. My earlier statement was probably confusing, so please allow me to rephrase it so as to avoid further confusion:

Linux WITH Wine needs to support directx software directly, meaning that installing the proprietary MS DirectX redistributables is only a stop gap measure until Wine's own libraries can implement DirectX fully with open source alternatives.

Reply Score: 4

RE[2]: Nice Work!
by bassbeast on Tue 11th Mar 2014 16:04 UTC in reply to "RE: Nice Work!"
bassbeast Member since:
2007-11-11

I'l get hate from the Valve and Linux fans (and for the record I love Steam and Valve games, own nearly all their catalog and I only game through Steam and Humble Bundles) but the simple fact of the matter is....sigh....the Source Engine? kinda shit.

I'm sorry but its true, that engine was out of date in 2007 and it hasn't really gotten any better. the reason is its stuck at 9c (which is fricking ancient, we've had two and soon to be three DirectX releases since then) and it really hasn't progressed much on either DirectX or on the OpenGL fronts.

So I really don't know how much help a translation layer built for a 7+ year old engine is really gonna do. Maybe for legacy games? While its true that many games have a "Oh you are on XP?" crap mode (Saints Row series for example) the problem is the main game defaults to NON crap mode DX10 or DX11 which this just won't help.

Reply Score: 1

RE[3]: Nice Work!
by silviucc on Tue 11th Mar 2014 16:54 UTC in reply to "RE[2]: Nice Work!"
silviucc Member since:
2009-12-05

You do know that the just released Titanfall uses that "shit" engine, right?

Sure, it's been modified... but it's the Source engine. Enjoy.

Reply Score: 7

RE[4]: Nice Work!
by ilovebeer on Tue 11th Mar 2014 19:02 UTC in reply to "RE[3]: Nice Work!"
ilovebeer Member since:
2011-08-08

You do know that the just released Titanfall uses that "shit" engine, right?

Sure, it's been modified... but it's the Source engine. Enjoy.

You forgot to include "heavily" before "modified" in your comment. Further, those mods are what made using the source engine feasible to use in the first place and still get the desired results.

You saying the engine in Titanfall is modified but it's still the source engine... is like saying a Nissan Skyline thats been modified with high performance street racing parts and kicks out 600+ horsepower, is still `just a Nissan Skyline`. In other words, don't downplay the significance of the modifications - they make all the difference in the world.

Reply Score: 3

RE[5]: Nice Work!
by silviucc on Tue 11th Mar 2014 19:06 UTC in reply to "RE[4]: Nice Work!"
silviucc Member since:
2009-12-05

Every game is based on modified engines. There is no "one size fits all" game engine.

You want to modify it in order for it to do whatever it is that you want it to do.

Please don't downplay the importance of gameplay simply because you deem some game engine or another as being unworthy.

Don't like it? Don't buy it. Simple as that.

Reply Score: 5

RE[6]: Nice Work!
by Nelson on Tue 11th Mar 2014 19:34 UTC in reply to "RE[5]: Nice Work!"
Nelson Member since:
2005-11-29

I don't think every game is modified to the extent the Respawn developers seem to indicate it was.

To me, it more than likely might've been an early on technology decision that probably came back to bite them. I don't know if they'd make the same call in hindsight.

They were probably aided significantly by the off client AI processing freeeing up what likely could've been a CPU bottleneck

Reply Score: 3

RE[6]: Nice Work!
by ilovebeer on Tue 11th Mar 2014 19:49 UTC in reply to "RE[5]: Nice Work!"
ilovebeer Member since:
2011-08-08

Every game is based on modified engines. There is no "one size fits all" game engine.

You want to modify it in order for it to do whatever it is that you want it to do.

It's common for a game engine to be modified. Sometimes only slightly, other times very heavily as is the case with Titanfall. Whether or not the engine was modified was never in question.

Please don't downplay the importance of gameplay simply because you deem some game engine or another as being unworthy.

Don't like it? Don't buy it. Simple as that.

You tried to pass off the heavily modified source engine used for Titanfall as just being the source engine. I corrected you and told you not to downplay how important those modifications are. I made no reference to gameplay or anything being unworthy. Rather than that nonsense you should have just said `you're right, the Titanfall engine isn't just the source engine when you consider the extent of modification done to it. My bad.`

Reply Score: 2

RE[7]: Nice Work!
by Thom_Holwerda on Tue 11th Mar 2014 23:32 UTC in reply to "RE[6]: Nice Work!"
Thom_Holwerda Member since:
2005-06-29

Is there any information on just how far the modifications go, how extensive they were?

Reply Score: 2

RE[4]: Nice Work!
by karunko on Wed 12th Mar 2014 08:03 UTC in reply to "RE[3]: Nice Work!"
karunko Member since:
2008-10-28

You do know that the just released Titanfall uses that "shit" engine, right?

Call me pendatic, but Respawn picked Valve's Source Engine only because it could hit consistently 60fps on both the Xbox 360 and the PS3 (source: http://www.polygon.com/e3-2013/2013/6/12/4419110/titanfall-respawn). Given that they are almost 9 and 8 years old respectively, I don't think that's saying much about the technical prowess of the Source Engine but, on the other hand, I agree that this Direct3D-to-OpenGL translation layer is going to be useful nonetheless.

RT.

Edited 2014-03-12 08:05 UTC

Reply Score: 2

RE[2]: Nice Work!
by Soulbender on Fri 14th Mar 2014 07:38 UTC in reply to "RE: Nice Work!"
Soulbender Member since:
2005-08-18

It probably already is better than Valve's


That depends on what your definition of better is.
Is it running random Windows program X on Linux? Then yes.
Is it running Valve's games on Linux? Then no.

Reply Score: 2

RE[3]: Nice Work!
by silviucc on Fri 14th Mar 2014 08:35 UTC in reply to "RE[2]: Nice Work!"
silviucc Member since:
2009-12-05

As a matter of fact, all Valve games, that I had the time to test, run with wine without the need to install any additional stuff.

These were: Half Life 2, Portal 2 and Dota 2

Feel free to test the others and let me know.

Reply Score: 3

RE: Nice Work!
by Lennie on Tue 11th Mar 2014 17:54 UTC in reply to "Nice Work!"
Lennie Member since:
2007-09-22

The ToGL code probably only solves problems for developers who have an existing DirectX program they wish to use on OpenGL. It currently not a normal library or anything like that. You can't use it as is. It to me seems just as a starting point for incorporating it in an existing code base.

If the Wine developers use anything of this, it is as a knowledge base on how to do translation of certain commands.

Reply Score: 3

RE[2]: Nice Work!
by Alfman on Tue 11th Mar 2014 18:08 UTC in reply to "RE: Nice Work!"
Alfman Member since:
2011-01-28

Lennie,

The ToGL code probably only solves problems for developers who have an existing DirectX program they wish to use on OpenGL


I suppose we don't know yet if this is "pseudo Direct-X" or the real deal. However even assuming this code is only source level compatible with the DirectX API, it shouldn't be too difficult to take that a build a binary compatible directX DLL. It's a matter of getting the compiler to produce identical structures and calling conventions to those used by MS.

Reply Score: 3

RE: Nice Work!
by oiaohm on Tue 11th Mar 2014 23:31 UTC in reply to "Nice Work!"
oiaohm Member since:
2009-05-30

Alfman reality is the valve project will most likely never make it into wine. Wine is answering programs how they would have been on windows. This valve solution is designed more with source code access in mind. So complete replacement of functions is possible in the valve solution.

Yes the valve solution can be a lot faster than wine due to lower overheads.

Alfman wine project todo pages are always badly updated. 2013-07-14 last edit.

Also valve library is only part direct x 9c. So application source will have to be altered at times to support it.

Reply Score: 3

It's finally over
by Darkmage on Tue 11th Mar 2014 22:50 UTC
Darkmage
Member since:
2006-10-20

It's finally goddamn over. Star Citizen will have a Linux native port, and I am never booting into Windows ever again. Thanks for nothing Microsoft. I don't need your bad software anymore. Good bye.

Reply Score: 3

Comment by Darkmage
by Darkmage on Tue 11th Mar 2014 23:57 UTC
Darkmage
Member since:
2006-10-20

Wine is a great tool, but ultimately native ports are the way to go. Wine will never be as good. Simply because the volunteer efforts it relies on means that only popular parts of windows get ported. We see this in the fact that new DirectX games get a lot of love and attention, but older more obscure games still don't run in wine. DirectX 5 and 6 titles with immediate mode rendering don't run at all, and many games that relied on older Voodoo hardware just don't run. On the other side of the equation, the moving target that is Windows means that DirectX 10,11, and 12 do not run in wine properly yet. The Xbox 360 helped with that by halting windows game development as everyone made Xbox ports. But ultimately unless the Xbox One causes a similar halt in Windows graphics development. Engine remake projects and native ports are more likely to make games flow to Linux.

Reply Score: 2

RE: Comment by Darkmage
by oiaohm on Wed 12th Mar 2014 04:55 UTC in reply to "Comment by Darkmage"
oiaohm Member since:
2009-05-30

Darkmage you miss understand wine. Large percentage of Wine developers are in fact paid full time to do it. But due to limited numbers their time is spent on what is classed will make the most number of programs work. Its not because they are Volunteers there is only X number of hours in day.

Most voodoo hardware using games do in fact work in wine you do have to install a glide wrapper just like on windows to play them. http://www.sierrahelp.com/Utilities/DisplayUtilities/GlideWrappers.... Yes it different game to game just like under windows.

Basically the don't run claim of the voodoo stuff is wrong.

Direct 10,11 and 12 have not been that high up the wine project list mostly due to lack of games to test the functionality out with.

Reply Score: 5

RE: Comment by Darkmage
by lucas_maximus on Wed 12th Mar 2014 10:59 UTC in reply to "Comment by Darkmage"
lucas_maximus Member since:
2009-08-18

I was looking at running Rome Total War (the first one released in 2004) on my Linux install via wine, lots of fussing when a reboot is quicker.

Reply Score: 3

Everybody doing Linux...
by Lava_Croft on Wed 12th Mar 2014 11:05 UTC
Lava_Croft
Member since:
2006-12-24

Except id Software. :<

Reply Score: 3

RE: Everybody doing Linux...
by Soulbender on Fri 14th Mar 2014 07:33 UTC in reply to "Everybody doing Linux..."
Soulbender Member since:
2005-08-18

Not like iD is making any games these days anyway.

Reply Score: 3