Bug 46541 - vesa driver does not honor "NoDDC" option (patch attached)
Summary: vesa driver does not honor "NoDDC" option (patch attached)
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/Vesa (show other bugs)
Version: unspecified
Hardware: x86 (IA32) FreeBSD
: medium normal
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
Depends on:
Reported: 2012-02-23 14:31 UTC by Ian Lepore
Modified: 2018-05-15 16:02 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:

Patch to vesa.c to call xf86CollectOptions() before loading ddc module (666 bytes, application/octet-stream)
2012-02-23 14:31 UTC, Ian Lepore
no flags Details

Description Ian Lepore 2012-02-23 14:31:15 UTC
Created attachment 57557 [details]
Patch to vesa.c to call xf86CollectOptions() before loading ddc module

The vesa driver loads the ddc module and invokes its functions before calling xf86CollectOptions(), so the ddc module never sees the NoDDC option.  I have buggy bios on a single-board computer with a builtin LCD panel that claims to support DDC but then locks up trying to access it.  Without the attached patch I cannot run X on this board.

The patch simply moves the xf86CollectionOptions() call up to a point before the ddc module is loaded and invoked.  My inclination would be to call it even earlier, but for reasons I don't understand (and I'm out of time to track down why), the xf86CollectOptions() function segfaults if called before xf86SetDefaultVisual().
Comment 1 Adam Jackson 2018-05-15 16:02:14 UTC
commit f7876ce62c751c9b28d5750e1d01def877e666fb
Author: Ian Lepore <freebsd-xorg@damnhippie.dyndns.org>
Date:   Wed Jan 31 10:48:09 2018 -0500

    Honor Option "NoDDC" correctly
    Move xf86CollectOptions before the DDC code so it can actually hear us
    when we ask to disable DDC.
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=46541
    Signed-off-by: Adam Jackson <ajax@redhat.com>

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.