Bug 204324 - Broken vesa driver
Summary: Broken vesa driver
Status: RESOLVED FIXED
: 204521 205953 (view as bug list)
Alias: None
Product: openSUSE 10.2
Classification: openSUSE
Component: Installation (show other bugs)
Version: Alpha 4
Hardware: i686 Other
: P4 - Low : Normal (vote)
Target Milestone: ---
Assignee: Steffen Winterfeldt
QA Contact: Stefan Dirsch
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-09-07 23:38 UTC by Felix Miata
Modified: 2006-11-30 15:59 UTC (History)
4 users (show)

See Also:
Found By: Other
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
i810 installation Xorg.0.log (32.81 KB, text/plain)
2006-09-12 13:53 UTC, Felix Miata
Details
i810 installation xorg.conf (5.16 KB, text/plain)
2006-09-12 13:53 UTC, Felix Miata
Details
i810 installation y2start.log (3.62 KB, text/plain)
2006-09-12 15:18 UTC, Felix Miata
Details
i810 installation core (3.10 MB, application/octet-stream)
2006-09-12 16:00 UTC, Felix Miata
Details
disable-fbblt-opt.diff (586 bytes, patch)
2006-09-13 13:08 UTC, Stefan Dirsch
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Felix Miata 2006-09-07 23:38:19 UTC
This is a Dell GX150 with 512M RAM and onboard i815 video. I tried 3 times to install factory from FTP. Each time I got the message "can't start X server" and got dumped into text install. First I tried twice with the 28 Aug linux and initrd, which I had downloaded to /boot, then with the then current 31 Aug versions. I later tried the 4 Sept. boot.iso CD and got the same problem. Error console shows:

(EE) Failed to load module "glx" (module does not exist, 0)
0: Xorg(xf86SigHandler+0x81) [0x80cbb11]
1: [0xb7f66420]
2: /usr/lib/xorg/modules//libfb.so(fbOddTile+0x118) [0xb7ba5978]
3: /usr/lib/xorg/modules//libfb.so(fbTile+0x8c) [0xb7ba5a3c]
4: /usr/lib/xorg/modules//libfb.so(fbFillRegionTiled+0x19e) [0xb7ba62ee]
5: /usr/lib/xorg/modules//libfb.so(fbPaintWindow+0x109) [0xb7ba65c9]
6: Xorg [0x8156cb1]
7: Xorg(miWindowExposures+0xfa) [0x810c70a]
8: Xorg(MapWindow+0x332) [0x8072c52]
9: Xorg(InitRootWindow+0xbe) [0x8072dee]
10: Xorg(main+0x42f) [0x806e55f]
11: /lib/libc.so.6(__libc_start_main+0xdc) [0xb7d1b87c]
12: Xorg(FontFileCompleteXLFS+0x1f5) [0x806d8e1]

Fatal server error:
Caught signal 11. Server aborting
Comment 1 Stefan Dirsch 2006-09-11 15:15:49 UTC
Please install Alpha4 instead. I cannot reproduce such bugreports.
Comment 2 Felix Miata 2006-09-11 15:23:36 UTC
I already did that after filing this bug (the very next day) and had the exact same problem.
Comment 3 Felix Miata 2006-09-11 15:25:23 UTC
re comment 2
Comment 4 Stefan Dirsch 2006-09-11 15:26:51 UTC
Well, could you please attach the complete logfile then?
Comment 5 Felix Miata 2006-09-11 15:59:11 UTC
The messages in comment 0 were copied from the error console during installation. I don't know where the logfile you want is located or its name. A search for files in /var/log containing "(EE) Failed to load module" failed to produce any results.

Might bug 204521 be related?
Comment 6 Stefan Dirsch 2006-09-11 16:07:24 UTC
This is the Xerver log during installation? For i815 no Xserver should be used, since i815 does not support a kernel framebuffer. I need to verify this.
Comment 7 Felix Miata 2006-09-11 16:12:14 UTC
I used alt-F[?] to find a console with that information. Are you asking me to start an install and find some log somewhere? Where is the installation log located, and what is it called? I see no candidates anywhere in /root.
Comment 8 Stefan Dirsch 2006-09-11 16:23:11 UTC
There's nothing you need to investigate. I will do so with a similar gfx card, wich can't do fbdev.
Comment 9 Felix Miata 2006-09-11 17:43:59 UTC
I get same failure on generic older Celeron 800 system with integrated i810 video.
Comment 10 Stefan Dirsch 2006-09-12 09:22:09 UTC
I cannot reproduce on a i810 machine, since I don't have one with enough RAM, so ncurses YaST will be started already because of this. :-(

So could you attach the complete logfile and config file during installation?

/var/log/Xorg.0.log
/etc/X11/xorg.conf
Comment 11 Felix Miata 2006-09-12 09:45:09 UTC
How much RAM does yours have? I get the message at start of text install that X installer didn't start possibly because of insufficient RAM even on system with 512M of RAM.

How do I get the config file and logfile "during installation"? Are they saved to the / tree somewhere to be found after installation?
Comment 12 Stefan Dirsch 2006-09-12 10:03:58 UTC
Press Alt-F2 during installation to get access to these files. Mount a floppy disk or use scp for copying it to your network.
Comment 13 Felix Miata 2006-09-12 13:53:09 UTC
Created attachment 98427 [details]
i810 installation Xorg.0.log
Comment 14 Felix Miata 2006-09-12 13:53:14 UTC
Created attachment 98428 [details]
i810 installation xorg.conf

I also have the following if you need them:
boot.msg
macro_inst_initial.ycp
xorg.conf.instorig
y2log
y2start.log
Comment 15 Stefan Dirsch 2006-09-12 14:15:18 UTC
Hmm ... the vesa driver is started, which is simply wrong. Instead a text based installation should be started. I think this is something for the installation scripts.
Comment 16 Marcus Schaefer 2006-09-12 14:27:34 UTC
why is vesa wrong if there is no framebuffer vesa would be perfectly
correct. All information needed is provided in the y2start.log file

If you don't mind provide it

Thanks
Comment 17 Stefan Dirsch 2006-09-12 14:31:50 UTC
Hmm ... I thought we no longer use the vesa driver for installation? Or was this only for IA64?
Comment 18 Marcus Schaefer 2006-09-12 14:37:30 UTC
yes this was only on ia64 because on this architecture the accelerated
driver is the only one which works (no framebuffer no vesa registers )
Comment 19 Stefan Dirsch 2006-09-12 14:43:08 UTC
Ok. Then we probably have a broken vesa driver. :-( Anyway, Felix please provide the y2start.log file.
Comment 20 Felix Miata 2006-09-12 15:18:21 UTC
Created attachment 98446 [details]
i810 installation y2start.log

The 10.1 installer does not have this problem. I have its logs too if you want them.
Comment 21 Felix Miata 2006-09-12 15:28:00 UTC
Let me know if the core dump would help too.
Comment 22 Marcus Schaefer 2006-09-12 15:28:42 UTC
Thanks for the information. The log said:

   Stage [call]: ===================================
	|-- No Framebuffer available: Using vesa driver

this is a correct behaviour. Unfortunately the X-Server couldn't be started.
If you could provide the /var/log/Xorg.*.log file we can have a look
why the X-Server failed. The config file looks good to me to run vesa

Thanks
Comment 23 Felix Miata 2006-09-12 15:30:56 UTC
That would be attachment 98427 [details]
Comment 24 Stefan Dirsch 2006-09-12 15:31:34 UTC
(In reply to comment #22)
> If you could provide the /var/log/Xorg.*.log file we can have a look
> why the X-Server failed. The config file looks good to me to run vesa
See comment #13. Looks like we have a broken vesa driver. :-(
Comment 25 Marcus Schaefer 2006-09-12 15:34:14 UTC
yes indeed
Comment 26 Felix Miata 2006-09-12 15:49:26 UTC
Yes indeed you would like a core file, or yes indeed vesa driver is broken?
Comment 27 Stefan Dirsch 2006-09-12 15:57:03 UTC
Yes, core file would help.
Comment 28 Felix Miata 2006-09-12 16:00:41 UTC
Created attachment 98462 [details]
i810 installation core
Comment 29 Stefan Dirsch 2006-09-13 07:57:50 UTC
Luckily I can reproduce this problem also with a S3 Trio (PCI) during installation.
Comment 30 Stefan Dirsch 2006-09-13 12:14:22 UTC
Program received signal SIGSEGV, Segmentation fault.
0xb7dbb13c in memcpy () from /lib/libc.so.6
(gdb) bt
#0  0xb7dbb13c in memcpy () from /lib/libc.so.6
#1  0xb7b7b6a1 in fbBlt (srcLine=0x82be970, srcStride=2, srcX=0, dstLine=0xb7b6c000, dstStride=512, dstX=0, width=64, height=4, 
    alu=3, pm=4294967295, bpp=16, reverse=0, upsidedown=0) at /usr/include/bits/string3.h:51
#2  0xb7b949b8 in fbOddTile (dst=0xb7b5c000, dstStride=512, dstX=0, width=16384, height=732, tile=0x82be970, tileStride=2, 
    tileWidth=64, tileHeight=4, alu=3, pm=4294967295, bpp=16, xRot=0, yRot=0) at fbtile.c:152
#3  0xb7b94a7c in fbTile (dst=0xb7b5c000, dstStride=512, dstX=0, width=16384, height=768, tile=0x82be970, tileStride=2, 
    tileWidth=137095536, tileHeight=4, alu=3, pm=4294967295, bpp=16, xRot=0, yRot=2) at fbtile.c:200
#4  0xb7b9532e in fbFillRegionTiled (pDrawable=0x81ff538, pRegion=0xbf9d74a8, pTile=0x82be938) at fbwindow.c:298
#5  0xb7b95609 in fbPaintWindow (pWin=0x81ff538, pRegion=0xbf9d74a8, what=0) at fbwindow.c:334
#6  0x08156c21 in damagePaintWindow (pWindow=0x81ff538, prgn=0xbf9d74a8, what=0) at damage.c:1593
#7  0x0810c69a in miWindowExposures (pWin=0x81ff538, prgn=0xbf9d74a8, other_exposed=0x0) at miexpose.c:565
#8  0x08072c52 in MapWindow (pWin=0x81ff538, client=0x81ddd68) at window.c:2816
#9  0x08072dee in InitRootWindow (pWin=0x81ff538) at window.c:524
#10 0x0806e55f in main (argc=1, argv=0xbf9d75e4, envp=0xe816f000) at main.c:429
Comment 31 Stefan Dirsch 2006-09-13 12:27:49 UTC
Well, the X Server is crashing in memcpy() in the new optimization code for fbBlt():

--- programs/Xserver/fb/fbblt.c 2005-11-29 12:29:07.000000000 +0100
+++ ../git/xserver/fb/fbblt.c   2006-08-15 11:53:39.000000000 +0200
@@ -21,12 +21,12 @@
  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  * PERFORMANCE OF THIS SOFTWARE.
  */
-/* $XFree86: xc/programs/Xserver/fb/fbblt.c,v 1.7 2000/09/22 05:58:01 keithp Ex
p $ */
 
 #ifdef HAVE_DIX_CONFIG_H
 #include <dix-config.h>
 #endif
 
+#include <string.h>
 #include "fb.h"
 
 #define InitializeShifts(sx,dx,ls,rs) { \
@@ -77,6 +77,29 @@ fbBlt (FbBits   *srcLine,
        return;
     }
 #endif
+
+    if (alu == GXcopy && pm == FB_ALLONES && !reverse &&
+            !(srcX & 7) && !(dstX & 7) && !(width & 7)) {
+        int i;
+        CARD8 *src = (CARD8 *) srcLine;
+        CARD8 *dst = (CARD8 *) dstLine;
+        
+        srcStride *= sizeof(FbBits);
+        dstStride *= sizeof(FbBits);
+        width >>= 3;
+        src += (srcX >> 3);
+        dst += (dstX >> 3);
+
+        if (!upsidedown)
+            for (i = 0; i < height; i++)
+                memcpy(dst + i * dstStride, src + i * srcStride, width);
+        else
+            for (i = height - 1; i >= 0; i--)
+                memcpy(dst + i * dstStride, src + i * srcStride, width);
+
+        return;
+    }
+
     FbInitializeMergeRop(alu, pm);
     destInvarient = FbDestInvarientMergeRop();
     if (upsidedown)
Comment 32 Stefan Dirsch 2006-09-13 13:08:42 UTC
Created attachment 98580 [details]
disable-fbblt-opt.diff

Workaround: 
Disable optimization - introduced by ajax.
Comment 33 Stefan Dirsch 2006-09-13 16:54:41 UTC
fixed (via workaround) now for buildservice and Alpha5. Matthias will further investigate this issue later.
Comment 34 Stefan Dirsch 2006-09-14 13:31:33 UTC
*** Bug 204521 has been marked as a duplicate of this bug. ***
Comment 35 Felix Miata 2006-09-20 20:35:16 UTC
Shouldn't factory ftp now have the fix? It still doesn't work.
Comment 36 Stefan Dirsch 2006-09-20 20:43:09 UTC
Check the xorg-x11-server changelog for this entry:

-------------------------------------------------------------------
Wed Sep 13 15:11:44 CEST 2006 - sndirsch@suse.de

- disable-fbblt-opt.diff:
  * Disable optimization (introduced by ajax) due to a general vesa 
    driver crash later in memcpy (Bug #204324) 
Comment 37 Felix Miata 2006-09-20 21:10:57 UTC
Comment 36 just echos comment 32 without telling me whether current factory should have a fix to test incorporated. It would be nice to confirm a fix actually works before the next iso set is released.
Comment 38 Stefan Dirsch 2006-09-20 21:32:12 UTC
Sorry, but "current factory" is simply undefined for me. Of course I tested the fix and it worked for me.
Comment 39 Felix Miata 2006-09-20 21:51:24 UTC
Today it meant whatever was located at ftp://mirrors.kernel.org/pub/opensuse/distribution/SL-OSS-factory/inst-source at the time I tried right before making comment 35.
Comment 40 Stefan Dirsch 2006-09-20 22:02:56 UTC
The one of this directory contains the patch, but this can already be a different one than you have been using. Therefore I asked you for this information.
Comment 41 Felix Miata 2006-09-20 22:45:46 UTC
(In reply to comment #40)
> The one of this directory contains the patch

Then I should have had success with today's attempt to install, but I did not. I see nothing different now than when I submitted this report.

> but this can already be a
> different one than you have been using. Therefore I asked you for this
> information.
 
I don't know what the above means, or what you would like me to do next.
Comment 42 Stefan Dirsch 2006-09-21 01:54:34 UTC
Simply check, if "rpm --changelog xorg-x11-server" on your system contains the changelog entry I mentioned in comment #36. Then the vesa driver should work when this RPM is installed.
Comment 43 Felix Miata 2006-09-21 02:51:14 UTC
Stefan, look back to your change of summary from "X installer refuses to start on i81x integrated video" on 2006-09-12 09:32:08, which was specific to installation but you changed to general vesa,  and you should see this bug was filed because of a broken installer. There is no installed xorg-x11-server on a system that has no OS installed do to failure of graphical install to start and consequent aborted install.

I tested earlier today for the existence of a fix for this bug by trying again to install graphically on my i810 system, and was unsuccessful. "It" in comment 35 referred to the installer and comment 0. "Shouldn't factory ftp now have the fix?" in comment 35 referred to being able to install graphically from ftp source, as described in comment 0 . I failed to first check to see that ftp://mirrors.kernel.org/pub/opensuse/distribution/SL-OSS-factory/inst-source/boot/i386/root  , which is what I believe is the installation program, had not been updated since comment 33, which means I wasted my time and yours today with comment 35 and following.

On the i815 system I already installed rc4 on using the text mode of the installer, I have done no updates since the comment 36 fix, and am still successfully using the i810 driver to run X.
Comment 44 Stefan Dirsch 2006-09-21 03:16:39 UTC
I'm not familiar with a factory installation. I have absolutely no idea, when fixes made in the packages (xorg-x11-server in this case) are included in the installation system of factory (which is created by using the files of the packages). Please try again with Alpha5. There's nothing more to say. I'm sorry.
Comment 45 Andreas Jaeger 2006-09-21 03:34:12 UTC
Factory is synced out every 24-48 hours.
Comment 46 Felix Miata 2006-09-21 04:17:48 UTC
Apparently a sync to 19 Sept update to inst-source/boot/i386/root and the install kernel and initrd on mirrors.kernel.org happened shortly after my installation attempt described in comment 35 . I just tried again with that new version on i810 and got the same failure. Xorg.0.log ends with the same backtrace and signal 11 as in attachment 98427 [details] . Again core dumped. I see no alpha5 to test.
Comment 47 Stefan Dirsch 2006-09-21 10:25:22 UTC
I don't have time for factory tests. Alpha5 will be released in about 3 weeks.
Comment 48 Stefan Dirsch 2006-09-21 13:24:19 UTC
*** Bug 205953 has been marked as a duplicate of this bug. ***
Comment 49 Felix Miata 2006-10-21 16:20:45 UTC
I tried on i815 with 20 Oct factory and it's still bad. No material difference that I can see in the tail of Xorg.0.log from the one in comment 0.
Comment 50 Stefan Dirsch 2006-10-23 12:47:37 UTC
Please retest with Beta1 - to be releaesd this week - by installing from a CD, since this is an installation, which we can reproduce.
Comment 51 Stefan Dirsch 2006-10-23 14:34:03 UTC
Date: Mon, 23 Oct 2006 10:19:11 -0400
From: Felix Miata <mrmazda@ij.net>
To: opensuse-factory@opensuse.org
Subject: [opensuse-factory] Re: [Bug 204324] Broken vesa driver

On 06/10/23 08:47 (GMT-0400) bugzilla_noreply@novell.com apparently typed:

> https://bugzilla.novell.com/show_bug.cgi?id=204324

> sndirsch@... changed:

>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>              Status|ASSIGNED                    |NEEDINFO
>       Info Provider|                            |mrmazda@...

>
> ------- Comment #50 from sndirsch@...  2006-10-23 06:47 MST -------
> Please retest with Beta1 - to be releaesd this week - by installing from a CD,
> since this is an installation, which we can reproduce.

Either Dirsch or I seem to be misunderstanding what factory ftp is and/or is
for. Why does Dirsch seem to think I need to waste my time burning and
installing from CD instead of just installing from FTP? Does Dirsch not
understand that even after 10.2 is released that FTP installs will need to
succeed? Does Dirsch not understand that retests only from  DVD or CD mean
that retests get delayed and could prevent a fix from being found and
verified prior to release date? Is Dirsch the only Novell person capable of
trying to recreate this bug or verify a fix? From Dirsch's comments in this
and other bugs it seems he has limited resources at his disposal. Aren't
i81x chipsets rather common? Why has this bug been open so long?
--
"The Lord is my strength and my shield; my heart trusts in him,
and I am helped."                               Psalm 28:7 NIV

 Team OS/2 ** Reg. Linux User #211409

Felix Miata  ***  http://mrmazda.no-ip.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-factory+help@opensuse.org
Comment 52 Stefan Dirsch 2006-10-23 14:43:25 UTC
Unfortunately we only have a i815 machine with 64MB available for testing and you might know, that you can't do a graphical installation with 64 MB. :-(

I could reproduce this problem on another machine with a S3 card and fixed this problem. Since it was a generic problem I assumed that it would fix the problem for i815 as well. Maybe I was wrong.

AFAIK valid bugreports can only be done against a specific beta version version and not against somewhat factory. I never did a ftp factory installation.
Comment 53 Stefan Dirsch 2006-10-24 10:11:47 UTC
I finally found a i810 machine, which should be similar to i815, which I could upgrade to 256 MB RAM. Unfortunately I saw a different problem with Alpha5+ with this machine. The vesa driver produces a blank screen, then the monitor switched off. I tried to do a text installation - to investigate the vesa driver issues later - but this resulted in installation, which could not be restarted (grub error).
Comment 54 Stefan Dirsch 2006-10-24 15:56:29 UTC
I finally managed to install Alpha5+ on this machine in textmode. Unfortunately it's not possible to create a X11 configuration with using SaX2 - neither by using vesa driver nor by using i810 driver. What a waste of time. IMHO we shouldn't support such old hardware any longer with openSUSE 10.2.
Comment 55 Stefan Dirsch 2006-10-24 15:59:54 UTC
At least you can create a i810 driver configuration with xorgconfig.
Comment 56 Stefan Dirsch 2006-10-25 12:51:01 UTC
Steffen, there's no need to read the comments above. :-)

Could you please add the agp modules (at least agpgart and intel-agp) to instsys, so it would be possible to use the native driver (i810) during installation with "acceleratedx=1"? Thanks.
Comment 57 Steffen Winterfeldt 2006-10-25 14:43:11 UTC
Added agp modules.
Hope someone loads them if needed.
Comment 58 Stefan Dirsch 2006-10-25 14:49:27 UTC
Thanks! This can be tested with Beta2 by adding acceleratedx=1 to the boot pompt.
Comment 59 Felix Miata 2006-10-25 16:34:54 UTC
(In reply to comment #54)
> IMHO we shouldn't support such old hardware any longer with openSUSE 10.2.
 
My i815 system's X works just fine with Debian Etch, Knoppix, Mandriva 2006, and Ubuntu Edgy. Dropping support for common older hardware would just add reasons for people to choose other distros.

As previously noted, I have both i810 and i815. The i810 has SUSE 10.0 installed. Its kernel line includes a parameter put there by the installer that I have never seen elsewhere: x11i=vesa. I've had absolutely no success in finding docs on x11i, so have no idea why it's there or whether it might be relevant here.

Was the S3 "card" a chip on the motherboard using shared RAM, as both i810 and i815 do?

I'm looking forward to the next ftp update to installation kernel and initrd to try again. Is acceleratedx=1 required, or optional, for a graphical installation to proceed?
Comment 60 Stefan Dirsch 2006-10-25 17:02:40 UTC
x11i=vesa on SUSE 10.0 means using the vesa driver during the installation. This is the default on openSUSE 10.2, which obviously no longer works for you and me. Well, I didn't test a SUSE 10.0 installation with my i810 machine.
The S3 card was a separate card and not "onboard". "acceleratedx=1" will be required when you want to try to use the native driver during installation
for Beta2. I seriously don't know, when this will work for the ftp installation. I'm sorry.
Comment 61 Felix Miata 2006-11-30 14:09:10 UTC
As originally filed, "X installer refuses to start on i815", using acceleratedx=1 to install has fixed this. Did this get a relnote?
Comment 62 Stefan Dirsch 2006-11-30 14:33:05 UTC
Won't help since the release notes are shown at the end of the installation but you need to know it at the begin of the installation. :-(
Comment 63 Felix Miata 2006-11-30 14:44:47 UTC
It could help, because the truly astute read the relnotes first in order to avoid installation obstacles.
Comment 64 Stefan Dirsch 2006-11-30 15:15:11 UTC
I don't think the release notes are already available in grub menu.
Comment 65 Felix Miata 2006-11-30 15:20:15 UTC
Of course not. But they should be available on the DVD or the WWW.
Comment 66 Stefan Dirsch 2006-11-30 15:26:32 UTC
Really? I wouldn't even know where to look for it on DVD or WWW.
Comment 67 Steffen Winterfeldt 2006-11-30 15:37:48 UTC
Out of curiosity I just went hunting for 10.1 release notes on opensuse.org,
but couldn't find them. Not a good sign. :-/
Comment 68 Steffen Winterfeldt 2006-11-30 15:43:34 UTC
see bug 224919
Comment 69 Felix Miata 2006-11-30 15:59:16 UTC
If relnotes are non-existent prior to installation, that's a separate problem that needs an immediate fix yesterday. If this isn't doable, then it needs to be part of the installation instructions that are readily available before starting the installe, e.g. http://www.novell.com/products/suselinux/installation.html when updated for 10.2 and/or http://<lang>.opensuse.org/Installation.

Other distros put their relnotes on the web. e.g.
http://fedora.redhat.com/docs/release-notes/fc6/en_US/
http://qa.mandriva.com/twiki/bin/view/Main/MandrivaLinux2007ReleaseNotes