Slashdot Mirror


NVidia Releases Linux Drivers Supporting 4K Stacks

Supermathie writes "NVidia has finally released drivers for their chipsets and the 2.6 kernel that support 4K stacks. That means compatability with Fedora Core 2 kernels, people! View the README, visit their driver page, or download the package."

57 of 380 comments (clear)

  1. Real Story... by ThisNukes4u · · Score: 5, Insightful

    The real story is when they open the source to the drivers.

    --
    thisnukes4u.net
    1. Re:Real Story... by el-spectre · · Score: 5, Insightful

      No, that is another story.

      An even better story will be when folks realize that it is OK for the whole world not to agree with them on philosophy. Especially when those philosophies have economic ramifications.

      But I ain't holding my breath.

      --
      "Faith: Belief without evidence in what is told by one who speaks without knowledge, of things without parallel." - A.B.
    2. Re:Real Story... by Anonymous Coward · · Score: 5, Interesting

      Methinks the only real reason you'd want to keep your drivers closed off is because you're artificially handicapping your hardware to increase differentials between various (actually fairly identical) cards you've got on the market. Conspiratorial? Yes, but nothing that doesn't happen all the time.
      I wholeheartedly agree that closed-source code is appropriate for all manner of enterprises (and philosophically, I tend to look at executable code as an open, gloriously inaccessible book anyway). But closed-source device drivers? Just makes me wonder what they're hiding.

    3. Re:Real Story... by pnatural · · Score: 4, Interesting

      As far as I remember, NVidia has maintained that some of the code in their drivers is licensed from a third party, and that the license does not permit source redistribution.

      Several things:

      1. There really isn't a way to verify that the drivers actually ship with the third-party code; NVidia may be using the issue to quelch requests for open drivers.

      2. Goes to show how the license of the code you use in your projects can have determental impact on your future goals (or beneficial, depending on those goals, of course).

      3. I think it's more likely that the drivers sources are kept closed because there's some benchmark tricks, or worse, cheats.

    4. Re:Real Story... by bit01 · · Score: 3, Interesting

      I'm getting very sick of astroturfers trying to push their marketing drivel (straight out of South Park: "closed source is gooood") at the start of slashdot replies.

      By definition, for the customer (us!), open source must provide at least all the options of closed source. All the grandparent did was highlight what is probably the most beneficial potential change for slashdot'ers. If NVidia had released the source as that poster had suggested the 4K problem probably would've been fixed within hours.

      ---

      It's wrong that an intellectual property creator should not be rewarded for their work.
      It's equally wrong that an IP creator should be rewarded too many times for the one piece of work, for exactly the same reasons.
      Reform IP law and stop the M$/RIAA abuse.

  2. Wow support for 4k stacks!!! by Thaidog · · Score: 5, Funny

    Ok... wtf is a 4k stack?

    --

    ||| I still can't believe Parkay's not butter.

    1. Re:Wow support for 4k stacks!!! by Nermal6693 · · Score: 5, Funny

      K means Kelvin, a measure of temperature.
      4 K is very cold.
      A stack is a collection of pancakes.
      Therefore we're talking about frozen pancakes.

      In other words, I have no idea.

    2. Re:Wow support for 4k stacks!!! by rmull · · Score: 4, Informative
      --
      See you, space cowboy...
    3. Re:Wow support for 4k stacks!!! by Anonymous Coward · · Score: 5, Informative

      It's an essentially obscure change they made in the 2.6 Linux Kernel. The idea was that the smaller stack lets you run more threads and perform better under higher IRQ loads. In reality, since pages are 4KB anyways, and most processors not only swap but also cache memory in 4KB pages, if the stacks don't actually use more than 4KB there's no advantage to artificially limiting them--the other memory doesn't really even need to "exist." It also required rewriting and reworking lots of things, such as these NVidia drivers, that assumed the stack size would be much larger than 4KB.

      You can turn off the 4KB stack and go back to the default behavior by recompiling the kernel with the proper option set, but default Linux distros based on 2.6 all use (to the best of my knowledge) 4KB stacks by default.

    4. Re:Wow support for 4k stacks!!! by Thaidog · · Score: 4, Funny

      Ah... and here I was about to go make pancakes. Thanks for the insight!

      --

      ||| I still can't believe Parkay's not butter.

    5. Re:Wow support for 4k stacks!!! by jejones · · Score: 4, Informative

      OK... If you're a programmer, you know about stacks; they've been almost THE canonical way to allocate space for the broad family of "Algol-like languages" since the classic reference on implementing Algol 60. If you're not a programmer... you've seen those stacks of plates at cafeterias and restaurants, or of cups at the convenience store? The important property they have is LIFO (last in, first out). Think of each plate as a place where you can write some information. A function is run, it grabs a few plates for the things it needs to remember. When it is finished, it puts the plates back (you can only take an anlalogy so far, of course--if you put your plates back right away at the cafeteria, you'd gross people out). As long as there are enough plates left, it doesn't care who else called it, or how many callers came before it. All it needs to know is to go to the stack and get the number of plates it needs.

      When you make a system call, it typically executes on its own stack, separate from the one you get for user state. The question is, how big should that stack be? It constrains how deeply nested you can get into function calls while in system state and how much space they can chew up for local variables. Until recently on Linux it's been 8K bytes (think 8192 plates), but they switched over to 4K, only half as much space (or half as many plates).

      Some drivers as written count on having that whole 8K of space to play with, and they have to be rewritten. Since nvidia provides neither an Open Source driver nor sufficient information to allow anyone else to write one, however, it means that we have to wait until they deign to make that change. Fortunately, they've gotten around to it.

    6. Re:Wow support for 4k stacks!!! by surprise_audit · · Score: 4, Funny

      No, that's K as in "thousand" - i.e. 4,000 pancakes. What Texans call a "small stack"...

    7. Re:Wow support for 4k stacks!!! by kasperd · · Score: 4, Informative

      It also mentions something about interupts that I don't understand.

      The problems with interrupts is, that you don't have much control over when they arrive, and when they do arrive, they need stack space. So with interrupts interrupting each other, you can quickly use a lot of stack space. If you were very unlucky, you could probably overflow even a 16KB stack that way.

      So you would either have to disable interrupts or make sure there were always enough stack space to take an interrupt. Disabling interrupts is something we don't want to do for more than a few nanoseconds, so something have to be done.

      With 4KB stacks this problem become even worse, but there is a solution. Assume we need to be able to handle for example five interrupts at the same time and each of them need 3KB of stack space. With the traditional approach, we would need to always leave 15KB of stack space in every thread. But we are never going to need all of that, because at any time there is only one thread executing on each CPU.

      Interrupt stacks means that rather than using the stack of the current thread, we simply switch the stack pointer to a different stack only used for interrupts. We will still use a small amount of stack space in the current thread, but certainly less than 100 bytes, and only for the first interrupt. This means that the thread stack no longer needs to leave free space for some unpredictable amount of data.

      The kernel design requires the kernel stack of every thread to have exactly the same size (and a power of two). The current macro on x86 is one piece of code relying on this. But within an interrupt current doesn't make any sense. So it should be possible to make the interrupt stacks larger than the thread stacks. That way we can have a few large interrupt stacks and a lot of small thread stacks. This use less memory than a lot of large thread stacks. The number of thread stacks just have to be one pr CPU or one pr handler depending on your design.

      My system currently have 1 CPU, 12 interrupt handlers, and 101 threads. Which means that saving 4KB per thread and then creating a single 16KB interrupt stack would save a lot of memory.

      --

      Do you care about the security of your wireless mouse?
    8. Re:Wow support for 4k stacks!!! by r00t · · Score: 4, Informative

      Opteron: 4
      Alpha: 8
      Sparc64: 8
      Itanium: 4, 8, 16, 32, or 64 (usually set to 16)

      You can always double-up in software. The VAX has
      1/2 kB pages (512 bytes), but the Linux port puts
      8 of those together to make a 4 kB page.

      The 680x0 processor lets the OS choose the page
      size to be pretty much anything.

  3. mem=nopentium by Crasoum · · Score: 4, Funny

    I will miss thee.

  4. Yippee!!! by CliffH · · Score: 4, Funny

    Now I can get my ass kicked in Enemy Territory under Fedora Core 2. I was missing that but for some reason, I got so much more work done. :)

    --
    sigs are like a box of chocolates, they all suck remove the underscores to email me
  5. The Best Test by DeadBugs · · Score: 4, Informative

    For me the best way to test these new drivers is to play Enemy Territory

    One of the best online FPS games and it's free-as-in-beer.

    Keep up the good work NVIDIA.

    --
    http://www.kubuntu.org/
    1. Re:The Best Test by Creedo · · Score: 4, Funny

      I beg you, if you have a life right now, DO NOT START ENEMY TERRITORY!!
      Or, if you are bound and determined to hear "I need a medic!" as you drift off to sleep everynight, at least ease yourself into it. I hear that "crack addict" is a good introductory stage to ET addiction.

      --
      All that is necessary for the triumph of good is that evil men do nothing.
  6. OpenGL header files problem by maizena · · Score: 5, Informative

    It seems that this driver's OpenGL headers are a little buggy, but the solution was given by NVIDIA employee in this thread at nvnews.net forum.

  7. The beta drivers worked well by Thagg · · Score: 5, Informative

    I've been testing these drivers under Fedora Core 2 for a while, and they appear to work flawlessly.

    Thad

    --
    I love Mondays. On a Monday, anything is possible.
  8. This is a major release by crow · · Score: 4, Informative

    For people who are building home theater PCs for things like MythTV, this is a major step forward. The last release that supported overscan (so that a TV image doesn't have black stripes on the sides) was many releases back (version 4363). This release not only supports Linux 2.6 with 4K stacks, but has overscan and interlace support, making it ideal for TV and HDTV display.

  9. You could still use the old nVidia drivers by Xpilot · · Score: 4, Informative

    ...with the latest 2.6 kernels, simply turn off 4K stacks. But hey, now it's not necessary. Yay.

    4k stacks are a good thing, a first step for Linux to support an insane amount of simultaneous processes on the system.

    --
    "Backups are for wimps. Real men upload their data to an FTP site and have everyone else mirror it." -- Linus Torvalds
  10. Give credit where credit is due... by Ignignot · · Score: 5, Informative

    this is a cut/paste of this article. Unless you actually wrote it, don't copy with no reference.

    --
    I submitted this story last night, and it didn't get posted.
  11. Wonder why... by blixel · · Score: 4, Interesting

    Wonder why this story was rejected when I mentioned it 4 days ago and then submitted the story.

    1. Re:Wonder why... by blixel · · Score: 4, Funny

      Because the slashdot staff is dumb and retarted.

      I think you mean "retarded". :)

  12. Re:Real Story...NOT INSIGHTFUL by shepd · · Score: 3, Informative

    >They might have a slightly different perspective.

    Yes, the IBM PC XT was a complete POS that couldn't compete with anything else out at the time. Almost nobody used it, apart from a handful of people. That garbage computer didn't even include a decent sound system, for crying out loud!

    Then the clones came.

    And the XT architecture became popular.

    And IBM sold more PCs than they ever thought possible.

    --
    If you could be told what you can see or read, then it follows that you could be told what to say or think - BoC
  13. Re:Real Story...NOT INSIGHTFUL by drinkypoo · · Score: 5, Insightful

    The "zealots" just want to control their own computers. That's what Open Source is about. If you have an nVidia video card in your linux system, and you want full functionality, you have to let nVidia control your computer.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  14. For the lazy... by rsilvergun · · Score: 4, Informative

    I'll karma whore, since I read the article linked above.

    If you allocate memory in 8k stacks, the kernel's got to find 2 pages of memory together. Which I guess gets to be a pain as uptime increases. Since memory pages on most hardware are 4k, it's easy as pie with 4k stacks. Plus, you separate some of the kernel stuff like software interrupt handlers to their own stack (I think that's what it was), hopefully making the system more stable in the process.

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
  15. Further Testing by dangerz · · Score: 3, Interesting

    I think I'll wait for this to be tested for more than 24 hours before I try my hand on it.

    --
    The greatest experience we can have is the mysterious.
    - Albert Einstein
  16. Re:Real Story...NOT INSIGHTFUL by EvanED · · Score: 4, Interesting

    Or go out and revise the nv drivers. Nothing (I would assume) prevents you from doing so. Nothing prevents you from getting a video card from another company. And by the same token, nothing should prevent NVidia from releasing closed-source drivers.

    Besides, what would 99.9% of linux people do even if it was open source? Download source, not even look at it, type make install clean, and be done with it. (Or make setup or whatever the build sequence is; point being that most users wouldn't care.) And for the 0.1% of people who do mess with it, unless they discovered some great tweak that would provide a significant feature or speed advantage over the NVidia drivers, I'd just go with them, since I trust them more since the quality of their drivers partially determines their sales, and thus they have a bigger motivation to make them better.

  17. Re:aahhh finally by Dunarie · · Score: 4, Informative

    so finally nvidia got its act together. i wonder what took them so long?

    They are still ahead of the game with Linux compared to ATI. ATI only just got Linux drivers out a few months ago. NVidia has had Linux drivers for at least around 2-3 years now (I didn't really care about it before then), this is just about them getting the 2.6 kernel drivers (and new chipsets). Also, to my understanding, ATI's Linux drivers arn't all that good, and they have yet to support the 2.6 kernel.

    So really, if you want a brand name video card that supports Linux, NVidia is the way to go (at least for now).

  18. Re:I agree by Mycroft_VIII · · Score: 4, Funny

    Mods will probably sink this for saying it. But I think they deliberately go against any atempt to predict thier down modding.

    Mycroft

    --
    https://signup.leagueoflegends.com/?ref=4c3ed6600b6ea
  19. Re:What about the source code? by Graelin · · Score: 4, Insightful

    I don't know about you guys, but I think having the source code to recompile it manually would help out immensely.

    That's funny, I don't.

    First, fixing this stack size problem is not a simple re-compile of the same code. Depending on how the driver is written this is certainly a non-trivial task.

    Second, even if you had the source that does not mean that you could distribute a fixed version. Open source != Free Software.

    Third, they may be closed source drivers but they are miles ahead of the current FOSS drivers. The Zealots can run their "pure" systems and suffer graphics glitches and poor 3d performance. I'd rather just use something that works. If that meant sticking with by old kernel a bit longer then so be it.

    they just don't want to fork it over because somehow you may "magically" make the component up yourself out of basement and not have to buy it.

    Not you - their competition. ATI has always been plauged by crap drivers. If ATI had a peak into how NVidia does it you can be sure they'd take something away from it. NVidia would lose a competitive advantage. The GPU war is nasty. The competition is killer - they'll take any advantage they can get.

  20. Re:Real Story...NOT INSIGHTFUL by 10101001+10101001 · · Score: 5, Insightful

    Okay, I'll take a stab at it. The bedrock of capitalism is simply a market system based on private ownership. Now, most people want to extend that into monopolistic control to maximize their own profit in self-serving interest, but at the same time consumers generally tend to want a lot of competitors that can offer substitutes that give them greater value.

    But, the fact is that if IBM hadn't "goofed" and created a mostly open system, it's likely that either another more open system would have succeeded even though it had a lot of obvious fault or no system would have succeeded and the information age wouldn't be near the point it is. Why? Because a more open system allows for programmers, both hobbyist and capitalist, to more easily develop software for the system. This barrier to entry would mean less software overall which would directly decrease the demand for computers. At the same time, monopolistic control would keep prices high, fixing the quality sold at a smaller rate than it is today thanks to the vast number of clones.

    So, it's unlikely IBM would have a better market share or sell more products. They might, still, be making more profit due to monopolistic pricing. It does seem unlikely for this to be the case, however, when various other architectures would have likely succeeded in IBM's place and relegated IBM computers into dinosaurs like the Amiga (no offense to the Amiga intended).

    As for NVidia, there's at least two principle reasons why they might wish their drivers closed. The first is by closing the drivers they have stronger control over rebranding cards at different price points without modifying hardware which might increase sales without hurting sales on the higher priced cards. The second is NVidia has cross-licensed a variety of patents which probably puts them in the position of not having the authority to license said patentable idea under the GPL.

    Without number two, number one could be fixed with creative hardware locking mechanisms. The total cost of such hardware locking would be minimal in comparison to the boosted sales of all the likely free porting and driver work done by volunteers on the NVidia driver. The fact is, NVidia is a hardware company so it is in their best interest to commoditize all software for their hardware to be run on. Open sourcing their driver, if possible, would very likely have this effect (it's hard to argue that it could have the reverse effect, at least).

    The claim that trade secrets would somehow be revealed by open sourcing their driver is possible, but I would guess is unlikely as the majority of NVidia's actual trade secrets would be in *hardware*. All a driver is supposed to be is a standard interface for the OS, and if there are tasks beyond this in the driver NVidia would almost certainly advantage by sticking it in hardware as well. It's for this reason I assume NVidia's driver license policy is the main fault for them not open sourcing their driver.

    --
    Eurohacker European paranoia, gun rights, and h
  21. PPCP (PowerPC Please) by This+is+outrageous! · · Score: 4, Insightful
    Thank you nVidia. Now could you
    P L E A S E
    compile those drivers for us PowerPC owners who also pay for the cards?

    It's not like nobody can do it...

    Thank you.

    --
    This is...

    O
    U
    T
    R
    A
    G
    E
    O
    U
    S

    !

    1. Re:PPCP (PowerPC Please) by NanoGator · · Score: 4, Funny

      "P L E A S E
      compile those drivers for us PowerPC owners who also pay for the cards?"


      Oooo ooo ooo can I be the first to be modded up for saying "Just another reason to switch to Windows!"..?

      --
      "Derp de derp."
    2. Re:PPCP (PowerPC Please) by Sycraft-fu · · Score: 3, Insightful

      Not trying to knowck on you, but please realise that you are in a very severe minority. Most people in the world use x86 systems. Just a fact of life, for better or worse. It's over 90%, in fact. Now when you break down x86 users, you find that, for desktops, it is again severly one sided with most people using Windows. Again we are talking over 90%.

      Hence Linux support is kind of thin at this point, it's just a smaller market than Windows. However some people, like nVidia, fell that there is enough to warrant writing drivers for, to increase sales. Remember: This is a company, they don't do thing for the good of humanity, they do things to make money.

      So let's take the Mac now, being the only real PPC platform that would use nVidia cards. What percentage of computers are Macs is something of dispute, but it's between 3-5%. Well then you consider that most Mac users don't run Linux. It's VERY rare, in fact, since one of the reasons most Mac users buy Macs is for MacOS. It is certianly under 5%, and probably under 1%.

      So, even using optimistic numbers, you are talking 0.25% of the market, and realisticly it's probably more like 0.05% or less.

      Now on top of that, second hand sales of Mac graphics cards are pretty low. Since they are special, and aren't compatible with normal off-the-shelf PC cards, you don't see a lot of them sold. What you buy with a Mac is what you have for the life of that Mac in most cases. Well, that means there isn't a big incentive to get you to switch to nVidia cards. You either got one with the Mac, or you didn't. You aren't likely to change later so no profit motive for nVidia.

      So you have a very small percentage of computer users that aren't likely to change cards after purchase, that use a different processor architecutre (and hence require more programming and testing). Not really a ripe market for a driver port.

      You have to understand that the x86 Linux market is populated by a high number of DIY computer builders. Those people can, and are, swayed to certian hardware by availibility of non-suck drivers. Thus it is in nVidia's financial intrest to make drivers for them, though they are a small market segment. The PPC Linux market is not capable of DYIing and is less likely to change to a new card because of it. Also, it is a much smaller market. thus it is NOT in nVidia's financial intrest to make a driver for it.

      When you deal with corperations, at least ones of any deceant size, you always have to remember that it is money that they care about, not humanity. They do things because they make them money, or get them good press, which leads to more money. Not because those things are for the good of humanity.

  22. Re:I agree by Mycroft_VIII · · Score: 4, Funny

    Dammit, you may be right, I swear it was an accident. I was looking for funny. Crap and I try to avoid most slashdot 'sins'. Well at least I've managed to avoid trollery and Flaimbaitage. I've given up on off-topicness along time ago.

    Mycroft

    --
    https://signup.leagueoflegends.com/?ref=4c3ed6600b6ea
  23. Re:Real Story...NOT INSIGHTFUL by Afrosheen · · Score: 5, Informative

    There is magic in their drivers, and it is explained EVERY SINGLE TIME NVIDIA GETS MENTIONED HERE. It's called a special OpenGL license from SGI and it's also some special in-house code.

    Try to remember it this time, it's only the 400 millionth time it's been mentioned.

  24. Re:I agree by kasperd · · Score: 4, Interesting

    Closed source software has its places,

    But drivers is not one of them. Had they put the closed source code in a user mode library and used just a small open source kernel driver, we wouldn't have all the problems with the driver. It still wouldn't be optimal, but it would be way better than the current situation.

    --

    Do you care about the security of your wireless mouse?
  25. Re:Real Story...NOT INSIGHTFUL by el-spectre · · Score: 4, Insightful

    Yeah, this is why I use the term zealot. I like Linux (anyone bringing up GNU/Linux can bite me. I know the history and respect GNU. It's unweildy), in fact I prefer it. But I call BS on the altruism of the philosophy behind much of the movement.

    If you wanna say "here's our stand, and we stick by it", I respect that. If you say "any stand but ours is unholy and wrong", then you are attempting to control and I have no use fer ya.

    I wouldn't violate the GPL, as a programmer I respect other coder's work and time. But I also don't buy into the demand that EVERYTHING be GPL's, or whatever license you prefer.

    The world ain't black and white kiddies, time to realize the intelligent people have differing opinions most of the time...

    --
    "Faith: Belief without evidence in what is told by one who speaks without knowledge, of things without parallel." - A.B.
  26. Re:Who still makes truly open drivers? by Bootsy+Collins · · Score: 4, Informative

    Are there any video card manufacturers left who release other than binary only drivers?

    Matrox releases open-source drivers for some of their product lines (e.g. the Millenium G series -- G400, G450, G550, etc.). The mga driver that comes along with X is the same as Matrox's, for that reason. And 2D performance under the open-sourced Matrox drivers is actually pretty damned good. This all sounds great, doesn't it? Unfortunately, Matrox's Linux support sucks, and the support for Matrox from the DRI project is fairly nonexistent right now. So if you do have any problems with the driver, or want to get 3D/DRI/hardware acceleration issues solved, you're gonna have to learn to hack the drivers/kernel modules yourself. Good luck.

  27. Re:aahhh finally by fucksl4shd0t · · Score: 3, Interesting

    Man, I just installed these drivers (I was wanting a good excuse to do it, I admit it) on my ancient TNT2 video card, 800mhz Duron, blahdy-blah blah, and now Metisse is running fine. Before, with the nv driver Metisse barely ran. Amazing how much a difference the driver makes. ;)

    --
    Like what I said? You might like my music
  28. Re:I agree by Barto · · Score: 3, Insightful

    Except that place is not hardware drivers - all the pain and suffering getting 3D working on Linux when most hardware is a breeze is proof of that.

  29. "the only real reason"? by steveha · · Score: 4, Insightful

    Methinks the only real reason you'd want to keep your drivers closed off is because you're artificially handicapping your hardware

    Um, no.

    0) nVidia might not own all the code they compile into their drivers. The license they have the code under might permit binary distribution, but not source.

    1) nVidia's drivers contain large amounts of software that is better than any of their competition. They spent money developing this, and they want to milk the competitive edge it gives them. And that is okay.

    2) nVidia has more control this way. The Firefox guys are holding control over their cool icons, because they don't want the cool icons slapped onto broken code; only Mozilla-official builds of Firefox get the cool icons. nVidia might want to be sure that no one runs with broken drivers, then thinks nVidia cards are all junk, when in reality some guy made a few "improvements" that broke things, and distributed the changed version anyway.

    3) Other reasons are possible. "the only real reason" my left foot.

    Personally, I would much much rather have FOSS drivers. But even more than that, I want drivers that work. I switched from a GeForce 4600 to a Radeon 9600 XT, and even though the Radeon is a much better card, it runs slower under Linux than the older GeForce. It's the drivers. ATI's Linux drivers for the 9600 XT are lame. I actually boot into Windows to play Unreal Tournament 2004, because the performance is so much better under Windows. When I had an nVidia card, my Linux 3D gaming performance was just fine.

    If nVidia would make a programmable-shaders card that doesn't double as a space heater, I would probably buy it and replace the Radeon. I know that the Unreal Tournament guys check the server stats, and I want to be "voting" for Linux gaming, so I want them to see me running Linux when the check stats on the servers I have been visiting.

    steveha

    --
    lf(1): it's like ls(1) but sorts filenames by extension, tersely
  30. Re:I agree by Too+Much+Noise · · Score: 4, Interesting

    Actually, this is the idea. The interface with the kernel is open source; the closed source code is a binary object that gets linked into the module. Sorry, user mode doesn't really make much sense here, drivers need full hw access and context switching to a different privilege level would only hurt performance.

    The rest is pretty much trolling, at this level. NVidia has been so far quite open source friendly when it comes to producing drivers. But I guess there will always be people to complain. Me, I'm happy NVidia has drivers for platforms where theirs is the only accelerated choice, like amd64. Others would say the same about IA64, or FreeBSD. Windows and Linux on x86 aren't the only games in town, you know.

    Finally, how do you know they don't stand to lose something by making the drivers fully open source? look only at the whole 12 pipelines vs. 16 pipelines thing going on between the latest NV and ATI cards, with last minute info prompting new cards on both sides. If NVidia releases drivers for their last generation of cards that take the competition a couple of months to disassemble and analyze, they might keep the edge long enough to move on.

  31. ATI by daemonc · · Score: 4, Informative

    Let's hope ATI follows suit.

    It took 2 third party patches and a recompile to get it their driver to install on Fedora Core 2, and it still crashes WineX.

    --
    All that we see or seem is but a dream within a dream.
  32. Re:Real Story...NOT INSIGHTFUL by Azrael+Newtype · · Score: 3, Insightful
    I don't really have that big of an issue with nVidia's graphics support, but their nForce chipset drivers are repulsively bad. They decided not to implement hardware mixing, despite it being one of the chipset's capabilities, and the LAN drivers they ship with are slow and buggy. If they'd just open sourced it, or given out the spec so someone could write the driver, we'd have sound that wasn't horridly bug ridden. The ethernet support was reverse engineered and now works significantly better than the NVNet module that ships on disk included in the motherboard package. On top of this, look up issues between the 2.6 kernel and nForce 2 chipsets if you want to read some horror stories. One of the big problems was ACPI wasn't implemented to the standard, so using it causes hard lockdowns of the system (we're talking to the point that you can't turn the caps/scroll/num lock light on by pushing the button, much less any serious interaction). If the spec here was known, a workaround other than disabling all of the power saving features could be found, but as it is that's about the only recourse for many people. I know this was a graphics card discussion originally, but it is still nVidia's drivers/hardware spec not being open causing real problems.

    Also, releasing the source would allow the drivers to be compiled on the systems with your gcc optimizations instead of being forced to use binaries, which has nothing to do with whether you're going to modify the source or not. One of the biggest things about my Gentoo box was that you build everything optimized for your hardware, whereas these binaries have to be much more general. Sure, there may not really be a terribly significant difference, but it's just one more reason why it should be open source.

    Finally, to get back to your first point (am I going in reverse?) You really can't revise the nv drivers because they're compiled binaries. Nothing is stopping you from modifying them except the little thing that it's not accessible code to modify, since if it was this thread wouldn't have started. As for getting another company's video card, the options are ATi, and Matrox, neither of which are any better in this regard, and in fact ATi is much worse, so while you are right that nothing is preventing me from buying someone else's video card, it's not the point since no one is playing nice with OSS (AFAIK, Matrox might actually be nicer about it all, but they're not really accessible to the public the way the other two companies are,) leaving penguin worshipers with no options. nVidia is the lesser of two evils to be sure, so they get my money (that and the awful ATi driver issues with Windows XP, but that's a different story) for now, but really only because no one is better. Saying nothing is preventing us from going elsewhere really seems to sidestep the actual issue by blaming the users for something we really can't avoid because the best solution is a partial one. Well, anyway, that's just my $0.02

    --
    I'm always right and I can prove it, because to the best of my knowledge, I've never been wrong.
  33. Re:Linux newbies experiences on this issue by vvdd2 · · Score: 3, Informative

    You were trying to do very intrinsic things to Linux and then complaint. Such low level changes are hard to do on any system. The good thing - they are unnecessary for novice user. For you, as an inexperienced linux user, I would recommend to use FC2 installer and then just use the system. It has web browser/office suite/etc. Read Fedora support site - some things(NTFS) you were trying to do are not supported by Fedora yet. This would save you some time.

  34. Re:I agree by kasperd · · Score: 3, Informative

    Actually, this is the idea.
    Huh? There certainly is a difference between what I described and how the driver is currently working. Maybe my suggestion would require changes of the binary code and/or the X server, but it certainly should be possible.

    The interface with the kernel is open source
    That statement doesn't make any sense. You can say the interface is open, and you can say the kernel is open source. But an interface is something more abstract than a piece of code. Of course when talking about interfaces to the kernel it is important to keep in mind, that there are two different interfaces. There is the user/kernel mode interface. This API complies (mostly) with various standards: Posix, BSD, Single Unix specification, SysV. But the standards only specify the API, not the ABI which is Linux specific. This ABI is kept as stable as possible even across kernel versions. But this interface is not really important when discussing kernel modules. The functions kernel modules can link against may change, and no attempt is made to keep the ABI stable, only the API is kept stable within each major version as long as the API doesn't turn out to be a major problem. This API is however the same across multiple CPU architectures (unlike the user/kernel ABI discussed before). But this really means that if you want to ship a Linux kernel module, you have to ship it as source. Because it is only at the source level there is a well known interface. A fixed ABI is just not possible, just the differences between CPU architectures is enough to make it impossible, but in addition some data types in the kernel are different depending on the options. And finally there are stuff like the 4K stacks where the current macro had to be changed.

    the closed source code is a binary object that gets linked into the module.
    And that is a problem. Not only does it only work on one architecture, but it makes assumptions about the kernel, which may not be satisfied. The amount of stack space is not the only problem here. The code can break the kernel in various ways, which means you can no longer trust your kernel.

    context switching to a different privilege level would only hurt performance.
    Some years ago I did some meassurements of this on a computer, that is now five years old. It could do one million switches from user mode to kernel mode and back again per second. I believe newer machines can do a bit more than that. I guess very few people have a monitor refresh rate of more than 100Hz. That means you will have time for about 10000 switches. Of course you can't use all your CPU time just to be switching, but let's say you can do a single frame with less than 1000 switches, then you certainly wouldn't have a performance problem. And if more than 1000 switches are required to do a single frame, then you have a broken design that needs to be fixed. It is not the amount of data needing to be transfered that is a problem, because you could either map board memory directly into the user mode process, or (a litle more complicated) do DMA directly to user space. So I won't believe your talking about performance problems, until I see a proof that it can't be avoided.

    NVidia has been so far quite open source friendly when it comes to producing drivers.
    NVidia have not really been that friendly. They may seem friendly when compared to other 3Dgfx manufacturers. This really just means there is a market, where no vendor give a damn about their customers. I hope some vendor will realize this, because if they do, and make the product the customers want, then I believe they can make some money.

    --

    Do you care about the security of your wireless mouse?
  35. Could NVIDIA finally,slowly be getting it? by iwbcman · · Score: 5, Interesting


    I must admit-I am a bit suprised that SLASHDOT didn't pick up on it. It might just be a little insignificant thing which doesn't warrant much attention anyway-who knows. Of course everyone is mentioning the support for 4k stacks. And of course this is important. Anyone who has used Andrew Morton's patch set knows what a PITA this issue was. But nvidia even did more than fix the single most blocking issue regarding their drivers and the 2.6.x kernels.
    They also:
    Added support for ACPI
    Fixed problem that prevented 32-bit kernel driver from running on certain AMD64 CPUs.

    Added support for GLSL (OpenGL Shading Language).
    along with the new nvidia-settings utility-GPL'ed and written in GTK2....
    and finally they added:
    Added a new Xv adaptor on GeForce4 and GeForce FX which uses the 3D engine to do Xv PutImage requests.
    Now I am not an expert on such things-25 years of experience and I am still left asking more questions than my ability to answer. _But I noticed this little innocuous "xv" thing and was like WOW-cool. I leave it up to those who know more to shoot me down-but doesn't this little "xv" thing mean that all those Linux users who use nvidia GeForce4 and FX cards suddenly got a a tremendous boost when doing much of anything with video ? After all XV is what all of the video players under Linux use for good quality full-screen video(mplayer, xine, totem, gxine, helixplayer etc.)
    Now if I understand this correctly everytime a PutImage() request comes along under XV this is handed over to the 3D engine-automatically. It seems as if this would be a very, very significant reduction in CPU usage-particularly for older generation(PII/PIII) machines which happen to have fairly modern graphic cards. Full-screen divx under mplayer with the new drivers uses 12% CPU on average on my machine-I unfortunately did not do a benchmark to test this-but if my memory serves me correctly this is significantly less than what is was with the older drivers.
    Now the downside to this-at least for the time being- is that some apps don't quite work with these new changes-Xine-and it's siblings(totem,gxine, kxine etc.)
    But I assume these will be fixed pronto.
    Well where am I going qoing with this train of thought:
    Putting this kind of support for XV in the NVIDIA drivers -is really simple for the NVIDIA guys-perhaps even trivial-but it can mean a tremendous improvement for the users of these cards. NVIDIA has always treated Linux like a second class citizen-but hey who can complain-at least they acknowledge that Linux exists-compared to the BSD's Linux support is great-of course only if you are using x86 CPU's. Now everyone knows that the graphic workstation market has all but disappeared. But what if NVIDIA was to decide to simply really take advantage of the X11 windowing system and it's features.
    Imagine if NVIDIA would actually provide good RENDER support-wow what a difference that would make for 2D desktop support-particularly under GNOME which uses RENDER extensively in VTE/PANGO-ie. why text scrolling in gnome-terminal is so abysmal. I am still stumped by the fact that the open-source X11 nvidia drivers support RENDEr far, far better than NVIDIA's own in-house drivers.....
    Imagine if NVIDIA would really support the libfixes, libdamages and libcomposite extensions which are currently being developed at Xorg-X11. Sun's Looking Glass is already using libdamages and libfixes-I got it up and running on my machine yesterday-and yes it is still pre-alpha-but I have never, ever seen such a fluid desktop environment. This tech is almost *evil*- the promise which it presents is simply baffling-rendering all previous X11 windowing experiences to the days of the stone age. I don't really care that much about Looking Glass-if NVIDIA properly supports the X11 extensions we will have cairo-enabled desktops inside of the next year which will fundamentally alter the X11 experience for X users.
    Ok. So here is the point of this little essay: If NVIDIA would simpl

    1. Re:Could NVIDIA finally,slowly be getting it? by elFarto+the+2nd · · Score: 3, Informative

      Snipped from the driver's README:

      Option "RenderAccel" "boolean"

      Enable or disable hardware acceleration of the RENDER
      extension. THIS OPTION IS EXPERIMENTAL. ENABLE IT AT YOUR
      OWN RISK. There is no correctness test suite for the
      RENDER extension so NVIDIA can not verify that RENDER
      acceleration works correctly. Default: hardware
      acceleration of the RENDER extension is disabled.

      Personally I haven't noticed any difference, but then I've got some AGP issues, so YMMV.

      Regards
      elFarto
  36. Re:I agree by spektr · · Score: 4, Informative

    Actually, this is the idea. The interface with the kernel is open source; the closed source code is a binary object that gets linked into the module.

    That works great if you can guarantee separation. Otherwise debugging is a nightmare, knowing that there are some black boxes in your system which can manipulate the whole system.

    Sorry, user mode doesn't really make much sense here, drivers need full hw access and context switching to a different privilege level would only hurt performance.

    Right, that wouldn't work too good - but if everything runs in kernel mode then there is no border control between the driver and the rest of the kernel. The driver has to be trusted to play nice and not to fuck up the kernel data structures, because there's nothing that can stop him doing that. It would be different if the driver ran in user mode, because then the driver would throw segmentation faults and the like if it does something illegal.

    The conclusion is that source code should be available for everything that runs in kernel mode.

  37. Re:Real Story...NOT INSIGHTFUL by amide_one · · Score: 3, Insightful

    "Unfettered, unrestricted capitalism is a fantasy" - only because any time it shows up, regulation follows along behind. (Similar dilution happens with other "pure" implementations of economic theories.)

    "only in the last couple of decades"? what about the great big monopolistic empires of the late 19th Century? Standard Oil? United Steel? J P Morgan and Carnegie? The railroads? These are the reasons the original anti-trust laws were passed. (And before that, go back to the East India Company and the other government-licensed charter companies.)

    Corporatism is a political system which is not at all at odds with "pure" or even regulated capitalism (an economic system).

    People are always going to label people or arguments they dislike with names for other things they dislike, whether it's "you poopoo-head!" on the playground, "communist" or "Nazi" (or "capitalist") for adults. Are you hoping that's a "sign of the end days of this world view"? Keep hoping, 'cause people have been dismissing (or attacking) other people as "socialist" or "communist" pretty much since those terms were coined.

  38. Re:I agree by Pharmboy · · Score: 3, Insightful

    I agree with you! Closed source software has its places, just as open source software does.

    I have been arguing this for years. Part of "Freedom" is choice, and having the choice to release your source code or not, just as I have the choice to use open or closed source applications. Abuse of a monopoly is not the same thing as closed source.

    It is ironic that some (but not most) of the advocates of Open Source rail against anything that is not Free. This intolorance is why they get compared to "commies" and socialists, taking a position that "either software is Free or it should not exist". Fortunately, most of us who are Free software fans don't share their intolorant views.

    If a company wants to keep their source closed and try to actually make money SELLING it, fine. If someone wants to make a Free version that does basically the same thing, even better, because then we have a choice, and the MARKETPLACE decides.

    --
    Tequila: It's not just for breakfast anymore!
  39. Not all is perfect by MasterVidBoi · · Score: 3, Interesting

    There are still serious bugs left from the previous revision, which was six months ago. That's a bit long to wait. While GLSL and 6800 support is nice, an interm bugfix wouldn't be unwelcome...

    A problem that leaves the console framebuffer blank after X is started remains. You need to work around it by adding
    Option "IgnoreDisplayDevices" "TV"
    to your xorg.conf. If you are actually using TV out, this could be a bit annoying.

    Even worse, it hasn't been more than 24 hours since I've installed them, and these drivers have already hung X twice. When an OpenGL process segfaulted, that process assumes state D (uninteruptable sleep), and becomes completely unkillable, along with X itself. I haven't figured out how to reboot cleanly once this happens. All I can do is ssh in, sync the disks, and hit the power button.

  40. Re:I agree by ThisIsFred · · Score: 3, Insightful
    ...all the pain and suffering getting 3D working on Linux when most hardware is a breeze is proof of that.
    What pain and suffering? Nvidia's drivers are the most pain-free to install of any third-party driver. The useful module options are well documented, and there is a support community. Hell, Nvidia just added a new configuration utility. Unlike other drivers that are included with the kernel, Nvidia's modules are consistently functional, and aren't mystified by outdated HOW-TOs or the requirement to poke around inside the kernel source tree for a text file with module options; A file that may or may not exist.

    On the contrary, my issue with hardware installation and Nvidia had to do with the open source components not produced by Nvidia. The Mesa OGL library changed their build scripts (which was the source of much confusion) because of issues with automake. Installing Mesa at the wrong time breaks Nvidia's OGL interface. The agpgart module was also the source of much frustration because it wouldn't support faster transfer modes on certain chipsets. So, when I couldn't get my GF3 Ti to run at 4x, I discovered that - in true OSS developer fashion - the option appears only inside a source code file, with no explanation. Thank heavens for the 'modinfo' utility and experience, whereas a less technically-inclined user wouldn't have a clue what an "int" is.

    Nvidia shows a lot enthusiasm for GNU/Linux that other vendors do not. Their Linux drivers are always current, and well documented. They host a lot of complete or demo games for free and without registration hassles. Nvidia is fighting tooth-and-nail with ATI in a technology war that has resulted in ultra-high performance at affordable prices, yet even with ATI nipping at their heels, they've still managed to find the time to cater to the OSS community. Since there is a wide range of acceleration features that modern applications may or may not support, Nvidia's peformance secrets still remain inside their drivers. Putting these trade secrets out in the open would guarantee Nvidia's end. As much as I'd like to see the drivers become part of the kernel's source tree, I wouldn't want to see a friend of open source operating systems put out of business. Continued criticism of Nvidia only reinforces the Linux community's reputation as the enfant terrible of the computing world.
    --
    Fred

    "A fool and his freedom are soon parted"
    -RMS