Originally posted by Scali
View Post
Announcement
Collapse
No announcement yet.
id Software: Linux Hasn't Produced Positive Results
Collapse
X
-
Originally posted by russofris View PostAssigning blame is counterproductive.
Originally posted by russofris View PostNvidia doesn't support Linux. Nvidia supports it's customers. Linux developers 'try' to support Nvidia (nouveau), and Nvidia is not interested in helping due to some imaginary and contorted notion of "property".
nVidia supports its customers yes, also its linux-using customers (and FreeBSD, and Solaris, who else does that? AMD certainly doesn't. Intel sorta does because they outsource their driver development to an open source company in the first place, so they end up in MesaGL directly).
Therefore nVidia supports linux.
In fact, nVidia makes the only linux drivers that are actually competitive in terms of features, performance and stability, with OSes such as Windows and OS X.
Why would nVidia help Nouveau? Firstly it's obviously not an option for a company like nVidia to open source their entire drivers, and give away all their advantages on software (and at least partly hardware, since a lot can be deduced from the drivers) to all competitors for free.
Intel is in a different situation, since firstly their GPUs are not competitive, their technology is a few years behind AMD's and nVidia's, lagging behind both in features and performance. So there is little for competitors to get out of it. And secondly, Intel is not a GPU-company. They make their money from CPUs. Buying an Intel CPU is the only way to get an Intel GPU.
nVidia however sells GPUs primarily. So their GPUs need to have a competitive edge. And by extension, so do their drivers. The obvious way to ensure that your drivers are of the highest possible quality, and supported the best as possible, is to do it yourself, rather than relying on some independent third-party developers.
Secondly, nVidia already develops drivers, so I don't know what the developers of a project like Nouveau are thinking in the first place. They need to reverse-engineer everything, and can not even remotely compete with nVidia's own drivers in terms of compatibility, features, stability and whatnot. It's a fool's errand to try and develop drivers without the support of the IHV itself.
Yes, I know, they do it out of their belief in FOSS and all that... Doesn't make it any less of a fool's errand though.Last edited by Scali; 13 August 2012, 11:15 AM.
Comment
-
Originally posted by johnc View PostI didn't think the latter was allowed by the GPL.
Comment
-
Originally posted by gamerk2 View PostAgreed 100% with this.
Thing is, it doesn't work in Windows either, with the exception of Windows 7.
Why is this? Because Windows 7 has a specific interface in the driver model, which allows drivers from different vendors to work together on a single system (in Vista it is not possible to use cards/drivers from two or more vendors at a time at all).
This interface also allows for hot-switching between adapters.
Linux does not have such an interface. Therefore it is not possible for nVidia to implement this.
They would have to hardcode it in all common display drivers, and include them as part of their own driver, in order to ensure that they cooperate together properly. Not an option.
What is needed is a proper vendor-agnostic interface, something like what Windows 7 implemented.
Comment
-
Originally posted by Scali View PostI believe it is allowed, as long as you make the source code publicly available (doesn't have to be distributed with the app itself, as long as it can be downloaded somewhere, or ordered on CD against p&p only, or such).
Comment
-
Originally posted by johnc View PostYeah but in the context of a game that's going to be fairly rare. id might take that step (to open source their code), but most publishers won't.
However, I was more concerned about the technical side of things. You can't just distribute your game with a few libraries... because these libraries depend on other libraries etc etc... Before you know it, you'll be packing an entire linux distro in your installer, just to make sure you caught all. And even then, things may not actually work.
For example, you can't just pre-bake audio or video support in your application. These things need to be tuned to the audio/video hardware available on the system.
In short, it's just not the way to do it. Having a stable platform is (and oh the irony that various linux distributions actually have a 'stable' distribution for pretty much that same reason. Problem is, even these stable distributions are generally only supported for a few years at most, and the stable version of one distributor is still not compatible with that of other distributors).
Comment
-
Originally posted by Scali View PostYes, to expand on that... Linus' rant was about nVidia's Optimus technology not working in linux.
Thing is, it doesn't work in Windows either, with the exception of Windows 7.
Why is this? Because Windows 7 has a specific interface in the driver model, which allows drivers from different vendors to work together on a single system (in Vista it is not possible to use cards/drivers from two or more vendors at a time at all).
This interface also allows for hot-switching between adapters.
Linux does not have such an interface. Therefore it is not possible for nVidia to implement this.
They would have to hardcode it in all common display drivers, and include them as part of their own driver, in order to ensure that they cooperate together properly. Not an option.
What is needed is a proper vendor-agnostic interface, something like what Windows 7 implemented.
Comment
-
Originally posted by ворот93 View Post*Bunch of idiotical trolling crap from stoplinux.ru member was here*
Originally posted by Scali View PostYou are missing the point! It is not about how many patches and changes are released, it is about how they may or may not break existing software.
Also, .NET is a platform of its own. It has no effect on any native Windows software.
For .net, you need at least 6 different versions - releases and servicepacks.
This is newer approach to "compatibility" dillema - instead of mixing everything together (DLL hell), they are use "isle" approach that - still eats a lot of space, minimizes yet does not solve improvement breakage.
I understand your point quite good. But I don?t like the trade-offs that unavoidably come when you apply your method at all. This is what you have to understand in turn.
From my perspective, it is much better for developer to track changes within the libraries he uses for his applications - and to update them. This is the only single trouble.
In return, he gets "tracking different library versions", "different bugs within", "multiple releases", "exploits", "inter-library compability chaos aka breaking everywhere" spared.
Only software that is MAINTAINED is really ALIVE. This is lesson you learn from using Linux.
This is a problem, if you are a "coder", and not a "programmer". And especially, if your code is closed source - then, you are the only responsible for maintaining it.
I am NOT talking about package management or making packages here - at all.
Originally posted by Scali View PostAside from Wine not exactly being the most objective source of information... it is common knowledge that Microsoft actually maintains certain quirks for compatibility reasons. I suggest you read some of Raymond Chen's blogs: http://blogs.msdn.com/b/oldnewthing/
Again, the point is: backward compatibility
Backwards compability is the reason for 95% all problems in windows. And its not really working.
I know that a lot of stuff crashes and breaks within windows upon update - from win2k source code comments.
Originally posted by Scali View PostOh yea, everyone uses the exact same version of the exact same linux distribution with the exact same updates. Oh wait, they don't!
If you want to package your software for distribution yourself, just package it. If they use outdated library versions - notify them, that they should use lastest stable.
As easy as that.
Originally posted by Scali View PostOf course it is avoidable. Most platforms avoid this. That's the whole point. Linux is a crappy platform to develop for because it is one of the few platforms that doesn't put any effort in compatibility.
What it does lack, is absence of dog nails. This is advantage, hence Linux is best platform for development.
By the way, you can combine multiple versions to be present at same time - for example, debian uses "update alternatives" and gentoo "slots" for this. This is completely transparent for the end-program and is managed by distribution itself. However, this is never meant to "stabilize" anything, but to soften the "transfer" to newer version, till the software is rewritten.
Originally posted by Scali View PostChanges don't have to break compatibility.
Originally posted by Scali View PostLol, no it's not. Do you actually believe the shit you're saying?
Originally posted by Scali View PostNo, let's talk about how linux advocates can't take any criticism and always start bashing Windows. This isn't about Windows, this is about linux, and how it is not a stable platform to develop for. The Windows registry is completely irrelevant in this discussion.
Windows itself is completely irrelevant in this discussion, aside from the fact that it is an example of a stable platform. But we could easily ignore Windows, and use another example of a stable platform. Such as Android.
Originally posted by Scali View PostWhat misunderstanding? That I am a professional developer, and you are just some loudmouth linux fanboy with no professional development experience whatsoever?
Originally posted by Scali View PostThe point is: you should never even have to make ports for various versions. Write once, run anywhere.
Package once, run anywhere. By your own admission this is not possible.
Originally posted by Scali View PostThe world doesn't have a default, that's the whole point.
Originally posted by Scali View PostYes you can. Older Android packages can be installed as-is on newer versions of Android. Stop arguing about things you don't even have a clue about.
I have written Android apps myself, and I have installed stuff I developed for 2.3 on 4.0 without making any changes to the package whatsoever.
This is what happens with most Android apps in the Google Play store. They just work. In fact, I wouldn't be surprised if a lot of apps haven't received an update since 2.3 was the current version.
Originally posted by Scali View PostThat's not the same thing.
I 'babysit' my code in the sense that I test it whenever a new platform comes out.
However, that does not mean that I need to make changes. At least, not in the general case. Linux is different.
Originally posted by Scali View PostI know you fail to understand it. But I've explained it, so the rest is up to you.
Second, the chance to gain experience does not equal in experience gained. The ranks don?t play any role for me, only knowledge.
In the end, we are exchanging knowledge for sake of improvement, and not competing in genetals sizes. So, ones sizes don?t mean anything to me in this scope.
Originally posted by Scali View PostWell, they were trying to adopt the Direct3D approach: new hardware us newer interfaces.
However, they messed it up, and in the end they just continued using the old interface, but with various functionality taken out.
Which is indeed similar to the linux approach: a very poor one. The OpenGL API has become a monstrosity.Last edited by crazycheese; 13 August 2012, 12:12 PM.
Comment
-
Originally posted by Scali View PostIt's not about assigning blame. I
I know, and respect, Nvidia's choice. I just won't pretend that they didn't have, or make one. Especially when we have living examples of companies making the opposite choice (intel).
F
Comment
-
Originally posted by Scali View PostWhat reversed implication? Be specific.
Fact 2: [Josh Walrath allows himself, in interpret Carmack as: "Linux development is another story altogether. Even though Valve is now actively pursuing the Linux market, iD has been there before, and just has not seen positive results. Remember how many past titles from iD actually ran on Linux, and for how long these were supported? John says that Linux development simply does not pay the bills. It creates goodwill among the Linux crowd, but that is about it."]
Fact 3: [Phoronix & other websites cite Josh Walrath opinion as that of Carmack]
Fact 4: [Linux users get angry, because everything cited by Fact 2 is false].
What you have done is:
Fact 2 -> Fact 4, which is correct, but origin is false.
But then: Fact 4 -> Fact 2, which is invalid implication.
Fact 4 & Fact 1 will, however, very probably catalyse themself now. This was started by Carmack and is his choice, nothing to be done here.
Comment
Comment