[mythtv-users] judder problems with nvidia 358.16

Alex Halovanic halovanic at gmail.com
Sun Aug 6 04:24:01 UTC 2017


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:

   1. Query XRandr for the screen sizes
   2. Query XRandr for each of the available refresh rates for each screen
   size
      - 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.
   3. Query the NV-CTRL extension (if available) for its available video
   modes
   4. Tokenize and parse out the mode data to modelines, while determining
   if they match the proper connected device
   5. Calculate the precise refresh rates using these modelines
   6. Take these "real" refresh rates and marry them to the "fake" refresh
   rates
      - I am still very unclear how this matching succeeds. Or if it was
      always getting it right.
   7. 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.

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.

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
*little* 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.


Thanks,
Alex
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mythtv.org/pipermail/mythtv-users/attachments/20170806/c5065aec/attachment.html>


More information about the mythtv-users mailing list