Wednesday, 25 January 2012

What is A Graphic Card – VGA – SVGA  – HD

Reference And Courtesy :-
what is a graphic card
What is a Graphic Card :- A graphics card, also known as a video card, is a piece of hardware installed in acomputer that is responsible for rendering the image on the computers  monitor or display screen. Graphics cards come in many varieties with varying features. The Graphics card is responsible for delivering the image you see on your PC monitor. Its GPU (Graphics Processing Unit) processes the data and changes it into a signal to the monitor. There are many factors to a graphics card. Choosing one can be a tricky business these days as there is so much technology that is different in each new graphics card release.
Graphics Acceleration :- When PC’s first came and for some time after, the graphics cards purpose was only to display the image on the screen. The amount of memory you got on a graphics card was very small and was not needed to a great extent. Today’s graphics cards do more than just display an image, they help the processor with the job of processing when it comes to the graphics. The graphics card would in effect accelerate the process of displayingthe image on screen.
This was needed when the 3D gaming world took the centre stage. The speed required to process the images on screen at 60 frames per second and process the code for the game itself was simply too much for a CPU to handle on its own and so the games would simply crawl along at a very slow pace. The graphics card would use some of its own built in instruction logic to added things such as textures and lighting effects, fog effect and bump mapping to give a far more detailed picture. Also the speeds of graphics cards have improved a great deal in order to let these effects be used without the problem of the frame rate dropping.
what is a graphic card
Anti-Aliasing :- One of the biggest improvements to graphics technology was nothing to do with an increase of speed or efficiency but with graphical improvements. Anti-aliasing was technology to allow jagged edges of computer sprites to be smoothed on screen by blending colours. Monitors have pixels which are rectangular by nature and are incapable of drawing a diagonal line without looking crooked. Anti-aliasing technology doesn’t prevent this from happening but uses tricks of the eye in order to make images look smoother and more pleasing to the eye.
Anisotropic filtering :- Anisotropic filtering is a method of increasing graphics card performance by allowing the graphics card to render textures in the background or further away at a lower quality level. There are many levels of Anisotropic filtering (AF) usually 1x, 2x, 4x, 8x, and maxed at 16x. The higher the multiplier the better the textures will look in the background but will increase the performance hit on the graphics card.
Refresh Rate :- The refresh rate of a graphics card is no different to that of a monitor, it is the amount of times per second the image is “refreshed” and is measured in Hz (60Hz = 60 refreshes per second) With a graphics card however the refresh rate is the amount of times a full image is calculated ready for display. If for example your set your graphics card to 100hz the it would attempt to calculate a new image 100 times per second. Fine on the surface as you you would think the faster the better, but remember you also have a monitor that needs to display this image. If yourmonitor is only capable of displaying 75hz then you will have frames rendered before the monitor was ready to display them, this causes screen tears or unwanted “artefacts” on the screen. To avoid this, you should enable the V-Sync feature – short for Vertical Synchronisation, this feature limits the graphics card to the refresh rate of the monitor even if it can render the image faster.
AGP or PCI Express :- Two types of Graphics card available today are the AGP and PCI-e versions. The AGP (Accelerated Graphics Port) is the older of the two technologies but still quite popular as many people still have these slots incorporated into there motherboards. The PCI-Express (Peripheral Component Interconnect) version has been around for a few years now and new graphics cards and motherboards alike are using this technology. PCI express offers a greater scope for data transfer to and from the graphics card and main memory. If buying a graphics card today then the PCI-Express is the way to go as AGP cards are dying out.
How do you measure the speed of a graphics card?
Measuring the speed of the graphics card is a lot more difficult than with the CPU or RAM or even the hard disk. There are many factors which affect how quickly the graphics card can do its job. Many of these only come into play when the graphics card is undertaking certain tasks.
Core clock speed :- Much the same as the way you measure the speed of a CPU. The core speed of the Graphicscard is measured in MHz and represents the amount of clock cycles the graphics process can do per second. This is a good but not definitive way of telling how fast the graphics card is.
Memory clock speed :- Exactly the same of as the core clock speed, except of course that it is for the memory of the graphics card and not the core. This is just as important as the core speed as the memory contains textures that need to be applied to the pixels.
Pixel Pipelines:- The amount of pixel pipelines a graphics card has can have a great impact on the speed of the image rendering. This is all about pixel pushing power. A card with 8 pipelines can process twice as many pixels as a card of the same core speed and 4 pipelines.
Textures per pipeline :- This only come into effect when multiple textures are needed on the one pixel. Simply put if a multiple texture is needed, then a graphics card with more textures per pipeline will be quicker. On single textured pixels the amount of textures per pipeline will have no effect.

How Graphics Cards Work:-

A graphics card’s job is complex, but its principles and components are easy to understand. In this article, we will look at the basic parts of a video card and what they do. We’ll also examine the factors that work together to make a fast, efficient graphics card. Think of a computer as a company with its own art department. When people in the company want a piece of artwork, they send a request to the art department. The art department decides how to create the image and then puts it on paper. The end result is that someone’s idea becomes an actual, viewable picture. A graphics card works along the same principles. The CPU, working in conjunction with software applications, sends information about the image to the graphics card. The graphics card decides how to use the pixels on the screen to create the image. It then sends that information to the monitor through a cable. ­
Creating an image out of binary data is a demanding process. To make a 3-D image, the graphics card first creates a wire frame out of straight lines. Then, it rasterizes the image (fills in the remaining pixels). It also adds lighting, texture and colors. For fast-paced games, the computer has to go through this process about sixty times per second. Without a graphics card to perform the necessary calculations, the workload would be too much for the computer to handle.
The graphics card accomplishes this task using four main components:
  • A motherboard connection for data and power
  • A processor to decide what to do with each pixel on the screen
  • Memory to hold information about each pixel and to temporarily store completed pictures
  • A monitor connection so you can see the final result

Sunday, 22 January 2012

Compile A Custom Linux Kernel – An Essential Guide

Reference And Courtesy :-   upcomingtechnology

You might question – why compile a custom linux kernel when the distro vendor already provides you with one? The answer is simple, the kernel which ships with your distro is a generic kernel, it means it’s designed to run on any machine on which it’s installed, it supports almost all types of processors, graphic cards, storage devices, wired/wireless networking, etc. As the generic kernel has support for plethora of PC hardware, you might argue that it is better to use a generic kernel instead of custom built kernel, but that’s not the case. A generic kernel has all the features you want, more specifically, your hardware wants, but it also has many features that you may never need. A simple example would be of the processor support, suppose you have an Intel processor the generic kernel will support it but it also has support for AMD processors which is redundant as you will never run the same kernel on an Intel processor and an AMD processor simultaneously. Thus a custom compiled kernel is more suited to your PC requirements and thus is smaller in size. Smaller size means your kernel occupies less space than the generic one but supports all the hardware you have installed in your machine.
To sum it up you might want to compile your custom Linux kernel to/for:
  1. Build a kernel customized for your hardware setup
  2. Improved performance
  3. Learn how kernel works
  4. Fun :D
Requirements :- 
Kernel sources: These are the source files of the kernel. You will need to compile these source files later. The latest kernel sources can be downloaded from HYPERLINK “”
Build Tools: These are the tools which you will require for compiling the source files. The method to install these tools depend on your distribution.
The packages required on Ubuntu/Linux Mint can be installed be executing the following command in the terminal,
sudo apt-get install -y build-essential kernel-package libncurses5-dev bzip2
On Fedora, execute the following,
sudo yum -y install gcc ncurses-devel
The command begins with a “sudo” because root access is required for installing packages, if you do not have access to the root account then you cannot install these.
Once you have installed the build tools and downloaded the kernel sources you are ready to compile your custom kernel.
The kernel source you have downloaded is in an archive, first you will need to extract the sources. Execute the following command without the ‘quotes’:
tar -xjvf  ‘kernel archive file name’ ’folder in which you want to extract the sources
Example, the command with the appropriate paths may look like:
tar -xjvf linux-2.6.25.tar.bz2 /home/casper/kernel/
After the kernel sources are extracted navigate into that directory and create a soft link named “linux”. Some Kernel sources require a path from the linux directory in order to compile, so the soft link needed. Run the following command to make a soft link,
ln -s ‘kernel source folder name’ linux
ls -s zen-stable linux
Now navigate to the linux directory and execute the following commands:
make clean && make mrproper
These commands clean the directory structure deleting any files from the previous builds.
Now we are ready to configure our kernel, but we have to choose whether we want to configure the kernel from scratch or use current kernel configuration as a base and develop on it. As we are beginners in the realm of kernel compilation we will stick with the easy method i.e. use the current configuration as a base. The current configuration can be found in “/boot/”.
Run the following command to copy the current configuration into your source folder,
cp /boot/’your config file name’ ‘your kernel source path/linux/.config
cp config-3.1.5-casper.kernel-v.1.1+ /home/nishikant/kernel/linux/.config
Now we need to compare the old configuration to the new one, so run the following command,
make oldconfig
In the screenshot the command doesn’t give any output because I am current running a custom kernel, but on your PC you might be prompted to select new features that are available.
Now run the following command,
make menuconfig
After executing “make menuconfig” a GUI interface will appear, here you can select the features you want. Say, processor type, cpu schedulers, IO schedulers, filesystem drivers, networking drivers, etc. Once you are done with the customization, select exit and then save the configuration.
Now you have finished customizing the kernel and it’s time to compile. The command to compile the kernel is,
make -j’number of cpu cores+1′
make -j3 (without spaces in between. Enter 3, if your processor is Intel core2duo)
If your processor supports hyper-threading then the number is twice the number of cpu cores,
make -j9 on Intel corei7 2600/2600k
The compilation process make take 15 minutes to an hour depending on your PC.
Once the compilation is over (without any errors), you are now ready to install your kernel, to install the kernel execute the following command,
sudo make modules_install install
After the kernel is installed you have to update your bootloader so that you can boot using your kernel.
On Ubuntu/Linux Mint the command is,
sudo update-grub
While on Fedora, run,
su -c ‘grub2-mkconfig -o /boot/grub2/grub.cfg’
If you are using a different bootloader instead of grub then the above commands won’t work.
That’s it, you’re done compiling your custom kernel, after you restart your PC you’ll be able to boot into your kernel from the bootloader’s menu.
If your PC won’t boot into your kernel or some drivers don’t work then you can always boot into the generic kernel(that’s why having more than one kernel on your PC is always useful).
If you want to delete the kernel from your PC just delete the following file/directories(root access required):
/boot/’config-kernel name’
/boot/initrd.img-’kernel name’
/boot/vmlinuz-’kernel name’
‘kernel name’ folder in /lib/modules
Finally update your bootloader,
On Ubuntu/Linux Mint the command is,
sudo update-grub
On Fedora run,
su -c ‘grub2-mkconfig -o /boot/grub2/grub.cfg’
So, this is it.