# S3 SuperSavage ridiculous performace

## multix

Hi,

after getting help in another thread, I am now able again to use X11. I have a Thinkpad T23 with the S3 SuperSavage:

```
01:00.0 VGA compatible controller: S3 Inc. SuperSavage IX/C SDR (rev 05) 
```

EXA Acceleration is enabled now (switching over from no-longer supported XAA). The problem however is the unusable performance. Not only glxgears reports something around 10fps (down from around 300fps) but 2d performance is unusable: moving a window or scrolling in xterm is extremely slow. The laptop is close to unusable.

any suggestions? Is it just a bad driver ? The "savage" manpage says EXA acceleration is supported, here it looks I'm running without at all, or even worse.

Could there be other settings I am missing?

Thanks, Riccardo

----------

## NeddySeagoon

multix,

Please post your xorg.conf if you have one and put your /var/log/Xorg.0.log onto a pastebin site.

What does

```
 eselect mesa list
```

tell you?

It sounds like something is misconfigured.

----------

## multix

Hi,

I do have an xorg.conf file, I had to create one to foce the acceleration type, or XAA was still tried and failed.

sudo eselect mesa list says:

 *Quote:*   

> 
> 
> i915 (Intel 915, 945)
> 
> i965 (Intel 965, G/Q3x, G/Q4x)
> ...

 

If I interpret this right, I'm running software renderer.

the xorg log is here: http://pastebin.com/X71gNad2

my xorg says:

```

Section "ServerLayout"

        Identifier     "X.org Configured"

        Screen      0  "Screen0" 0 0

        InputDevice    "Mouse0" "CorePointer"

        InputDevice    "Keyboard0" "CoreKeyboard"

EndSection

Section "Files"

        ModulePath   "/usr/lib/xorg/modules"

        FontPath     "/usr/share/fonts/misc/"

        FontPath     "/usr/share/fonts/TTF/"

        FontPath     "/usr/share/fonts/OTF"

        FontPath     "/usr/share/fonts/Type1/"

        FontPath     "/usr/share/fonts/100dpi/"

        FontPath     "/usr/share/fonts/75dpi/"

EndSection

Section "Module"

#       Load  "xtrap"

        Load  "dri"

        Load  "extmod"

        Load  "dbe"

        Load  "record"

        Load  "glx"

EndSection

Section "InputDevice"

        Identifier  "Keyboard0"

        Driver      "kbd"

        Option      "XkbLayout" "it"

        Option      "XkbModel" "pc105"

EndSection

Section "InputDevice"

        Identifier  "Mouse0"

        Driver      "mouse"

        Option      "Protocol" "auto"

        Option      "Device" "/dev/input/mice"

        Option      "ZAxisMapping" "4 5 6 7"

EndSection

Section "Monitor"

        Identifier   "Monitor0"

        VendorName   "Monitor Vendor"

        ModelName    "Monitor Model"

EndSection

Section "Device"

        ### Available Driver options are:-

        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",

        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"

        ### [arg]: arg optional

        #Option     "NoAccel"                   # [<bool>]

        #Option     "AccelMethod"               # <str>

        #Option     "HWCursor"                  # [<bool>]

        #Option     "SWCursor"                  # [<bool>]

        #Option     "ShadowFB"                  # [<bool>]

        #Option     "Rotate"                    # [<str>]

        #Option     "UseBIOS"                   # [<bool>]

        #Option     "LCDClock"                  # <freq>

        #Option     "ShadowStatus"              # [<bool>]

        #Option     "CrtOnly"                   # [<bool>]

        #Option     "TvOn"                      # [<bool>]

        #Option     "PAL"                       # [<bool>]

        #Option     "ForceInit"                 # [<bool>]

        #Option     "Overlay"                   # [<str>]

        #Option     "TransparencyKey"           # [<str>]

        #Option     "ForceInit"                 # [<bool>]

        #Option     "DisableXVMC"               # [<bool>]

        #Option     "DisableTile"               # [<bool>]

        #Option     "DisableCOB"                # [<bool>]

        #Option     "BCIforXv"                  # [<bool>]

        #Option     "DVI"                       # [<bool>]

        #Option     "IgnoreEDID"                # [<bool>]

        #Option     "BusType"                   # [<str>]

        #Option     "DmaType"                   # [<str>]

        #Option     "DmaMode"                   # [<str>]

        #Option     "AGPMode"                   # <i>

        #Option     "AGPSize"                   # <i>

        #Option     "DRI"                       # [<bool>]

        Identifier  "Card0"

        Driver      "savage"

        VendorName  "S3 Inc."

        BoardName   "SuperSavage IX/C SDR"

        BusID       "PCI:1:0:0"

        Option      "AccelMethod" "EXA"

EndSection

Section "Screen"

        Identifier "Screen0"

        Device     "Card0"

        Monitor    "Monitor0"

        SubSection "Display"

                Viewport   0 0

                Depth     1

        EndSubSection

        SubSection "Display"

                Viewport   0 0

                Depth     4

        EndSubSection

        SubSection "Display"

                Viewport   0 0

                Depth     8

        EndSubSection

        SubSection "Display"

                Viewport   0 0

                Depth     15

        EndSubSection

        SubSection "Display"

                Viewport   0 0

                Depth     16

        EndSubSection

        SubSection "Display"

                Viewport   0 0

                Depth     24

        EndSubSection

EndSection

```

Thanks

----------

## NeddySeagoon

multix,

Xorg claims you have a lib missing.

```
[   202.642] (EE) AIGLX error: dlopen of /usr/lib/dri/savage_dri.so failed (/usr/lib/dri/savage_dri.so: cannot open shared object file: No such file or directory)

[   202.642] (EE) AIGLX: reverting to software rendering

[   203.443] (II) AIGLX: Loaded and initialized swrast

Its more likely to be a symlink.
```

What options does 

```
eselect opengl list
```

 show?

Does the file /usr/lib/dri/savage_dri.so exist?

That's what provides your hardware acceleration

----------

## Jaglover

I happen to have a T23, too. I use it occasionally when on the road and do not care about graphics acceleration ... now I started looking at it more closely and sure enough I'm having the same problem. Moreover, when upgrading xscreensaver today it complained opengl libraries missing but headers present.

----------

## multix

 *NeddySeagoon wrote:*   

> 
> 
> What options does 
> 
> ```
> ...

 

It only shows "xorg-x11"

 *Quote:*   

> 
> 
> Does the file /usr/lib/dri/savage_dri.so exist?
> 
> That's what provides your hardware acceleration

 

It does not indeed! What package does provide it? I might try reemerging it. revde-rebuild showed no issues.

Riccardo

----------

## paulj

You should be able to identify who provides the file:

```
equery belongs /usr/lib/dri/savage_dri.so
```

----------

## NeddySeagoon

multix,

I think it was provided by mesa but in not in the latest testing mesa.

I don't have any old mesa sources to check, but from running emerge -pv =mesa-<version>. it looks like the last version to support savage was media-libs/mesa-7.11.2.

The way forward to keep hw acceleration is to install this version of mesa and downgrade anything thats not compatible.

----------

## cwr

I've run Gentoo on a T23 for some years now, though with the increasing

requirement for 3D video drivers it may be reaching the end of its life.

I've posted my .config file to http://pastebin.com/wGRaiEf8

and the resulting dmesg output to http://pastebin.com/FSdaV18z

glxgears (running at its default window size) gives the following results:

cwr@florin ~ $ glxgears

1141 frames in 5.0 seconds = 228.104 FPS

1155 frames in 5.0 seconds = 230.810 FPS

1155 frames in 5.0 seconds = 230.870 FPS

1155 frames in 5.0 seconds = 230.825 FPS

1155 frames in 5.0 seconds = 230.830 FPS

cwr@florin ~ $ 

The kernel is 3.2.12, the desktop is Gnome 2.32.1, and there's no xorg.conf.

The kernel is built with genkernel, and is pretty standard except for the

use of the obsolete PATA drivers instead of the current SATA.  The SATA

drivers work perfectly well, it's just that I've never bothered to change

over.

The T23 MBR is pretty neurotic, if you want to keep the F11 key functionality,

so I boot Gentoo using the XP menu to boot grub.  The grub.conf file for

booting with legacy Grub is:

```

#

# Boot menu configuration file.

#

# Version 0.7 of 9 February 2008.

#

# Boot automatically after 10 secs.

timeout 10

# By default, boot the first entry.

default 0

# Re-run the test kernel.

#default 1

# Fallback entry

fallback 3

# Set some reasonable colors.

color green/black light-green/black

# For booting Gentoo 2012.1 / 3.2.12

title Gentoo 2012.1 / 3.2.12 Experimental (/dev/hda14)

root (hd0,7)

kernel /kernel-genkernel-x86-3.2.12-gentoo-3 init=/linuxrc real_root=/dev/hda14

initrd /initramfs-genkernel-x86-3.2.12-gentoo-3

# ... Entries removed ...

# For booting from the Ultrabay.

# Ubuntu sees the Ultrabay as sdb, not sdc.

title      Ubuntu 10.04 / 2.6.32 (Ultrabay)

uuid      55443ddc-08fb-4358-bef6-f2df144b6f2f

kernel      /boot/vmlinuz-2.6.32-42-generic root=UUID=55443ddc-08fb-4358-bef6-f2df144b6f2f ro quiet splash 

initrd      /boot/initrd.img-2.6.32-42-generic

quiet

# eof

```

The conkyrc file to monitor the T23 temperatures (and some other stuff) is:

```

# Conky, a system monitor, based on torsmo

#

# Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen

# Copyright (c) 2005-2007 Brenden Matthews, Philip Kovacs, et. al. (see AUTHORS)

# All rights reserved.

#

# The T23 uses temperature sensors hwmon 0 1,2,3,7, but 7 is fixed at 29 deg C.

# (For some reason the 2.x kernels use hwmon 0, and the 3.x kernels hwmon 1.)

#

alignment middle_right

background no

border_width 1

cpu_avg_samples 2

default_color white

default_outline_color white

default_shade_color white

double_buffer yes

draw_borders no

draw_graph_borders yes

draw_outline no

draw_shades no

font -b&h-lucidatypewriter-medium-r-normal-sans-12-120-75-75-m-70-iso8859-1 

gap_x 10

gap_y 40

minimum_size 5 5

net_avg_samples 2

no_buffers no

out_to_console no

own_window yes

own_window_class Conky

own_window_type normal

own_window_transparent yes

own_window_hints undecorated,below,skip_taskbar,skip_pager

short_units yes

stippled_borders 0

update_interval 2.0

uppercase no

use_spacer none

show_graph_scale no

show_graph_range no

TEXT

${color black}$nodename : ${addr eth0} : $kernel$color

$hr

${color black}Uptime      :$color $uptime_short${color black} Freq:$color $freq${color black} MHz.

${color black}Temperatures:$color ${hwmon 1 temp 1} ${hwmon 1 temp 2} ${hwmon 1 temp 3}${color black} ${iconv_start UTF-8 ISO_8859-1}°${iconv_stop}C.

${color black}Processes   :$color $processes ${color black}Running:$color $running_processes

${color black}CPU Usage   :$color $cpu% ${cpubar 4}

${color black}RAM Usage   :$color $memperc% ${membar 4}

${color black}Swap Usage  :$color $swap/$swapmax $swapperc% ${swapbar 4}

$hr

${color black}File system :

${color black} / $color${fs_free /}/${fs_size /} ${fs_bar 6 /}

${color black} /home $color${fs_free /home}/${fs_size /home} ${fs_bar 6 /home}

${color black} /var $color${fs_free /var}/${fs_size /var} ${fs_bar 6 /var}

$hr

${color black}Networking  :$color ${upspeed eth0}/s${color black} Up$color ${downspeed eth0}/s${color black} Down$color

$hr

${color black}Name               PID   CPU %  MEM % 

${color black} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}

${color black} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}

${color black} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}

${color black} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}

# eof

```

Will

----------

## multix

EOL? wold be sad, it is one of the best laptops I have ever used... I have newer ones, but their keyboards are flimsy, screens not up to par. The T23 is excellent to work with! Sure, not the latest multimedia monster, but I don't need high 3d speed: I use WindowMaker and GNUstep (as a developer of). 300fps in glxgears are more than enough. The problem is 2D performance, when scrolling inside an editor or xterm becomes unbearable.

 *Quote:*   

> 
> 
> equery belongs /usr/lib/dri/savage_dri.so
> 
> 

 

Shows nothing.

CWR, which xorg & mesa versions are you running?

http://mesa3d.sourceforge.net/systems.html

shows indeed savage as deprecated & removed.

----------

## multix

Hmm.. but why do I need a 3d driver to get acceptable 2d performance? this is somehow convoluted. Does it have to do with the acceleration architecture change? Shouldn't the xorg driver for s3 be enough? AS said, i'm interested only in 2d acceleration.

I tried downgrading mesa, but it breaks for me.

```

gallivm/lp_bld_debug.cpp: In function 'void lp_disassemble(const void*)':

gallivm/lp_bld_debug.cpp:189:25: error: 'getHostTriple' is not a member of 'llvm::sys'

gallivm/lp_bld_debug.cpp:234:66: error: no matching function for call to 'llvm::Target::createMCInstPrinter(unsigned int&, const llvm::MCAsmInfo&, const llvm::MCSubtargetInfo&) const'

gallivm/lp_bld_debug.cpp:234:66: note: candidate is:

/usr/include/llvm/Support/TargetRegistry.h:395:20: note: llvm::MCInstPrinter* llvm::Target::createMCInstPrinter(unsigned int, const llvm::MCAsmInfo&, const llvm::MCInstrInfo&, const llvm::MCRegisterInfo&, const llvm::MCSubtargetInfo&) const

/usr/include/llvm/Support/TargetRegistry.h:395:20: note:   candidate expects 5 arguments, 3 provided

gallivm/lp_bld_debug.cpp:248:80: error: no matching function for call to 'llvm::Target::createTargetMachine(std::string&, std::string, const char [1]) const'

gallivm/lp_bld_debug.cpp:248:80: note: candidate is:

/usr/include/llvm/Support/TargetRegistry.h:340:20: note: llvm::TargetMachine* llvm::Target::createTargetMachine(llvm::StringRef, llvm::StringRef, llvm::StringRef, const llvm::TargetOptions&, llvm::Reloc::Model, llvm::CodeModel::Model, llvm::CodeGenOpt::Level) const

/usr/include/llvm/Support/TargetRegistry.h:340:20: note:   candidate expects 7 arguments, 3 provided

gmake[3]: *** [gallivm/lp_bld_debug.o] Error 1

```

Riccardo

----------

## Gusar

 *multix wrote:*   

> Hmm.. but why do I need a 3d driver to get acceptable 2d performance?

 

You don't. Getting a 3d driver is a separate issue. For which I'd suggest to disable gallium, or at least llvm. The s3 driver doesn't use them anyway, so disabling them will maybe get the thing to compile.

For 2d, if EXA sucks, try the ShadowFB or NoAccel options.

----------

## cwr

Video software is basically the current versions - slightly outdated, I think but:

xorg-drivers-1.11

xorg-server-1.11.2-r2

xorg-x11-7.4-r2

mesa-7.11.2

mesa-progs-8.0.1

I don't use 3D, since I run Gnome 2.x, but current versions of Gnome

apparently require it - at least, Gnome 3.x won't install with complaints

about 2D drivers, so the upgrade path is obscure.

A pity, since as others have said the T23 is a very, very nice machine.

Will

----------

## chithanh

Mesa has no savage driver any more, because all DRI1 drivers have been dropped some time ago.

A couple of users reported slowness with EXA, but the only recourse at this time is staying with XAA and <xorg-server-1.13. If you experience slowness (and are not using a compositing window manager), you could report to https://bugs.freedesktop.org/

----------

## Gusar

DRI1 drivers were indeed removed starting with mesa 8. However, you can build them from the mesa 7.11 tarball and they'll continue to work with later mesas. That's what Arch does, they package mesa 9, but DRI1 drivers are also packaged and working. Though for Gentoo it's probably simpler to just stick to mesa 7.11.

As for 2d, like I said, try the ShadowFB or NoAccel options. My oldest laptop has SiS graphics, and EXA is broken in the xf86-video-sis driver. So now that XAA is gone, I activated ShadowFB and it's working great. XAA wasn't accelerating anything for years anyway, so there's no loss in using ShadowFB.

----------

## Jaglover

I could not get it working with ShadowFB, finally I tried fbdev instead of savage and it is giving satisfactory 2D results, better than savage indeed.

----------

## Ant P.

Sometimes the common graphics primitive usage patterns run better on the CPU anyway - that's why KDE4 has the raster backend, for example.

----------

## multix

I downgraded mesa to version 7, I had to mask alo glpropo and eselect-opengl to prior versions.

Now it is fine: I have around 220-230 fps with glxgears! But 2d performance is still total crap. Also there is a problem when exiting X11, I don't get back to the text consoles, ut black screen. This is true also if trying to switch consoles while running X.

 besides downgrading Xorg, how do I enable shadowfb as you suggested?

I thing a bug about XAA is needed though

----------

## cwr

I haven't tried switching consoles, but exiting X gets me to the standard terminal

I started with (I start Gnome from a shell prompt with "startx").

It looks as if the recent X/Mesa upgrades broke quite a lot of stuff; a few years

back Savage was flakey, but it's been reliable for a while now.  Apparently

no longer.

BTW, if you want a decent battery monitor for the T23 Gnome panel, there's

one I wrote at www.seckford.net.

Good luck - Will

----------

## Gusar

Are you guys actually doing something with 3D besides running glxgears? Cos the thing is, shadowfb disables all acceleration.

Also, has *any* of you filed bugs upstream about EXA not working well?

----------

## wcg

Bad 2d scrolling performance sounds like a frame buffer problem.

I noticed that when I went from nv, no dri, and no frame buffer

to nouveau with a frame buffer at about kernel 2.6.36 with an

nvidia gpu. (In kernel 3.3.8, very slow text scrolling is still there.)

The frame buffer is handy in text mode for resolution, but line-by-line

scrolling in a text buffer is much slower than it was without any

frame buffer. (I have to use page up/page down in less instead

of the up/down arrows, or the slow response becomes annoying.)

----------

## multix

 *Gusar wrote:*   

> Are you guys actually doing something with 3D besides running glxgears? Cos the thing is, shadowfb disables all acceleration.
> 
> Also, has *any* of you filed bugs upstream about EXA not working well?

 

I'm not using any 3d right now, first, I want 2D back to usability!

I haven't filed any bug, neither on gentoo nor upstream because I don't know if it is "my" problem or not: after Xorg upgrade XAA stops working and thus I am suggested to switch to EXA, which should be supported and the problems continued. Before filing a bgu I want to understand if the problem is something misconfigured.

I guess that the 3d problem came out since from my logs there was a problem with it, but it is not the real problem.

----------

## multix

 *cwr wrote:*   

> I haven't tried switching consoles, but exiting X gets me to the standard terminal
> 
> I started with (I start Gnome from a shell prompt with "startx").
> 
> It looks as if the recent X/Mesa upgrades broke quite a lot of stuff; a few years
> ...

 

Well, let's see if we can configure things back to usability.

Thanks for the battery panel, but I don't run gnome. I run GNUstep instead and just by chance I am the author of batmon.app which happens to support the T23  :Smile: 

----------

## Gusar

I just remembered something. Try this as xorg.conf:

```
Section "Device"

    Identifier "S3 SuperSavage"

    Driver     "savage"

    Option     "AccelMethod" "EXA"

    Option     "MigrationHeuristic" "greedy"

EndSection
```

Also, try adding

```
    Option     "AGPforXv" "true"
```

to the above.

----------

## Jaglover

Thanks, but no joy. Back to fbdev.

Frankly, I do not think filing a bug is justified in this case. Devs have better things to do than support rare ancient hardware. Besides, fbdev works for me. I run just a few apps on it, like OBD-2 software, Garmin navigation, a few others. Nothing that needs graphics acceleration.

----------

## multix

Gusar,

thanks, but your two options did not help: I still get bad performance and a black screen after exit.

I'll file a bug to gentoo in the meanwhile, I think that linux and open source iis also about support of older hardware. Else, I could just change laptop every year and use Windows or Mac, if I had that philosophy.

Riccardo

----------

