Announcement
Collapse
No announcement yet.
Proprietary software in Linux
Collapse
X
-
Originally posted by pingufunkybeat View PostActually, I will tell you what will really happen:
By the time Wayland is anywhere near ready to be even considered as an install option on a major distro (there's lots of work to be done there, much of it not in Wayland, but in toolkits, apps and supporting libs), X will have all the equivalent functionality and will actually be faster, more optimised, and more stable.
At least this is what had happened every single time there was an X killer before. And there were several.
Comment
-
Proprietary software == good
The fact that software companies are willing to dedicate time and resources to the platform should tell you that Linux is a professional OS in every way.
Intel AMD Nvidia VMware etc all go way out of their way to make their products work with Linux. They don't have to, they do it because they want to.
The server has a similar situation to the web desktop: the role of the OS is to stay out of the way. Server apps and web browsers both are platform agnostic.
You can boot up an application server or a database on any OS you like, so the obvious choice is the free one that makes best use of resources. It's the same with the browser. In these applications, the arguments about "packaging" and "what is the program that runs the init scripts" are just a distraction, all that is necessary is an OS that does what an OS is supposed to do.
Those of us with "desktop PC systems" will soon find ourselves in the minority, as most users migrate to tablets and smartphones for their computing needs. The "desktop" will become "the workstation" and will be the province of content creators, not content consumers. The average "desktop" user is going to get more and more sophisticated in the process, but they will find themselves in a smaller and smaller market.
Comment
-
How about a distribution which has a very simple base set of packages (no office suite, web browser, or text editor, for instance) which is designed to run in a virtual machine. There can be different versions for different VM hypervisors, or just target one VM and provide packages to support others. Combine that with the ability to make use of accelerated graphics within the VM, and you'd have an excellent gaming platform (or generic software base platform). The distribution should have a fairly stable set of packages, only updating for bug fixes or security updates (for a while, at least). For older games, you can download an older version of the distro, since it's small.
With that, game publishers need only target one platform; users need only install some VM software (like qemu or VirtualBox), download a small base VM disk image (if they haven't already) of the version specified by the game, (optionally make another larger disk for software), start the VM and install the game.
Comment
-
Originally posted by Nobu View PostHow about a distribution which has a very simple base set of packages (no office suite, web browser, or text editor, for instance) which is designed to run in a virtual machine. There can be different versions for different VM hypervisors, or just target one VM and provide packages to support others. Combine that with the ability to make use of accelerated graphics within the VM, and you'd have an excellent gaming platform (or generic software base platform). The distribution should have a fairly stable set of packages, only updating for bug fixes or security updates (for a while, at least). For older games, you can download an older version of the distro, since it's small.
With that, game publishers need only target one platform; users need only install some VM software (like qemu or VirtualBox), download a small base VM disk image (if they haven't already) of the version specified by the game, (optionally make another larger disk for software), start the VM and install the game.
The best and only real solution to this problem is a separation of game content from the engine. Essentially from there you have the installer check if the game content has a compatible engine from which to run said content, If you have multiple compatible engines installed it allows you to select which one(s) you want to install the content to, obviously OSes that the installer does not support can just copy the '.wad's or whatever. Also if the engines are opensource anyone on any device that is powerful enough can play it, not so with virtualized games, because it has only been recently that computers are even actually powerful enough to do virtualization, but let's say I want to run your game on an ARM device, ARM right now is powerful in it's own right but it's not really powerful enough to virtualize and run a modern x86 game, however port the engine and guess what I can now run it on low or something.
The Answer to this problem is not virtualization.. The answer is to separate Game Content from the Game Engine, Which Id Tech and others Already have the foundation for this. Companies worried about licensing can set up code inside the content itself for that purpose, We can see this with Doom 3 or Mass Effect 2 even. Right now games are being sold as the engine plus the game, however if a company starts the ball rolling it would not be inconceivable to head towards a content based market as opposed to an engine+content market.
Comment
-
Wayland & Pulse are just the beginning
Once you get past the low level stuff there are still to many hurdles for any vendor to seriously consider porting desktop apps. Unless they go for something like writing for X, or Java- both very ugly. Linux needs a stable Desktop, and right now Gnome and KDE do not offer this. Never have and sadly never will. Linux is forever banished to the server desert, or to be marooned on an island of some embedded device. Because of the poor state of the Linux Desktop, the only viable solution for third party software vendors is to support Android or Chrome.
Comment
-
Originally posted by DarkCloud View PostOnce you get past the low level stuff there are still to many hurdles for any vendor to seriously consider porting desktop apps. Unless they go for something like writing for X, or Java- both very ugly. Linux needs a stable Desktop, and right now Gnome and KDE do not offer this. Never have and sadly never will. Linux is forever banished to the server desert, or to be marooned on an island of some embedded device. Because of the poor state of the Linux Desktop, the only viable solution for third party software vendors is to support Android or Chrome.
Comment
-
Originally posted by Luke_Wolf View PostExtremely bad idea, not only does it add unnecessary extreme limitations and overhead, but nobody is going to do it. The companies who want you to have licenses rather than products sure as hell aren't going to give you an iso image that knows nothing of it's host, and what user wants to run VM software to run a game engine to run game content? Also what about Updates and mods? Most proprietary software is far from fully baked when it comes out of the developmental oven. On top of this most users are just going to want to click an icon and run the game.
A VM, running on fairly new hardware, on top of fairly new software, is almost as powerful as a full blown computer. The only possible limiters are how much RAM you have, the number of cores your CPU has, and whether or not the VM can take full (or partial) advantage of your GPU for rendering game content. If you're a serious gamer (I'm not), you probably have the RAM and CPU covered, and may or may not have an extra GPU or two not being used for anything in particular. Even if you aren't, most computers these days come with at least a dual-core processor and two to four GB of RAM, which is enough for at least moderate gaming. So, why not?
Oh, updates... well, that's a problem whether you're using a VM or not. I'm not trying to provide a solution for that; I assume your solution would work regardless of the platform, correct?
Comment
-
Originally posted by Nobu View PostUh, running a game in a VM is no different from running a game on your computer, except that the hardware is virtual. There is absolutely no reason why a software company should care whether you are using their software in a VM or not, unless they make operating systems, because there is exactly one copy of the CD, or exactly one key. If it's possible for someone to use the key in more than one place, they don't need a VM to do it--you could say the same thing for the CD. And who said anything about an ISO image?
A VM, running on fairly new hardware, on top of fairly new software, is almost as powerful as a full blown computer. The only possible limiters are how much RAM you have, the number of cores your CPU has, and whether or not the VM can take full (or partial) advantage of your GPU for rendering game content. If you're a serious gamer (I'm not), you probably have the RAM and CPU covered, and may or may not have an extra GPU or two not being used for anything in particular. Even if you aren't, most computers these days come with at least a dual-core processor and two to four GB of RAM, which is enough for at least moderate gaming. So, why not?
Oh, updates... well, that's a problem whether you're using a VM or not. I'm not trying to provide a solution for that; I assume your solution would work regardless of the platform, correct?
And if you're not using ISO images how the hell do you plan on storing these? I know I personally don't want to be carrying around 1001 flashdrives or DVDs, and I sure as heck don't want to be restarting in order to run my games, my PC is not a console, and cycling hardware like that puts more strain on it. And If you're running it in a VM you have to have the image stored somehow be it Flash Drive, Disk, or as an ISO (The last being the most likely given that Brick and Mortar stores for PC games are basically dead).
As for your counterpoint to hardware, what VM software can take full advantage of your GPU? I haven't seen anything capable of doing that, that requires a PCIe passthrough that I'm not sure anything has, from what I've heard even Microsoft's big thing in this regard that they were making a point of really isn't that big of a deal. You're not going to get native performance. And okay that kinda sorta solves the problem for x86 but what about ARM?
Also Game Developers actually want to develop a lot closer to the hardware than they have been, see http://www.bit-tech.net/hardware/gra...l-to-directx/1 your solution of putting everything in a VM does the exact opposite.
And updates and mods are huge, There is no such thing as a complex piece of software without any bugs or inefficiencies that need to be fixed, or something that can't be done better. Proprietary game software is no different and actually is often a lot worse off because of the sheer complexity that is involved along with having to stick to a release date whether the software is ready or not. The ability to update is an absolute must.
Games would be a lot worse off if you could not mod anything, not only do the communities provide unofficial patches but they provide extra content as well, if The Elder Scrolls were not Pseudo-Open-Source by giving you their SDK there wouldn't actually be that many people who would want to play it, you force people who would naturally be creators into being consumers and leave the world off worse for it with this VM solution.
And yes, my solution does work everywhere, regardless of platform and regardless of architecture, as my proof I call upon Doom, Duke Nukem 3D, Quake, and Quake III, These are 4 examples of games that have separated their content from their engine, and open sourced the engine, As long as I have the .wads I can now take these games anywhere I want on any platform, load them into their particular engines, and just play or to make this more blunt I can play Quake 3 on Linux vs a user on a Windows PC, someone on a mac, and someone on an OpenPandora in a networked game, and one doesn't lose performance because it's all completely native code. This is a real solution and works, and on top of this I can update it, use mods, etc. Also most games are already set up in such a manner that content is separate, however the engines they often use are not crossplatform (Unreal 3) and the company that owns the engine is not willing to opensource it, which prevents the community from fixing the issue.
What would be for the best is a group to create an extremely powerful yet easy to use engine as open source (probably under LGPL, so that it's clear modifications to it must be GPL'ed but the game doesn't have to be), and get game companies to use it, and then the entire cross-platform problem is solved. Luckily we are heading towards the second dawn of gaming where the big publishers will die off due to digital distribution deprecating them, much as they've been deprecated in the other industries, which will lead more towards indie developers and the use of cross platform or open source engines in order to get more customers.Last edited by Luke_Wolf; 11 August 2011, 02:51 AM.
Comment
-
Originally posted by Luke_Wolf View PostThere is no reason that the product they sell you should be licensed content instead of an actual product however that's not how the world works. Companies are in the business of selling licenses not products, the entire point of DRM has absolutely nothing to do with pirates at all, but making you purchase more licenses. The typical thing is we're going to give you either 1 or 3 licenses, depending upon product, you may not transfer this license between OSes or computers, in order to redeem your product you must connect to our servers and authorize your PC and license, if you lose the connection or our servers go down sucks to be you you just lost a license. This is of course for non steam DRM, if it's steam based then you're stuck with a license for your steam account, you gain the ability to reinstall at the detriment of not being install it on a separate computer and have someone use it simultaneously (say your brother wants to play it on another computer while you're playing something else.), you have to set up another account, and buy another license in order to do that. If this is being run in a VM you can transfer it anywhere, store it anywhere, whatever because the image knows nothing of the system that's actually running it, it thinks it's being run by some generic machine that is the VM, thus licensing it falls apart.
And if you're not using ISO images how the hell do you plan on storing these? I know I personally don't want to be carrying around 1001 flashdrives or DVDs, and I sure as heck don't want to be restarting in order to run my games, my PC is not a console, and cycling hardware like that puts more strain on it. And If you're running it in a VM you have to have the image stored somehow be it Flash Drive, Disk, or as an ISO (The last being the most likely given that Brick and Mortar stores for PC games are basically dead).
As for your counterpoint to hardware, what VM software can take full advantage of your GPU? I haven't seen anything capable of doing that, that requires a PCIe passthrough that I'm not sure anything has, from what I've heard even Microsoft's big thing in this regard that they were making a point of really isn't that big of a deal. You're not going to get native performance. And okay that kinda sorta solves the problem for x86 but what about ARM?
Also Game Developers actually want to develop a lot closer to the hardware than they have been, see http://www.bit-tech.net/hardware/gra...l-to-directx/1 your solution of putting everything in a VM does the exact opposite.
...
And yes, my solution does work everywhere, regardless of platform and regardless of architecture[. . .]
Comment
Comment