On Tue, Oct 08, 2024 at 08:12:09AM +0200, Matthieu Herrb wrote:
> 
> I don't know if you're hitting a bug or flaky hardware to trigger this
> event flow (if it happens on more than one machine flaky hardware is
> unlikely)
> 

Looking a bit deeper in  the code, this may be triggered by some
application calling XRRGetCrtcInfo() in a loop. It appears that the X
server will log the known mode lines everytime someone is calling this
X request.

This can be just running 'xrandr' without arguments in a script, or
some application that prefers polling the monitor status for some
reason.

Unfortunatly the stack of functions calls that trigger that logging
makes it hard to only disable the printing in this case. I'll look at
this when I've a bit more time. in the mean time the patch below
should disable the offending logs.

Index: hw/xfree86/modes/xf86EdidModes.c
===================================================================
RCS file: /local/cvs/xenocara/xserver/hw/xfree86/modes/xf86EdidModes.c,v
diff -u -p -u -r1.20 xf86EdidModes.c
--- hw/xfree86/modes/xf86EdidModes.c    11 Nov 2021 09:03:08 -0000      1.20
+++ hw/xfree86/modes/xf86EdidModes.c    8 Oct 2024 06:42:52 -0000
@@ -1201,12 +1201,13 @@ xf86EdidMonitorSet(int scrnIndex, MonPtr
         /* Print Modes */
         xf86DrvMsg(scrnIndex, X_INFO, "Printing DDC gathered Modelines:\n");
 
+#ifdef SPAM_XORG_LOG
         Mode = Modes;
         while (Mode) {
             xf86PrintModeline(scrnIndex, Mode);
             Mode = Mode->next;
         }
-
+#endif
         /* Do we still need ranges to be filled in? */
         if (!Monitor->nHsync || !Monitor->nVrefresh)
             DDCGuessRangesFromModes(scrnIndex, Monitor, Modes);

-- 
Matthieu Herrb

Reply via email to