Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
AMD Graphics Open Source

AMD Releases UVD Engine Source Code 79

An anonymous reader writes "Years of desire by AMD Linux users to have open source video playback support by their graphics driver is now over. AMD has released open-source UVD support for their Linux driver so users can have hardware-accelerated video playback of H.264, VC-1, and MPEG video formats. UVD support on years old graphics cards was delayed because AMD feared open-source support could kill their Digital Rights Management abilities for other platforms."
This discussion has been archived. No new comments can be posted.

AMD Releases UVD Engine Source Code

Comments Filter:
  • by Anonymous Coward

    Your DRM was cracked years ago, so why stall for so long?

    • Comment removed (Score:5, Insightful)

      by account_deleted ( 4530225 ) on Tuesday April 02, 2013 @11:39PM (#43344939)
      Comment removed based on user account deletion
      • Re:Silly AMD (Score:5, Insightful)

        by Kjella ( 173770 ) on Wednesday April 03, 2013 @12:05AM (#43345075) Homepage

        HDCP was not the issue here, that is the link between the DVI/HDMI port and the monitor. This was about AACS/CSS that is used by BluRay/DVD and the Windows DRM requirements, under the license agreements AMD must protect the video between it is sent to the binary driver as compressed video and is output through the DVI/HDMI port as decoded video. By exposing the hardware API they feared you may be able to snoop on the binary driver on Windows and intercept protected data, worst case it couldn't be fixed in software and AMD would lose all their certifications, all licensed software would update to refuse to play on AMD hardware and it couldn't be used by OEMs that want the "Made for Windows" stickers plus some incredibly ugly contract penalties. So yeah DRM, but not that DRM.

        • so in short, security by obscurity according to you

          • by Kjella ( 173770 )

            so in short, security by obscurity according to you

            According to me? So long as you have both the encrypted data and the key like a BluRay disc and a BluRay player then all DRM is clearly security by obscurity, but it won't stop AMD from getting punished for saying the emperor has no clothes on. They have to pay lip service to DRM no matter what the reality is on TPB.

            • Comment removed based on user account deletion
              • There is all the difference in the world between doing "every thing we asked for" and doing it after the hardware is so obsolete that no one uses it any more.

                • I switched from Nvidia to AMD and bought a 7850 a few months ago after seeing that their open source code is making progress.

              • Actually, the community works pretty hard for AMD and they know it. You know it too. AMD is giving back not just out of gratitude but because it is good for the bottom line.

              • Even if Nvidia linux support is better today, that doesn't mean it will stay that way. Even if people buy Nvidia for their current linux setups, that doesn't mean that they aren't rooting for AMD. AMD seems to have more ambition to have better linux support, they just have farther to go.

                It may be true that AMD is not seeing a return on their investment *yet*, but it's a pretty typical property of investments that returns are delayed. If AMD starts to take the lead in linux support, I don't see any reason

            • so in short, security by obscurity according to you

              According to me? So long as you have both the encrypted data and the key like a BluRay disc and a BluRay player then all DRM is clearly security by obscurity...

              At this exact point I zone out and disregard everything you have to say about security, now or ever. You just displayed for the world your complete ignorance of the basics of security, and more specifically, of DRM. No wonder Microsoft is the way it is. Same goes for Hairyfeet by the way.

              • Ah, same doesn't go for Hairyfeet. Hairyfeet actually gets DRM unlike dunce kjella. Doesn't quite get the open source community though.

                • Comment removed based on user account deletion
                  • I "get" open source just fine, its great for small projects but for anything of any size where cooperation is required it shows its true colors, you get a bunch of little fiefdoms with BIG egos run by guys like Ulrich Drepper, so I "get" it just fine.

                    Oh, in other words, just like industry in general? Except in the open making it much easier for a self asborbed wag like yourself to criticize the warts, meanwhile missing the entire "open" part.

                    I stand by my comment: you don't quite get it. But I must admit, you're an entertaining bystander. And actually, I noticed that you're starting to get it. Better watch that, the dark side needs you. And we need the dark side too, it's very efficient at submitting bug reports.

      • But for the record, Intel has been amongst the most FOSS friendly as well, since software isn't their core biz any more than it is AMD's. So FOSS advocates who prefer Intel over AMD (including their GPUs) are putting their money where their mouth is. The other thing I noticed about the announcement - isn't AMD supporting Ogg-Theora video playback as well?
        • Re: (Score:2, Informative)

          by Anonymous Coward

          Uh, no. For example, AMD's compiler is open source (a fork of GCC, actually). Intel's is proprietary, and also used to screw over all non-Intel CPUs by deliberately using inefficient codepaths.

          Now, Intel is hardly as bad as Nvidia with regards to open source, but they're still jerks.

        • Intel's open source alignment is not due to software vs hardware so much as the fact that Linux rules the massive and growing cloud server market.

          • No, it's because Intel has a choice of having their fortunes tied to Microsoft's (as is the case on the desktop) vs having a largely community developed platform, w/ some in-house development to fine tune the result. Since Intel doesn't make its money selling software or drivers, to them, it is irrelevant whether their software is open sourced or not. However, it does help them to be open sourced as they then have a largely ready made platform viz. Linux, on which they develop the rest of whatever they ne

        • But for the record, Intel has been amongst the most FOSS friendly as well

          That's because they own most of the IP. Where they don't... see PowerVR/GMA.

      • I do hope this gets Linux users to put their money where their mouths are and support AMD, I don't know how many "LOL use Nvidia" posts I've seen from Linux users which you just have to be gobsmacked when you realize here is the guys that spend so much time talking about "freedom" while supporting the most FOSS unfriendly company there is. I mean there is a reason why Torvalds gave Nvidia the bird ya know, and it wasn't his way of saying they were #1.

        And guess what? AMD just released a BINARY BLOB just like Nvidia does to add this "support". In other words, to get full support like NVidia gives, you need to use the same method if you want to use an AMD card. I for one will continue to use the cards that have full support for the hardware. As much as AMD is trying to release opensupport drivers, I would rather use hardware that actually uses the hardware as intended (NVidia), and not AMD's where at best, I get 2D graphics support with now some hardware a

      • I do hope this gets Linux users to put their money where their mouths are and support AMD

        So far, every time I try an AMD card the driver is shit, whether it's the OSS driver or not. I'll try another AMD card when I have good reason to believe that's not true. Right now I'm just praying that my machine holds together for a long time, replacing the fans and whatnot. I keep hoping that if I hold out long enough that something that doesn't make me angry will hit the market. Everything I buy lately is half-assed, though. Not just cheap, I can live with that, but I am dismayed with the widespread tre

        • Comment removed based on user account deletion
          • I have a Phenom II X6 1045T on a Gateway GAMA770-UD3P motherboard with a Gigabyte GT240, originally with an X3 720, and with 8GB of G-Skill and an 80GB X25-M and a 320GB somethingorother HDD. It serves all my needs (I could have a little more GPU but the TDP on this one is fantastic and it's paid for) and it is an absolute power sipper. I paid no more than $100 for any individual component, though I did buy a CPU and then buy another CPU later.

            There might even be parts in the machine from geeks.com but I th

            • Comment removed based on user account deletion
              • Whoops! I meant I have a Giga-byte motherboard, not gateway. My last PC (Athlon 64 X2 4000+) had a Gateway board. It died. I bought a very small Acer board with a cooler and nvidia onboard graphics on eBay for $30 and put the lot into one of those wooden art boxes that people use to carry around their supplies, and used it as an HTPC for a while. There's just too much fan noise though, so now I'm using a Raspberry Pi and a Wii.

                I might look at Tiger Direct again, I guess. Most of their bundles have brands I

      • AMD has done every single thing the FOSS community asked

        Except release updated Catalyst drivers so that our Radeon HD 4000's will work properly on Ubuntu 12.10 and Mint14... but no; our GPU's are apparently ancient (nevermind that mine is in a quad-core laptop w/8GB DDR3 that I bought precisely for running Linux).

        Hell, I've even attempted to stick with 12.04 and Mint13, just so that I can have support for H.264 hardware acceleration, etc... guess what? It runs like shit. Even their latest Catalyst drivers (only available for Radeon 5000 series and above) are pro

        • Comment removed based on user account deletion
          • Uhhh...you DO know they are supporting the FOSS drivers by helping their devs for precisely that reason, right?

            Yes. :) This is why I've settled (for the time being) on Mint 14 with the FOSS drivers; admittedly H.264 is a lot smoother than it was a few months ago as long as I play it in VLC and not in the browser (i.e. Flash). I actually RTFA; forthcoming VDPAU support for the FOSS drivers sounds like a dream come true. Any idea how good OpenGL performance is on the FOSS drivers?

          • ...its Torvalds constant fiddling that makes you get stuck on old versions NOT AMD or anybody else. Hell name another OS that does NOT have an ABI...

            Name another OS that rules the world in nearly every segment except desktop. Linus is crazy like a fox. Remember, you are only whining about the module ABI. The userspace ABI is an entirely different story. Linus has rather famously and aggressively defended the userspace ABI on several occasions recently, as he always has.

        • You think XP is less of a "Great Big Virus in Disguise" than Win7? Hahahahahhaha. XP is outdated, insecure crap.

          • You think XP is less of a "Great Big Virus in Disguise" than Win7

            You obviously know nothing of "DRM Engines" or the myriad ways in which the NT kernel evolved during Longhorn development. Why the fuck do you think NT 6.x and above consist of so many lines of code?! Shit, when I set up XP, it runs in 70 to 110MB of ram... and that's with wireless and printing support and a firewall enabled!

            However, your strawman is definitely real:

            XP is outdated: check.

            XP is insecure: check.

            XP is crap: Most assuredly.

      • you can't give away somebody else's IP without getting sued and possibly having your chips blacklisted? For those that don't know HDCP is property of Intel which means AMD had to sign a license agreement and NDA to allow their systems to support HDCP.

        Your thesis is that Intel can restrict distribution of source code because they have IP on HDCP? I would like to see them try it. Three word: restraint of trade. If US watchdogs won't enforce, EU will.

    • Camera switches to AMD spokesman...

      hands are over his ears
      eye's closed
      "lalalalalalalalalalalalala...I can't hear you...lalalalalalalala"

  • hardware accelerated playback for cpus that have no issue playing 1080p content. Guess this will help anyone stuck with a netburst P4 or Celeron.

    • Re:Yay? (Score:4, Informative)

      by MatthewNewberg ( 519685 ) on Tuesday April 02, 2013 @10:40PM (#43344693) Homepage
      Helps with battery life, and can allow you to run other things while playing video without a large performance hit.
    • Re: (Score:2, Informative)

      by Anonymous Coward

      Well, this is huge for laptop platforms, as the power efficiency of UVD vs. processor decoding is much much better. Regardless, while a modern cpu can decode 1080p fine in general, it will be more power effecient, reduce the load on your system, and generally smoother playback to use UVD.

    • Re:Yay? (Score:5, Insightful)

      by click2005 ( 921437 ) * on Tuesday April 02, 2013 @10:43PM (#43344713)

      It makes the AMD platform much more appealing for low power media boxes.

    • And can't do 1080p w/o hardware excel. My CPU might be old, but it's still miles ahead of an i3 and bumps up against the low end i5s.
      • by petman ( 619526 )
        What's an Athlon XP 6000? Athlon XP only goes up to 3200+, doesn't it?
        • Maybe he's talking about an Athlon(64) X2 6000+? If that's the case it's not competitive with any i3 I've ever heard of and wouldn't even make my Lynnfield i5 750 sweat, never mind an Ivy Bridge. But it should manage 1080p video OK... Maybe a player upgrade is needed.
    • Re:Yay? (Score:5, Informative)

      by TheRaven64 ( 641858 ) on Wednesday April 03, 2013 @03:55AM (#43345829) Journal
      The AMD Fusion boards come with 1.6GHz (Atom-equivalent) processors and integrated Radeons. They can't handle 1080p on the CPU, but can on the GPU. They're low power, so are good choices for home cinema boxes.
      • Fusion chips are better than Atom equivalent (at least on a per clock ratio base). Atom's often don't offer 64-bit support, and don't have out of order execution. In practical benchmarks, an AMD Fusion clocked at 1GHz will perform similar to a 1.6GHz Atom.

        They do seem to use a bit more power than an Atom in my experience, but overal I'm very satisfied with Fusion hardware for low-power devices. I own two, a netbook and a tablet, both work fine and are very snappy for their price, age and specs. A friend o

        • Yes, that wasn't an exact comparison. They're aimed at the same approximate market segment as Atom, but AMD isn't as terrified as Intel of cannibalising their more expensive chip sales. I have one that I use for NAS and media server stuff. It's connected to my projector (and plays back iPlayer video and DVDs fine) and has 3 2TB disks in it in a RAID-Z arrangement. I'm looking forward to the AMD drivers on FreeBSD stabilising a bit more and being able to get accelerated video. I bought it because there
    • Hardware accelerated video still looks better no matter how fast the system you're using. I use an Nvidia card but unless VDPAU (hardware accelerated decoding) is enabled the video has screen tearing present that makes it look terrible - even on a 2.5Ghz AMD quad-core system. Its not that the system can't keep up - it'll decode the stream in real-time just fine if I want to play it. Its just that the video looks like crap.

    • Your mistake was in not saying to yourself: Hey, self ... some company with many .experts, all of whom have far more understanding and skill than do I, saw fit to put accelerated video playback on the GPU. I'm thinking of posting on Slashdot about how ridiculous that is, but maybe I'll just remain silent and assume that I am actually the clueless one."
    • Or someone with a Core i5 laptop who wants dedicated playback to safe battery life.

  • by buchner.johannes ( 1139593 ) on Tuesday April 02, 2013 @10:49PM (#43344749) Homepage Journal

    So the article links "The code just arrived" to a folder with .bin firmware files and this license:

    REDISTRIBUTION: Permission is hereby granted, free of any license fees,
    to any person obtaining a copy of this microcode (the "Software"), to
    install, reproduce, copy and distribute copies, in binary form only, of
    the Software and to permit persons to whom the Software is provided to
    do the same, provided that the following conditions are met:

    No reverse engineering, decompilation, or disassembly of this Software
    is permitted.

    Redistributions must reproduce the above copyright notice, this
    permission notice, and the following disclaimers and notices in the
    Software documentation and/or other materials provided with the
    Software.

    Did AMD actually release any source as the title suggests? Where is it? Or did they just make using/redistributing their firmware legal?

    • Seems they released firmware and perhaps some patches to modules to allow their use...

      Quite far from open-source UVD engine source code.... sigh

    • by jonwil ( 467024 )

      It looks like its a combination of a userspace patch, a kernel patch (if you click "next message" on the one with the firmware link you will see all 10 of the patches) and some microcode firmware that is either loaded onto the card or interpreted by an interpreter in the driver (not sure which).

    • by girlinatrainingbra ( 2738457 ) on Tuesday April 02, 2013 @11:35PM (#43344927)
      Nope, no source code. Just binary blobbage.
      :>(
      linky http://lists.freedesktop.org/archives/dri-devel/2013-April/036766.html [freedesktop.org] leads to
      linky http://people.freedesktop.org/~agd5f/radeon_ucode/ [freedesktop.org]
      .
      which is a directory full of .bin files of Radeon microcode patches. Does not appear to be source at all, even though the article at Phoronix [phoronix.com] claims that there is a release of "open source driver code":
      Within the next few hours AMD will be publishing open-source driver code that exposes their Unified Video Decoder (UVD) engine on modern Radeon HD graphics cards. This will finally allow open-source graphics drivers to take advantage of hardware-accelerated video decoding

      A comment on their discussion page is more insightful and likely to be right:

      This should read "AMD Releases UVD Support For (Partially) Open Source Driver" instead, since likely 90% (the exciting part; if it's anything like on NV) of the UVD code is pre-compiled in the blob firmware ... (the percentage may be open for debate)

      So it looks like that comment is right: everything's hidden in a binary blob and there is no source code released at all at this time.

      • by tlhIngan ( 30335 ) <slashdot&worf,net> on Wednesday April 03, 2013 @12:01AM (#43345055)

        The question is - the driver (the part that Linux runs) is open sourced. It just interfaces with parts that aren't (the firmware).

        A modern graphics card is programmable - they run various programs (and you know them for doing stuff like GPGPU and CUDA, and even LLVM). So the firmware files are there to load the hardware decoder blocks onto the GPU.

        For AMD cards, the card does the whole video decode chain - you feed it in h.264 or VC-1, and it parses the stream, decodes it and renders it all on the chip. nVidia cards require CPU assistance - they do the IDCTs and YUV transforms and other acceleration, but not the entire stream on card.

        So they open-sourced the part your CPU runs, while the GPU part is still a binary blob that the driver loads onto the GPU so it can start feeding it the encoded stream and have the GPU decode and display it.

        There's not much else to it - they could open source the firmware, but that's often highly proprietary and may contain licensed code from elsewhere. Plus, there may be a bunch of other technologies involved (i.e. the compiler) that they can't open-source. And most people won't have use for that code anyhow - it's firmware. It's just like the firmware that runs your WiFi card, your NIC, etc. - they often make the interface public and leave the rest of it proprietary.

        • Okay, thanks for the info. But where exactly is the link for and where exactly is the source code for the "open source" API to this proprietary firmware code blob? I agree that open sourcing the interface is useful alone: knowing what the hooks are lets you access more of the capabilities of the card.
          • by tlhIngan ( 30335 )

            Okay, thanks for the info. But where exactly is the link for and where exactly is the source code for the "open source" API to this proprietary firmware code blob? I agree that open sourcing the interface is useful alone: knowing what the hooks are lets you access more of the capabilities of the card.

            I would think the APIs would be "documented" by the source code that was released. After all, the code would show how to load a program onto the GPU, get it running (it's not a trivial operation considering all

      • by Anonymous Coward on Wednesday April 03, 2013 @01:39AM (#43345393)

        Nope, no source code. Just binary blobbage.

        Then what the hell is all this:
        http://lists.freedesktop.org/archives/mesa-dev/2013-April/037049.html

      • This isn't the 90's anymore...

        GPU drivers, today, aren't targetting hardware directly. It's not like one fires up Carmageddon, which talks to Glide, which talks to graphics card anymore.

        Here's to illustrate what's going on, going from hardware to application:
        0. Hardware: processes data;
        1. Firmware: tells binary to go this way or that way;
        2. Kernel drivers (called the Direct Rendering Manager): Memory manager buffers to time-slice between all kinds of GPGPU apps (like OpenGL, OpenCL, MPEG*-decoding, etc.), s

        • Thanks for the detailed reply. I'm fairly new to a lot of this, but still very interested in it. I'm also writing X11 code, using Xlib routines rather than an overlying window manager style thing. I'm not a masochist, I'm just trying to learn the details from some good X examples. I've written some OpenGL stuff also. And I'm interested in learning the details from the ground up and from the high-level abstractions down. Get the devil in the details squeezed from above and below, if I can. Again, than
          • X.org is now pretty much implemented as a State Tracker for Gallium3D ;) 2D networking X11 stuff in Xlib doesn't work if compoziting and using 3D, so that's why X11 is being axed and replaced by HTML5 in the widget toolkits Qt and GTK, and also by Wayland. Wayland sits on top of what X.org now sits on, and is purely a Window Manager.

            Xlib is outdated, even for X.org. X.org now uses XCB (X.org C-Bindings).

            If you want to poke at the frame buffer, try directly talking to the Kernel Mode Setting driver ;)

    • by Kjella ( 173770 ) on Tuesday April 02, 2013 @11:48PM (#43344983) Homepage

      Did AMD actually release any source as the title suggests? Where is it? Or did they just make using/redistributing their firmware legal?

      There's three parts:
      1. Microcode update (not open source, never was)
      2. Kernel patches (open source)
      3. Mesa patches (open source)

      The first post leads to an email, but if you go to thread mode you'll see 10 kernel patches following it and the mesa patches are in the other link in the Phoronix article. This is a real open source driver, as open source as the rest of their driver. I must honestly say I'd given up hope that this would ever get released, but fantastic that it has. This has literally been years in the works, but now that the hurdles have been crossed hopefully this support is here to stay for future generations of cards as well.

      • Re: (Score:3, Insightful)

        by hattig ( 47930 )

        Indeed it is. People are getting their knickers in a twist over microcode for the GPU (which is probably just a microcode update) that probably target a custom architecture, compiled by a custom compiler, and which in themselves provide the advertised functionality (decoding h.264, etc). It's firmware, it's conjoined to the hardware (which is also closed-source) to make the hardware do something useful. By having firmware, you can add features down the line (e.g., VP8, H.265) as well, that you couldn't do w

Science is to computer science as hydrodynamics is to plumbing.

Working...