[Nouveau] TV-Out on a GeForce 2MX supported?
Dirk Thierbach
dthierbach at gmx.de
Thu Mar 6 01:19:14 PST 2014
On Thu, Mar 06, 2014 at 12:00:28AM +0100, Francisco Jerez wrote:
> The current model doesn't require the encoder driver to have a
> predefined list of modes -- it's just highly recommended if you don't
> want to force the user to input mode lines manually.
If there was a way to have the user input the equivalent of mode
lines for the BT chip, full support would be easy (and I would have
probably done it at some stage in the past). But the X infrastructure
just concerns itself with CRTC modelines (and later on added
xrandr properties), which are not enough.
> You just need some means to compute the optimal timings
> algorithmically given the connector properties and a rough
> description of the mode.
Which is the difficult part for the BT chip. While some of the timing
constraints are known, others are not. Also, there's no "optimal" solution,
what the calculation routine in nvtv does is to compute several
"close" solutions and let the user pick one. And sometimes they are
not even particularly close. Also, as I said, the solutions with very
little overscan sometimes don't give a stable image or no image at
all.
So calculating optimal timings in the kernel without user interaction
is not feasible. Unless you somehow discover the missing timing
constraints. Even the size of the internal FIFO is not known.
> Sure, using a fixed list of modes from which you pick the "closest"
> to the user's settings might be the easiest way to achieve that on
> some chips [ch7006 does precisely that IIRC],
The Chrontel chips only have a very limited number of modes in the
first place. But even then it makes sense to have more flexibiliy. For
example, you can take one of the 800x600 modes with almost no overscan
border, chop off the bottom and right and recenter shifting the sync
procesessing, and that gives you a nice 768x576 mode for watching
DVDs.
> and that might be a slight underuse of the
> flexibility of some hardware, but the API doesn't force you to do that.
Give me a way to pass a block of two dozen or so values to the chip in
addition to a CRTC modeline that is not checked for the usual constraints,
and give the user a way to specify these values in the config file or
let them choose one from a predefined list, and full support is easy.
- Dirk
More information about the Nouveau
mailing list