Video Cards :: Video Memory Intercept and Redirect
I need a broad spectrum understanding on this subject, and any help would be greatly appreciated.
First of all, as I understand it...
The way the video hardware works is the CPU sends information about input and possible changes to the display, the video card receives these changes, makes the necessary changes to its memory cache, and then sends out the new information to the display.
Input -> CPU -> VideoCard -> Display
...now this is a very simple understanding, if you can blow my mind by proving my ignorance with more specific and technical semantics it would be greatly appreciated. I feel my personal research has plateaued beneath the necessary esoteric terminology.
Next I want to know how I can get at those arrows inbetween. Are there ways, software'hardware, to pipe the raw data, binary, traveling between these points into another destination for manipulation andor examination purposes?
Thirdly, if there is a built in video card in my motherboard and also a supported third party videocard, how can I tell my computer to use the third party card? Is this a kernel config thing? Modules? A HALd thing? I know the actual setting up of this is a simple process. I am not looking for a tutorial how to do this, I want to know how the computer learns to do it as a result of my telling it to do so.
Finally, I have been running around a number of repositories like an asshole with his head chopped off looking for clues to these answers. I've looked into HAL, VNC, X, udev, pciutils, but honestly I don't know where to begin, or what I'm looking for within their respective functions. They all just seemed to harness, in one way or another, this thing I am looking for...
If this question is too big or obtuse, and someone wants to just say: read this; also very much appreciated.