<div dir="ltr">I don't doubt that something changed in the NVIDIA driver that broke it. Digging into it some, I've found that MythTV handles its list of screen sizes/refresh rates the following way:<br><ol><li>Query XRandr for the screen sizes</li><li>Query XRandr for each of the available refresh rates for each screen size</li><ul><li>These are the integer values that would either be rounded numbers (if you're not using the NVIDIA driver) or the "fake" ones like 50, 51 for 59.94 and 60.00.</li></ul><li>Query the NV-CTRL extension (if available) for its available video modes<br></li><li>Tokenize and parse out the mode data to modelines, while determining if they match the proper connected device<br></li><li>Calculate the precise refresh rates using these modelines<br></li><li>Take these "real" refresh rates and marry them to the "fake" refresh rates</li><ul><li>I am still very unclear how this matching succeeds. Or if it was always getting it right.</li></ul><li>When trying to switch refresh rates/resolutions, look for the "real" refresh rate, then feed the corresponding "fake" refresh rate to XRandr since that's the only value it understands.</li></ol><p>Step 4 is clearly the one that is failing, I believe on one of the many checks needed to match the raw mode value: forcing some of the checks gets at least some difference in the reported refresh rates, although not the right ones.  No doubt NVIDIA changed something in what is getting reported back by the NV-CTRL extension.  Unfortunately I do not currently have an older driver version to compare against and this parsing logic is pretty involved.<br></p><p>IMO this is a brittle system that is likely to break again and again as it seems to rely on undocumented NVIDIA driver behavior.  I think I've made a <b>little</b> bit of progress on a different approach that relies on XRandr alone to query/set modelines, but I admit I am no expert at this.<br></p><p><br></p><p>Thanks,<br>Alex<br></p></div>