Detecting supported resolutions of a motitor?
Posted: Thu Sep 08, 2005 10:45 am
Is it possible to find if monitor supports a desired resolution. Is there a way to detect that??
The Place to Start for Operating System Developers
http://f.osdev.org/
DO NOT rely on the video card to examine the monitor's information and disable any video modes the monitor won't support. My OS uses VBE to build a list of video modes and allows the user to select one. It does check the "Mode supported by hardware configuration" flag but the resulting list still contains modes that my monitor won't support. The monitor does support DDC/EDID and supports video modes up to 1280 * 1024, but according to this flag higher resolutions (e.g. 1600 * 1280) are usable (they definately aren't).Bit D0 is set to indicate that this mode can be initialized in the present hardware configuration. This bit is reset to indicate the unavailability of a graphics mode if it requires a certain monitor type, more memory than is installed, etc.
This may be intended for refresh rate adjustments, but to me it seems like a good idea anyway.The VBE/DDC interface can be used to obtain the operational limits of the attached monitor, such as the minimum and maximum horizontal and vertical frequencies as well as supported resolutions. If the monitor and video card both support DDC, this information should be obtained and used to restrict the refresh rate computation routines to ensure that the resulting CRTC values do not produce a mode that lies outside of the operational limits of the attached monitor.
Ill check this.Brendan wrote:
In the VBE 3.0 standard, in the "Refresh Rate Control" section it says:This may be intended for refresh rate adjustments, but to me it seems like a good idea anyway.The VBE/DDC interface can be used to obtain the operational limits of the attached monitor, such as the minimum and maximum horizontal and vertical frequencies as well as supported resolutions. If the monitor and video card both support DDC, this information should be obtained and used to restrict the refresh rate computation routines to ensure that the resulting CRTC values do not produce a mode that lies outside of the operational limits of the attached monitor.