Advertisement

Program unplayably slow on Linux, awesome on Windows

Started by December 11, 2007 03:10 PM
57 comments, last by RSC_x 16 years, 9 months ago
Interesting discussion going on.

I'm back, and things aren't quite as messed up any more. Still, some things won't work right for me now (like my old 3D modeler, Wings3D, which is my favorite and I am going to be pissed if I cannot get it working again).

Also, is there any way to disable the middle-click > copypasta thing? It is very annoying having to go through my code deleting places where it has randomly pasted the word "Hello" or some stupid thing like that.
Signature go here.
Quote: Original post by Alastair Gould
Its mainly because the community will update them so they won't fall behind Kernel versions, and X server versions.

That's the job of the IHV. It works very well for NVidia, so there's no reason it shouldn't work for others.

Quote: Original post by Alastair Gould
They will be able to be included by defult which means Linux can have 3d accel without going through all crap to get it to work. It will just be automatic.

All that "crap to get it to work" has nothing to do with open vs. closed source. If it doesn't work well, then it is a consequence of bad programming. Both OS and CS is prone to this.

Quote: Original post by Alastair Gould
So opensource will make it much easier to get 3d working.

Bullshit. Just look at all the crap the OP has to go through. Manually editting xorg.conf, absolutely ridiculous for a so called "modern" operating system. Now look at the closed source NV drivers. A single click, and that's basically it. Especially under SuSe, where it's almost easier to install than under Windows. Of course, again, this has nothing to do with open or closed source per-se. It has to do with user friendliness. And unfortunately, open source developers often put intuitivity, usage testing, and newbie friendliness on the very last row on their priority list.

Quote: Original post by Alastair Gould
as its working from defualt. i.e Imagine loading linux and 3d works automatically

Let's start with something simpler: let's simply imagine loading Linux, and your basic system works automatically... Which is not often the case.

Quote: Original post by Alastair Gould
I write a few drivers, as I'm a electronics dev. I've noticed a lot of drivers can end up as lumps of code. and i've noticed open source drivers tend be nice state maschine driven drivers for the wi-fi cards(Seems to be a fashion).

Irrelevant. There are good open source and good closed source programmers. There are (many more) bad open and closed source programmers.

Quote: Original post by FILO
Well open source drivers and linux are important because they allow you to make minor changes to recompile the driver to work with the latest version of the operating system/x. Its not nice having to use buggy old libraries on linux or back port programs just to support an essential piece of hardware.

OK, real life example time. Have you tried to install/boot any Linux distribution that was recent maybe six months ago, on an Intel 965P chipset ? Well, I did. It would hang on installation, without any further indication of what happended. Every major distribution did: Suse, Ubuntu, Redhat, etc.

What was the reason ? The completely buggy open source AGPgart driver (which ironically originated from MesaGL...) Oh look, the 965P doesn't have an AGP bus. What a surprise - it's a PCIe chipset. Well, what to do ? Oh, I don't know, maybe let's just hang the machine. So you had to manually blacklist the driver in modprobe.conf before being able to boot. Live distros wouldn't boot at all. Ugh.

I'll bet you a thousand Dollars that this scenario wouldn't have happened with a closed source driver from Intel.
Advertisement
You ever tried to load windows on a ARM cortex?

oh wait...its impossible. So don't talk about not surporting hardware since linux surports more hardware then windows ever will albeit not your average hardware.

open source drivers get included into X11 code base meaning, none of this compiling of IHV crap.

And a IHV does not solve the problem of new features. Ati was behind on AIGLX for about 6 months. Meaning no fancy effects for Ati linux users, ..bad...bad ati. I garantee if it was a open source model it would of been weeks.

The new x server is getting rid of xorg.conf .

And since intel pretty much releases all its intel drivers as open source. I doubt they would of used closed source.

heres something for you

http://blogs.cnet.com/8301-13505_1-9831706-16.html

[Edited by - Alastair Gould on December 12, 2007 10:59:34 PM]
Quote: Original post by Alastair Gould
You ever tried to load windows on a ARM cortex?

oh wait...its impossible. So don't talk about not surporting hardware since linux surports more hardware then windows ever will albeit not your average hardware.

Who the hell cares ? We're talking about x86/x64 compatible desktop PCs here, not about embedded devices. And more often than not, very common place hardware is insufficiently supported (see my experience with AGPgart above) due to inadequate quality control procedures, which are virtually non-existant in the open source world. "xyz doesn't work ? Oh, you have the source, just fix it yourself". Nope, this is not my job.

Quote: Original post by Alastair Gould
open source drivers get included into X11 code base meaning, none of this compiling of IHV crap.

Again, who cares ? Installing a correctly written IHV supplied closed source driver is a matter of a few mouse clicks. It works under Windows, there's no reason it shouldn't work under Linux.

Quote: Original post by Alastair Gould
And a IHV does not solve the problem of new features.

Of course he does. He's the manufacturer, he is at the source of new features. Nobody knows the hardware better than him. He is the one who should - and has - to write the drivers.

Quote: Original post by Alastair Gould
Ati was behind on AIGLX for about 6 months. Meaning no fancy effects for Ati linux users, ..bad...bad ati. I garantee if it was a open source model it would of been weeks.

Show me a correctly working open source implementation of a GLSL compiler. You know, that shader language that is the basis of all modern shader development. The standard has been out for years now, still the open source community has no working implementation. And no, don't say Mesa. It crashes even on the most simple hello world type GLSL shaders. NVidia, however, offers a fully functional, very powerful, hardware accelerated and highly optimized GLSL compiler as part of their closed source drivers.

Or show me a working open source geometry shader implementation. I can show you a closed source one...

So, what was your point about features again ?

Quote: Original post by Alastair Gould
heres something for you

http://blogs.cnet.com/8301-13505_1-9831706-16.html

What has that to do with our discussion ?

Oh, and just for your information. We run dozens of PCs with Linux at my company, and a render cluster with over one hundred CPU nodes, all running special Linux kernels I have hand-tweaked myself. I have written tons of commercial grade software under Linux. So trust me, I know damn well what I'm talking about. Linux is a good operating system. But it could be much better, if they left some of the inner guts to professionals who know what they're doing, instead of having a bunch of amateurs fiddling around with open source drivers.
Quote: Original post by Yann L
Quote: Original post by Alastair Gould
Its mainly because the community will update them so they won't fall behind Kernel versions, and X server versions.

That's the job of the IHV. It works very well for NVidia, so there's no reason it shouldn't work for others.


The IHV still won't be able to ship its binary module as part of the Linux source tree, so it'll always lag behind when a new kernel comes out. I also don't think it's the IHV's job to package the module. Even if it managed to ship a binary module that doesn't lag behind the kernel, it wouldn't be able to cater to all the different distros out there.

Finally, it doesn't work for NVidia. Installing their modules with their installer works only for the few distros they bother to support (Red Hat, Suse, others?). If you aren't using one of the distros they've picked, the installer might silently overwrite various libraries, the module won't be loaded if you upgrade the kernel, etc.


Quote:
Quote: Original post by Alastair Gould
They will be able to be included by defult which means Linux can have 3d accel without going through all crap to get it to work. It will just be automatic.

All that "crap to get it to work" has nothing to do with open vs. closed source. If it doesn't work well, then it is a consequence of bad programming. Both OS and CS is prone to this.


Of course it does. Most proprietary software can't be shipped just like that because there are redistribution issues. Binary modules also aren't going to be made part of the kernel for obvious reasons. Therefore, the only way to get 3D acceleration out of the box on Linux is to have FOSS modules. Various distros may or may not (obtain permission to) ship proprietary drivers, but that's distro-specific.


Quote:
Quote: Original post by Alastair Gould
So opensource will make it much easier to get 3d working.

Bullshit. Just look at all the crap the OP has to go through. Manually editting xorg.conf, absolutely ridiculous for a so called "modern" operating system. Now look at the closed source NV drivers. A single click, and that's basically it. Especially under SuSe, where it's almost easier to install than under Windows.


Honestly — and to use your previous statement — this has absolutely nothing to do with FOSS vs proprietary software. The OP could be using a proprietary module for all he cares, and he'd still have to configure X. Whether the installer does it automatically or not isn't by virtue of it being free/open source or proprietary.

Quote: Of course, again, this has nothing to do with open or closed source per-se. It has to do with user friendliness. And unfortunately, open source developers often put intuitivity, usage testing, and newbie friendliness on the very last row on their priority list.


I agree. I don't think you can blame the FOSS community for not making newbie friendliness a top priority though. I don't recall anyone ever blaming Digital/Compaq/HP because Ultra64 wasn't "newbie friendly". Nobody ever expected a newbie to be able to grasp Ultra64 just like that (or OpenVMS, zOS, QNX, IOS, etc). You're essentially complaining about GNU/Linux not being Windows or Mac OS, it seems.


Quote:
Quote: Original post by Alastair Gould
as its working from defualt. i.e Imagine loading linux and 3d works automatically

Let's start with something simpler: let's simply imagine loading Linux, and your basic system works automatically... Which is not often the case.


Whenever I encounter an anti-FOSS, he'll complain about Linux "never working for him". Whenever I encounter a pro-FOSS, he'll say Linux "always worked for him". I'm quite in the "pro camp" myself, but there have been time when I just couldn't get a FOSS system to run on some peculiar hardware (mostly it was a combination of OpenBSD and a given HD). In all honesty, the moment I started actually learning about the system, things began to work much better. I'd have to say Linux installed succesfully on 99% of the hardware I attempted to install it on. Windows has also failed to install on some systems on occasions. That's hardly a proof of its lack of hardware support though, wouldn't you say?


Quote:
What was the reason ? The completely buggy open source AGPgart driver (which ironically originated from MesaGL...) Oh look, the 965P doesn't have an AGP bus. What a surprise - it's a PCIe chipset. Well, what to do ? Oh, I don't know, maybe let's just hang the machine. So you had to manually blacklist the driver in modprobe.conf before being able to boot. Live distros wouldn't boot at all. Ugh.

I'll bet you a thousand Dollars that this scenario wouldn't have happened with a closed source driver from Intel.


I'll bet you a million dollars it wouldn't have happened with an open source driver from Intel either.
Quote: Original post by Yann L
Bullshit. Just look at all the crap the OP has to go through. Manually editting xorg.conf, absolutely ridiculous for a so called "modern" operating system. Now look at the closed source NV drivers. A single click, and that's basically it. Especially under SuSe, where it's almost easier to install than under Windows. Of course, again, this has nothing to do with open or closed source per-se. It has to do with user friendliness. And unfortunately, open source developers often put intuitivity, usage testing, and newbie friendliness on the very last row on their priority list.



peh...
is this magic of closed source...
this closed source hawe a source which makes it able to do that...!
but that closed source when you need to edit something like one parameter inside a driver type api something like a=1 to a=2 makes you hitting your head to screen because that parameter is binary and when you edit it will crash anything.

also openl is a header. not the device itself.
this is somethink like driver..
and for being able to use your ferrari you hawe to gat a driver from nvidia.
but you dont know anything about that man.
i dont know what is good for user side about this
© Loading... !!!
Please Wait...!
Advertisement
I have to agree with Yann. Open source is great and everything, but when it comes to drivers, they should just work. And they do - when there is good support for closed source drivers from the manufacturer. Nvidia is a good example for how it should be done. There are, of course, other vendors with bad support (Creative, I'm looking... no, throwing rocks at you!), but only then is it really meaningful to even attempt an open source solution.

Quote: The IHV still won't be able to ship its binary module as part of the Linux source tree, so it'll always lag behind when a new kernel comes out.

What's so hard about downloading hardware drivers? Even Windows users have to do it. It's not a problem, even from a user-friendliness point of view, as long as you don't have to do it for anything other than the major hardware components.

Also, lag behind? The job of a driver is to make sure that the specific hardware that it is written for works with the interface the kernel provides. The kernel interface really shouldn't change much (if it does, you'll have to recompile everything), and the hardware certainly doesn't, so what's there to lag behind on?

Quote: I also don't think it's the IHV's job to package the module. Even if it managed to ship a binary module that doesn't lag behind the kernel, it wouldn't be able to cater to all the different distros out there.

Finally, it doesn't work for NVidia. Installing their modules with their installer works only for the few distros they bother to support (Red Hat, Suse, others?). If you aren't using one of the distros they've picked, the installer might silently overwrite various libraries, the module won't be loaded if you upgrade the kernel, etc.

Have you even used Nvidias drivers? I've installed them on Ubuntu, Debian, Mandrake and Slackware. They all worked great without hassle. The only problem is that you can't have X11 running while installing them.
-------------Please rate this post if it was useful.
Forgive me, I read most of the way through page 2 but I feel the need to contribute something here that I don't believe was mentioned. A lot of the distributions, Debian being a prime example instance, will not by default put non-GPL/MPL/ZLIB etc licensed software or drivers in their main distribution. I personally could care less about their silly issues, but love it or hate it thats how the state of Linux stands. I haven't looked at the gory details, but I believe by opening up the drivers AMD/ATI will now be able to get their official drivers supported OUT OF THE BOX on the Linux distributions!

This is interesting from a business standpoint. IIRC AMD is really interested in linux right now, and this could quite possibly give them a significant edge on the market when almost all versions of Linux will favor their acceleration OUT OF THE BOX. Yes, its possible to go through the hassles of doing it, thats great and all, but believe it or not, a lot of companies are trying to get Linux on the desktop (cuts costs for PC manufacturing companies).

So while they may be at risk of exposing certain things to NVidia, unless NVIDIA chooses to ALSO change their licensing model and release a true open source version, AMD/ATI has a very nice strategic hold on the market.

EDIT:

Key points:
Major companies are starting to try to seriously promote Linux as a (budget) DESKTOP alternative. Yes. me, you, yannL, and the nerd down the street can probably work their way through installing these drivers.... but can your grandparents?
Quote: Original post by PaulCesar
Key points:
Major companies are starting to try to seriously promote Linux as a (budget) DESKTOP alternative. Yes. me, you, yannL, and the nerd down the street can probably work their way through installing these drivers.... but can your grandparents?

As I wrote above, Windows users have to manually download their drivers as well. Unless you're running Debian with their annoying refusing-to-die GDM, installing Nvidias drivers are just as easy as doing it on Windows. You just have to click "yes" a few more times if your kernel version isn't supported.

I should also point out that it doesn't seem like Nvidia is keeping anyone from bundling an OS with their drivers - after all, Ubuntu comes with them packaged and ready to go (though a somewhat outdated version). I believe the reason noone - not even Microsoft - packages their OS with graphics drivers is that they'll be out of date a lot sooner than the OS.
-------------Please rate this post if it was useful.
I beg to differ, installing drivers on linux isnt a quarter as easy as it is on windows. Its difficult for people like you and me to see because well... we are tech literate.

I recently installed linux on my elderly parents PC's back at their place because my father has... questionable surfing habbits ;). On windows, you get a CD that comes with your hardware, you plug it in, run the installer, and your done.

On linux... you open up the console, sudo or change to root, issue a few commands, occasionally compile the driver, and your done. This isnt DIFFICULT to people that can operate a shell... but can everyone do that? should everyone have to know all this? Not everyone that needs a computer should have to be tech literate, at least thats the general consensus from the businesses POV.

Because of this linux typically does alot more "autodetecting" then windows does. For instance, with windows you typicaly have installation CD's that come with your mobo, etc, installing these base drivers... linux does this automaticaly because its a complicated process.

You are making the presumption that most users go to the main pages and update their graphics card drivers regularly, or when they get the card. But what makes you think that? Because you do? My elderly parents wouldn't even think of that.

EDIT:

also, I didn't know propitiatory drivers (open source or not) came with UBUNTU's standard live CD installation (yes, the pay versions have that CD rom available). Can anyone confirm this? Most open source drivers come in the core distro, whereas prop. drivers are placed on a different CD if you need them, or must be downloaded separately. If AMD can get a really good driver written that is opensource to the point of getting on CD#1, thats definitly a major benifit

This topic is closed to new replies.

Advertisement