Bug 805380

Summary: Graphics fail on T23 with S3 Savage - workarounds available
Product: [openSUSE] openSUSE 12.3 Reporter: Howard Moreland <hrm_sfo>
Component: X.OrgAssignee: E-mail List <xorg-maintainer-bugs>
Status: RESOLVED FIXED QA Contact: E-mail List <xorg-maintainer-bugs>
Severity: Normal    
Priority: P3 - Medium CC: forgotten_pFOzM9FCvQ, hrm_sfo
Version: RC 1   
Target Milestone: ---   
Hardware: i686   
OS: SUSE Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: Xorg.0.log file from the failed boot
xf86-video-savage-2.3.6-19.2.i586 conflicts

Description Howard Moreland 2013-02-23 01:50:46 UTC
Created attachment 526166 [details]
Xorg.0.log file from the failed boot

User-Agent:       Opera/9.80 (X11; Linux i686) Presto/2.12.388 Version/12.14

Graphics do not work during and after a standard install of openSUSE 12.3 RC1, KDE 4.10, 32-bit on a Thinkpad T23 with S3 Savage graphics and xf86-video-savage driver version 2.3.6-2.1.1

The first part of the install went normally. When it did the first reboot, it could not start the graphics, so did the rest of the install in the text-based mode. That completed OK, including on-line update to kernel 3.7.7-1.2-default.

 With the installation finished, doing a normal boot stopped at the statement "Reached target Graphical Interface". The Xorg.0.log file from the failed boot is attached.

The system would boot into "recovery mode" with decent, but slow, graphics.

System hardware information is:
24: PCI(AGP) 100.0: 0300 VGA compatible controller (VGA)
  [Created at pci.319]
  Unique ID: VCu0.jjzIPZ_Zra1
  Parent ID: vSkL.7ikikoAJ7O0
  SysFS ID: /devices/pci0000:00/0000:00:01.0/0000:01:00.0
  SysFS BusID: 0000:01:00.0
  Hardware Class: graphics card
  Model: "IBM ThinkPad T23"
  Vendor: pci 0x5333 "S3 Inc."
  Device: pci 0x8c2e "SuperSavage/IXC 64 SDR"
  SubVendor: pci 0x1014 "IBM"
  SubDevice: pci 0x01fc "ThinkPad T23"
  Revision: 0x05
  Memory Range: 0xc0100000-0xc017ffff (rw,non-prefetchable)
  Memory Range: 0xe8000000-0xebffffff (ro,non-prefetchable)
  Memory Range: 0xe4000000-0xe7ffffff (ro,non-prefetchable)
  Memory Range: 0xe0000000-0xe1ffffff (ro,non-prefetchable)
  Memory Range: 0xe2000000-0xe200ffff (ro,non-prefetchable,disabled)
  IRQ: 11 (1355 events)
  I/O Ports: 0x3c0-0x3df (rw)
  Module Alias: "pci:v00005333d00008C2Esv00001014sd000001FCbc03sc00i00"
  Driver Info #0:
    XFree86 v4 Server Module: savage
  Config Status: cfg=no, avail=yes, need=no, active=unknown
  Attached to: #15 (PCI bridge)

There are workarounds by Mark Alford described at http://www.physics.wustl.edu/~alford/thinkpad/T23_F17.html, and by oldcpu described at https://forums.opensuse.org/english/get-technical-help-here/pre-release-beta/483333-score-so-far-t-23-x-31-lenovo-g570-12-3-rc1-2.html#post2528944

Both involve enabling the option "DisableTile".

Both workarounds succeeded in getting my T23 (2647-8MU) to boot normally.

Reproducible: Always

Steps to Reproduce:
1.Try to boot the default installation normally
2.
3.
Actual Results:  
Boot sequence stops at the statement "Reached target Graphical Interface".

Expected Results:  
Continue boot sequence and display log-in screen
Comment 1 Stefan Dirsch 2013-02-25 11:54:59 UTC
Hmm. I would like to verify first, whether the latest fixes to the driver in git already help. I added them to

  obs://X11:XOrg/xf86-video-savage [1]

package. Check for the RPM changelog entry

* Mo Feb 25 2013 sndirsch@suse.com
- U_savage-move-compat-api.h-down-to-proper-place.patch
  * This screws up when DRI isn't enabled.
- U_savage-fix-default-accel-arch-when-built-with-no-XAA.patch
  * fix default accel arch when built with no XAA (bnc#805380?)

[1] http://download.opensuse.org/repositories/X11:/XOrg/openSUSE_Factory/i586/
Comment 2 Howard Moreland 2013-02-25 23:51:40 UTC
I started to test this. First the system updated the kernel to 3.7.9-1.4, and updated grub2. Before the update, the system would boot into recovery mode via the grub2 menu. Now after the update, it will not boot into recovery mode. Boot sequence stops at the statement "Reached target Graphical Interface".

In the 12.3 grub2 menu there is no box to insert boot parameters. How do I get one? Is the right parameter to boot into a command line "multi-user.target"?

I hope in CLI I can start yast2, then update to xf86-video-savage-2.3.6-15.1.i586.rpm and see what happens.

Thanks,
Howard
Comment 3 Stefan Dirsch 2013-02-26 14:46:50 UTC
OMG. I asked you to update the X driver. Now you've updated your whole system and are now failing for completely different reasons. :-(
Comment 4 Howard Moreland 2013-02-26 15:34:40 UTC
The 3.7.7-1.2 kernel is still installed, and I can easily reverse the grub2 versions if I can boot without graphics. How can I boot to a command line, like used to be done with runlevel 3? The grub2 menu has no way to add boot options.
Thanks,
Howard
Comment 5 Stefan Dirsch 2013-02-26 15:51:24 UTC
http://doc.opensuse.org/documentation/html/openSUSE/opensuse-reference/grub2.html

--> 10.2.6. Editing Menu Entries during the Boot Procedure
Comment 6 Howard Moreland 2013-02-28 06:01:43 UTC
Thanks, the document helped. This T23 is back to the state before the kernel and grub2 updates. The kernel is 3.7.6-1.2.1, grub2 is 2.00-19.2.1, xf86-video-savage is 2.3.6-2.1.1.

Normal boot sequence stops at the statement "Reached target Graphical Interface".

Booting into grub2 recovery mode works.

I updated xf86-video-savage to version 2.3.6-15.1 from the link in comment #1. There was no change in behavior. Normal boot sequence stops at the statement "Reached target Graphical Interface".

I applied the workaround edit to the /etc/X11/xorg.conf.d/50-device.conf file, and normal boot works.
Comment 7 Stefan Dirsch 2013-02-28 09:50:59 UTC
Ok. Let's disable it.

This time check for RPM changelog entry:

-------------------------------------------------------------------
Thu Feb 28 09:47:41 UTC 2013 - sndirsch@suse.com

- u_Disable-tiling-on-SuperSavage-IXC-64-Novell-Bugzilla.patch
  * disables tiling on SuperSavage/IXC 64 (bnc#805380)
Comment 8 Howard Moreland 2013-02-28 22:30:04 UTC
This is a bit cryptic. Is the "NEEDINFO" addressed to me? If so, does it refer to a newer version of xf86-video-savage-2.3.6-15.1.i586.rpm at the link in comment #1? At the moment that file is timestamped 25-Feb-2013 12:53.

I'm glad to try what you request, but I need a bit more detail.
Regards,
Howard
Comment 9 Stefan Dirsch 2013-03-01 09:40:15 UTC
(In reply to comment #8)
> This is a bit cryptic. Is the "NEEDINFO" addressed to me? If so, does it refer
> to a newer version of xf86-video-savage-2.3.6-15.1.i586.rpm at the link in
> comment #1? 

2x yes.

> At the moment that file is timestamped 25-Feb-2013 12:53.

It has been rebuilt meanwhile and contains the required changelog entry. Pleas test. ;-)
Comment 10 Stefan Dirsch 2013-03-01 09:41:44 UTC
And please without giving the "DisableTile" option. ;-) It's now the default in this driver for your GPU.
Comment 11 Howard Moreland 2013-03-01 21:50:46 UTC
Unfortunately, the new driver did not help. I updated to xf86-video-savage-2.3.6-16.1, where the changelog contains 
Thu 28 Feb 2013 04:00:00 AM PST
sndirsch@suse.com
- u_Disable-tiling-on-SuperSavage-IXC-64-Novell-Bugzilla.patch
  * disables tiling on SuperSavage/IXC 64 (bnc#805380)

I undid the workaround (went back to the original 50-device.conf file with all lines # commented).

No change in behavior. Normal boot sequence stops at the statement "Reached target Graphical Interface". Booting into grub2 recovery mode works. With the workaround back in place, normal booting works.

I see the changelog says -64-. Does this mean 64 bit instructions? This T23 is a 32 bit machine.

Howard
Comment 12 Stefan Dirsch 2013-03-02 04:17:43 UTC
omg. I did something stupid. Redid the patch. Try that one:

Sat Mar  2 04:09:27 UTC 2013 - sndirsch@suse.com

- u_Disable-tiling-on-SuperSavage-Novell-Bugzilla-805380.patch
  * Disable tiling on SuperSavage (Novell Bugzilla #805380)
- obsoletes 
  u_Disable-tiling-on-SuperSavage-IXC-64-Novell-Bugzilla.patch
Comment 13 Howard Moreland 2013-03-02 05:07:21 UTC
Success - you did something smart. I installed xf86-video-savage-2.3.6-17.1 and undid the workaround. Normal booting works correctly. Thanks for fixing this.

Will this driver version be in the final release of openSuSE 12.3?

I may skip putting RC2 on this T23.

Best regards,
Howard
Comment 14 Howard Moreland 2013-03-02 06:18:57 UTC
Forgot to mark this as Fixed in my previous comment.
Comment 15 Stefan Dirsch 2013-03-02 10:18:16 UTC
The fix won't be in 12.3. Probably you're the only person on the world still using a Savage in a laptop. How old is this laptop? 10+ years?
Comment 16 Bernhard Wiedemann 2013-03-02 11:00:08 UTC
This is an autogenerated message for OBS integration:
This bug (805380) was mentioned in
https://build.opensuse.org/request/show/157084 Factory / xf86-video-savage
Comment 17 Howard Moreland 2013-03-02 17:51:12 UTC
There is a least one other running T23, belonging to the person who started the forum thread at https://forums.opensuse.org/english/get-technical-help-here/pre-release-beta/483333-score-so-far-t-23-x-31-lenovo-g570-12-3-rc1.html

That posting got me started testing 12.3 on my T23.

You're right about the age. The sticker date is November 2002.

It's basically dedicated to doing MIDI activities. It multi-boots openSuSE, Windows XP, and Windows 98SE.

Cheers,
Howard
Comment 18 Stefan Dirsch 2013-03-04 09:55:51 UTC
Yes, you're right. You're not the only person ...
Comment 19 Forgotten User pFOzM9FCvQ 2013-03-16 19:08:20 UTC
I had similar problems with my old Laptop and its VGA compatible controller: S3 Inc. VT8636A [ProSavage KN133] AGP4X VGA Controller (TwisterK) (rev 01). 
I had OpenSuSE 12.2 Tumbleweed up and running smoothly with a 3.8.2 kernel when the 'zypper dup' update to OpenSuSE 12.3 ruined my X11 graphics configuration.

After booting only the upper half of the screen showed the KDE login screen, the lower part only vertical stripes - not usable at all. I had had similar problems when installing Fedora 17 on that laptop in a multiboot coonfiguration. Fedora finally supplied a changed xf86-video-savage driver (xorg-x11-drv-savage-2.3.4-1.fc17.i686.rpm) that fixed the problem. 

This bug report and the linked workarounds helped a lot to get the old laptop up and running with OpenSuSE 12.3 again.

I had to create the /etc/X11/xorg.conf.d/50-device.conf file with this content:

Section "Device"
  Identifier "Default Device"

  Driver "savage"
  Option "DisableTile" 
EndSection

OpenSuSE 12.3 now started KDE, still reacting more sluggish than with previous OS 12.2. I noticed, that the kernel did not load the savage driver on startup, so I added 'modprobe savage' to  /etc/init.d/boot.local .
Now the scrolling of web pages works well again and the graphic card is recognized correctly according to the /var/log/Xorg.0.log .

I appreciate a lot, that Linux doesn't force you to forget about your old hardware with every second update of the operating system!

3.7.10-1.1-pae #1 SMP  i686 athlon i386 GNU/Linux
Repository: openSUSE Current OSS
Name: xf86-video-savage
Version: 2.3.6-2.2.1
Arch: i586
Comment 20 Howard Moreland 2013-03-19 03:32:07 UTC
Created attachment 530298 [details]
xf86-video-savage-2.3.6-19.2.i586 conflicts
Comment 21 Howard Moreland 2013-03-19 03:43:41 UTC
I installed openSuSE 12.3 final release from DVD on my T23 ThinkPad:
OS:  Linux 3.7.10-1.1-default i686
  System:  openSUSE 12.3 (i586)
  KDE:  4.10.00 "release 1"

During installation, I had xf86-video-savage-2.3.6-17.1.i586.rpm installed from a USB flash drive. Graphics behave well, and rebooting works.

I notice that at the link in comment 1, the current version is xf86-video-savage-2.3.6-19.2.i586. When I tried to test updating to this, there were 50+ changes needed to resolve dependencies. See attachment xf86-video-savage-2.3.6-19.2.i586 conflicts in comment 20.

Where can owners of old S3 Savage graphics cards get xf86-video-savage-2.3.6-17.1.i586.rpm? Or should we (1) update to all the factory packages, or (2) use the 12.3 default xf86-video-savage-2.3.6-2.2.1
.i586.rpm and change the /etc/X11/xorg.conf.d/50-device.conf file to DisableTile?

Thanks,
Howard
Comment 22 Stefan Dirsch 2013-03-19 04:50:26 UTC
Meanwhile Xserver in obs://X11:XOrg has been updated to a newer VIDEO Driver ABI.
So please no longer try to install/use this version on openSUSE 12.3. Instead just use

  Option "DisableTile"

in /etc/X11/xorg.conf.d/50-device.conf as stated in comment #19
without updating any package.
Comment 23 Howard Moreland 2013-03-20 02:01:40 UTC
Change log for xf86-video-savage-2.3.6-19.2.i586.rpm, currently in http://download.opensuse.org/repositories/X11:/XOrg/openSUSE_Factory/i586/, states:


Sat 02 Mar 2013 04:00:00 AM PST
sndirsch@suse.com
- u_Disable-tiling-on-SuperSavage-Novell-Bugzilla-805380.patch
  * Disable tiling on SuperSavage (Novell Bugzilla #805380)
- obsoletes
  u_Disable-tiling-on-SuperSavage-IXC-64-Novell-Bugzilla.patch

Does this imply that DisableTile will be built into the driver for the next release of openSuSE (13.n?)?

Thanks,
Howard
Comment 24 Stefan Dirsch 2013-03-20 09:28:45 UTC
(In reply to comment #23)
> Does this imply that DisableTile will be built into the driver for the next
> release of openSuSE (13.n?)?

Yes, exactly.