Pagina 1 di 1

HTPC con Slackware e XBMC

Inviato: lun 6 dic 2010, 12:46
da ilmich
Ciao a tutti,

sto riciclando un vecchio picci in un HTPC con Slackware 13.1 e XBMC.
Sto ottenendo degli ottimi risultati, grazie anche alla leggerezza e compattezza di Slackware =D>
Ora avrei bisogno di un paio di consigli su come terminare il progettino:

1) vorrei eliminare lo sfarfallio che ottengo, ad un certo punto del boot, quando attivo il kernel mode setting (la scheda video e' una ati radeon). Ho provato a includere staticamente il modulo ma non funziona come vorrei, nel senso che prima attiva il modesetting, poi sembra come ritornare in modalita framebuffer senza accellerazione. Come posso fare!??!

2) per il bootsplash cosa mi consigliate!??! Splashy o Bootsplash!?!?! Se da una parte Bootsplash richiede la ricompilazione del kernel, dall'altro Splashy ha come dipendenza DirectFB che non conosco e non so che impatti puo' avere sul sistema.

3) vorrei recuperare qualche secondo all'avvio eliminando qualche step. Ho letto un po' nel forum e ho visto che alcuni commentano il controllo del filesystem, cosa che non mi piace tantissimo. Studiando gli script ho visto che prima del controllo del disco, viene testata l'esistenza del file:

Codice: Seleziona tutto

/etc/fastboot
qualcuno sa come funziona!?!? Non ho trovato nessuno script che genera questo file, in piu' fa parte di quei file che al termine del boot vengono eliminati. :?

Ciao

Re: HTPC con Slackware e XBMC

Inviato: lun 6 dic 2010, 13:03
da targzeta
miklos ha scritto:1) vorrei eliminare lo sfarfallio che ottengo, ad un certo punto del boot, quando attivo il kernel mode setting (la scheda video e' una ati radeon). Ho provato a includere staticamente il modulo ma non funziona come vorrei, nel senso che prima attiva il modesetting, poi sembra come ritornare in modalita framebuffer senza accellerazione. Come posso fare!??!
Come hai configurato i Device Drivers del kernel?
Io ho in built-in, dalla voce Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
  • ATI Radeon
  • Enable modesetting on radeon by default - NEW DRIVER
Mentre della voce Support for frame buffer devices ho disabilitato tutto.
Ancora, ho incluso i firmware nel kernel, abilitando dalla voce Generic Driver Options:
  • Include in-kernel firmware blobs in kernel binary
Infine, ricorda che devi eliminare qualsiasi voce del tipo 'video=' o 'vga=' dal 'lilo.conf'.
miklos ha scritto: 3) vorrei recuperare qualche secondo all'avvio eliminando qualche step. Ho letto un po' nel forum e ho visto che alcuni commentano il controllo del filesystem, cosa che non mi piace tantissimo. Studiando gli script ho visto che prima del controllo del disco, viene testata l'esistenza del file:

Codice: Seleziona tutto

/etc/fastboot
qualcuno sa come funziona!?!? Non ho trovato nessuno script che genera questo file, in piu' fa parte di quei file che al termine del boot vengono eliminati. :?
Io uso proprio quel file con:

Codice: Seleziona tutto

cat /etc/rc.d/rc.local_shutdown 
touch /etc/fastboot
durante lo shutdown creo il file /etc/fastboot, così evito il controllo dei filesystem se la macchina viene spenta correttamente.

Emanuele

P.S. Inoltre per guadagnare tempo all'avvio ho commentato
  • ## Update any existing icon cache files:
  • ## Update mime database:
  • ## These GTK+/pango files need to be kept up to date for
    ## proper input method, pixbuf loaders, and font support.
da rc.M
Ti posto il diff, rd.M.new è l'originale della Slackware current:

Codice: Seleziona tutto

 diff rc.M.new /etc/rc.d/rc.M 
79c79
<     if [ -x /etc/rc.d/rc.udev ]; then
---
>     if [ -x /etc/rc.d/rc.udev ] && ! ps hxco comm | grep -q udev; then
132,152c132,152
< # Update any existing icon cache files:
< if find /usr/share/icons 2> /dev/null | grep -q icon-theme.cache ; then
<   for theme_dir in /usr/share/icons/* ; do
<     if [ -r ${theme_dir}/icon-theme.cache ]; then
<       echo "Updating icon-theme.cache in ${theme_dir}..."
<       /usr/bin/gtk-update-icon-cache -t -f ${theme_dir} 1> /dev/null 2> /dev/null &
<     fi
<   done
<   # This would be a large file and probably shouldn't be there.
<   if [ -r /usr/share/icons/icon-theme.cache ]; then
<     echo "Deleting icon-theme.cache in /usr/share/icons..."
<     #/usr/bin/gtk-update-icon-cache -t -f /usr/share/icons 1> /dev/null 2> /dev/null &
<     rm -f /usr/share/icons/icon-theme.cache
<   fi
< fi
< 
< # Update mime database:
< if [ -x /usr/bin/update-mime-database -a -d /usr/share/mime ]; then
<   echo "Updating MIME database:  /usr/bin/update-mime-database /usr/share/mime &"
<   /usr/bin/update-mime-database /usr/share/mime 1> /dev/null 2> /dev/null &
< fi
---
> ## Update any existing icon cache files:
> #if find /usr/share/icons 2> /dev/null | grep -q icon-theme.cache ; then
> #  for theme_dir in /usr/share/icons/* ; do
> #    if [ -r ${theme_dir}/icon-theme.cache ]; then
> #      echo "Updating icon-theme.cache in ${theme_dir}..."
> #      /usr/bin/gtk-update-icon-cache -t -f ${theme_dir} 1> /dev/null 2> /dev/null &
> #    fi
> #  done
> #  # This would be a large file and probably shouldn't be there.
> #  if [ -r /usr/share/icons/icon-theme.cache ]; then
> #    echo "Deleting icon-theme.cache in /usr/share/icons..."
> #    #/usr/bin/gtk-update-icon-cache -t -f /usr/share/icons 1> /dev/null 2> /dev/null &
> #    rm -f /usr/share/icons/icon-theme.cache
> #  fi
> #fi
> 
> ## Update mime database:
> #if [ -x /usr/bin/update-mime-database -a -d /usr/share/mime ]; then
> #  echo "Updating MIME database:  /usr/bin/update-mime-database /usr/share/mime &"
> #  /usr/bin/update-mime-database /usr/share/mime 1> /dev/null 2> /dev/null &
> #fi
179,189c179,189
< # These GTK+/pango files need to be kept up to date for
< # proper input method, pixbuf loaders, and font support.
< if [ -x /usr/bin/update-gtk-immodules ]; then
<   /usr/bin/update-gtk-immodules --verbose
< fi
< if [ -x /usr/bin/update-gdk-pixbuf-loaders ]; then
<   /usr/bin/update-gdk-pixbuf-loaders --verbose
< fi
< if [ -x /usr/bin/update-pango-querymodules ]; then
<   /usr/bin/update-pango-querymodules --verbose
< fi
---
> ## These GTK+/pango files need to be kept up to date for
> ## proper input method, pixbuf loaders, and font support.
> #if [ -x /usr/bin/update-gtk-immodules ]; then
> #  /usr/bin/update-gtk-immodules --verbose
> #fi
> #if [ -x /usr/bin/update-gdk-pixbuf-loaders ]; then
> #  /usr/bin/update-gdk-pixbuf-loaders --verbose
> #fi
> #if [ -x /usr/bin/update-pango-querymodules ]; then
> #  /usr/bin/update-pango-querymodules --verbose
> #fi

Re: HTPC con Slackware e XBMC

Inviato: lun 6 dic 2010, 14:24
da ilmich
spina ha scritto: Mentre della voce Support for frame buffer devices ho disabilitato tutto.
Ancora, ho incluso i firmware nel kernel, abilitando dalla voce Generic Driver Options:

* Include in-kernel firmware blobs in kernel binary
ora mi spiego perche' 'tornava' in modalita' framebuffer normale (anche se non capisco perche', ma ammetto di avere un po' di lacune di base relative a questa parte del kernel).
spina ha scritto: Io uso proprio quel file con:

Codice: Seleziona tutto
cat /etc/rc.d/rc.local_shutdown
touch /etc/fastboot

durante lo shutdown creo il file /etc/fastboot, così evito il controllo dei filesystem se la macchina viene spenta correttamente.
grazie mille per la dritta =D> !

Per quanto riguarda il bootsplah(se ne usi uno), cosa mi consiglieresti!??!!?

Ciao

Re: HTPC con Slackware e XBMC

Inviato: lun 6 dic 2010, 14:27
da targzeta
miklos ha scritto:Per quanto riguarda il bootsplah(se ne usi uno), cosa mi consiglieresti!??!!?
non ho risposto proprio perchè non ne uso.

Emanuele

Re: HTPC con Slackware e XBMC

Inviato: mar 18 gen 2011, 15:16
da ilmich
Qualche risparmio dopo e potenziamenti hardware, ho finalmente chiuso il case e mi godo il mio nuovo sistema multimediale.
Per curiosita(anche se il mio monitor non lo supporterebbe) ho provato a visualizzare un video in full hd(a 1080p).
Non saprei dire con precisione se e' dovuto al downscaling o alla 'pesantezza' del formato h264, ma il video non e' fluido perche' la cpu e' al 100%.

So che probabilmente non avro' speranze a meno di sostituire la cpu, ma vorrei comunque fare il tentativo di ottimizzare i compilati appositamente per la mia cpu.
Ovviamente non e' mia intenzione ricompilare tutta la distribuzione e il kernel gia' e' ottimizzato, percio' mi chiedevo se qualcuno mi puo' consigliare i pacchetti che potrei ricompilare e se effettivamente ne vale la pena, considerando l'eventuale incremento prestazionale.

Ciao e grazie

Re: HTPC con Slackware e XBMC

Inviato: mar 18 gen 2011, 17:41
da slux
Se la scheda video è supportata dai driver catalist di AMD,puoi provare ad attivare il supporto VAAPI http://www.splitted-desktop.com/~gbeauchesne/ e da Slackbuilds.org puoi scaricare gli slackbuilds relativi.Ovviamente poi devi ricompilare xbmc per attivarne il supporto.Ma se non vuoi sbattimenti passa ad Nvidia.Una 8400GS da 512Mb costa veramente poco (circa 30 euro) e ottieni dei veri miracoli con l'accellerazione VDPAU e soprattutto al primo colpo.

Re: HTPC con Slackware e XBMC

Inviato: mar 18 gen 2011, 17:57
da Blallo
Per il bootsplash io uso le patch Bootsplash,
ma richiedono di usare il framebuffer VESA
non puoi usare quello ati

Re: HTPC con Slackware e XBMC

Inviato: mar 18 gen 2011, 18:32
da ilmich
slux ha scritto:Ma se non vuoi sbattimenti passa ad Nvidia.Una 8400GS da 512Mb costa veramente poco (circa 30 euro) e ottieni dei veri miracoli con l'accellerazione VDPAU e soprattutto al primo colpo.
il fatto e' che la motherboard e' un po' vecchiotta e la scheda video piu' potente che ho trovato facilmente e' una NVIDIA 6200 512MB agp che sfiga vuole non supporti le vdpau... sigh e sob...
jimmy_page_89 ha scritto:Per il bootsplash io uso le patch Bootsplash,
ma richiedono di usare il framebuffer VESA
non puoi usare quello ati
infatti, per questo e per altri problemi legati a splashy(l'alternativa che avevo provato) ho lasciato perdere, il boot non dura tanto. :D

Comunque ho spulciato un po' gli slackbuilds ufficiali e penso che il mio esperimento partira sicuramente ricompilando le glibc perche' ho visto che lo script prevede la compilazione ad-hoc per l'athlon (il mio processore).
Poi ho trovato questo link

http://en.gentoo-wiki.com/wiki/Safe_Cflags

provero' un po' ad ottimizzare xbmc e pacchetti accessori.
In ogni caso penso che male non faccia.

Re: HTPC con Slackware e XBMC

Inviato: mer 19 gen 2011, 11:48
da 414N
miklos ha scritto: Comunque ho spulciato un po' gli slackbuilds ufficiali e penso che il mio esperimento partira sicuramente ricompilando le glibc perche' ho visto che lo script prevede la compilazione ad-hoc per l'athlon (il mio processore).
Non vedo perché dovresti ricompilare le glibc. Sono librerie basilari del sistema ed un loro cambiamento/aggiornamento rischia di comportare non pochi problemi al resto del parco software nel tuo sistema.
miklos ha scritto: Poi ho trovato questo link
http://en.gentoo-wiki.com/wiki/Safe_Cflags
provero' un po' ad ottimizzare xbmc e pacchetti accessori.
In ogni caso penso che male non faccia.
Se vuoi provare ad ottimizzare, ti basta modificare la variabile SLKCFLAGS negli SlackBuilds in questione.
Tanto per essere cristallino, nello SlackBuild probabilmente troverai una cascata di if del genere:

Codice: Seleziona tutto

if [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2"
  LIBDIRSUFFIX="64"
else
  SLKCFLAGS="-O2"
  LIBDIRSUFFIX=""
fi
Ti basta modificare la definizione di SLKCFLAGS solo per la tua architettura.
L'unica opzione che puoi tenere in tutti i casi è -O2 (anche -pipe non fa schifo, ma non c'entra con le prestazioni del compilato). Il resto puoi piallarlo e metterci un bel march=native, se compili sulla macchina che poi userai.

Re: HTPC con Slackware e XBMC

Inviato: mer 19 gen 2011, 12:43
da ilmich
414N ha scritto:Non vedo perché dovresti ricompilare le glibc. Sono librerie basilari del sistema ed un loro cambiamento/aggiornamento rischia di comportare non pochi problemi al resto del parco software nel tuo sistema.
E' questo il punto, ho pensato che se ottimizzo quel pacchetto, ottimizzerò tutto il resto (sempre ammesso che non ci siano problemi, come tu giustamente accennavi).
Ad ogni modo le ho ricompilate, tutto sembra andar bene per quel poco che ho testato, ma non ho ancora notato grosse differenze purtroppo :?
414N ha scritto:Il resto puoi piallarlo e metterci un bel march=native, se compili sulla macchina che poi userai.
Alla fine ho provato cosi', ma la compilazione di xbmc mi ha dato un errore che alle 2 di notte non ho voluto approfondire. :D
Non sono un espertone di gcc, ma in passato mi è capitato che il solo cambiare i flag di gcc producesse/non producesse errori.

Comunque ho appena letto che la versione 10.0, include nuove librerie di ffmpeg che, spulciando il changelog, introducono miglioramenti nel decoder h.264.
Appena avro' un attimo di tempo provero' cosi'.