Slashdot Mirror


NVIDIA Presents Plans To Support Mir and Wayland On Linux

An anonymous reader writes: AMD recently presented plans to unify their open-source and Catalyst Linux drivers at the open source XDC2014 conference in France. NVIDIA's rebuttal presentation focused on support Mir and Wayland on Linux. The next-generation display stacks are competing to succeed the X.Org Server. NVIDIA is partially refactoring their Linux graphics driver to support EGL outside of X11, to propose new EGL extensions for better driver interoperability with Wayland/Mir, and to support the KMS APIs by their driver. NVIDIA's binary driver will support the KMS APIs/ioctls but will be using their own implementation of kernel mode-setting. The EGL improvements are said to land in their closed-source driver this autumn while the other changes probably won't be seen until next year.

49 of 80 comments (clear)

  1. Seems incorrect by Richy_T · · Score: 4, Interesting

    Seems more like NVidia should be providing some kind of generic global driver and the display software (whichever it may be) should interface with it. I thought we were past the point of each piece of software needing special drivers to interface with hardware. Isn't this the whole point of a modern OS? What happens when "the next big thing" comes alone?

    1. Re:Seems incorrect by Kjella · · Score: 2

      That makes as much sense as saying Intel should provide a magic generic driver so it can run ARM software. nVidia, AMD and Intel all have different hardware implementations, the only thing most people care about is high level DirectX/OpenGL support which is the equivalent of Java on the CPU side. You have an expected functionality but how it's actually implemented in assembler differs from hardware to hardware. To be fair, there is a "thinnest possible overlay" created with Gallium3D which is something like what you ask for. Basically it's something like C for graphics card, one unified interface for shaders. As I understand it in theory the community could create support for OpenGL 4.5 and hardware accelerate it on AMD and Intel chips given the information that's available now. But the open source drivers are ~4 years behind the state of the art at OpenGL 3.3. And that's just for support, the closed source drivers go through tons of optimization for popular games so in practice they're way further behind on performance parity. Why don't they give it away? Competition mainly, just like AMD with Catalyst. Why give Intel a free optimized driver way more advanced than their current one?

      --
      Live today, because you never know what tomorrow brings
    2. Re:Seems incorrect by spitzak · · Score: 2

      I think this is more or less what is happening.

      As opposed to how X works now, new drivers will pretty much support "use EGL to draw all over the screen". The window system is *atop* that, it uses EGL to take texturemaps of window contents and draw and compose them into the right places on the screen.

      The application making those texturemaps uses EGL as well, to draw into the texture maps. This means the texture map is already in the correct graphics memory for the window system to use it and everything syncs up and you will get results that are close or equal to the speed you would get if you wrote a single program that drew an entire display of overlapping windows.

      In X it was more like the window system was the bottom level and EGL would draw into a window. Compositing window managers that want to use EGL have to create a big fake window that covers the entire screen, and had to add a lot of other kludges to work around the millions of assumptions that a window and any changes to it's pixels was instantly visible on the screen.

    3. Re:Seems incorrect by kenaaker · · Score: 2
      It seems like there's a strong possibility that the replacement for remote X-Windows could be something conceptually simpler but could require one massive block of processing. (And I think Nvidia is most of the way there).

      The remote presentation could all be done with an mpeg 4 stream, direct from the GPU. That chooses one standardized mechanism for presentation, and I think it should be sufficient for almost any sort of application. The presentation space in the GPU would be written with a number of APIs, but as the time came to present that image to the user, the GPU would transform the presentation space into an appropriate mpeg 4 frame and push it out some serialization interface for delivery to the end device.

      The only additional interface required is for the user input device, which is non-trivial, but doesn't require the brute processing capacity that presentation requires.

      Speculation, I know.

    4. Re:Seems incorrect by Anonymous Coward · · Score: 1

      It can be done. Look at AC97.

    5. Re:Seems incorrect by zwarte+piet · · Score: 1

      Would be great if linux could just use the windows or mac drivers

    6. Re:Seems incorrect by hairyfeet · · Score: 1

      Actually it has nothing to do with competition and everything to do with patents. For example AMD has to strip out anything connecting to HDMI that goes through HDCP on the open source driver because HDCP is owned by Intel and AMD merely licenses it. I'm sure since Nvidia typically provides their own low level stack (largely bypassing X last I checked but its been a couple years) they probably have even more patent minefields they have to avoid which will make it even harder to have "one driver for all" thanks to GPL requirements and the whole "dynamic versus static/ what is allowed and what isn't" WRT GPL which (again last I checked) isn't fully hashed out legally.

      So I'm frankly amazed that AMD is even gonna attempt this "one driver for all" concept...what are they gonna do about DRM like HDCP? Does this mean they will no longer have support for accelerating BD content? or are they simply gonna leave that part out of the Linux driver?

      --
      ACs don't waste your time replying, your posts are never seen by me.
    7. Re:Seems incorrect by NotInHere · · Score: 1

      Would be great if all OS vendors agreed upon /ONE/ damn driver API. It doesn't need to be binary-compatible. just share the headers.

    8. Re:Seems incorrect by Anonymous Coward · · Score: 1

      They are going to do it like Nvidia, and put the secret sauce in the binary blob and the open source interface as a kernel module as i've understood it. GPL is not the problem here. GPL has the requirements that it has. If you can't commit to obey the rules, then don't. And why would not GPL be legal? Even the question is absurd. There's nothing in GPL that goes beyond the laws.

    9. Re:Seems incorrect by Ben+Hutchings · · Score: 1

      You need at least:

      1. Kernel driver for hardware init, power management, mode setting, GPU buffer management and command submission

      2. Userland library for GPU buffer management and command submission

      3. OpenGL implementation

      In the open source graphics stack, the kernel driver exposes KMS and DRM interfaces and potentially others. Parts 2 and 3 are part of libdrm and Mesa respectively. The display server can (I think) be built on top of KMS, libdrm and OpenGL and be independent of the hardware. However it will need an extension to OpenGL called EGL which will be specific to each display server protocol.

      Currently X doesn't usually work that way for historical reasons - it used 2D acceleration first and still supports hardware that has only 2D acceleration. So it has hardware-specific drivers for each family of GPUs. However there is the 'Glamor' library that supports 2D acceleration genericallly on top of OpenGL, and I would expect to see a gradual move to that, not least because it's the only option for 2D acceleration in XWayland.

      Getting back to Nvidia, their problem currently is that they don't implement the same interfaces as the open source stack and therefore don't work with the new display servers that depend on those interfaces. Implementing KMS gets them a long way there. However it sounds like they still need to reimplement the EGL, not because it's hardware-specific but because their OpenGL implementation is entirely independent of Mesa.

    10. Re:Seems incorrect by Richy_T · · Score: 1

      NVidia know the capabilities and interfaces for their cards. They just need to expose that.

    11. Re:Seems incorrect by WorBlux · · Score: 1

      The low latency and high thoughput of local cables make this easy. Remote over the net has a lot of issue.

    12. Re:Seems incorrect by WorBlux · · Score: 1

      Per-window VNC should be fairly easy to support within a wayland compisotor. Some of the toolkits also offer remote backends.

    13. Re:Seems incorrect by Bengie · · Score: 1

      Which is great if you want to separate out rendering from processing, but the way the industry is heading, they're merging the two together. Rendering is a subset of processing and they're slowly integrating the GPU into the CPU as a vector engine.

    14. Re:Seems incorrect by Blaskowicz · · Score: 1

      But the cheap combined CPU+GPU is probably what allows those "distributed smart monitors" to be practical. They seem a fun idea, though probably suitable to certain classes of custom applications.

  2. Ob by Hognoxious · · Score: 1, Insightful

    Does systemd have its own display stack?

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    1. Re:Ob by Anonymous Coward · · Score: 5, Funny

      Does systemd have its own display stack?

      Shh! They'll hear you and think it's a good idea.

    2. Re:Ob by UnknownSoldier · · Score: 3, Funny

      /Oblg. "Good 'ol Emacs" http://xkcd.com/378/ :-)

    3. Re: Ob by Anonymous Coward · · Score: 1

      Actually it is a great idea, integrating Wayland into systemd would probably be the best way though. No need to reinvent it.

    4. Re:Ob by Anonymous Coward · · Score: 1

      With only one configuration file required for each GPU instruction!

    5. Re:Ob by Anonymous Coward · · Score: 2, Informative

      Don't kid yourself: the plan is to move the terminal emulation layer for the virtual terminals from inside the kernel into systemd. This new support will likely use OpenGL for accelerated text rendering. So you're not that far from the truth.

    6. Re:Ob by styrotech · · Score: 3, Interesting

      I think systemd should go and develop its own kernel.

    7. Re:Ob by citizenr · · Score: 1

      not _yet_

      --
      Who logs in to gdm? Not I, said the duck.
    8. Re:Ob by unixisc · · Score: 1

      Or they can write their own GPU in software running on the CPU that totally eliminates the need for Nvidia or AMD.

  3. Re:Nvidia drivers rock by Mister+Liberty · · Score: 1

    NVidia shouild be chided at every opportunity by anyone believing seriously in open source and/or free software.
    NVidia from the get go has hated Linux and Open Source to the core, and only cater to them for PR reasons.
    Fuck Nvidia.

  4. Hopefully the Steambox will Help by Mr_Wisenheimer · · Score: 2

    Linux driver support has always been a huge weakness for home users. Apple fans tend to use mostly Apple-approved hardware and everyone makes a driver for Windows. Linux support has always been an afterthought or a non-thought, often with enthusiasts hacking together support for a device months or even years after it is on the market.

    I don't know too many people who use Linux as a primary home OS, but for those that do, good driver support is a must. It probably won't get Linux any more share of the OS pie, but it will mean less pulled out hair for the 1% or so of people who run it on laptops or workstations.

    1. Re:Hopefully the Steambox will Help by rahvin112 · · Score: 2

      Not in my experience, when was the last time you used Linux? My experience is that Linux often has the driver first and longer than windows. There are only a few areas in hardware where this isn't true. For example, windows server 2012 ripped out the entire scsi driver system. Try to install it on older SCSI based hardware and you will need a driver disk for 2008 because the abolished the entire driver tree for the older hardware. This isn't the only example, only the most recent I've run into. These days Linux often supports hardware or features months or even years before Windows.

    2. Re:Hopefully the Steambox will Help by occasional_dabbler · · Score: 1

      I run linux on my home desktop. I only ever buy Intel with integrated graphics. Their open souce drivers may suck for gaming but work perfectly well to run a modern desktop

      --
      "Our opponent is an alien starship packed with atomic bombs," I said. "we have a protractor"
    3. Re:Hopefully the Steambox will Help by superzerg · · Score: 1

      It is true the support is longer on linux than on windows (who had no printer/scaner which was not working from 98 to XP or XP to 7 ect ...) But " Linux often supports hardware or features months or even years before Windows. ", are you kinding me ? First, hardware is mainly (execept for niche markets as supercomputers) targeted to windows consumers, and would not be sold without working drivers for the last windows. How could the linux driver be ready before launch ?

    4. Re:Hopefully the Steambox will Help by Blaskowicz · · Score: 1

      If it works with a driver disk then it's not that unsupported.

    5. Re:Hopefully the Steambox will Help by Mr_Wisenheimer · · Score: 1

      I only run Linux in a VM environment these days, because (aside from the occasional attached USB device) driver support for VMware and Microsoft Hyper-V is pretty close to perfect.

      But, just for instance, the live-USB version of Kubuntu absolutely will not work on my HP laptop because the Intel integrated graphics drivers are somehow badly broken. Once it starts booting you get nothing but a blank screen, so it makes it difficult (probably not impossible since there must be a workaround) if I ever wanted to install Linux (or at least Kubuntu) onto the laptop.

    6. Re:Hopefully the Steambox will Help by Mr_Wisenheimer · · Score: 1

      I've seen a lot of wireless adapters that either don't work or work badly under Linux.

      Of course, I've seen a lot of wireless drivers that were a pain in the tukis to track down for Windows, but once you find them they almost always install and work like a charm.

    7. Re:Hopefully the Steambox will Help by blackest_k · · Score: 1

      Got some old tulip cards which don't have drivers for current versions of linux, but there is no driver for windows 7 either. They are only 10/100 anyway. Some of the old systems have the integrated nic fail and a card keeps them useful a little while longer. PSU failure is the main issue as the fans fail and then cook themselves.

    8. Re:Hopefully the Steambox will Help by jones_supa · · Score: 1

      How could the linux driver be ready before launch ?

      That can be true if the hardware company is writing the Linux driver. I have seen it only happen with Intel though.

  5. Bluish People by eric31415927 · · Score: 2

    I remember watching blue people in flash videos.
    At the time, I blamed NVIDIA / vdpau.
    However it was really Adobe Flash crossing red and blue that caused me to see smurfs everywhere.

    1. Re:Bluish People by sconeu · · Score: 3, Funny

      If I saw blue people, I just figured it was an Intel ad.

      --
      General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
    2. Re:Bluish People by Skarjak · · Score: 1

      Wow, I'm feeling nostalgia right now. The good old days when running linux was much more of a pain that it is now.

  6. Re:Nvidia drivers rock by armanox · · Score: 1, Insightful

    Certainly explains why nVidia has consistently delivered good, stable drivers on free operating systems (BSD, Solaris, Linux) for such a long time, when their competitor does not.

    --
    I'm starting to think GNU is the problem with "GNU/Linux" these days.
  7. Re:Time to fork Wayland... by kthreadd · · Score: 1

    Just like the Linux kernel being GPLv2 has forced them to reveal anything as it is?

  8. Not quite by future+assassin · · Score: 1

    Except for Broadcom wireless drivers on my Dell laptops and home Kodak/HP cheap ass printers (went with brother laser for easy insall) I haven't had any issues with drivers on linux since I've gone full time in 2006. Yes there have been some performance issues with AMD drivers but nothing that would affect normal day to day usage. Currently I'm using A8/A10- chips in my computers and the latest AMD drivers work really good with games.

    --
    by TheSpoom (715771) Uncaring Linux user here. I have nothing to add to this but please continue. *munches popcorn*
  9. Re:Nvidia drivers rock by zwarte+piet · · Score: 1

    Intel does a great job also and their drivers ARE free as in with sourcecode and everything

  10. Re:Nvidia drivers rock by Anonymous Coward · · Score: 1

    Yep, which is why I'm so glad Intel makes competitive graphics cards for gaming. Oh wait.

  11. Examples, please by Sycraft-fu · · Score: 2

    Because I haven't seen a hardware release where Windows drivers didn't ship with the product. I see a reasonable bit of hardware too, what with doing IT support for a living.

  12. Re:Nvidia drivers rock by Richard_at_work · · Score: 1

    Why should they take up your religion?

  13. Will they support Windows next too? by Billly+Gates · · Score: 1

    I kind of miss my older ATI card. At least Catalyst didn't have drivers that broke or have versions that peg the hell out of the cpu.

  14. Re:Nvidia drivers rock by Billly+Gates · · Score: 1

    Since when?

    ATI has been much better as of late and that says a lot. Windows support would be nice too sometime

  15. Re:Nvidia drivers rock by armanox · · Score: 1

    I've been using the nvidia driver since my Geforce 3....

    --
    I'm starting to think GNU is the problem with "GNU/Linux" these days.
  16. Re:Time to fork Wayland... by WorBlux · · Score: 2

    GPLv2 isn't broken. And how do you stop wayland from using non-free *GL implementations. The very idea of wayland was to offload as much as possible to drivers via KMS and EGL. You would have to stop end-users from installing these kms and EGL binary implementations. In fact waylands done a great thing by convincing proprietary driver writters to partially port to open interfaces, which should make the open driver effort easier.

  17. Re:Time to fork Wayland... by Bengie · · Score: 1

    GPLv3 is broken because it is not friendly to the way businesses currently work in society. FreeBSD has been gaining a lot more traction in the past few years because of GPL's restrictions. Because of this, FreeBSD has been gaining a lot of growth in new features and development. A lot of large datacenter sysadmins can attest to a large growth in FreeBSD at the expense of Linux, but relative to Linux, the "large growth" is still small, but it is gaining momentum.

    Speaking about issues. From what I've seen over the years, fragmentation of Linux based OSes has been becoming an issue. Unfocused A.D.D. style flash mobs to the latest and greatest, then fork and jump ship or just start a new project when they get bored, leaving sysadmins in a lurch. SystemD is merely a symptom of the underlying issue that is plaguing the Linux side of Unix.

    Linux distros need to return to their Unix roots.

    Note: I am using "Linux" as the community as a whole, not as the Kernel.