[ltp] mergefb + portrep dvi [solved]

Thomas Breitner linux-thinkpad@linux-thinkpad.org
Tue, 23 Jan 2007 23:27:29 +0100


Am Freitag, den 19.01.2007, 09:17 -0500 schrieb Alex Deucher:
> 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


Hi Alex,

thanks a lot - I got my mergefb-setup working!
Now I *really* know how bad my thinkpad-display is regarding viewing
angle, brightness and especially color reproduction...

thomas



Steps to reproduce:
* ati m10 with xorg-radeon-driver
   * xorg debian unstable
   * radeon_drv.so compiled from git (6.6.99)
   * libdrm2 (2.3.0-1) from debian experimental
   * manually limiting CRT2VRefresh to max 60 - instead 85 what xorg-log
suggests
* thinkpad 1400x1050-display 
* external 1600x1200-display, connected via port-rep-dvi
* mergefb



xorg.conf (relevant sections):

#########################################################################
#### Graphics ####
Section "Device"
	Identifier	"Xorg-Radeon"
	Driver		"radeon"
	BusID		"PCI:1:0:0"

	Option          "AGPMode"       	"4"
	Option          "AGPFastWrite"  	"off"
	Option 		"DynamicClocks"		"on"

	# render accelaration
	Option 		"AccelMethod"		"XXA"
#	Option 		"AccelMethod"		"EXA"
        Option 		"XAANoOffscreenPixmaps"	"true"
	Option		"RenderAccel"		"true"
	Option		"ColorTiling"		"on"
	Option		"EnablePageFlip"	"on"

	# use bios hotkeys (fn+f7)
	Option		"BIOSHotkeys"		"off"

	# enable radeon-specific xinerama
	Option          "UseFBDev"      	"false"
	Option          "MergedFB" 		"on"
	Option          "CRT2Position" 		"RightOf"
	Option         "CRT2Hsync" 		"31-92"
	Option         "CRT2VRefresh" 		"50-60"
        Option          "MetaModes" 		"1400x1050-1600x1200 1400x1050-1280x1024 1280x1024"
        Option          "MergedNonRectangular" 	"true"
        Option          "MergedDPI" 		"100 100"
  	Option          "MonitorLayout" 	"LVDS, TMDS"
EndSection


#########################################################################
#### Monitors ####
Section "Monitor"
	Identifier	"Laptop-Display"
       	HorizSync       32-65
       	VertRefresh     50-60
EndSection

Section "Monitor"
        Identifier     	"LCD2190UXp"
#	DisplaySize 	432 324
	HorizSync       31-92
	VertRefresh     50-85
	Modeline 	"1600x1200" 162.0 1600 1664 1856 2160 1200 1201 1204 1250
EndSection


#########################################################################
### Screens ####
Section "Screen"
        Identifier      "Mergefb Screen"
        Device          "Xorg-Radeon"
        Monitor         "Laptop-Display"
        DefaultDepth    24
        SubSection "Display"
                Depth           24
                Modes           "1400x1050" "1280x1024" "1024x768"
		Virtual		3000 1200
        EndSubSection
EndSection