Commit 47a910e6 authored by 24.128.162.11's avatar 24.128.162.11
Browse files

No commit message

No commit message
parent 03e91f84
......@@ -12,11 +12,16 @@ First lets review:
The graphics system in a laptop has a gpu with some memory, in the case of an IGP, this memory may be a piece of system memory, but otherwise it is usually dedicated memory living on the GPU. This GPU connects to a laptop display, or output port.
The first problem is that we do not currently have a way to a priori know what outputs (displays) are connected to what GPU's.
Secondly the optimus software might perform the task of switching between the which of the two graphics processors drive your display by directly flipping a hardware switch, called a mux ([[http://en.wikipedia.org/wiki/Multiplexer|multiplexer]]).
Secondly the supposed optimus software, should perform the task of switching between the which of the two graphics processors drive your display. Ideally this would be done by directly flipping a hardware switch, called a mux ([[http://en.wikipedia.org/wiki/Multiplexer|multiplexer]]). However such a mux does not always exist!
If it does not exist, then there is no mux and thus no physical way to perform this switching. Thus Optimus is used to effectively "implement" a software mux, that is ensure that relevant data is processed on the right GPU and copied to the device that displays the image.
If it does not exist, there there is no physical way to perform this switching of image processing. Thus Optimus is used to effectively "implement" a software mux. Specifically it ensures that relevant data is processed on the right GPU and copied to the device that displays the image.
Basically, you can have ''any'' combination of possibilities. There is no standard on how to wire things. There should be ways to detect the wirings and whether there is a mux and where, but the documentation is not available to the developers (maybe you can help us figure out how to do this, have any ideas?)
Again, if the hardware mux exists it would be used to select which GPU drives the internal panel, or the external monitor. and possibly both.
It is also possible, that a GPU is hardwired to the internal panel, so the other GPU cannot possibly drive the internal panel. The same goes for external monitor output.
One bad scenario is:the Intel GPU hardwired to the internal panel and the Nvidia GPU hardwired to the external output, with no way to change it.
The best case scenario is a mux, which can select which GPU drivers control which outputs.
Basically, you can have ''any'' combination of these possibilities. There is no standard on how to wire things. There should be ways to detect the wirings and whether there is a mux and where, but the documentation is not available to the developers (maybe you can help us figure out how to do this, have any ideas?)
Detecting the wiring is not the only hard part. Currently we are missing the entire infrastructure for doing the image copying between graphics cards as described earlier. Everything from the kernel DRM drivers, X drivers and the X server itself need to be modified to support Optimus. Not even the proprietary drivers support it on Linux, save a few exceptions.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment