Bug 10023 - MergedFB no display on second monitor. 2.6.20, Xorg 7.1, AMD64, R423, PCIE
Summary: MergedFB no display on second monitor. 2.6.20, Xorg 7.1, AMD64, R423, PCIE
Status: RESOLVED DUPLICATE of bug 8090
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/Radeon (show other bugs)
Version: 7.1 (2006.05)
Hardware: x86-64 (AMD64) Linux (All)
: high normal
Assignee: xf86-video-ati maintainers
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-02-18 12:19 UTC by Joe Suhre
Modified: 2007-11-12 15:40 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Xorg.0.log (50.15 KB, text/plain)
2007-02-18 12:20 UTC, Joe Suhre
no flags Details
xorg.conf (2.62 KB, text/plain)
2007-02-18 12:21 UTC, Joe Suhre
no flags Details
Xorg.0.log Startup w/ xf86-video-ati driver head patched for sil164 (46.02 KB, text/plain)
2007-02-20 14:55 UTC, Joe Suhre
no flags Details

Description Joe Suhre 2007-02-18 12:19:39 UTC
I'm running a AMD64 Gentoo System, Kernel 2.6.20 (Gentoo Sources).

Card is a PCIE X800GT dual DVI out (R423).

I'm trying to run MergedFB to have an extended desktop across two Monitors. I believe the config is good because both monitors seem to be successfully detected in my Xorg log. But when x is started (KDE) the second screen never appears to initialize. Looking at the pager the desktop is extended as onto the other display  and I can scroll my mouse off the edge of the screen as though the other monitor is active.

In doing some research before opening this bug I came across bug #1666 which seams to be similar but when I use 'xset dpms force off' the primary monitor goes into standby mode similar to the secondary monitor but when I move my mouse only the primary display comes back.
Comment 1 Joe Suhre 2007-02-18 12:20:37 UTC
Created attachment 8771 [details]
Xorg.0.log

Xorg log of start up.
Comment 2 Joe Suhre 2007-02-18 12:21:41 UTC
Created attachment 8772 [details]
xorg.conf

xorg.conf file
Comment 3 Alex Deucher 2007-02-18 12:35:33 UTC
Are you using DVI on both ports?  If so, this configuration is not supported at the moment.  The radeon driver does not yet have support for external TMDS transmitters that are are not set up by the bios.  There is work being done on this, but nothing is working as of yet.
Comment 4 Joe Suhre 2007-02-18 12:43:17 UTC
Yup, Both are DVI. Thanks for the Heads up. Is there a bug tracking this that I can add myself as a cc?
Comment 5 Alex Deucher 2007-02-18 13:17:38 UTC
Dave Airlie has experimental sil-164 support in his ati driver tree on the sil164-support branch.  What TDMS chip does your board use (should be near the second DVI port).
Comment 6 Joe Suhre 2007-02-18 14:18:51 UTC
Nope, :( 
mine is a:

Silicon Image
sil1162u 0443
v44651.1-1 1.0

http://www.siliconimage.com/products/product.aspx?id=5

More than happy to test w/ my machien if someone is working on it.

Comment 7 Alex Deucher 2007-02-18 14:34:13 UTC
(In reply to comment #6)
> Nope, :( 
> mine is a:
> 
> Silicon Image
> sil1162u 0443
> v44651.1-1 1.0
> 

I have an 1162 as well.  IIRC, they are register compatible with the 164.
Comment 8 Joe Suhre 2007-02-19 08:44:54 UTC
Is there somewhere I could grab Dave's code. I'm more than happy to try it out and provide feedback.
Comment 9 Alex Deucher 2007-02-19 18:04:19 UTC
Dave's code is in his git repo (http://gitweb.freedesktop.org/?p=users/airlied/xf86-video-ati.git;a=summary) on the sil164-support branch.  I've also ported it to ati git HEAD, and the patch is available here:
http://www.botchco.com/alex/xorg/dualdvi.diff
Comment 10 John J. Aylward 2007-02-19 23:57:57 UTC
(In reply to comment #9)
> Dave's code is in his git repo
> (http://gitweb.freedesktop.org/?p=users/airlied/xf86-video-ati.git;a=summary)
> on the sil164-support branch.  I've also ported it to ati git HEAD, and the
> patch is available here:
> http://www.botchco.com/alex/xorg/dualdvi.diff
> 
Wondering if I'm using the correct tool to apply the patch or not because when I try to apply the patch I get the following error:
#patch -p0 < var/tmp/portage/x11-drivers/xf86-video-ati-6.6.3/distdir/dualdvi.diff

can't find file to patch at input line 6
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/Makefile.am b/Makefile.am
|diff --git a/configure.ac b/configure.ac
|index 16b93e1..c36c8b0 100644
|--- a/configure.ac
|+++ b/configure.ac
--------------------------
File to patch:

The error continues with each new file section of the diff.
Comment 11 John J. Aylward 2007-02-20 00:09:41 UTC
(In reply to comment #10)
> (In reply to comment #9)
> > Dave's code is in his git repo
> > (http://gitweb.freedesktop.org/?p=users/airlied/xf86-video-ati.git;a=summary)
> > on the sil164-support branch.  I've also ported it to ati git HEAD, and the
> > patch is available here:
> > http://www.botchco.com/alex/xorg/dualdvi.diff
> > 
> Wondering if I'm using the correct tool to apply the patch or not because when
> I try to apply the patch I get the following error:
> #patch -p0 <
> var/tmp/portage/x11-drivers/xf86-video-ati-6.6.3/distdir/dualdvi.diff
> 
> can't find file to patch at input line 6
> Perhaps you used the wrong -p or --strip option?
> The text leading up to this was:
> --------------------------
> |diff --git a/Makefile.am b/Makefile.am
> |diff --git a/configure.ac b/configure.ac
> |index 16b93e1..c36c8b0 100644
> |--- a/configure.ac
> |+++ b/configure.ac
> --------------------------
> File to patch:
> 
> The error continues with each new file section of the diff.
> 

OK, should have done a little more research on my own before posting. I have the original problem fixed by using -p1 instead of -p0, but I now get the following:

PATCH COMMAND:   patch -p1 -g0 -E --no-backup-if-mismatch < /var/tmp/portage/x11-drivers/xf86-video-ati-6.6.3/distdir/dualdvi.diff

========================
patching file configure.ac
Hunk #1 succeeded at 232 (offset 14 lines).
patching file src/Makefile.am
patching file src/radeon.h
Hunk #1 succeeded at 797 with fuzz 2 (offset -22 lines).
can't find file to patch at input line 43
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/src/radeon_display.c b/src/radeon_display.c
|index d661c17..381b3b2 100644
|--- a/src/radeon_display.c
|+++ b/src/radeon_display.c
--------------------------
No file to patch.  Skipping patch.
7 out of 7 hunks ignored
patching file src/radeon_driver.c
Hunk #1 succeeded at 5733 (offset 1960 lines).
Hunk #2 FAILED at 7341.
Hunk #3 succeeded at 7436 (offset 1963 lines).
Hunk #4 FAILED at 7620.
Hunk #5 FAILED at 7645.
Hunk #6 FAILED at 8283.
Hunk #7 succeeded at 8758 (offset 2275 lines).
4 out of 7 hunks FAILED -- saving rejects to file src/radeon_driver.c.rej
patching file src/radeon_probe.h
Hunk #1 succeeded at 40 (offset 1 line).
Hunk #2 FAILED at 106.
Hunk #3 FAILED at 136.
2 out of 3 hunks FAILED -- saving rejects to file src/radeon_probe.h.rej
patching file src/radeon_reg.h
Hunk #1 succeeded at 736 (offset -20 lines).
Hunk #2 succeeded at 832 (offset -20 lines).
Hunk #3 succeeded at 1236 (offset -20 lines).
Comment 12 Alex Deucher 2007-02-20 05:45:22 UTC
(In reply to comment #11)
<snip>
> OK, should have done a little more research on my own before posting. I have
> the original problem fixed by using -p1 instead of -p0, but I now get the
> following:
> 
> PATCH COMMAND:   patch -p1 -g0 -E --no-backup-if-mismatch <
> /var/tmp/portage/x11-drivers/xf86-video-ati-6.6.3/distdir/dualdvi.diff
> 
> ========================
> patching file configure.ac
> Hunk #1 succeeded at 232 (offset 14 lines).
> patching file src/Makefile.am
> patching file src/radeon.h
> Hunk #1 succeeded at 797 with fuzz 2 (offset -22 lines).
> can't find file to patch at input line 43
> Perhaps you used the wrong -p or --strip option?
> The text leading up to this was:
> --------------------------
> |diff --git a/src/radeon_display.c b/src/radeon_display.c
> |index d661c17..381b3b2 100644
> |--- a/src/radeon_display.c
> |+++ b/src/radeon_display.c
> --------------------------
> No file to patch.  Skipping patch.
> 7 out of 7 hunks ignored
> patching file src/radeon_driver.c
> Hunk #1 succeeded at 5733 (offset 1960 lines).
> Hunk #2 FAILED at 7341.
> Hunk #3 succeeded at 7436 (offset 1963 lines).
> Hunk #4 FAILED at 7620.
> Hunk #5 FAILED at 7645.
> Hunk #6 FAILED at 8283.
> Hunk #7 succeeded at 8758 (offset 2275 lines).
> 4 out of 7 hunks FAILED -- saving rejects to file src/radeon_driver.c.rej
> patching file src/radeon_probe.h
> Hunk #1 succeeded at 40 (offset 1 line).
> Hunk #2 FAILED at 106.
> Hunk #3 FAILED at 136.
> 2 out of 3 hunks FAILED -- saving rejects to file src/radeon_probe.h.rej
> patching file src/radeon_reg.h
> Hunk #1 succeeded at 736 (offset -20 lines).
> Hunk #2 succeeded at 832 (offset -20 lines).
> Hunk #3 succeeded at 1236 (offset -20 lines).
> 

The patch is against ati git head (http://gitweb.freedesktop.org/?p=xorg/driver/xf86-video-ati.git;a=summary), it won't apply to 6.6.3.  You'll need to grab that or use airlied's tree.
Comment 13 Joe Suhre 2007-02-20 07:43:14 UTC
(In reply to comment #12)
<snip> 
> 
> The patch is against ati git head
> (http://gitweb.freedesktop.org/?p=xorg/driver/xf86-video-ati.git;a=summary), it
> won't apply to 6.6.3.  You'll need to grab that or use airlied's tree.
> 

Ok, I pulled down the head. And applied the Patch successfully but it looks like the patch doesn't include the contents of  [base_dir]/src/sil164

jsuhre@hammer ~/tmp/xf86-video-ati-dev $ patch -p1 < ~/dls/dualdvi.diff
patching file configure.ac
patching file src/Makefile.am
patching file src/radeon.h
patching file src/radeon_display.c
patching file src/radeon_driver.c
patching file src/radeon_probe.h
patching file src/radeon_reg.h
Hunk #2 succeeded at 865 (offset 13 lines).
Hunk #3 succeeded at 1269 (offset 13 lines).
jsuhre@hammer ~/tmp/xf86-video-ati-dev $ ./autogen.sh
autoreconf-2.61: Entering directory `.'
autoreconf-2.61: configure.ac: not using Gettext
autoreconf-2.61: running: aclocal
/usr/share/aclocal/ao.m4:9: warning: underquoted definition of XIPH_PATH_AO
/usr/share/aclocal/ao.m4:9:   run info '(automake)Extending aclocal'
/usr/share/aclocal/ao.m4:9:   or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
autoreconf-2.61: configure.ac: tracing
autoreconf-2.61: running: libtoolize --copy
/usr/share/aclocal/ao.m4:9: warning: underquoted definition of XIPH_PATH_AO
/usr/share/aclocal/ao.m4:9:   run info '(automake)Extending aclocal'
/usr/share/aclocal/ao.m4:9:   or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
autoreconf-2.61: running: /usr/bin/autoconf-2.61
autoreconf-2.61: running: /usr/bin/autoheader-2.61
autoreconf-2.61: running: automake --add-missing --copy --no-force
configure.ac:33: installing `./missing'
configure.ac:33: installing `./install-sh'
src/Makefile.am: installing `./depcomp'
src/Makefile.am:22: required directory src/sil164 does not exist
configure.ac:223: required file `src/sil164/Makefile.in' not found
autoreconf-2.61: automake failed with exit status: 1
jsuhre@hammer ~/tmp/xf86-video-ati-dev $


Comment 14 Alex Deucher 2007-02-20 09:08:23 UTC
(In reply to comment #13)
> (In reply to comment #12)
> <snip> 
> > 
> > The patch is against ati git head
> > (http://gitweb.freedesktop.org/?p=xorg/driver/xf86-video-ati.git;a=summary), it
> > won't apply to 6.6.3.  You'll need to grab that or use airlied's tree.
> > 
> 
> Ok, I pulled down the head. And applied the Patch successfully but it looks
> like the patch doesn't include the contents of  [base_dir]/src/sil164
>

whoops.  just grab those from airlied's git tree.  I just copied over.

Comment 15 John J. Aylward 2007-02-20 09:45:19 UTC
DLed the SIL code from dave's repository and merged it with the head of the
original repository. I also had to DL the src/i2c_vid.h file. After that I was
able to get this far in the compilation, but I'm not sure what to do with the
missing PACKAGE_VERSION_* definitions. 

The make file define PACKAGE_VERSION to be 6.6.99, should I just hard code that
value in the ativersion.h file for now?

make  all-recursive
make[1]: Entering directory
`/home/jaylward/workspace/ati-driver/xf86-video-ati'
Making all in src
make[2]: Entering directory
`/home/jaylward/workspace/ati-driver/xf86-video-ati/src'
Making all in sil164
make[3]: Entering directory
`/home/jaylward/workspace/ati-driver/xf86-video-ati/src/sil164'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory
`/home/jaylward/workspace/ati-driver/xf86-video-ati/src/sil164'
make[3]: Entering directory
`/home/jaylward/workspace/ati-driver/xf86-video-ati/src'
/bin/sh ../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -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
 gcc -DHAVE_CONFIG_H -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[3]: *** [ati.lo] Error 1
make[3]: Leaving directory
`/home/jaylward/workspace/ati-driver/xf86-video-ati/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/home/jaylward/workspace/ati-driver/xf86-video-ati/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/jaylward/workspace/ati-driver/xf86-video-ati'
make: *** [all] Error 2
Comment 16 Alex Deucher 2007-02-20 10:19:06 UTC
(In reply to comment #15)
> DLed the SIL code from dave's repository and merged it with the head of the
> original repository. I also had to DL the src/i2c_vid.h file. After that I was
> able to get this far in the compilation, but I'm not sure what to do with the
> missing PACKAGE_VERSION_* definitions. 
> 
> The make file define PACKAGE_VERSION to be 6.6.99, should I just hard code that
> value in the ativersion.h file for now?
>

you need the latest xorg macros package (http://gitweb.freedesktop.org/?p=xorg/util/macros.git;a=summary).
Comment 17 Joe Suhre 2007-02-20 14:55:53 UTC
Created attachment 8793 [details]
Xorg.0.log Startup w/ xf86-video-ati driver head patched for sil164
Comment 18 Joe Suhre 2007-02-20 14:59:57 UTC
Ok tried the new driver. Xorg bombed out w/ a Sig 11. I attached the entire log. Below is the snip-it w/ the backtrace. When I tried to startx w/ the new driver it did cause the second display to try and initialize.

Backtrace:
0: X(xf86SigHandler+0x71) [0x48bec1]
1: /lib/libc.so.6 [0x2acbb68ec940]
2: /usr/lib64/xorg/modules/drivers/radeon_drv.so(RADEONTMDSPowerSet+0x29) [0x2acbb7be0c09]
3: /usr/lib64/xorg/modules/drivers/radeon_drv.so [0x2acbb7bd074e]
4: /usr/lib64/xorg/modules/drivers/radeon_drv.so [0x2acbb7bd0a49]
5: /usr/lib64/xorg/modules/drivers/radeon_drv.so(RADEONScreenInit+0x150d) [0x2acbb7bd2b0d]
6: X(AddScreen+0x236) [0x430666]
7: X(InitOutput+0x267) [0x45f017]
8: X(main+0x26f) [0x430e5f]
9: /lib/libc.so.6(__libc_start_main+0xf4) [0x2acbb68da374]
10: X(FontFileCompleteXLFD+0xa1) [0x430339]

Fatal server error:
Caught signal 11.  Server aborting
Comment 19 Alex Deucher 2007-02-20 15:05:32 UTC
(In reply to comment #18)
> Ok tried the new driver. Xorg bombed out w/ a Sig 11. I attached the entire
> log. Below is the snip-it w/ the backtrace. When I tried to startx w/ the new
> driver it did cause the second display to try and initialize.
> 
> Backtrace:
> 0: X(xf86SigHandler+0x71) [0x48bec1]
> 1: /lib/libc.so.6 [0x2acbb68ec940]
> 2: /usr/lib64/xorg/modules/drivers/radeon_drv.so(RADEONTMDSPowerSet+0x29)
> [0x2acbb7be0c09]
> 3: /usr/lib64/xorg/modules/drivers/radeon_drv.so [0x2acbb7bd074e]
> 4: /usr/lib64/xorg/modules/drivers/radeon_drv.so [0x2acbb7bd0a49]
> 5: /usr/lib64/xorg/modules/drivers/radeon_drv.so(RADEONScreenInit+0x150d)
> [0x2acbb7bd2b0d]
> 6: X(AddScreen+0x236) [0x430666]
> 7: X(InitOutput+0x267) [0x45f017]
> 8: X(main+0x26f) [0x430e5f]
> 9: /lib/libc.so.6(__libc_start_main+0xf4) [0x2acbb68da374]
> 10: X(FontFileCompleteXLFD+0xa1) [0x430339]
> 
> Fatal server error:
> Caught signal 11.  Server aborting
> 

That's because the driver failed to detect the TMDS chip.  When that fails the sil object doesn't exist so it cannot be accessed, hence the sig11.  You can add checks for info->extTMDS around the various calls to external TMDS functions.  Unfortunately, I can't get the sil to respond.  Not sure what needs to be done yet.
Comment 20 Daniel Stone 2007-02-27 01:36:31 UTC
Sorry about the phenomenal bug spam, guys.  Adding xorg-team@ to the QA contact so bugs don't get lost in future.
Comment 21 Alex Deucher 2007-11-12 15:40:03 UTC

*** This bug has been marked as a duplicate of bug 8090 ***


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.