Well, you can already do that. To write a portable game write it against:
SDL
OpenGL
GTK+ or Qt for the GUI widgets if any
glib or some other portability library for the other stuff (threading, file io etc)
Hey presto! A portable game. Yet, nobody does this - why not? Because (a) they don't know about it and (b) the free software equivalents unfortunately get their asses kicked by DirectX in many areas. Where is the free software, portable equivalent to DirectShow (gstreamer isn't really stable yet to use in a game), DirectMusic, DirectPlay etc?
The kernel can definately be hacked so that it allows this, but this presents a huge security concern. Every user would have to have the same priveledges as root in order to do this, or the user must play as root.
A better way is to use SELinux and tag the games binaries so the kernel knows it has the realtime priority priviledge.
This is exactly the sort of thing SELinux was designed for. Running as root to get those things just isn't necessary in the SELinux world.
Of course, I'm not actually sure it'd be useful - a good scheduler (and linux has a good one these days) shouldn't be starving a game of CPU time anyway....
2) Windows emulation. No one bothered to write OS/2 applications because native Windows applications ran just fine under it. Then Microsoft changed the APIs
I wish people would stop bringing up this total red herring.
Microsoft did not "change their APIs". Sorry, that's just wrong. They did add a whole ton of new ones, and because IBM was not cloning the Windows API but got the code through an agreement with Microsoft, when it came out they couldn't keep up. No support for Win32 was added, and surprise surprise nothing worked anymore.
Comparing this to Wine is totally bogus. Wine is not the result of a legal agreement with Microsoft that can be severed, and the code is free software. The more manpower the Wine project has, the more software it can run. The equation really is that simple.
Yes it's easy to make grand, sweeping statements about how Windows emulation is evil and native apps are the way forward, but in that view is the implicit belief that everybody should junk their existing games library. Not going to happen anytime soon.
As someone else who's tried Linux, and just got far too annoyed with the difficulties installing programs, I really can't see why this should be the case. Why shouldn't I download 'arbitrary' packages?
Right. Exactly. You hit the nail on the head, and I say this as a Linux user and developer.
The fact is that posts like the parents really piss me off. When newbies have problems installing software (and they always do) some smartass pops up and says "USE THE DISTRO PACKAGES YOU FLAMING N00B" or words to that effect.
A few problems:
1) Often there aren't any distro packages, or they are out of date. No the answer is not to "just use Debian", even in Debian Unstable, packages are still often out of date or missing.
2) It's "common sense" that distro packagers know how best to package software. It's what they do, right? It's common sense - but it's wrong. I can't tell you how much pain is caused by broken packages with Wine. From packages that put things in the wrong place, to packages that don't even get the basics right (like running ldconfig) or that alter the defaults/switch off debugging information etc - the fact is that the people who best know how to install software are the people who wrote it. Period.
This problem has gone unsolved for so long that it seems peoples first reactions is simply to deny it exists. It's amazing what doublethink optimism makes people capable of. No the Linux way is not better - if it was why is every forum where Linux newbies post full of "how do I install this?" questions.
Would you think it was good for the documentation for programs to be written over and over again by different distributions? How about redoing the artwork each time? No? Why should packages be any different then.
Bah. Some of us are at least trying to solve it. People who just deny the problem exists are not helping.
An installation API needs to exist that allows for software makers to have a simple installer on their CDs, just like in Windows, that allows them to install binaries, create shortcuts on the menu, and allow for proper uninstallation.
DirectShow is used by quite a few games to render their intro movies/music etc - maybe that is what they're referring to?
You'd be surprised by how many programs expect even seemingly innocuous apps like Notepad to be present.
Probably Passport - it's gone down before and when Passport dies it takes Hotmail, MSN Messenger,.NET alerts and most of Microsofts assorted web properties with it.
The problem is now, there isn't a reasonable tech saavy person around who can argue that Windows still has a monopoly hold on any market.
No offence, but what mad weed are you smoking? Windows isn't a monopoly even though it runs roughly 95% of desktop computers?
You don't have to have 100% marketshare to be a monopoly. Simply saying "now there is an alternative, kind of, for some people, if they're willing to do complex and expensive migrations means Windows doesn't have a monopoly" is one of the most incredible pieces of doublethink I've seen for along time.
now that I know Apple is so anti free software, yet uses it significantly in their products, puts them on the same level as SCO, IMHO.
Oh, they're not that bad. But I mean what did you expect? They come from the same background as Microsoft, where you find exactly the same kind of knee-jerk anti-GPL reactions. I've seen more than one 'softie claim the GPL will destroy the economy - a few minutes critical thinking would invalidate that idea but they are so deeply entrenched in this culture and are surrounded by smart people telling themselves exactly the same thing that they cannot look outside the box.
It doesn't surprise me in the slightest that Apple are the same way, assuming the AC is telling the truth (and it sounds likely and credible to me).
Those two things aren't mutually exclusive. Apple have donated some stuff (mostly useless [1]) to the open source community and taken a lot from it, but that doesn't mean they suddenly love Linux or software freedom.
Far from it, Linux is probably their biggest threat. After all, they rely on you using MacOS X in order to sell software and upgrades. But - what is the biggest competition to MacOS X? Hint: it's not Windows which doesn't run on Apple hardware, and is made by Microsoft so invokes generic "must run anything but MS" feelings amongst many.
Now you can scoff and say "but MacOS X is so cool nobody would rather run Linux" but this is clearly not the case - I meet people on IRC and indeed in real life who use Linux on their Macs, often on their Apple laptops. There are no hard stats of course, but this is something generally recognised to be true. Just hang out around Linux user forums for a while.
One of Apples worst fears is probably that they can't stay ahead of free software and suddenly people are buying their hardware but replacing MacOS with Linux - at which point they can't sell iTMS, GarageBand etc to them.
So, really, the only app that's really missing on Mac OS X is Project.
No, the guy specifically said he needed Internet Explorer. That means IE/Win32 not the MacOS version which is totally different. He presumably wants it for websites that don't work in other browsers - amusingly enough Linux can run IE6 via Wine.
No, I think you got it backwards. You can and do still support the old protocols so old apps continue to work, the problem is that the KDE APIs for making tray applets generate old-style protocol requests. That means if I use a KDE systray app today, it won't work right in any other desktop. In theory it's a simple fix but I seem to recall asking about this and being told the APIs themselves don't allow for it (?!?)
I think this illustrates nicely the attitude problem KDE have W.R.T standards.
Let's see. Those "interoperability" projects they love to trumpet are entirely about absorbing more software into the KDE collective. GTK-Qt makes GTK apps use Qt for drawing themes, and Glib/Qt main loop integration allows you to special-case programs to use the KDE dialogs.
Yet, KDE applications still don't use the standard XEMBED system tray protocol. Apps using the much-lauded KDE frameworks automatically use a legacy protocol that only works with KDE.
KDE is consistantly lagging behind in supporting new standards as they are developed (usually with their consent and often with big hacks to accomodate them, see the "hicolor" theme). Partly that's due to long release cycle, and partly they just seem to assign lower priority to implementing these standards. When they are implemented it's usually the work of the guys who are employed by SuSE.
Oh sure, what I meant was that swapping out Konqueror for Nautilus is typically not that useful. I don't think many people run hybrid kde/gnome systems. Of course 3rd party apps should integrate smoothly with this:)
However, to what extent is this true? Can I, for instance, use just the Gnome file manager in KDE, and vice-versa?
Yes, you can. Try nautilus --no-desktop (I think that is the switch).
Expect some stuff to break though. Noticeable KDE uses illegal URI syntax so drag and drop of files etc to/from KDE apps won't work so great I suspect.
Standardisation will allow us to reach these giddy levels of interop but it's not there yet, and to be frank most effort is going on stuff that actually matters (like the new shared mime database that appears in 2.6)
Only if you include user32.dll, gdi32.dll and maybe also shell32.dll in the size of kernel32.dll.
No, most of the core GUI functionality is in-kernel (for speed). For instance, you can use CreateMenu and pass the HMENU to another process. This works because an HMENU is just a key to an internal kernel hash table.
The NT kernel has all kinds of garbage in it. Just take a look at the loaded modules page of sysinfo some time. The registry lives there, as does an audio encryption and DRM subsystem (SAP). I've even seen echo cancellation drivers in-kernel!
So run Microsoft Office using CrossOver. You even get to keep your existing software licenses.
As for "aesthetic leap backwards", well, I'd love to know what kind of themes you're using on Windows because pretty much every modern Linux desktop beats the snot looks-wise out of even a souped up XP desktop, at least in my opinion. I certainly don't have any artistic complaints.
Why bother creating Linux applications when your Windows software will run with little or no modification.
It's not a case of "bothering", it's a case of "is it possible"? Making Photoshop "native" would mean rewriting most of the code to use a portability layer, probably it would mean rewriting the UI code to use GTK+ or Qt, which is highly non-trivial, and finally you'd have to rewrite a lot of the documentation.
To be frank, there's a whole ton of software out there that will never see a native port. I hope Photoshop and Flash aren't in that category, but for now they basically are.
Oh yeah, if Photoshop was to be "natively" ported you could forget about running all those plugins the real users of Photoshop depend on as well.
What makes you think that Adobe "refuse to acknowledge the Linux market"?
Here's an interesting thing. I was talking on #winehq one day, when somebody connecting with a hostmask of something.something.adobe.com connects and starts asking questions about how much of the Win32 accessibility infrastructure is implemented (basically, almost none of it unfortunately). He is asking how hard it'd be to implement, what the issues might be etc.
I asked if he's looking into porting Adobe software, and after being surprised that I knew where he worked (apparently not a big user of IRC), said that they were doing internal investigations of it.
I think the fact that Photoshop works pretty well on CrossOver might have had something to do with it. Don't assume because there is no product on the market today that a company isn't looking into it. More likely, they are still scouting out the territory and waiting for evidence that it'd be a profitable thing to do. And I can assure you that improving Wine to the level of the app is far, far easier and cheaper than rewriting the app to be native.
OK, so it seems to a non-lawyer that they've been caught red handed.
My question then, is what happens now? Is it possible to use this as evidence in a lawsuit? Is it possible to get it confirmed by subpoenia-ing (?) the original, and if so how quick?
What exact crime has been committed here, if any, and what are the possible punishments, again if Microsoft are actually doing anything illegal.
Oops, should have hovered over all the links first. And yeah, I agree 110%, I for one won't be happy until dmix usage is entirely automatic...
Hey presto! A portable game. Yet, nobody does this - why not? Because (a) they don't know about it and (b) the free software equivalents unfortunately get their asses kicked by DirectX in many areas. Where is the free software, portable equivalent to DirectShow (gstreamer isn't really stable yet to use in a game), DirectMusic, DirectPlay etc?
A better way is to use SELinux and tag the games binaries so the kernel knows it has the realtime priority priviledge.
This is exactly the sort of thing SELinux was designed for. Running as root to get those things just isn't necessary in the SELinux world.
Of course, I'm not actually sure it'd be useful - a good scheduler (and linux has a good one these days) shouldn't be starving a game of CPU time anyway....
I wish people would stop bringing up this total red herring.
Microsoft did not "change their APIs". Sorry, that's just wrong. They did add a whole ton of new ones, and because IBM was not cloning the Windows API but got the code through an agreement with Microsoft, when it came out they couldn't keep up. No support for Win32 was added, and surprise surprise nothing worked anymore.
Comparing this to Wine is totally bogus. Wine is not the result of a legal agreement with Microsoft that can be severed, and the code is free software. The more manpower the Wine project has, the more software it can run. The equation really is that simple.
Yes it's easy to make grand, sweeping statements about how Windows emulation is evil and native apps are the way forward, but in that view is the implicit belief that everybody should junk their existing games library. Not going to happen anytime soon.
This clever piece of code performs mixing using shared memory and IPC primitives - no kernel support, no sound servers. It's the Way Forward(tm)
Right. Exactly. You hit the nail on the head, and I say this as a Linux user and developer.
The fact is that posts like the parents really piss me off. When newbies have problems installing software (and they always do) some smartass pops up and says "USE THE DISTRO PACKAGES YOU FLAMING N00B" or words to that effect.
A few problems:
1) Often there aren't any distro packages, or they are out of date. No the answer is not to "just use Debian", even in Debian Unstable, packages are still often out of date or missing.
2) It's "common sense" that distro packagers know how best to package software. It's what they do, right? It's common sense - but it's wrong. I can't tell you how much pain is caused by broken packages with Wine. From packages that put things in the wrong place, to packages that don't even get the basics right (like running ldconfig) or that alter the defaults/switch off debugging information etc - the fact is that the people who best know how to install software are the people who wrote it. Period.
This problem has gone unsolved for so long that it seems peoples first reactions is simply to deny it exists. It's amazing what doublethink optimism makes people capable of. No the Linux way is not better - if it was why is every forum where Linux newbies post full of "how do I install this?" questions.
Would you think it was good for the documentation for programs to be written over and over again by different distributions? How about redoing the artwork each time? No? Why should packages be any different then.
Bah. Some of us are at least trying to solve it. People who just deny the problem exists are not helping.
Ask and you shall receive.
DirectShow is used by quite a few games to render their intro movies/music etc - maybe that is what they're referring to? You'd be surprised by how many programs expect even seemingly innocuous apps like Notepad to be present.
Probably Passport - it's gone down before and when Passport dies it takes Hotmail, MSN Messenger, .NET alerts and most of Microsofts assorted web properties with it.
No offence, but what mad weed are you smoking? Windows isn't a monopoly even though it runs roughly 95% of desktop computers?
You don't have to have 100% marketshare to be a monopoly. Simply saying "now there is an alternative, kind of, for some people, if they're willing to do complex and expensive migrations means Windows doesn't have a monopoly" is one of the most incredible pieces of doublethink I've seen for along time.
Oh, they're not that bad. But I mean what did you expect? They come from the same background as Microsoft, where you find exactly the same kind of knee-jerk anti-GPL reactions. I've seen more than one 'softie claim the GPL will destroy the economy - a few minutes critical thinking would invalidate that idea but they are so deeply entrenched in this culture and are surrounded by smart people telling themselves exactly the same thing that they cannot look outside the box.
It doesn't surprise me in the slightest that Apple are the same way, assuming the AC is telling the truth (and it sounds likely and credible to me).
Because Darwin blows chunks? For instance, on a Mac laptop that is faster than a PC laptop, compiling Mono still takes 3 times as long
Far from it, Linux is probably their biggest threat. After all, they rely on you using MacOS X in order to sell software and upgrades. But - what is the biggest competition to MacOS X? Hint: it's not Windows which doesn't run on Apple hardware, and is made by Microsoft so invokes generic "must run anything but MS" feelings amongst many.
Now you can scoff and say "but MacOS X is so cool nobody would rather run Linux" but this is clearly not the case - I meet people on IRC and indeed in real life who use Linux on their Macs, often on their Apple laptops. There are no hard stats of course, but this is something generally recognised to be true. Just hang out around Linux user forums for a while.
One of Apples worst fears is probably that they can't stay ahead of free software and suddenly people are buying their hardware but replacing MacOS with Linux - at which point they can't sell iTMS, GarageBand etc to them.
You realise that Windows itself only has about 7000 engineers on it full time, right?
No, the guy specifically said he needed Internet Explorer. That means IE/Win32 not the MacOS version which is totally different. He presumably wants it for websites that don't work in other browsers - amusingly enough Linux can run IE6 via Wine.
No, I think you got it backwards. You can and do still support the old protocols so old apps continue to work, the problem is that the KDE APIs for making tray applets generate old-style protocol requests. That means if I use a KDE systray app today, it won't work right in any other desktop. In theory it's a simple fix but I seem to recall asking about this and being told the APIs themselves don't allow for it (?!?)
Let's see. Those "interoperability" projects they love to trumpet are entirely about absorbing more software into the KDE collective. GTK-Qt makes GTK apps use Qt for drawing themes, and Glib/Qt main loop integration allows you to special-case programs to use the KDE dialogs.
Yet, KDE applications still don't use the standard XEMBED system tray protocol. Apps using the much-lauded KDE frameworks automatically use a legacy protocol that only works with KDE.
KDE is consistantly lagging behind in supporting new standards as they are developed (usually with their consent and often with big hacks to accomodate them, see the "hicolor" theme). Partly that's due to long release cycle, and partly they just seem to assign lower priority to implementing these standards. When they are implemented it's usually the work of the guys who are employed by SuSE.
That's what the Linux Terminal Server Project is for
Oh sure, what I meant was that swapping out Konqueror for Nautilus is typically not that useful. I don't think many people run hybrid kde/gnome systems. Of course 3rd party apps should integrate smoothly with this :)
Yes, you can. Try nautilus --no-desktop (I think that is the switch).
Expect some stuff to break though. Noticeable KDE uses illegal URI syntax so drag and drop of files etc to/from KDE apps won't work so great I suspect.
Standardisation will allow us to reach these giddy levels of interop but it's not there yet, and to be frank most effort is going on stuff that actually matters (like the new shared mime database that appears in 2.6)
No, most of the core GUI functionality is in-kernel (for speed). For instance, you can use CreateMenu and pass the HMENU to another process. This works because an HMENU is just a key to an internal kernel hash table.
The NT kernel has all kinds of garbage in it. Just take a look at the loaded modules page of sysinfo some time. The registry lives there, as does an audio encryption and DRM subsystem (SAP). I've even seen echo cancellation drivers in-kernel!
As for "aesthetic leap backwards", well, I'd love to know what kind of themes you're using on Windows because pretty much every modern Linux desktop beats the snot looks-wise out of even a souped up XP desktop, at least in my opinion. I certainly don't have any artistic complaints.
It's not a case of "bothering", it's a case of "is it possible"? Making Photoshop "native" would mean rewriting most of the code to use a portability layer, probably it would mean rewriting the UI code to use GTK+ or Qt, which is highly non-trivial, and finally you'd have to rewrite a lot of the documentation.
To be frank, there's a whole ton of software out there that will never see a native port. I hope Photoshop and Flash aren't in that category, but for now they basically are.
Oh yeah, if Photoshop was to be "natively" ported you could forget about running all those plugins the real users of Photoshop depend on as well.
Nothing is ever black and white.
Here's an interesting thing. I was talking on #winehq one day, when somebody connecting with a hostmask of something.something.adobe.com connects and starts asking questions about how much of the Win32 accessibility infrastructure is implemented (basically, almost none of it unfortunately). He is asking how hard it'd be to implement, what the issues might be etc.
I asked if he's looking into porting Adobe software, and after being surprised that I knew where he worked (apparently not a big user of IRC), said that they were doing internal investigations of it.
I think the fact that Photoshop works pretty well on CrossOver might have had something to do with it. Don't assume because there is no product on the market today that a company isn't looking into it. More likely, they are still scouting out the territory and waiting for evidence that it'd be a profitable thing to do. And I can assure you that improving Wine to the level of the app is far, far easier and cheaper than rewriting the app to be native.
My question then, is what happens now? Is it possible to use this as evidence in a lawsuit? Is it possible to get it confirmed by subpoenia-ing (?) the original, and if so how quick?
What exact crime has been committed here, if any, and what are the possible punishments, again if Microsoft are actually doing anything illegal.