Quirks

Differences between revisions 1 and 2
Revision 1 as of 2008-09-02 21:57:08
Size: 3324
Editor: c-67-168-235-241
Comment:
Revision 2 as of 2008-09-02 22:00:40
Size: 3373
Editor: c-67-168-235-241
Comment:
Deletions are marked like this. Additions are marked like this.
Line 8: Line 8:
quirk_prefer_large_60: Detailed timing is not preferred, use largest mode at 60Hz
quirk_135_clock_too_high: Recommended 135MHz pixel clock is too high
quirk_prefer_large_75: Detailed timing is not preferred, use largest mode at 75Hz
quirk_detailed_h_in_cm: Detailed timings give horizontal size in cm.
quirk_detailed_v_in_cm: Detailed timings give vertical size in cm.
quirk_prefer_large_60:          Detailed timing is not preferred, use largest mode at 60Hz
quirk_135_clock_too_high:       Recommended 135MHz pixel clock is too high
quirk_prefer_large_75:          Detailed timing is not preferred, use largest mode at 75Hz
quirk_detailed_h_in_cm:         Detailed timings give horizontal size in cm.
quirk_detailed_v_in_cm:         Detailed timings give vertical size in cm.
Line 14: Line 14:
quirk_first_detailed_preferred: First detailed timing was not marked as preferred.
quirk_detailed_sync_pp: Use +hsync +vsync for detailed timing.
quirk_first_detailed_preferred:  First detailed timing was not marked as preferred.
quirk_detailed_sync_pp:         Use +hsync +vsync for detailed timing.
Line 48: Line 48:
   * Specifying 'Option "AGPMode" "#"' in xorg.conf    * Specifying {{{Option "AGPMode" "#"}}} in xorg.conf
Line 56: Line 56:
Line 58: Line 57:
Line 60: Line 58:
Line 62: Line 59:
   * See output of `lspci -nn | grep 00:00.0`    * See output of {{{lspci -nn | grep 00:00.0}}}
Line 64: Line 61:
Line 66: Line 62:
   * See output of `lspci -nnvv | grep "VGA controller" -A1`    * See output of {{{lspci -nnvv | grep "VGA controller" -A1}}}
Line 68: Line 64:
Line 70: Line 65:

Sometimes there are bugs in the hardware itself. Quirks are software ways to work around these bugs.

Monitor Quirks

When X starts up, it gathers the 'EDID' data from your monitor to get your monitor's id, and then looks up if there are quirks for that id to apply. Monitor quirks are kept in the X server, in the file hw/xfree86/modes/xf86EdidModes.c. Here is a listing of the current quirks:

quirk_prefer_large_60:           Detailed timing is not preferred, use largest mode at 60Hz
quirk_135_clock_too_high:        Recommended 135MHz pixel clock is too high
quirk_prefer_large_75:           Detailed timing is not preferred, use largest mode at 75Hz
quirk_detailed_h_in_cm:          Detailed timings give horizontal size in cm.
quirk_detailed_v_in_cm:          Detailed timings give vertical size in cm.
quirk_detailed_use_maximum_size: Detailed timings give sizes in cm.
quirk_first_detailed_preferred:  First detailed timing was not marked as preferred.
quirk_detailed_sync_pp:          Use +hsync +vsync for detailed timing.

These all deal with issues where the monitor manufacturer didn't encode EDID properly (like putting values in centimeters rather than millimeters, etc.)

If you look in the source of that file, it references bug ID's that explain the problem in better detail.

Intel Driver Quirks

The open source -intel driver has a set of quirks contained in the file src/i830_quirks.c:

quirk_mac_mini
quirk_ignore_tv
quirk_lenovo_tv_dmi
quirk_ivch_dvob
quirk_pipea_force

ATI Radeon Driver Quirks

ATI AGP Mode Quirk

Some ATI cards are incompatible with other stuff in your system, and only work with specific AGPMode values. One not uncommon situation is an incompatibility between the graphics card and motherboard's "host bridge", which is what this quirk deals with.

Typical Symptoms:

  • X hangs (pointer still moves) or shows corruption:
    • shortly after startup,
    • after starting a 3D program, or
    • after a suspend/resume cycle.
  • The issues go away when:
    • Specifying Option "AGPMode" "#" in xorg.conf

    • Using vesa or fglrx driver
    • Using some older version of the -ati driver that used a different default AGPMode setting

Information Needed for Quirking:

  • Bug report URL or number
  • AGPMode value needed
  • Make/Model of laptop or motherboard
  • Host Bridge
    • See output of lspci -nn | grep 00:00.0

    • Also found in Xorg.0.log
  • Graphics Card
    • See output of lspci -nnvv | grep "VGA controller" -A1

    • Also found in Xorg.0.log
  • Is the system all factory hardware, or have any parts been replaced?
  • Is there an AGP Mode in the system BIOS?
    • If so, is it set to the factory default?

Examples:

* deb #462590
  AGPMode needed: 4
  Model:          (Unknown) DELL notebook
  Host Bridge:    [8086,2570] 82865G/PE/P DRAM Controller/Host-Hub Interface
  Graphics Card:  [1002,4a4e]:[1028,5106] ATI Technologies Inc M18 JN [Radeon Mobility 9800]
  HW changes:     (Unknown)
  BIOS:           (Unknown)

* fdo #17360
  AGPMode needed: 2
  Model:          (Unknown)
  Host Bridge:    [8086,3575] 82830 830 Chipset Host Bridge
  Graphics Card:  [1002,4c59]:[1028,00e3] Radeon Mobility M6 LY
  HW changes:     (Unknown)
  BIOS:           (Unknown)

X/Quirks (last edited 2012-04-14 00:43:56 by static-50-53-79-63)