xf86CrtcScreenInit performs initialization that needs to happen at
ScreenInit time.
(cherry picked from commit 558a4f5588ad2ec11254e0b5d6ce9515b137369e)
The length of the Xprint font file NewCenturySchlbk-BoldItalic.pmf
pushes the full path over the traditional 100 character limit for
tarballs (when module version number is included). Shorten it to
NewCentSchlbk-BoldItal.pmf to get back below the limit and rename
other font files in that family to match.
Previous version used monitor identifiers if present, otherwise output
names. That caused existing working configurations to break when additional
information was added to the configuration file.
(cherry picked from commit 3f5cedf00a82f08a433c95ffbb7f8ac69dcf6a50)
Screen physical size is set to a random value before the RandR code gets
control, override that and reset it to a value based on the compat_output
physical size (if available). If that output has no physical size, just use
96dpi as the default resolution and set the physical size as appropriate.
(cherry picked from commit 843077f23a1b49bd712d931421753e3a09d4008c)
xf86SetDesiredModes applies the desired modes to each crtc (as selected by
xf86InitialConfiguration initially and modified by successful mode settings
afterwards). For crtcs without a desired mode, pScrn->currentMode is used to
select something workable.
(cherry picked from commit bcade98ccaa18298d844a606cb44271f0254c185)
This function applies a single mode to the screen (as from RandR 1.1,
XFree86-VidModeExtension or XFree86-DGA) using a policy that selects one
output to reconfigure to the requested mode and then makes all other outputs
fit within that size.
(cherry picked from commit 5a595c1f767a8d666348b845d18934aee0cfe38f)
Box transformation from source to dest area was broken, leaving the wrong
areas painted when the crtc origin was non-zero.
When rotating from left to right, the pixmap doesn't get reallocated, and so
no damage was left in the pixmap from xf86RotatePrepare. Separately damage
the whole crtc area when this occurs to repaint the area.
(cherry picked from commit 2a50ca2160bc05af1c24421ec079e902ff730277)
Change symlinks to Xprint base fonts in model/PSdefault using local
relative links. This facilitates moving the Xprint config files, for
instance for FHS compliance placing data files in /usr/share rather
than /usr/lib. Also ensures NewCenturySchlbk-BoldItalic.pmf is
installed.
canGrow indicates to the DDX that the driver can enlarge the desktop via the
xf86_config->funcs->resize hook. If so, xf86InitialConfiguration will set
virtual[XY] to match the configuration it chooses and will leave the crtc config
size ranges alone. If FALSE, it will bloat the screen to fit the largest probed
mode and also set the crtc config max size to limit the desktop to the initial
virtual[XY] size.
This hook is called when the DDX needs to resize the screen. The driver is
responsible for changing virtualX and virtualY, along with any other related
screen properties (devPrivate.ptr, devKind, displayWidth, etc.).
Use the size range from the crtc config instead of randrp->virtual[XY] when
reporting the min and max screen sizes to the DDX.