Quirks

Differences between revisions 10 and 11
Revision 10 as of 2009-01-11 10:17:54
Size: 7399
Editor: 84-72-178-80
Comment: fix grep in agpmode quirk
Revision 11 as of 2009-01-11 10:27:53
Size: 7413
Editor: 84-72-178-80
Comment:
Deletions are marked like this. Additions are marked like this.
Line 144: Line 144:
 * Graphics Card  * Graphics Card and Subsystem

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 hw/xfree86/modes/xf86EdidModes.c in xorg-server, it references bug ID's that explain the problems 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_pipea_force
quirk_ignore_tv
quirk_ignore_lvds
quirk_mac_mini
quirk_lenovo_tv_dmi
quirk_ivch_dvob

Force Pipe A Quirk

This problem typically exhibits itself on Intel graphics hardware (most particularly i855) by locking up the machine when closing the lid. The fix for this issue is to quirk your card to force enabling Pipe A. If you suspect you're having this bug, try setting this option in your xorg.conf:

  • Section "Device"
    • ..
      Option "ForceEnablePipeA" "true"

    EndSection

If that eliminates the issue, then please file a new bug report with the following information:

  • Title the bug report "Need a Pipe-A quirk for <your video card PCI ID>"

  • Paste in the output of lspci -vvnn | grep -A1 "VGA compat"

  • Give the laptop model name and number
  • Confirm that adding "ForceEnablePipeA" solved the problem

Ref: See bug number 138256

Ignore TV Output Quirk

This problem typically exhibits itself as the GNOME panel seems sized to fit a different resolution than the one your monitor is actually displaying, as shown in this screenshot. This can be caused by the TV output being turned on when it shouldn't; the fix is to quirk your card to ignore the TV output by default. If you suspect you're having this bug, first try setting this option in your xorg.conf:

In section "Section "Device"" add the line:

  • Option "monitor-TV" "TV"

Then the following new section:

  • Section "Monitor"
    • Identifier "TV"
      Option "Ignore" "True"

    EndSection

If that solves the problem, then please file a new bug report with the following information:

  • Title the bug report "Need TVout quirk for <your video card PCI ID>"

  • Paste in the output of the original xrandr (before modifying xorg.conf)

  • Paste in the output of lspci -vvnn | grep -A1 "VGA compat"

  • Give the laptop model name and number
  • Confirm that setting Ignore on the TV output fixed it

Ignore LVDS Output Quirk

This problem typically shows up as the screen going blank when X starts up, typically after usplash has shown the Ubuntu logo but before the gdm login screen appears. In addition, switching to vt consoles just results in blank screens. The system usually is not hung - it still responds to ctrl-alt-del and you may even hear the "login sound". Switching to "vesa" usually makes the blanking problem go away.

The issue is that on your hardware the LVDS is getting enabled when it shouldn't. For instance, the intel driver assumes Mobile graphics chips always have an LVDS attached, so if you're using a mobile graphics chip in a non-laptop device, it'll break. You can spot this by looking in your /var/log/Xorg.0.log and seeing if it's connecting the LVDS output to an output pipe.

If you suspect you have this problem, try explicitly disabling LVDS in your /etc/X11/xorg.conf:

In section "Section "Device"" add the line:

  • Option "monitor-LVDS" "LVDS"

Then the following new section:

  • Section "Monitor"
    • Identifier "LVDS"
      Option "Ignore" "True"

    EndSection

If that solves the problem, then please file a new bug report with the following information:

  • Title the bug report "Need LVDSout quirk for <your video card PCI ID>"

  • Explain the symptoms of the problem you encountered
  • Paste in the output of lspci -vvnn | grep -A1 "VGA compat"

  • Give the laptop model name and number
  • Confirm that setting Ignore on the LVDS output fixed it

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

Verification:

Try setting different values (1, 2, 4, 8) for AGPMode in your xorg.conf:

Section "Device"
    ...
    Option "AGPMode" "2"
EndSection

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

    • Sometimes also found in Xorg.0.log
  • Graphics Card and Subsystem
    • See output of lspci -nnvv | grep -A1 "VGA compatible controller"

    • Sometimes 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?

Please add this information to your bug report and add "[Needs AGPMode quirk]" to the title.

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)