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