AMD Overhauls Open-Source Linux Driver
An anonymous reader writes "AMD's open-source developer has posted an incredible set of 165 patches against the Linux kernel that provide support for a few major features to their Linux graphics driver. Namely, the open-source Radeon Linux driver now supports dynamic power management on hardware going back to the Radeon HD 2000 (R600) generation. The inability to re-clock the GPU frequencies and voltages dynamically based upon load has been a major limiting factor for open-source AMD users where laptops have been warm and there is diminished battery power. The patches also provide basic support for the AMD Radeon HD 8000 'Sea Islands' graphics processors on their open-source Linux driver."
This is a great step in the right direction. Hopefully it's not the last step.
I'm excited about getting the upcoming Kaveri. APUs are the way to go unless you have needs that call for huge CPU or GPU power, and I think AMD is definitely leading the innovation here. It's a nice bonus if I will be able to run Linux with good graphics acceleration as well.
Signature intentionally left blank.
Per http://stallman.org/to-4chan.html:
"Regarding graphics accelerators for PCs, ATI mostly cooperates with the free software movement, while nVidia is totally hostile. ATI has released free drivers.
However, the ATI drivers use nonfree microcode blobs, whereas most of nVidia's products (excepting the most recent ones) work ok with Nouveau, which is entirely free and has no blobs.
Thus, paradoxically, if you want to be free you need to get a not-very-recent nVidia accelerator.
I wish ATI would free this microcode, or put it in ROM, so that we could endorse its products and stop preferring the products of a company that is no friend of ours."
This sort of thing gets discussed quite a bit on 4chan's technolo/g/y board. Also, installing Gentoo.
The driver support is untenable given the competitive dynamic with Nvidia - the hardware IS good, the drivers SUCK but are improving.
I've been stuck using beta drivers for months for my 7x00 product because WHQL drivers have ALL KINDS OF PROBLEMS.
My laptop ran ridiculously hot on the open-source until I got the closed-source drivers to install properly. Let's hope the fix means default installs of Ubuntu won't melt your igloo.
In SOVIET RUSSIA... erm...NSA AMERICA, the Internet logs onto YOU!
In 4 to 5 months I'll be replacing my laptop and I would LOVE to have better graphics performance but the stability and power saving of my intel's integrated & merely adequate GPU's will probably be the deciding factor. Of course by then AMD is going to have to compete with Haswell too...
Maybe there's a boat load of trade secrets in the closed source drivers, but I'd imagine that this is a perfect area for patents to be used against competitors. It would seem to me that most hardware vendors would benefit from open sourcing their main drivers and documenting them lightly so that they could offload maintenance costs for smaller OSes to "the community" while relying on patent law to protect novel inventions.
In which version will this be included?
I can't help but wonder if this is related to AMD's recent console design wins, especially PS4. Up until now, there hasn't really been a strong business case for putting a lot of effort into Unix-based video drivers. But since PS4 runs on FreeBSD and uses OpenGL as its API layer, a lot of the effort that AMD put into the drivers there can probably be ported over to the Linux drivers without much trouble. The PS4 and Xbone GPUs both use AMD's standard Graphics Core Next (GCN) architecture.
Many Bitcoin Miners Rejoice!
Drivers can also be compiled separately as modules that can be loaded into the kernel (that is, a driver doesn't need to be included in the kernel, it's just a matter of convenience).
Example: The nvidia kernel module can't be distributed with the kernel, so it's not included in the kernel's code at all. When installing the driver, there's a shim that's compiled against your specific kernel that provides an interface between the binary-blob driver that NVidia provides and the kernel.
The inability to re-clock the GPU frequencies and voltages dynamically based upon load has been a major limiting factor for open-source AMD users where laptops have been warm and there is diminished battery power.
A compute rate that varies with temperature would seem to be a bug, rather than a feature. I don't want a GPU that does that. I need repeatable Gazebo simulations.
NVidia tried that and made the mistake of saying who the IP that was the roadblock was: Sun. Sun Microsystems said "There is nothing that they have of ours that we would refuse to have open sourced". NVidia's response was to clam up and let the fanbois repeat the claim for ever more.
and made it the year or Linux, say it ain't so...
by TheSpoom (715771) Uncaring Linux user here. I have nothing to add to this but please continue. *munches popcorn*
It's great that AMD is improving support for a lot of their hardware on Linux. In fact, as a result, my next graphics card purchase will be from AMD.
One thing I'd like to see them address is older hardware... I have an older ATI chipset (RS600) on my laptop. It's pretty much unusable due to some severe bugs. It would be awesome if they opened up enough specifications on older cards to allow those people who still have them to fix buggy drivers since I don't expect them to go back and add in support on hardware no longer being sold.
Why would you have to make kernel changes just to support a graphic driver? No wonder Linux is still just a child's toy.
This is a perfectly valid question.
I bet that if it was in the form "Why would you have to make kernel changes just to support a graphic driver? No wonder Windows is still just a child's toy." (assuming that graphics drivers were done like that in Windows), the comment would be +5 Insightful instead of being modded down by the Slashdot Linux-lover-bots.
So please, tell me why does the Linux kernel need manufacturer-specific modules to support graphics cards? Shouldn't the kernel just include the basic things like the ability to talk to a PCI Express device, and then graphics drivers would be implemented at a higher level?
$2B in debt, $1B cash, lost $600M last year, sales dropped 30% last year. They have no assets (spun off their manufacturing facilities). If the next gen consoles do not sell well because of casual / tablet gaming and potential Apple TV games, AMD will be bankrupt in one year and shuttering in two. Spending money on open source drivers is a long term investment - it's not going to get them an additional $600M in revenue next year (>2M additional graphics cards or >5M systemic wins) when PC sales are on the decline.
Thank Thank you.
That's basically what happens, but today's graphics cards require large amounts of address space and low latency IO, and the kernel module bypasses the kernel userspace stuff that requires excess copying along the way. Also, things like power management support are handled via the kernel, and if KMS is used, the kernel supports a fully accelerated, native resolution system console.
However, the bulk of the 3D driver is in userspace already as mesa regardless of video hardware. Nvidia ships a modified binary-only mesa libGL and their module does not support KMS.
So please, tell me why does the Linux kernel need manufacturer-specific modules to support graphics cards? Shouldn't the kernel just include the basic things like the ability to talk to a PCI Express device, and then graphics drivers would be implemented at a higher level?
Because Linux is a monolithic kernel instead of a microkernel.
Hybrid Unified Memory Access.
Basically both your CPUs and GPUs having access to the same memory space without needing to 'swap' via apertures or anything else. It's currently intended for the gpu in APU packages, but I believe they've stated one of the next gen GPU platforms (HD9xxx?) is going to support it as well.
and replaced them with on-the-fly ANSI graphics rendering in 80x25.
Yep, I have a number of older laptops that depend on legacy ATi video that AMD will probably never support. Stuff like MacBook Pros with x1600 ATi cards and equally expensive HP kit with the FireGL equivalent. I'd love to just load them up with Linux but video support just kills the idea.
Why do you need specific wavelengths of light to see? Shouldn't your eyeballs support anything, and your brain sort it out?
Why do you need road surfaces of a particular firmness to drive? Shouldn't your tires just drive on any sort of atoms, regardless of their liquid, solid or gaseous state?
Why do.... ah, never mind. The answer is that jones_supa hasn't paid for things to be any better. Cough up the cash like you do for Microsoft and you can pay for the mods you want.
All Haswell mobile chips have vPro: ram-kvm spy chip.
Look it up. Can be reenabled remotely.
So, the announcement 6 years ago that they were fully supporting open source drivers and documentation is finally coming to fruition?
I've got a HD3300 IGP and that works alright with the open source driver. Not good, but alright. Then I bought a HD7850 and tried using the latest open source drivers. By latest I mean MESA snapsot from 20130619 and all the latest pieces. It is utterly broken and useless. Scrolling in applications cause artifacts. Starting some applications (like LibreOffice) just makes X hang. There is no usable open source drivers for the latest AMD cards. Yes there is something available, but it's a broken joke you can't actually use.
It is possible to use the open source driver to have one monitor on the HD3300 IGP and two monitors on the HD7850 without accelration on any of the monitors. Try the same setup with accelration and their driver segfaults.
I basically bought a HD7850 because AMD claims there's a open source driver for it. When you try it you'll find that there is no such thing as a functioning open source driver for this card and cards in this family.
The new kernel patches are probably a step in the right direction, but it won't help with the latest cards. AMD developers have in their wizdom decided to provide no 2D driver at all, instead they rely on 3D for 2D using MESA and "glamor". glamor is a buggy joke at this point and it will probably take years before that changes. I wish I could point to AMD and say "they've got great open source support" but the truth is that it's crappy at best. Intel is the only alternative if you want working free software drivers as of now.
9/11: Never forget it was a false-flag operation
And They Have Neckbeards Too(TM)!!!
Shees. What a moron.
That is a good point.
Windows drivers also have a significant kernel component -- used to be even larger but now is roughly comparable to Linux. You just don't see the kernel modules because the installation infrastructure is slicker on Windows.
In practice, that translates into a question of whether the firmware resides on a flash memory or ROM device. If it's on flash, it's alterable and updatable, but typically, the flash would contain firmware that is independent of the system software that resides on the main computer, and just has code that would cause the device to respond to the commands it is given. So whether it's on flash or ROM would make no difference in that sense.
In the real world, when is flash used, and when is ROM used? When a system is still undergoing evolution, and its firmware is likely to need updating over time to enable the system software to use some of the enhanced features of the device, flash is used. Reason? It is in-system programmable - meaning its sectors/blocks can be updated by loading address/data sequences to the device, and thereby enabling erase and program operations on it. So, for instance, in cell phones, the OS can be remotely updated since it resides on flash. Put that on ROM, and you'd have a phone that's hit its limit.
So when is ROM used? In things like printers, where your system software is never gonna change - once the fonts and other such info is stored, you're not likely to alter them over time. But even here, the ROM is not a 'circuit'. The reason ROM is used is that it is cheaper than flash, and the applications, like printers, that use it can do so precisely b'cos it doesn't need to be updated. Essentially, when a product's firmware, or whatever is resident in flash, can be frozen b'cos it's known that it's never gonna change, then using ROM is a cost saving option. It has nothing to do w/ putting handcuffs on users or anything of that sort. If users are happy to pay extra for a flash firmware b'cos they actually know and care about it, I'm sure the companies would be just as happy to stay with flash. But as it so happens, since most users are content w/ just using the original device as intended, they don't bother about all that, and that the few who do are just not enough of a market to justify a manufacturer not going for the cost reduction option, especially when pricing pressure is there on the product.
The extra heat is a feature. What do you expect when you buy a Canadian graphics card company?