Bug 61537 - Screen flicker when using display with incorrect EDID
Summary: Screen flicker when using display with incorrect EDID
Status: NEW
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/nouveau (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Nouveau Project
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-02-27 02:05 UTC by Tomasz Sałaciński
Modified: 2016-06-03 03:07 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Nouveau log (dmesg) (28.56 KB, text/plain)
2013-02-27 02:05 UTC, Tomasz Sałaciński
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tomasz Sałaciński 2013-02-27 02:05:00 UTC
Created attachment 75614 [details]
Nouveau log (dmesg)

While trying to use Nouveau driver with display that sends incorrect EDID (only FF, Samsung 226BW), screen flickers every ~10 seconds. Attached nouveau driver log.

Everything works fine and very smooth, I can pass custom modelines to X server to have 1680x1050 resolution, the only thing left that works very bad is this flicker. If this matters, my GPU is GeForce 8600 GT.

Windows 7 uses 1024x768 resolution (same as Nouveau) while installing, but without flicker.

Everytime log is filled up with new message, flicker happens.
Comment 1 Jan Hebler 2013-04-01 17:07:01 UTC
Same Problem here. You can use the following work-around
1. mkdir [KERNEL-FIRMWARE-DIRECTORY]/edid
2. cp [MONITOR-EDID-FILE].bin [KERNEL-FIRMWARE-DIRECTORY]/edid
3. add the following to your Kernel Commandline:

drm_kms_helper.edid_firmware=edid/[MONITOR-EDID-FILE].bin

This will provide kms and Friends with correct EDID-Informations. However
to stop the annoying flicker, you have to 
4. add another Statement to your Kernel Commandline:

drm_kms_helper.poll=0
Comment 2 Martin Peres 2014-08-24 17:07:23 UTC
I investigated this issue a little. The flickering happens when someone runs xrandr. This is a hardware issue as the problem happens even with when using the proprietary driver. This issue got fixed starting with the geforce 8.

The desktop environment shouldn't poll on xrandr like that, so there is a bug on their side. On our side, the workaround suggested by Jan will be our "solution" until someone really wants to dig into this issue and see if there is a way to build a cache or something to avoid load detection.

In any case, I'm tempted to close this bug as "WONTFIX" but I'll wait for other devs to agree before doing so.
Comment 3 Emil Velikov 2014-08-24 17:50:07 UTC
A bit of a (hopefully useful) information

 - Whenever drm_kms_helper.poll is disabled, your vga monitor won't get automatically detected when it's not plugged in at boot.

 - Iirc there are two modes when querying for info via the xrandr protocol - use cached one or re-probe. 

 - Original nv50 (and earlier?) hardware the blob does a plain sleep/udelay between setup and probe, while for nv92 and latter it uses a more elaborate approach (see bug 67382, comment 34). Currently nouveau uses the former method which contributes (not sure to what extend) to the flicker.


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.