Dual-display testing support error on Santa-rosa with Crestline

Bug #119967 reported by Kevin Wang
6
Affects Status Importance Assigned to Milestone
X.Org X server
Won't Fix
High
xorg (Ubuntu)
Won't Fix
Medium
Unassigned

Bug Description

Binary package hint: xorg

This bug occured during testing Feisty update (i386 and x86_64 Desktop)
on Santa Rosa platform with the following specs:

Santa Rosa CRB
Crestline(B0) ICH8M(B0)
Merom(B1) 2.0GHz
EM64T 4M 667MHz
2048M DDR2 667
80G Sata

Steps:
1. change the xorg.conf to support DualDisplay
2. Connect CRT and TV
3. restart X.
4. Error with: "(EE) intel(1): Internal Error: maxCacheLines < 0 in i830_allocate_2d_memory()"

Revision history for this message
In , Daniel Hladek (dhladek) wrote :

Created an attachment (id=9146)
xorg.conf with dual monitor config

Revision history for this message
In , Daniel Hladek (dhladek) wrote :

Created an attachment (id=9147)
Xorg log

Revision history for this message
In , Eric Anholt (eric-anholt) wrote :

At this point, the multihead support in the current release candidate is entirely different, and we can't really support issues found with older releases. Please re-test with current code.

Revision history for this message
In , Daniel Hladek (dhladek) wrote :

The same does with 7.2 (on Ubuntu 7.04)

Revision history for this message
In , Daniel Hladek (dhladek) wrote :

Created an attachment (id=9664)
Xorg.0.log from xorg 7.2

Revision history for this message
In , Daniel Hladek (dhladek) wrote :

when I changed driver to xserver-xorg-video-intel (on Ubuntu Feisty and xorg 7.2), clone mode now works. But Xinerama option causes xserver crash. Xorg.0.log and xorg.conf are attached.

Revision history for this message
In , Daniel Hladek (dhladek) wrote :

Created an attachment (id=9893)
Dual monitor config with Xinerama on ubuntu Feisty

Clone mode works, Xinerama crash

Revision history for this message
In , Daniel Hladek (dhladek) wrote :

Created an attachment (id=9894)
xinerama crash Xorg.0.log

log with Xinerama crash

Revision history for this message
In , Remi (remi) wrote :

Created an attachment (id=9906)
Xinerama crash but different errors

I get this bug too but with a different log output. See attached around line 475 :

(II) intel(0): I2C bus "DVOI2C_E" initialized.
(EE) intel(0): detecting sil164
(EE) intel(0): Unable to read from DVOI2C_E Slave 112.

And later on line 1059 :
(EE) intel(0): I830 Vblank Pipe Setup Failed 0

I still have two or three different xinerama configurations available (I symlink xorg.conf using a homemade script) that used to work on xorg-server 1.1 (around last summer). None of them work anymore with xorg-server 1.3.0.0 and xf86-video-intel 2.0.0

Revision history for this message
Kevin Wang (kevin-xuepu-wang) wrote :

Binary package hint: xorg

This bug occured during testing Feisty update (i386 and x86_64 Desktop)
on Santa Rosa platform with the following specs:

Santa Rosa CRB
Crestline(B0) ICH8M(B0)
Merom(B1) 2.0GHz
EM64T 4M 667MHz
2048M DDR2 667
80G Sata

Steps:
1. change the xorg.conf to support DualDisplay
2. Connect CRT and TV
3. restart X.
4. Error with: "(EE) intel(1): Internal Error: maxCacheLines < 0 in i830_allocate_2d_memory()"

Revision history for this message
Henrik Nilsen Omma (henrik) wrote :

Hi Kevin,

Could you please try to collect debugging information following https://wiki.ubuntu.com/DebuggingXorg ? Please install the debugging package xserver-xorg-core-dbgsym and attach the gdb or apport trace. Thanks.

Changed in xorg:
status: Unconfirmed → Needs Info
Revision history for this message
Kevin Wang (kevin-xuepu-wang) wrote :
Download full text (4.6 KiB)

Hi,
The following is the backtrace information:

root@santa-rosa2:/etc/X11# gdb Xorg
GNU gdb 6.6-debian
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu"...
Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) r
Starting program: /usr/bin/Xorg
[Thread debugging using libthread_db enabled]
[New Thread 47971470273280 (LWP 6198)]

X Window System Version 7.2.0
Release Date: 22 January 2007
X Protocol Version 11, Revision 0, Release 7.2
Build Operating System: Linux Ubuntu
Current Operating System: Linux santa-rosa2 2.6.20-16-generic #2 SMP Wed May 23 00:30:47 UTC 2007 x86_64
Build Date: 04 April 2007
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Fri Aug 23 02:58:59 2052
(==) Using config file: "/etc/X11/xorg.conf"
[tcsetpgrp failed in terminal_inferior: Operation not permitted]
(WW) intel: No matching Device section for instance (BusID PCI:0:2:1) found
(EE) intel(1): Internal Error: maxCacheLines < 0 in i830_allocate_2d_memory()

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 47971470273280 (LWP 6198)]
i830_allocate_aperture (pScrn=<value optimized out>, name=0x2ba13bcfd9fa "secondary front buffer", size=3276800,
    alignment=65536, flags=0) at ../../src/i830_memory.c:346
346 ../../src/i830_memory.c: No such file or directory.
        in ../../src/i830_memory.c
(gdb) backtrace full

#0 i830_allocate_aperture (pScrn=<value optimized out>, name=0x2ba13bcfd9fa "secondary front buffer", size=3276800,
    alignment=65536, flags=0) at ../../src/i830_memory.c:346
        mem = (i830_memory *) 0x847870
        scan = (i830_memory *) 0x817fd0
#1 0x00002ba13bcd92be in i830_allocate_memory (pScrn=0x0, name=0x320000 <Address 0x320000 out of bounds>, size=8673062,
    alignment=0, flags=0) at ../../src/i830_memory.c:433
        mem = <value optimized out>
#2 0x00002ba13bcda1c2 in i830_allocate_framebuffer (pScrn=0x7e3cb0, pI830=0x817fd0, FbMemBox=<value optimized out>,
    secondary=1, flags=0) at ../../src/i830_memory.c:829
        pitch = 2560
        cacheLines = <value optimized out>
        maxCacheLines = <value optimized out>
        size = 3276800
        fb_height = <value optimized out>
        name = 0x2ba13bcfd9fa "secondary front buffer"
        front_buffer = (i830_memory *) 0x0
#3 0x00002ba13bcda460 in i830_allocate_2d_memory (pScrn=0x7e3480) at ../../src/i830_memory.c:1000
        pI830 = (I830Ptr) 0x7e58d0
#4 0x00002ba13bcd6abf in I830ScreenInit (scrnIndex=0, pScreen=0x846930, argc=<value optimized out>,
    argv=<value optimized out>) at ../../src/i8...

Read more...

Revision history for this message
Henrik Nilsen Omma (henrik) wrote :

Thanks.

Changed in xorg:
importance: Undecided → Medium
status: Incomplete → Confirmed
Revision history for this message
Bryce Harrington (bryce) wrote :

I've reported this upstream.

Kevin, could you also attach your xorg.conf and Xorg.0.log files when encountering this bug, in case upstream requests them? (In general, it's a good idea to always include xorg.conf and Xorg.0.log when reporting Xorg bugs, as they're quite frequently needed - although in this case maybe the backtrace is enough).

Revision history for this message
Bryce Harrington (bryce) wrote :

It looks like this is failing while using EXA. To confirm, can you please disable EXA in your xorg.conf?

Changed in xorg-server:
status: Unknown → Confirmed
Revision history for this message
Kevin Wang (kevin-xuepu-wang) wrote :

Hi Bryce,

By default, it should use XAA, and I didn't change this, we can see that the system is using the XAA in Xorg.0.log

Thanks
Kevin

Revision history for this message
Bryce Harrington (bryce) wrote :

Hi Kevin,

I think you may need to set the BusID for Device Card1 to "PCI:0:2:1" rather than "PCI:0:2:0". Could you please try that and verify that it makes it work?

Changed in xorg:
status: Confirmed → Incomplete
Revision history for this message
Kevin Wang (kevin-xuepu-wang) wrote :

Hi Bryce,

The issue is still there even change to PCI:0:2:1

thanks
Kevin

Changed in xorg-server:
status: Confirmed → Incomplete
Bryce Harrington (bryce)
Changed in xorg:
status: Incomplete → In Progress
Revision history for this message
In , Eric Anholt (eric-anholt) wrote :

Failure with xinerama is the expected results with the current code, and we have no plans to fix it. You can use RandR 1.2-based configuration, statically (xorg.conf(5) has information in git) or at runtime using xrandr(1), which allows for many common multihead configurations.

Revision history for this message
In , Eric Anholt (eric-anholt) wrote :

*** Bug 10706 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Eric Anholt (eric-anholt) wrote :

*** Bug 11373 has been marked as a duplicate of this bug. ***

Revision history for this message
Bryce Harrington (bryce) wrote :

Kevin, upstream is reporting the following on this bug currently:

"Failure with xinerama is the expected results with the current code, and we
have no plans to fix it. You can use RandR 1.2-based configuration, statically
(xorg.conf(5) has information in git) or at runtime using xrandr(1), which
allows for many common multihead configurations."

Revision history for this message
In , Radek Podgorny (rpodgorny) wrote :

...no plans to fix it? Are you kidding? I'd expect a sane error message rather than a traceback...

Revision history for this message
In , Fdo (fdo) wrote :

I have to agree. It's not very nice having X crash just cos you put a special sequence of characters into a file. If the conf parser can't handle it without segfaulting then it doesn't smack of well written and considered code (regardless of how well randr 1.2 and the rest of the actual server stc. works)

Revision history for this message
In , Brice Goglin (brice-goglin) wrote :

You should probably read "no plans to fix it" as "patch welcome" :)

Revision history for this message
In , Michael Fu (michael-fu-intel) wrote :

xrandr is preferred method by now.

Revision history for this message
In , Remi (remi) wrote :

Will there be a way to work around the framebuffer limitation (which forces me to logically align my screens vertically when they are physically aligned horizontally) ?

Will there be a way to work around the memory limitations so that I can use the DRI if I put the Virtual 2048 2048 to "fix" the first issue ?

Revision history for this message
In , Fdo (fdo) wrote :

(In reply to comment #16)
> xrandr is preferred method by now.

We all know what the preferred method is.

I think the main issue was that incorrect syntax in xorg.conf actually CRASHES the server!!! This is not good in any application!

As of the 2048 DRI limit, this is technically fixable but involves some hard sums that no-one has stepped up to the plate to implement. Keith P has described what needs done on Xorg mailing list in the past.

You can adjust the position of your monitors but it may be that the placement you refer to is to keep them with in the 2048 bounding box?

Revision history for this message
Henrik Nilsen Omma (henrik) wrote :

When upstream isn't willing to fix this bug there is little we can do. We can improve our graphical config tool to make it easier to set this up using xrandr. That would be a feature request against the config tool.

Changed in xorg:
status: In Progress → Won't Fix
Changed in xorg-server:
status: Unknown → Won't Fix
Revision history for this message
In , Gordon Jin (gordon-jin) wrote :

*** Bug 13163 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Gordon Jin (gordon-jin) wrote :

*** Bug 13517 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Tino-keitel+fdo (tino-keitel+fdo) wrote :

Please, can we get at least some sort of Xinerama support back? I don't care for fancy features like XV or DRI support. I just want a working dualhead setup for productivity.

Currently, RandR is only supported by ATI and Intel AFAIK. All the other drivers require Xinerama for a multihead setup. With the current RandR 1.2 vs. Xinerama conflict, there is a _very_ small subset of possible configurations that can use a multihead setup at all if one of the card is an Intel card. And as Intel is builtin, there is no chance to replace it with another card.

Revision history for this message
In , Tino-keitel+fdo (tino-keitel+fdo) wrote :

For the records: I worked around this issue by fetching the source of the last pre-2.0 version (1.7.4), fixed it to build against the Xorg 7.3 headers, added the PCI ID of my i965GM and got working dual head using Xinerama. However, I'm afraid of changes in later Xorg versions that don't allow me to compile the old i810 driver anymore. This "solution" is also limited to hardware that is old enough to be supported by the old i810 driver.

Changed in xorg-server:
importance: Unknown → High
Changed in xorg-server:
importance: High → Unknown
Changed in xorg-server:
importance: Unknown → High
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.