Bug 8586 - [i810] X with i810 driver dies when switching from textmode virtual console back to an active X session
Summary: [i810] X with i810 driver dies when switching from textmode virtual console b...
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: 7.1 (2006.05)
Hardware: x86 (IA32) Linux (All)
: high normal
Assignee: Alan Hourihane
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-10-10 06:37 UTC by Stephen Ma
Modified: 2006-10-16 06:39 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
My xorg.conf file. (4.24 KB, text/plain)
2006-10-10 06:39 UTC, Stephen Ma
no flags Details
My Xorg.0.log produced with -logverbose 9 (41.24 KB, text/plain)
2006-10-10 06:41 UTC, Stephen Ma
no flags Details
-logverbose 9 report with DRI disabled (71.14 KB, text/plain)
2006-10-10 14:06 UTC, Stephen Ma
no flags Details
My /proc/pci (should have included this earlier) (2.27 KB, text/plain)
2006-10-10 14:09 UTC, Stephen Ma
no flags Details

Description Stephen Ma 2006-10-10 06:37:04 UTC
This problem appears to be similar to #5795, but that bug has been
closed.  I have been asked to start a new bug report, so here it is. 

Using Alt-F8 to switch from a virtual terminal back to an active X
session causes X to terminate.

My video chip is an 810e.  (Note the "e".)

Machine:       Compaq 7587 (Pentium III, 550 MHz, 320 MB RAM)
Video chip:    i810e
Linux kernel:  Debian 2.4.27-3
x.org ver:     7.1.1
Resolution 1680x1050, 16 bpp.
Video RAM allocated: 24000 kiB

(1) Started with "startx -- -logverbose 9;  date"
    from virtual terminal 2.
(2) Graphics screen comes up fine, everything works.
(3) Did an Alt+Ctrl+1 to switch to virtual terminal 1.
(4) X is still active (according to ps)
    X programs are still running fine (as evidenced by my network activity)
(5) Only when I try to switch back to X (with an Alt-F8) does something
    funny happen:

      (a) X instantly dies (I will attach a -logverbose 9 report).
          Because of the "date" command above, I can confirm that the
          death is prompt.

      (b) The Alt-F8 switches me to virtual terminal 8 all right, but
          it remains in text mode and all I see is a blank screen.

      (c) When I switch back to virtual terminal 2, I see the following
          output from X:

              Fatal server error:
              EnterVT failed for screen 0

              Error in I810WaitLpRing(), now is 845773748, start is 845771747
              pgetbl_ctl: 0x10f40001 pgetbl_err: 0x0
              ipeir: 0 iphdr: 0
              LP ring tail: 8 head: 0 len: 0 start 0
              eir: 0 esr: 0 emr: 3d
              instdone: ff7b instpm: 0
              memmode: 4 instps: 0
              hwstam: 9ac7 ier: 0 imr: 9ac7 iir: 0
              space: 65520 wanted 65528

              FatalError re-entered, aborting
              lockup

              xinit:  connection to X server lost.

Unlike some reports for bug 5795, a subsequent startx command has no
problem starting X again.

The newer driver from fairlite appears to have the same odd behavior.

Since my video chip is an 810e, I could run at 1680x1050 without any
855resolution/915resolution tricks.

I will attach my xorg.conf and Xorg.0.log files.
Comment 1 Stephen Ma 2006-10-10 06:39:23 UTC
Created attachment 7324 [details]
My xorg.conf file.
Comment 2 Stephen Ma 2006-10-10 06:41:01 UTC
Created attachment 7325 [details]
My Xorg.0.log produced with -logverbose 9
Comment 3 Alan Hourihane 2006-10-10 08:07:03 UTC
does disabling the DRI make things work ?
Comment 4 Stephen Ma 2006-10-10 14:04:02 UTC
(In reply to comment #3)
> does disabling the DRI make things work ?

You nailed it, Alan.  When I comment out the

    Load "dri"

line, I can switch virtual terminals at will: textmode <-> textmode 
and textmode <-> graphics mode both work.  I can even start a couple
of X sessions simultaneously (:0 and :1) and switch successfully
between them.
Comment 5 Stephen Ma 2006-10-10 14:06:14 UTC
Created attachment 7336 [details]
-logverbose 9 report with DRI disabled

Just in case, here is the -logverbose 9 report with DRI disabled.  The
report covers the following actions: startx; switch to text mode;
switch back to graphics mode; started writing the above report.
Comment 6 Stephen Ma 2006-10-10 14:09:31 UTC
Created attachment 7337 [details]
My /proc/pci (should have included this earlier)

Second attempt at submitting /proc/pci.
Comment 7 Stephen Ma 2006-10-10 14:19:03 UTC
Oops, the report that initiated this bug has a couple of typos,
hopefully minor.

Please substitute "virtual terminal 7" for "virtual terminal 8"
and "Alt-F7" for "Alt-F8".  I had been playing with VT8, but that particular
time I really was on VT7.  Sorry for the confusion.
Comment 8 Alan Hourihane 2006-10-12 01:51:11 UTC
When dri is enabled and it fails. What does the output of 'dmesg' say ?
Comment 9 Stephen Ma 2006-10-13 05:50:44 UTC
Sorry for the delay in replying, Alan.  I had my mail fetcher disabled 
during system maintenance and forgot to reenable it.

With DRI enabled, dmesg says this when I start X:

    [drm] AGP 0.99 Aperture @ 0x44000000 64MB
    [drm] Initialized i810 1.2.1 20020211 on minor 0
    PCI: Found IRQ 3 for device 00:01.0
    PCI: Sharing IRQ 3 with 01:08.0

When I press Alt+Ctrl+F1 to switch from graphics mode to virtual
terminal 1, dmesg shows no new output.

Then I press Alt+F8 from VT1 in an attempt to switch back to graphics
mode (which doesn't work, as is now familiar), the following new lines
appear:

    [drm:i810_wait_ring] *ERROR* space: 65512 wanted 65528
    [drm:i810_wait_ring] *ERROR* lockup
    [drm:i810_wait_ring] *ERROR* space: 65504 wanted 65528
    [drm:i810_wait_ring] *ERROR* lockup

Hope this helps.  If you want more output, I'm willing to download a
debugging version of the X server and/or i810 driver from you.

The following is probably irrelevant, but just in case....

It does not seem to matter what nnnnn is below:

    Section "Device"
            Identifier      "Intel Corporation 82810E DC-133 CGC [Chipset
Graphics Controller]"
            Driver          "i810"
            BusID           "PCI:0:1:0"
            VideoRam        nnnnnn
    EndSection

I get the same "65512 wanted 65528" messages even if I crank VideoRam
to 96000.
Comment 10 Alan Hourihane 2006-10-13 06:06:12 UTC
Ouch. I've just seen that you are running kernel 2.4.27-3.

The DRI hasn't been tested with such an old kernel for a very long time, given
that you are using Xorg 7.1.

I'd suggest upgrading your kernel to 2.6.something at the very least and see if
it fixes the problems.
Comment 11 Stephen Ma 2006-10-16 06:02:38 UTC
I've been wary of the 2.6.x kernel, because I've been burned before.

Linux kernel 2.6.8 didn't work: startx refuses to start, citing a problem with
agpgart.  I will not bother you with details, because ...

Kernel 2.6.18 works!  Even when DRI is enabled, I can switch freely between text
mode <-> graphics mode, and between graphics mode sessions (:0 and :1).

However, OpenGL is much slower in :1 than :0.  I don't know if this is because
:1 falls back on software rendering, or if DRI is disabled for the second
session.  The difference in speed is very noticeable.  But this is a minor
quibble; everything works in :1, only slower.

Thanks, Alan, for the fast support.
Comment 12 Alan Hourihane 2006-10-16 06:39:18 UTC
that's correct. DRI can only be supported in the first session. 

I'll close this now.


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.