# [SOLVED]Powolna kompilacja

## Andrzej1309

Wracając do tematu rozpoczętego w wątku dotyczącego kernel - panic

tu raczej jest wszystko o co pytał Pyrka

emerge --info

```
Portage 2.1.10.32 (default/linux/amd64/10.0, gcc-4.5.3, glibc-2.13-r4, 3.0.6-gentoo x86_64)

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

System uname: Linux-3.0.6-gentoo-x86_64-Intel-R-_Core-TM-_i7_CPU_950_@_3.07GHz-with-gentoo-2.0.3

Timestamp of tree: Tue, 08 Nov 2011 23:30:01 +0000

app-shells/bash:          4.1_p9

dev-lang/python:          2.7.2-r3, 3.1.4-r3

dev-util/pkgconfig:       0.26

sys-apps/baselayout:      2.0.3

sys-apps/openrc:          0.8.3-r1

sys-apps/sandbox:         2.4

sys-devel/autoconf:       2.68

sys-devel/automake:       1.11.1-r1

sys-devel/binutils:       2.21.1-r1

sys-devel/gcc:            4.5.3-r1

sys-devel/gcc-config:     1.4.1-r1

sys-devel/libtool:        2.4-r4

sys-devel/make:           3.82-r1

sys-kernel/linux-headers: 2.6.39 (virtual/os-headers)

sys-libs/glibc:           2.13-r4

Repositories: gentoo

ACCEPT_KEYWORDS="amd64 ~amd64"

ACCEPT_LICENSE="* -@EULA"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS=" -march=core2 -mtune=generic -O2 -pipe"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"

CXXFLAGS=" -march=core2 -mtune=generic -O2 -pipe"

DISTDIR="/usr/portage/distfiles"

FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"

FFLAGS=""

GENTOO_MIRRORS="http://distfiles.gentoo.org"

LANG="pl_PL.utf8"

LC_ALL="pl_PL.utf8"

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

LINGUAS="pl"

MAKEOPTS="-j5"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

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

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY=""

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

USE="acl amd64 berkdb bzip2 cdr cleartype cli cracklib crypt cups cxx dri dvd fortran freetype gdbm gpm iconv mmx modules mudflap multilib ncurses nls nptl nptlonly openmp pam pcre pppd readline session speel sse sse2 ssl sysfs tcpd unicode xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="pl" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia nv vesa" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
```

Edit: raczej coś z kernelem.

Odpaliłem na kernelu 2.6.39 skomilowanym z configiem z liveCD Toorox

emerge mc na moim 3.0.6 - 75sek

emerge mc na kernelu 2.6.39 z Toorox - 42sekLast edited by Andrzej1309 on Fri Nov 11, 2011 12:53 am; edited 1 time in total

----------

## joi_

Skoro to coś z kernelem, to pokaż .config z obu wersji.

----------

## Andrzej1309

Chyba znalazłem przyczynę w konfiguracji kernela.

Musiałem wyłączyć:

-> Userspace VESA VGA graphics support

-> VESA VGA graphics support

??

Teraz kompilacja przebiega znacznie szybciej.

Ale musiałem wyłączyć w grub.conf "vga-791"

A to oznacza że ma teraz ogromne literki na konsoli

Jakie jest możliwe rozwiązanie ?

----------

## c2p

Wolno kompiluje, ponieważ framebuffer nie nadąża z wyświetlaniem wyjścia kompilatora na ekran. Rozwiązania są dwa, jedno już odkryłeś, drugie to używanie emerge z opcją -q (--quiet), wyjście zostanie ograniczone do minimum, więc framebuffer nie będzie niczego spowalniał.

----------

## Andrzej1309

 *c2p wrote:*   

> Wolno kompiluje, ponieważ framebuffer nie nadąża z wyświetlaniem wyjścia kompilatora na ekran. Rozwiązania są dwa, jedno już odkryłeś, drugie to używanie emerge z opcją -q (--quiet), wyjście zostanie ograniczone do minimum, więc framebuffer nie będzie niczego spowalniał.

 

Hmm nie wpadłem na to.

Ale muszą być także inne rozwiązania.

Przeanalizowałem na dwóch przykładach.

1. "stare Gentoo"

- w kernelu włączona -> VESA VGA graphics support 

skompilowane:

nvidia-drivers

xf86-video-nv

Szybkość kompilacji OK

2. "nowe Gentoo"

uruchamiane z kernelem skompilowanym z configiem liveCD Toorox, czyli większość opcji włączonych, kilkadziesiąt modułów

- wyłączone:

-> Userspace VESA VGA graphics support

-> VESA VGA graphics support 

- nie zainstalowany żaden sterownik graficzny

Podczas startu na początku krzyczy o braku video, najpierw sypie wielką czcionką, po dojściu do openrc jest już ślicznie.

Nie chciałbym teraz instalować nvidia-drivers, dopiero jak już wszystko sobie dopracuję w systemie, zajmę się X-mi

----------

## Pryka

uvesa daje radę, przynajmniej u mnie.

----------

## joi_

Skoro framebuffer nie nadąża, to wystarczy przełączyć się na inną konsolę w trakcie kompilacji...

Dlaczego nie używasz nouveau?

----------

## Andrzej1309

 *joi_ wrote:*   

> Skoro framebuffer nie nadąża, to wystarczy przełączyć się na inną konsolę w trakcie kompilacji...

 

 *Quote:*   

> Dlaczego nie używasz nouveau?

 

Zastanawiam się nad wyborem pomiędzy nouveau a nvidia-drivers

Póki co nadal nie mam rozwiązania.

Zainstalowałem xf86-video-vesa, przy tej okazji oczywiście zainstalowały mi się sterowniki nvidia (miałem we flagach) xorg itp. nadal lipa.

Musi być jakieś inne rozwiązanie, aby przy wyłącznych w kernelu 

```
-> Userspace VESA VGA graphics support 

-> VESA VGA graphics support
```

mieć konsolę w dużej rozdzielczości.

Edit: 11.11.11 - 01.52

http://dev.gentoo.org/~spock/projects/uvesafb/

i śmiga jak chciałem

----------

## Pryka

Mówiłem, że uvesa daje radę  :Razz: 

Co do nouveau to nawet się nad tym crapem nie zastanawiaj... A przynajmniej ja mam o tym takie zdanie.

----------

## joi_

 *Andrzej1309 wrote:*   

> Zastanawiam się nad wyborem pomiędzy nouveau a nvidia-drivers

 

Nie ma co się zastanawiać - tylko spróbować i jeżeli nouveau nie będzie działać, zgłosić błąd i przełączyć się na nvidia-drivers. Przełączanie w jedną i drugą stronę jest dosyć proste (dodanie/usunięcie nomodeset z konfiguracji gruba, zmiana drivera w xorg.conf i eselect opengl set nvidia/xorg-x11)

Pryka: Przed takimi stwierdzeniami, proszę weź pod uwagę, że karty graficzne to obecnie bardzo skomplikowane urządzenia, a Nvidia nie dostarcza absolutnie żadnej dokumentacji do swoich kart.

Domyślam się, że miałeś jakieś problemy ze stabilnością - ostatnimi czasy jest z tym dużo lepiej, więc jeżeli będziesz miał czas, spróbuj nowszą wersję (przede wszystkim kernel) i jeżeli nadal będą problemy, zgłoś proszę błąd.

----------

## sebas86

Jeśli kompilujesz przez emerge skorzystaj z opcji --quiet (-q). Nie trzeba z niczego rezygnować, można dodać do make.conf jako jedną z domyślnych flag przekazywanych do emerge. W innych przypadkach możesz zapisywać log do pliku.

----------

## Pryka

 *joi_ wrote:*   

> Pryka: Przed takimi stwierdzeniami, proszę weź pod uwagę, że karty graficzne to obecnie bardzo skomplikowane urządzenia, a Nvidia nie dostarcza absolutnie żadnej dokumentacji do swoich kart.
> 
> Domyślam się, że miałeś jakieś problemy ze stabilnością - ostatnimi czasy jest z tym dużo lepiej, więc jeżeli będziesz miał czas, spróbuj nowszą wersję (przede wszystkim kernel) i jeżeli nadal będą problemy, zgłoś proszę błąd.

 

Miałem problem ze wszystkim czym tylko można mieć, wiem że to skomplikowane urządzenie, nouveau póki co jest dla mnie tylko marnym substytutem sterowników, więc nie widzę większego sensu męczenia sie z tym skoro, NVIDIA doskonale wspiera swoje produkty pod pingwinem robiąc sterowniki pełną gębą.

Największy mankament nouveau? Fatalny framerate w 3D w porównaniu do natywnych sterowników NVIDIA

----------

## Jacekalex

Na samej Vesie też można ustawić rozdzielczości w grubie.

Np 

```
vga=795
```

 oznacza 1280*1024/24bit (16M kolorów).

Ustawia się to przez parametr kernela w grubie.

Sznurek: http://pierre.baudu.in/other/grub.vga.modes.html

Co do Nouveau, u mnie ostatnio w ogóle nie działało 3d na tym sterowniku (na jaju 3.0.6 grsec).

Nie zmienia to jednak faktu, że kibicuję Twórcom Nouveau, bo przyda się wybór w sterownikach, zwłaszcza, jak w Nvidii pojawi się kiedyś  jakiś spec od marketingu i zarządzania, który postanowi wziąść przykład z ATI.

Wady Nouveau? - każdemu krytykowi radzę, żeby sam zaczął debugować driver Nvidii metodą inżynierii wstecznej z wykorzystaniem clean-room'u, czyli najpierw debugujesz oryginalny ster i piszesz z tego dokumentację, a potem na podstawie tej dokumentacji piszesz własny sterownik.

Przyjemnej zabawy   :Very Happy: 

Pozdro

 :Cool: 

----------

## lazy_bum

 *Andrzej1309 wrote:*   

> Wracając do tematu rozpoczętego w wątku dotyczącego kernel - panic

 

Następnym razem warto szerzej opisać problem lub przynajmniej podlinkować odpowiedni wpis…

----------

