Tools/XFdrake
From Mandriva
Contents |
Monitor auto-detection
XFdrake tries hard to have the good default resolution. For this it uses various hardware detection:
EDID probe
monitor-edid is used.
If it returns a preferred modeline, it is the default resolution chosen by XFdrake.
If it returns a screen size, it will compute a default resolution using this screen size
DMI probe
Since EDID probe is not always succesful, we added the ability to force the wanted resolution (especially on laptops) using DMI information.
Example of dmitable entry:
System/Manufacturer: Dell Computer .* System/Product Name: Inspiron 8600 => Resolution: 1280x800
With such an entry, using libldetect, Inspiron 8600 gets correct resolution:
% lspcidrake ... Resolution:1280x800: Dell Computer .*|Inspiron 8600
X probe
If all this fails, we can try running xorg in a test mode and try to extract the resolution from its log
% monitor-probe-using-X 1280x800
No auto-detection
In that case, it will default to 1024x768
Card detection
Cards are detected thanks to the ldetect-lst engine (also used by lspcidrake) which lists PCI devices and uses the pcitable in order to match the proper driver. The pcitable list is managed by the Install/Tool Team and is manually updated from the kernel & xorg managed pci ids list.
See also Docs/Hardware#Graphic card.
References
- monitor auto-detection explained above is coded in libDrakX (drakxtools):
- first Xconfig::monitor::probe() is called to fill in $monitor
- later Xconfig::resolution_and_depth::choices() computes the wanted resolution (and also the proposed resolutions)
- Xconfig::resolution_and_depth::size2default_resolution()