[ltp] mergefb + portrep dvi

Alex Deucher linux-thinkpad@linux-thinkpad.org
Fri, 19 Jan 2007 09:17:03 -0500


On 1/18/07, Thomas Breitner <mail@tombreit.de> wrote:
> Am Donnerstag, den 18.01.2007, 12:17 -0500 schrieb Alex Deucher:
> > On 1/18/07, Thomas Breitner <mail@tombreit.de> wrote:
> > > > On 12/9/06, Thomas Breitner <mail@tombreit.de> wrote:
> > > > > hi again,
> > > > >
> > > > > it seems i can't get it (mergefb: M10, PortRep II, DVI) to work:
> > > > > whatever i tried, i got only one screen to work, not the internal lvds
> > > > > and the external tmds together as one big, non-rectangular screen.
> > > > >
> > > > > so, if someone has a working configuration for:
> > > > > * ati m10
> > > > > * thinkpad 1400x1050-display
> > > > > * external 1600x1200-display, connected to the port-rep-dvi
> > > > > * pseudo-xinerama / mergefb
> > > > >
> > > > >
> > > > > fglrx worked out of the box with aticonfig --initial=dual-head, but it
> > > > > broke resume-from-ram and i simply prefer xorg-radeon.
> > > > >
> > > >
> > > >
> > > > You need the xorg radeon driver from git head (older versions won't
> > > > work) and you need to add the following line to the device section of
> > > > your config:
> > > > Option "MonitorLayout" "LVDS, TMDS"
> > > >
> > > > Alex
> > > >
> > >
> > > Hi,
> > >
> > > after libdrm >= 2.2 is in debian experimental (here: 2.3.0-1) I tried to
> > > compile the xorg radeon driver from git (as of 2007-01-18).
> > >
> > > autogen.sh and configure went fine, but make aborts with:
> > >
> > > mala:/usr/src/build/xorg/xf86-video-ati# make
> > > make  all-recursive
> > > make[1]: Entering directory `/usr/src/build/xorg/xf86-video-ati'
> > > Making all in src
> > > make[2]: Entering directory `/usr/src/build/xorg/xf86-video-ati/src'
> > > if /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I..
> > > -DXFree86Server -DIN_MODULE -DXFree86Module -DXFree86LOADER
> > > -I/usr/include/xorg   -I/usr/include/drm -I/usr/include/X11/dri   -g -O2
> > > -MT ati.lo -MD -MP -MF ".deps/ati.Tpo" -c -o ati.lo ati.c; \
> > >         then mv -f ".deps/ati.Tpo" ".deps/ati.Plo"; else rm -f
> > > ".deps/ati.Tpo"; exit 1; fi
> > > mkdir .libs
> > >  gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXFree86Server -DIN_MODULE
> > > -DXFree86Module -DXFree86LOADER -I/usr/include/xorg -I/usr/include/drm
> > > -I/usr/include/X11/dri -g -O2 -MT ati.lo -MD -MP -MF .deps/ati.Tpo -c
> > > ati.c  -fPIC -DPIC -o .libs/ati.o
> > > ati.c:68: error: 'PACKAGE_VERSION_MAJOR' undeclared here (not in a
> > > function)
> > > ati.c:68: error: 'PACKAGE_VERSION_MINOR' undeclared here (not in a
> > > function)
> > > ati.c:68: error: 'PACKAGE_VERSION_PATCHLEVEL' undeclared here (not in a
> > > function)
> > > make[2]: *** [ati.lo] Fehler 1
> > > make[2]: Leaving directory `/usr/src/build/xorg/xf86-video-ati/src'
> > > make[1]: *** [all-recursive] Fehler 1
> > > make[1]: Leaving directory `/usr/src/build/xorg/xf86-video-ati'
> > > make: *** [all] Fehler 2
> > > mala:/usr/src/build/xorg/xf86-video-ati#
> > >
> > >
> > > Any idea how to fix this?
> > >
> > > Further: Is it enough to overwrite the debian radeon_drv.so (6.6.3) with
> > > the git radeon_drv.so (the successfully compiled one)?
> > >
> >
> > You need (xorgversion.m4 from) util/macros 1.1.5 or from git.
> > https://bugs.freedesktop.org/show_bug.cgi?id=9557
> > or revert commit:
> > d5c6306385cbc7b13a132ae72ed04e04e24d9886
> >
> > Alex
>
>
> hi,
>
> thanks a lot - after reverting the commit as advised, the module
> compiled without warnings/errors.
> btw: the xorg-log identifies only the ati_drv.so as 6.6.99:
>
> (II) Loading /usr/lib/xorg/modules/drivers/radeon_drv.so
> (II) Module radeon: vendor="X.Org Foundation"
>         compiled for 7.1.1, module version = 4.2.0
>         Module class: X.Org Video Driver
>         ABI class: X.Org Video Driver, version 1.0
> (II) LoadModule: "ati"
> (II) Loading /usr/lib/xorg/modules/drivers/ati_drv.so
> (II) Module ati: vendor="X.Org Foundation"
>         compiled for 7.1.1, module version = 6.6.99
>         Module class: X.Org Video Driver
>         ABI class: X.Org Video Driver, version 1.0
>
>
> I even managed to get the external display to work on the dvi-out - but
> only on lower resolutions, not on native 1600x1200. the monitor itself
> throws an error because of "frequency to high" (or something like that).
>
> So again (sorry), what's wrong with my xorg.conf?
> I tried with and without separate 'Monitor'/'Screens'-Sections with and
> without specifying modelines, refresh-rates etc...
>

You may need to use reduced blanking or a custom modeline.  Mergedfb
is kind of a hack so it only uses one screen/monitor section and the
rest is handled by driver options.  It looks like your 1600x1200 mode
is rejected because the hsync is out of range.  Try adding CRT2Hsync
and CRT2Vrefresh options to your config.

Alex

> The relevant sections (as from my last attempt):
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Section "Device"
>         [...]
>         # enable radeon-specific xinerama
>         Option          "UseFBDev"              "false"
>         Option          "MergedFB"              "on"
>         Option          "CRT2Position"          "RightOf"
>         Option          "MetaModes"             "1400x1050-1600x1200 1024x768"
>         Option          "MergedNonRectangular"  "true"
>         Option          "MergedDPI"             "100 100"
>         Option          "MonitorLayout"         "LVDS, TMDS"
> EndSection
>
> Section "Monitor"
>        Identifier      "Laptop-Display"
>        HorizSync       32-65
>        VertRefresh     50-60
> EndSection
>
> Section "Monitor"
>         Identifier     "LCD2190UXp"
>         # from xorg-log:
>         Modeline "1600x1200" 162 1600 1200 1664 1856 2160 1201 1204 1250
> EndSection
>
> Section "Screen"
>         Identifier      "Internal Screen"
>         Device          "Xorg-Radeon"
>         Monitor         "Laptop-Display"
>         DefaultDepth    24
>         SubSection "Display"
>                 Depth           24
>                 Modes           "1400x1050"
>         EndSubSection
> EndSection
>
> Section "Screen"
>         Identifier      "External Screen"
>         Device          "Xorg-Radeon"
>         Monitor         "LCD2190UXp"
>         DefaultDepth    24
>        SubSection "Display"
>                 Depth           24
>                 Modes           "1600x1200"
>         EndSubSection
> EndSection
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> The whole xorg-log is attached.
>
> Again, thanks in advance,
> thomas-now-in-1024x786-clone-mode;-)
>
>
>