Specifying DPI for NVIDIA Cards

From MythTV Official Wiki
Jump to: navigation, search

The NVIDIA DPI Option

In addition to the standard approach for specifying DPI using DisplaySize, the NVIDIA drivers add another approach that could be used instead of DisplaySize. The NVIDIA display drivers allow you to specify the DPI option in the Monitor section as shown below: (Note: look for the existing Monitor section)

Section "Monitor"
    ...
    Option    "DPI"  "100 x 100"
    ...
EndSection

Note, however, that if you specify both DisplaySize and DPI, the DPI settings will take precedence. Also, if your display is using non-square pixels, choosing 100x100 DPI will cause Myth to display video using an incorrect aspect. If this is the case, use the DisplaySize setting and do not specify the DPI option (but see, also, Overriding EDID Settings). The DPI option is a non-standard option that must be supported by your video card drivers, so it is not likely to work with drivers other than NVIDIA drivers.

MythTV 0.21 and above do not require any specific value for DPI. Only the aspect ratio of the DisplaySize is important. And, since the DisplaySize is computed based on DPI, if DPI is specified, you should probably ensure you do not specify DPI (in the Monitor section) and that your X start scripts do not specify the -dpi command-line option, and instead specify DisplaySize (but see, also, Overriding EDID Settings).

Overriding EDID Settings

If you're using NVIDIA display drivers version 8756 or above and your monitor reports an EDID DPI value, you must tell the drivers to ignore this value as it takes precedence over all the above configuration options/arguments. Whereas before 8756, the NVIDIA drivers would use the -dpi command-line argument or the DPI or DisplaySize setting specified in the X configuration file to set or calculate the DPI--/even if/ your display reported a valid DPI in the EDID information--8756 changed handling of EDID so this is no longer the case. At the same time this change was made, NVIDIA deprecated the IgnoreEDID option (and its synonym "NoDDC")--so take them out of there--and instead use the appropriate options from the list below:

  • UseEDID (boolean): disables the use of all EDID information--equivalent to disabling all the following
  • UseEdidFreqs (boolean): determines whether the driver uses the HorizSync and VertRefresh ranges provided by the EDID
  • UseEdidDpi (boolean): determines whether the driver uses the DPI provided by the EDID
  • ModeValidation (string): if set to "NoEdidModes", will ignore the modeline information specified by the EDID (see the documentation for other settings)
  • DPI (string): specifies the DPI to use for the X and Y axes.

So, for the simplest case with NVIDIA display drivers version 8756 or above, you can specify the following two options in the "Monitor" section of your X configuration file.

  Option    "UseEdidDpi"  "FALSE"
  Option    "DPI"  "100 x 100"

Note that specifying a DisplaySize will have no effect (either positive or negative) when these options are used. Also, you may specify the option "UseEdidDpi" (when using the NVIDIA display drivers) even if your monitor does not report an EDID DPI.

Fedora notes

It seems that recent versions of Fedora also try to lock the font DPI in the configuration. Comment out this line in your /etc/X11/Xresources file

! Fix the Xft dpi to 96; this prevents tiny fonts
! or HUGE fonts depending on the screen size.
! Xft.dpi: 96

Then set the DPI in the xorg.conf as normal. Reference