Pages

Showing posts with label GPU. Show all posts
Showing posts with label GPU. Show all posts

AMD Radeon's Proprietary Driver vs OpenSource Driver

When it comes to creating a software driver which enables the proper communication between the actual hardware and the operating system, it's important that the programmers have the proper "knowledge" about the core foundation about the hardware.

This however does not consist (not necessarily) of how the chip or the hardware is designed into depths such as how close the transistors are aligned, what materials are being used to manufacture them, how the direct communication between transistors take place, etc. As far as I know, all the programmer needs to know to design a optimized software driver has nothing to be with the physical attributes but as long as they how to communicate with the BIOS of the hardware, that "maybe" enough.

That's because it's the BIOS that talks directly with its hardware and is sort of the gate keeper thus the job of the OS (or the driver in this instance) to speak with the BIOS and tell him the needs and the rest should be taken care of. So in that sense, the manufacture is, in a way, is somewhat "protected".

Hmm yeah, about that ...
As everyone would agree, Praise and Fame are two powerful substances that define most of our lives thus keeping "the" secret is a "must" in some situations otherwise you'll mean nothing to others. Because rather than revealing the truth, in a way, pretension has its power over us.

It helps to create a sense of a self, adds a "meaning" to ones life which ultimately motivates to "do something" with their lives. As Adam Smith had said: "In competition, individual ambition serves the common good.", a big equation that's trying to balance itself out, perhaps.

Image via: Deviantart...
However this is not a philosophy that I'm quite fond of yet the more I deal with the "world' the more apparent it is. In that sense I do have sympathy for me and others: such as the hardware manufactures in this instance.

Anyhow, let me come back to the story. Before and after AMD purchased ATI graphics the company refused to give advanced technical details into the hands of the software driver developers which would/should reveal some, not necessarily all but some of their secrets as mentioned in the 2nd paragraph.

This is also the case with other major GPU manufactures such as Nvidia and Intel (although Intel is a bit open but some of their GPU do have some "lacking" of serious documentations according to developers) who're also scared give certain information about their hardware "details". Anyhow concerning AMD, now we have main two versions of their GPU drivers.

One is the Proprietary driver (which was known as fglrx which was then re-named as "AMD Catalyst Linux") and the other is the opensource driver. They're both initiated and lead by AMD and today I was reading an interesting article on Phonoix concerning their performance comparison.

They've run some performance tests using the Phoronix Test Suite (a benchmark utility) below are few of the images containing the results (running games under GNU/Linux and used Ubuntu 11.04 and 8.04 versions).





Now I will not go into details since you can read it from this Phoronix page (including the hardware of the PC used and OS versions, etc) but to wrap things up Michael has concluded that in some tests (games) the opensource driver actually out performed the proprietary one!.

But in most situations it was the Proprietary one that won the "battle" at the end (Also worth mentioning that the GPU's being used are actually a bit older ones in today's standards). 

This is a no surprise since it consists of both opensource and proprietary portions and the proprietary portions means deeper hardware integration + the proprietary section of the AMD seems to have a bit more man-power than the opensource section at the moment. So, if you're looking for the best possible 2D and 3D (OpenGL rendering, Compiz, I hate you! :P) acceleration under GNU/Linux then you should be better of with the secretive AMD Catalyst Linux driver ;-).

Interestingly though that usually the OpenSource driver is a bit slowish (running about 60-75% speed of the proprietary one) and in Michael's own words...
"It is worth noting that AMD is not looking to achieve the same level of performance with their open-source driver as what is found with Catalyst. The 80~90% performance of Catalyst that we are commonly seeing for this older hardware is in line with what AMD's John Bridgman and others have been after. Additional performance can be squeezed out of the open-source code, but it is a matter of whether such investment is worthwhile..."
So I think that as time goes assuming the GNU/Linux will not just grow in numbers but in a rate that forces AMD (including other vendors) invest more time and money into developing a better optimized opensource driver (also supposing we'll be seeing a lot of popular games re-designed into GNU/Linux too) which should resulting an optimized completely (let's hope, anyone wanna prove "Adam Smith" is wrong? :D) open-sourced driver, finally.

Although according to Richard Stallman OpenSource does not represents the true subtle meaning of the idea of freedom (yikes!) ... but hey!, it's better than nothing! (not all hope is lost for GNU/Linux nonetheless). What do you think?.

How To Install Nvidia 275.09.07 Driver in Ubuntu 11.10 Oneiric Ocelot & 12.04?

Installing the proper VGA driver in GNU/Linux is not the most easiest (not user friendly is the best word I guess) thing. This is because, usually you have to get the Kernel-source code and then get the driver from the vendor, change the run-level and finally you'll have to let the driver to build the Kernel modules (loadable "plugins")... which is kind of a long process.

Although I'm not entirely sure about if there's a PPA available for ATI but with Nvidia, thanks to a dedicated X-org PPA which releases a lot of X-org related drivers and utilities (proprietary ones) by default we can do this pretty easily. So unilke with the above mentioned method... you just type few command and the pre-build drivers are installed and you're ready to rock the heck out of that video game :P.

Anyhow, few days ago Nvidia released a never version of display driver series which brings few enhancements (including an interesting one for Gnome 3 users!) such as ...


*. A Gnome 3 related bug which seemed to be doing a little corruption ;-) but finally fixed.

*. Added support for Nvidia GPUs such as GeForce GTX 560, GeForce GT 545, GeForce GTX 560M, etc.

*. KDE4 desktop effect bug fixed.

*. Few issues with audio jack unplugging errors fixed.

*. Performance enhancements in KDE4.

*. New configuration named "BaseMosanic" added which lets you to easily expand a singe display screen in multiple other displays... are just a few to name.

You can install this Nvidia Driver 275.09.07 version in Ubuntu 11.10 Oneiric Ocelot & 12.04 Precise Pangolin by entering the below command in your Terminal window. Once done, make sure to do a reboot of your Ubuntu PC/Laptop as well.
sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get install nvidia-current
Although this driver is not currently added for Ubuntu 11.04 or below ones... So, I'll update you on them once they update the packages.

How to Install ATI/AMD Catalyst Linux Driver 11.6 in Ubuntu 11.04 Natty Narwhal?

When it comes to VGA cards... Nvidia and ATI are the dominating manufactures of GPUs (graphical processing unit). Unlike with a CPU where you don't have to install any "driver" since the operating system (GNU/Linux, MS Windows, etc) Kernel contains optimized drivers by default... a GPU can be a bit tricky.

Although Intel has a long range of their own GPUs which are also quite powerful but still when comparing with the ATI and Nvidia, they're slightly behind. But one thing about the Intel graphic cards is that, unlike with Ati/Nvida, Intel has a bit of an open minded approach.

This is because they give a lot of information about the architecture of their GPU, etc for Kernel developers which enable the GNU/Linux Kernel developers to easily embed and create GPU/VGA drivers of their own without having to depend on Intel for updates and bug-fixes.

Unfortunately this not is the case with ATI and Nvidia drivers since they refuse to give information regarding the GPU structure, etc which is an essential if you want to embed their GPU support to the GNU/Linux Kernel.

And as a result, now if you want the optimum performance from your ATI/Nvidia GPU (which you should since Unity and other desktop heavily use the 3D acceleration of your GPU), then we have to wait till the manufactures fix them.


Enough "complaining", lets get busy.

Now recently AMD/ATI released a new update to their Catalyst Linux "version" which makes it now the 11.6. If you use Ubuntu 11.04 Natty Narwhal, you can install the Catalyst 11.6 quite easily by following the below steps.

Trying to be "friendly" ;-)...

1. First we have to download the driver it self. So open your Terminal and enter the below command.
 cd ~/; mkdir catalyst11.6; cd catalyst11.6/

 wget http://www2.ati.com/drivers/linux/ati-driver-installer-11-6-x86.x86_64.run
 chmod +x ati-driver-installer-11-6-x86.x86_64.run
2. Now lets create an executable .deb package by entering the below command in your Ubuntu Linux Terminal.
sudo sh ./ati-driver-installer-11-6-x86.x86_64.run --buildpkg Ubuntu/natty
3. Finally issue the below command which should install it in Natty (hopefully :P).
sudo dpkg -i fglrx*.deb
Now we have successfully installed the AMD/ATI Catalyst GPU driver in Ubuntu 11.04!. See, how easy it is learning to use Linux, fast! :D.

Update: although this may not be necessary for all the users but after the installation you may also want to run the below command to update the X.org file (the one that's behind the most basic GUI windows system known as X-Windows in GNU/Linux). As said, most wouldn't need it.
sudo aticonfig --initial -f