Page 1 of 2

Windows-Linux Software

Posted: Wed Feb 25, 2009 6:55 am
by Creature
Recently I was thinking about something random (again); I was wondering what programs for Linux would be useful to program. At first I thought "What programs would be useful to create for Windows?" but then again, almost every program of importance already exists in some way on Windows and it's hard to create something new that hasn't been done yet or hasn't been created sufficiently. On Linux however, even though there are many more Windows users, there are still a great deal of programs that aren't available yet but do exist in Windows. So my question is: do you by any chance have an idea (or a link to a site where I can find) which programs are still 'unavailable' (or insufficiently available) for Linux?

Creature

Re: Windows-Linux Software

Posted: Wed Feb 25, 2009 7:47 am
by Solar
DirectX...

Re: Windows-Linux Software

Posted: Wed Feb 25, 2009 7:56 am
by Solar
berkus wrote:DirectX is implemented/emulated in Wine/Cedega.
Not to the point where you could drop in a PC game and start playing. As so many things in Linux: It works, in some of the cases, if you care to figure out how.
Not that it is a particularly good standard that should be supported. I'd rather work in Gallium 3d in that case.
Yea, but I'd like to play my ages-old flight simulator and the latest shooter without having to reboot.

Re: Windows-Linux Software

Posted: Wed Feb 25, 2009 8:01 am
by AndrewAPrice
Most Linux software is open source, therefore you can get it compiled under Cygwin and running on Windows fairly easy.

All Windows software (except graphically intensive software) will run under VMWare and integrate neatly into your window manager.

Re: Windows-Linux Software

Posted: Wed Feb 25, 2009 8:07 am
by Solar
MessiahAndrw wrote:All Windows software (except graphically intensive software) will run under VMWare and integrate neatly into your window manager.
But that requires a Windows installation...

Re: Windows-Linux Software

Posted: Wed Feb 25, 2009 11:02 am
by Creature
I was actually referring to actual 'programs', not 3D API's or libraries :P. Programs such as an Office-Suite, a front-end for a shell application, ...

Re: Windows-Linux Software

Posted: Wed Feb 25, 2009 3:19 pm
by JackScott
For Windows: An Anti-Virus program that doesn't suck. One that integrates cleanly with Windows APIs and the GUI (ie not using some custom GUI library like Norton, AVG, AntiVir, etc), is lightweight enough to not notice it's running, and yet catches a decent selection of viruses.

Re: Windows-Linux Software

Posted: Thu Feb 26, 2009 2:11 am
by Solar
I still think Creature meant it the other way 'round - which Windows programs don't have a counterpart in the Linux world.

But I still insist: DirectX. It's at the core of the "there's no good games for Linux" problem. Many kids go out and buy a PC, and they don't consider Linux for a second because the games are all for Windows. Proper DirectX integration for Linux would go a long way to make the gaming industry consider dual-platform game production.

Of course I know that's a no-go, simply because DirectX and X11 won't mix.

Re: Windows-Linux Software

Posted: Thu Feb 26, 2009 3:51 am
by AndrewAPrice
Microsoft OneNote.

Re: Windows-Linux Software

Posted: Thu Feb 26, 2009 11:33 am
by nekros
Well, that would add to the usefulness of an OS if one of us added directx support to our os. That way game companies might switch away from windows... It's very hard for a new OS to become popular now days though...

Re: Windows-Linux Software

Posted: Thu Feb 26, 2009 6:09 pm
by JohnnyTheDon
berkus wrote: Having said that, OpenGL is still a viable alternative. See world of warcraft for example, nicely working with both dx and opengl. Nothing (really, _nothing_) stops game developers from using pluggable backends for dx/ogl/egl/whatever else. They are just lazy bums and sold themselves to microsoft :)</insult>
No, there really isn't a reason. The only thing I've really ever really found lacking in OpenGL is good multi-threading support.

Re: Windows-Linux Software

Posted: Thu Feb 26, 2009 8:41 pm
by AndrewAPrice
nekros wrote:Well, that would add to the usefulness of an OS if one of us added directx support to our os. That way game companies might switch away from windows... It's very hard for a new OS to become popular now days though...
DirectX isn't what's tieing game developers to the Windows platform, since most game frameworks are independent of the underlying APIs (so the same code base can be run a variety of the game console architectures).

Re: Windows-Linux Software

Posted: Thu Feb 26, 2009 8:47 pm
by Zenith
MessiahAndrw wrote:most game frameworks are independent of the underlying APIs (so the same code base can be run a variety of the game console architectures).
DirectX isn't one of them. :wink:

Re: Windows-Linux Software

Posted: Thu Feb 26, 2009 8:53 pm
by JohnnyTheDon
Zenith wrote:
MessiahAndrw wrote:most game frameworks are independent of the underlying APIs (so the same code base can be run a variety of the game console architectures).
DirectX isn't one of them. :wink:
DirectX isn't a game framework. It does graphics, sound, etc. but it isn't tied specifically to gaming, and doesn't provide things like physics or scene management. It *is* the underlying API on Windows.

Re: Windows-Linux Software

Posted: Fri Feb 27, 2009 1:16 am
by AndrewAPrice
JohnnyTheDon wrote:
Zenith wrote:
MessiahAndrw wrote:most game frameworks are independent of the underlying APIs (so the same code base can be run a variety of the game console architectures).
DirectX isn't one of them. :wink:
DirectX isn't a game framework. It does graphics, sound, etc. but it isn't tied specifically to gaming, and doesn't provide things like physics or scene management. It *is* the underlying API on Windows.
What I was meaning to say was the person I originally quoted:
Well, that would add to the usefulness of an OS if one of us added directx support to our os. That way game companies might switch away from windows... It's very hard for a new OS to become popular now days though...
sounded like that were implying that DirectX was the only reason game developers stick with Windows. What I was meaning to say is that most games aren't written straight on top of DirectX, instead they are built on top of middleware (usually a combination of inhouse, sometimes open source, and commercial).

A lot of times, there will be several layers of middleware to go through before you reach the platform specific APIs. And these frameworks are designed to be modular so you can access any platform's API through a common interface. For example:

Code: Select all

Doom 4 -> id Tech 4 -> OpenAL -> DirectSound
                              -> Linux sound deamons
                    -> id's own rendering -> Direct3D
                       interface          -> OpenGL
What I'm getting at, is most games aren't tied down to DirectX. Most modern game frameworks abstract away the platform specific APIs of Windows, Xbox 360, Playstation 3, and Wii (and trust me, they can be some of the weirdest architectures and APIs to work with).

The reason most computer games target Windows instead of Linux comes down to a politics rather than a technical reason. There is very limited shelf space at retail stores, and it's difficult for a publisher to get their games on the shelf when they're competing with other publishers also trying to get as many games as possible onto the shelves, and to make matters worse they also have several platforms to share their limited shelf space with (PC games, Windows, Xbox, PS, Wii, DS). A majority (nearly all) of a publishers's revenue comes from the retail stores, and what actually makes it to the shelf is a very small subset of their portfolio - the titles they know will sell the most.

Linux users make up only a small amount of the gaming market. From the publisher's perspective, why would you put a Linux port of a popular current-generation game (that may sell around 10,000 copies world-wide) onto the shelf when you could use that space instead for a Windows or console game (that may sell 1,000,000+ copies world-wide). Besides shelf space being very limited, the majority of Linux/alternative-OS software is free, so their users are use to not paying (and expect not to pay) for software, so a large proportion of what is already a small user base won't go out and spend money on the game (= more piracy).

So from a game publisher's perspective pushing a Linux port of a game into retail stores is a big no-no. The larger publishers now also do online distribution can solve some of these issues, but from a publisher's perspective they're still not going to fund a game studio to develop a game for a platform that has very relatively small user-base. And even if the option to publish it for Linux becomes feasible down the track for the developers, they're usually locked into a contract that states the publisher that funded the development must remain the sole distributor.

There are some smaller publishers that do cater for Linux games, but game studio's that develop big budget titles require the large retail publishes because there the only one's willing to fund the game, usually because they're the only ones that have the advertising resources and a worldwide network of stores and know they will make back more money than what it costs to fund the game's development.

We need companies like Linux Game Publishing. I'm not sure how exactly they get permission to develop and release a Linux port (perhaps by convincing the publishers' that a game is no longer profitable or that they can help expand the franchise (which in itself is risky since the original publisher risks loosing money if everyone purchases the Linux port instead of the Windows port)).

Epic Games sometimes releases Linux ports of the game on the same disc as the Windows version (which I really encourage). But this in itself has a few issues - each platform a game is released on must be thoroughly tested (Quality Assurance and testing isn't something that can be done quickly at the end, it's integrated throughout the entire development). This requires time, computers, testers (the last two require money), which I doubt a publisher is going to allow for in it's budget when it's not going to be marketed specifically for that platform nor will it result in a large increase of sales. So it's only possible for a well-established larger company like Epic Games to fund this process themselves to specifically get a Linux port onto the same disc. Still, most studios don't want to extend their QA teams (which requires hiring more employees and a publisher may not be happy if they realize this is where their money is going).

So, as you can see, implementing a Linux/open-source version of the DirectX API will not encourage game developers to make Linux ports of their games because it's not a technical issue, rather a political one that all comes down to the small user base.

If you want games developed natively for Linux then you would need an revolution that will fragment the desktop OS market, where publishers are willing to release a Linux/Windows/Mac port all on one disc, otherwise you're better off supporting things like Wine and 3D acceleration in VMWare to play your games.