[ltp] Explore radeon(4) features, especially mergedfb and Metamodes.

Alex Deucher linux-thinkpad@linux-thinkpad.org
Tue, 22 Aug 2006 11:50:57 -0400


On 8/22/06, Stefan Schmidt <stefan@sostec.de> wrote:
> Hello.
>
> On Mon, 2006-08-21 at 22:51, Alex Deucher wrote:
> > On 8/21/06, Stefan Schmidt <stefan@sostec.de> wrote:
> > >
> > >- Add second monitor during the X session. (I read in Marius config file
> > >  a comment that this could be possible if i define the frequencies of
> > >  the monitor, so no probing is needed.)
> >
> > you can "force" on the secondary output so that it will already be
> > active if you plug in a display at run time.
>
> You mean something like this?
>
> Option "MonitorLayout" "LVDS, CRT"

yes.

>
> > However true hotplug is not yet possible, although it's in
> > progress in the intel driver and should be available in a standard
> > way once Keithp finishes he new multi-head capable revision of
> > xrandr.
>
> Nice to hear this. I'll track this feature now.
>
> > >- The MergedNonRectangular option seems not to work for clone mode. And
> > >  1280 on a 1400 screen looks ugly. Does this really not work, or i'm
> > >  just to stupid?
> >
> > It's like that on purpose to avoid producing dead spots if you are
> > only using one head and it's not clear where the smaller crtc should
> > be positioned: top left, bottom right, etc.  If you want you can hack
> > the driver to not adjust the frame of the smaller display in clone
> > modes.  It would be pretty trivial to do.
>
> Where do i have dead spots when i just clone the same desktop in
> different resolutions?

You could is you were only using one monitor. say you were using a
1024x768 LCD and a 1600x1200 monitor in clone mode.  if the viewport
of the smaller crtc was fixed and you disconnected the larger monitor,
you'd have areas you couldn't see.

>
> Just to clarify. I'll like to see the same desktop i see on the
> Laptop-Panel (1400x1050) on the second monitor. In a different
> resolution. Maybe 1280x1024 or even 1600x1200.

that works now, it's just that the smaller viewport scrolls to give
you access to the full desktop.

>
> hmm, it is possible to use an selfcompiled radeon driver inside my
> debian xorg installation? If i need to compile xorg from scratch and
> place it next to my distro installation i'll never start to hack on
> it.

you definitely can, it just depends how far you want to go.  you can
either hack on the source to the radeon driver provided by debian, or
you can build the radeon driver from git assuming you installed the
xorg devel packages.  the only problem with the git version is that it
may depend on features of the server that are not available in the
xserver shipped with debian. As such you'd have to make sure you were
using a fairly recent X server package.   That said, it's not that
hard to play with the development xserver/libs/etc. in parallel with
your current install.  I build and install the current git trees in
/usr/local/xorg and then I add /usr/local/xorg/lib to my ld.conf and
make /usr/bin/X a symlink that pionts to either /usr/local/xorg/bin/X
or the original X server provided by my distro.  switching between
devel and stable is a matter of changing the sym-link.

>
> Anyway, i put this on my long todo list. :(
>
> > >- It would be nice to dynamically change the position of the second
> > >  monitor. At home it's on the left side and at work it's on the right.
> > >  :)
> >
> > This should be possible with Keithp's new xrandr.  the problem now is
> > that mergedfb still uses a fixed framebuffer size so you'd have to
> > pre-allocate enough framebuffer for every possible orientation which
> > would be wasteful.
>
> So i've to move the dockingstation at work to the right side of my
> monitor. ;)

you can switch the initial orientation in your config file.

> Somebody plan to make used framebuffer size for mergefb dynamic?

yes, this will be handled by the new xrandr

>
> > >Normally i should be able to use the stuff above to get a descent
> > >workaround to undock my notebook without restarting X, but i use DVI
> > >throught the dockingstation. Anybody know the exact status of using the
> > >DVI port the same way i use the vga port? Alex?
> >
> > I assume you mean LVDS (laptop panel) simultaneously with TMDS (DVI)?
>
> Right. I'm still a bit confused with this names.

most radeons have 2 crtcs (display controllers).  These controllers
can be sourced to one or more outputs.  Most radeons have the
following outputs: Primary DAC, Secondary DAC, LVDS controller, TMDS
controller, TV-out controller, and DVO port.  The DACs provide analog
output to drive a standard analog monitor.  LVDS
(http://en.wikipedia.org/wiki/LVDS) and TMDS
(http://en.wikipedia.org/wiki/TMDS) are two types of digital
signalling.  It just happens that LVDS is usually used to connect
laptop panels and TMDS is usually used for DVI connections.  radeons
(and r128s as well) have cells for both types.  The DVO port is just a
digital output that can be attached to and external piece of hardware
like another DAC or TMDS controller, or a TV-encoder.  Many radeon
cards use the DVO port and an external TMDS chip to provide dual DVI
ports.

>
> > right how both LVDS and TMDS are hardcoded to crtc1 in the driver.
> > I've had a series of ongoing paches to de-couple the outputs (TMDS,
> > LVDS, DACs, etc.) from the crtcs.  Unfortunately, I don't have a
> > laptop with a DVI port, so I haven't really made any progress on the
> > front.
> > patch for reference:
> > http://www.botchco.com/alex/xorg/superpatch/modular/
>
> OK, this is also the last state i had in mind.
>
> Just as above, if i only need to recompile the radeon driver and put
> it in the right dir, i can give it some testing.

let me know if you have any questions.

Alex

>
> regards
> Stefan Schmidt
>
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.1 (GNU/Linux)
> Comment: http://www.datenfreihafen.org/contact.html
>
> iD8DBQFE6sGMbNSsvd31FmURAoLyAJ4il7R+Bwz2iGsUCIVQ3tt46dsq8ACg0MfP
> Bnb26x5u2TXO/Vzo7SBx+b8=
> =KBP7
> -----END PGP SIGNATURE-----
>
>
>