# [SOLVED] S3 Trio, Xorg i undefined symbol.

## BeteNoire

Zaszła potrzeba postawienia Gentoo na starym kompie. Skompilowałem, uruchomiłem, konfiguruję X...

Kartę graficzną ów staruszek ma taką: 

```
lspci|grep VGA

00:0a.0 VGA compatible controller: S3 Inc. 86c775/86c785 [Trio 64V2/DX or /GX] (rev 04)
```

Niestety przy próbie uruchomienia X wyskakuje:

```
X: symbol lookup error: /usr/lib/xorg/modules/drivers/s3_drv.so: undefined symbol: S3AccelInitNewMMIO
```

Próbowałem konfigurować X przez xorgconfig (wyświetlił, że nie obsługuje S3 i będzie używał drivera vga), probowałem xorgcfg i X -configure - tu pojawia się powyższy "niezdefiniowany symbol".

Co ciekawe - pod Slaksem Xorg działa na driverze s3. Probowałem stamtąd kopiować xorg.conf ale nic to nie dało.

emerge --info tego dziadka to:

```
emerge --info

Portage 2.1.2_rc2 (default-linux/x86/2006.1, gcc-4.1.1, glibc-2.5-r0, 2.6.18-gentoo-r2-bno i586)

=================================================================

System uname: 2.6.18-gentoo-r2-bno i586 AMD-K6(tm) 3D processor

Gentoo Base System version 1.12.6

Last Sync: Tue, 21 Nov 2006 13:20:01 +0000

ccache version 2.4 [enabled]

dev-java/java-config: 1.3.7, 2.0.30

dev-lang/python:     2.4.4

dev-python/pycrypto: 2.0.1-r5

dev-util/ccache:     2.4-r6

sys-apps/sandbox:    1.2.18.1

sys-devel/autoconf:  2.13, 2.61

sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10

sys-devel/binutils:  2.17

sys-devel/gcc-config: 1.3.14

sys-devel/libtool:   1.5.22

virtual/os-headers:  2.6.17-r1

ACCEPT_KEYWORDS="x86 ~x86"

AUTOCLEAN="yes"

CBUILD="i586-pc-linux-gnu"

CFLAGS="-march=k6 -Os -pipe -fomit-frame-pointer"

CHOST="i586-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/share/config/kdm /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/share/X11/xkb /usr/share/config /var/qmail/control"

CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/splash /etc/terminfo"

CXXFLAGS="-march=k6 -Os -pipe -fomit-frame-pointer"

DISTDIR="/pt/distfiles"

FEATURES="autoconfig ccache confcache distlocks metadata-transfer nodoc parallel-fetch sandbox sfperms strict userfetch userpriv usersandbox"

GENTOO_MIRRORS="ftp://gentoo.po.opole.pl"

LANG="pl_PL.UTF-8"

LC_ALL="pl_PL.UTF-8"

LDFLAGS="-Wl,-O1"

LINGUAS="pl"

MAKEOPTS="-j2 -s"

PKGDIR="/pt/packages"

PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/excluded"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/pt/temp"

PORTDIR="/portage"

PORTDIR_OVERLAY="/pt/overlay"

SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"

USE="x86 3dnow 7zip X aac acpi alsa atm audacious audiofile bash-completion berkdb bitmap-fonts bittorrent bzip2 ccache cli cracklib crypt cups curl dga dhcp dlloader dri elibc_glibc encode escreen exif extramodules extras fat fbcon fbsplash firefox flac fltk fortran ftp gdbm gif gimpprint glibc-omitfp glut gpm gtk gtk2 hddtemp iconv idn imagemagick imap imlib input_devices_keyboard input_devices_mouse irc isdnlog jpeg kde kdehiddenvisibility kernel_linux key-screen kqemu lame lcms libedit libg++ libwww linguas_pl lm_sensors mad mikmod mmx mmxext motif mozbranding moznocompose moznoirc moznopango moznoroaming mp3 mplayer multiuser musepack ncurses nls nptl nptlonly nsplugin ntfs ogg opengl oss pcre pdf perl pmu png pop ppds pppd python qt3 quicktime readline reflection reiser4 reiserfs rss sdl session slang sndfile sox spl ssl subtitles svg svga symlink tabs tcpd thesaurus tiff truetype truetype-fonts type1-fonts udev unicode usb userland_GNU userlocales video_cards_s3 video_cards_vesa video_cards_vga vim-pager vorbis wifi win32codecs xfs xine xorg xpm xrandr xv xvid zlib"

Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK
```

Konfig kernela TUTAJ.

Jakieś pomysły co do tego undefined symbol?

[EDIT]

Problem rozwiązany przez update drivera do wersji xf86-video-s3-0.5.0

Szkoda, że dzień po tym jak kupiłem na allegro Rive TNT...

[/EDIT]

----------

## mbar

Człowieku, nie używaj -Os  :Smile: 

A poza tym to zobacz, czy sterownik nie siedzi czasem w x11-drm (może z opcją USE insecure-drivers czy coś).

----------

## BeteNoire

 *mbar wrote:*   

> A poza tym to zobacz, czy sterownik nie siedzi czasem w x11-drm (może z opcją USE insecure-drivers czy coś).

 

Sterownik to x11-drivers/xf86-video-s3. Ten ebuild daje moduł s3. Problem w tym co znaczy ten dziwny "undefined symbol".

 *mbar wrote:*   

> Człowieku, nie używaj -Os 

 

Widziałem też w innych postach, że jesteś wrogiem tej flagi ale ja nigdy nie miałem z tym większych problemów. Mniejsze binarki przydają się przy małym cache'u procka jak i do oszczędności miejsca na dysku. IMHO.

----------

## mbar

Ja bym sobie dużej nadziei na uruchomienie S3 Trio nie dawał.

Co pokazuje emerge -pv mesa?

----------

## fstab

 *mbar wrote:*   

> Ja bym sobie dużej nadziei na uruchomienie S3 Trio nie dawał.

 

Ja raczej też. To jest archaiczna karta i już nie pierwszy raz słyszę, że robi problemy w Linuksie. Ja bym na twoim miejscu zmienił to na jakiegoś "młodszego starocia" np. ati rage, albo riva 128. Wtedy prędzej to odpalisz.

----------

## BeteNoire

 *mbar wrote:*   

> Ja bym sobie dużej nadziei na uruchomienie S3 Trio nie dawał.
> 
> Co pokazuje emerge -pv mesa?

 

Jeśli Slax sobie tą kartę skonfigurował to i w Gentoo można.

```
emerge -pv mesa

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild   R   ] media-libs/mesa-6.5.1-r1  USE="motif nptl -debug -doc -hardened" VIDEO_CARDS="-i810 -mach64 -mga -none -r128 -radeon -s3virge -savage -sis (-sunffb) -tdfx -trident -via" 0 kB
```

 *fstab wrote:*   

> Ja bym na twoim miejscu zmienił to na jakiegoś "młodszego starocia" np. ati rage, albo riva 128. Wtedy prędzej to odpalisz.

 

Rozumiem, że chcesz mi taką podarować?  :Wink: 

----------

## milu

Czy S3Trio nie jest spokrewniona sterownikowo z S3Virge?? Tak mnię natchnęło patrząc na zawartość VIDEO_CARDS.

----------

## BeteNoire

Prawdopodobnie jest. Na płytce drukowanej karty napisali  *Quote:*   

> S3 Trio/Virge

 . Jednak lspci oraz lista kart wyświetlana przez xorgconfig upewniają mnie, że to S3 Trio. Slax wykrywa ją jako S3 i używa drivera S3. Próba użycia przeze mnie modułu s3virge skończyła się zwiechą systemu.

----------

## fstab

 *BeteNoire wrote:*   

> Rozumiem, że chcesz mi taką podarować?

 

To trochę się spóźniłeś   :Very Happy:  Niedawno dałem jednemu gościowi starą rivę 128, gdyż tylko zbierała kurz. Miałem jeszcze gdzieś Rivę ZX, ale to już było na AGP.

----------

## mbar

pokaż jeszcze "emerge -pv x11-drm". poza tym virge miało jakąś prymitywną akcelerację 3D, a Trio tylko 2D. Może być cienko: http://dri.freedesktop.org/wiki/S3

----------

## BeteNoire

 *mbar wrote:*   

> pokaż jeszcze "emerge -pv x11-drm". 

 

```
emerge -pv x11-drm

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild  N    ] x11-base/x11-drm-20060608  VIDEO_CARDS="-i810 -mach64 -mga -nv -r128 -radeon -savage -sis (-sunffb) -tdfx -via" 556 kBk
```

Do tej pory nawet tego nie miałem zainstalowanego, a zainstalowanie nic nie zmieniło.

Coś co chyba już dawno powinienem zapodać - Xorg.log z ostatniej próby odpalenia X: http://www.rafb.net/paste/results/Xb8HB126.html

----------

## milu

Nie zauważyłem w tym logu błędu o którym pisałeś w pierwszym poście. Wygląda to raczej OK. Dla kompletu pokaż jeszcze xorg.conf.

----------

## BeteNoire

Objaw jest taki, że ekran gaśnie tak szybko, że nie widzę żadnego błędu. Udało mi się go wychwycić dopiero przy próbie odpalenia X przez ssh.

xorg.conf'ów mogę pokazać nawet kilka:

http://wklej.org/id/9f45397fc7 (xorgconfig)

http://wklej.org/id/5801675758 (X -configure)

http://wklej.org/id/5c60702e4a (Slax)

----------

## argasek

Jaka wersja X.org jest w Slax, a jaka u Ciebie? Może to jakiś regression bug. Porozglądaj się po źródłach, changelogach, może np. wsparcie dla tej karty zostało w którymś momencie wycofane?

----------

## BeteNoire

Sterownik S3 zawarty jest w najnowszym Xorg jakie skompilowałem dla tego systemu. Nie byłoby sensu ze strony Xorg fundation umieszczać go gdyby nie miał obsłużyć karty. Ale może masz rację, że to problem jakiejś kompatybilności.

Slax ma Xorg 6.9.0. Chyba teraz nie pozostaje mi nic innego jak zamaskować najnowsze i spróbować na starszym (choć wolałbym tego uniknąć).

[EDIT]

No to pięknie, jestem między młotem a kowadłem:

```
emerge -av =xorg-x11-6.9.0-r3

These are the packages that would be merged, in order:

Calculating dependencies

!!! All ebuilds that could satisfy "=xorg-x11-6.9.0-r3" have been masked.

!!! One of the following masked packages is required to complete your request:

- x11-base/xorg-x11-6.9.0-r3 (masked by: package.mask)

# Donnie Berkholz <dberkholz@gentoo.org> (13 Sep 2006)

# Monolithic X.Org is no longer supported and is subject

# to multiple security vulnerabilities.
```

[/EDIT]

(Tak na marginesie :  to co mnie w pewnym momencie zmęczyło w Slackware to zbytni konserwatyzm. Wszyscy przeszli na Xorg 7.x a w najnowszym Slacku 11 (i w Slax-livecd) wciąż 6.9...)

[EDIT2]

Uparłem się na tego nowszego Xorga, bo jest modularny a poza tym gdzieś w sieci widziałem, że ludzie odpalali go na tej karcie, był to bodajrze Kanotix albo Knoppix. Jutro spróbuję którejś z tych dystrybucji.

W Slackware oczywiście wszystko działa, bo ma Xorg 6.9.0, zostałby już na tym kompie ale ja potrzebuję w nim łatwiejszego zarządzania systemem aka "aktualizacja-z-palca" itp.

Niewiele to pewnie wniesie ale dodam takie info do tego wątku:

- przy próbie odpalenia Xorg na driverze vesa dostaję komunikat:

```
Backtrace:

0: X(xf86SigHandler+0xa9) [0x80b8181]

Fatal server error:

Caught signal 11.  Server aborting

XIO:  fatal IO error 104 (Connection reset by peer) on X server ":0.0"

      after 0 requests (0 known processed) with 0 events remaining.

Nie można uzyskać deskryptora pliku wskazującego na konsolę
```

-  natomiast wpisanie driver "vga" powoduje całkowitą zwiechę systemu, że tylko go rebootnąć z przycisku...

[/EDIT2]

----------

