Pagina 1 di 1

xorg.conf autoconfigurato all'avvio[RISOLTO]

Inviato: lun 17 nov 2008, 15:17
da tigerwalk
Scusate se chiedo sempre cose un po' particolari ma il bello di linux è anche questo! :)
Premessa:
Slackware 12.1 su HD usb. Per utilizzarla su qualsiasi computer, uso un kernel-huge-smp e, oltre all'xorg.conf per la mia scheda ATI, ho in /etc/x11 un altro xorg.conf (vesa) che tramite uno script, faccio partire da lilo quando utilizzo questa installazione su computer con scheda non ATI.
Il Punto interessante è che ho una installazione di nimblex su una penna usb ed all'avvio, c'è la possibilità tramite il comando xconf di far partire uno script che autoconfigura xorg.conf per la scheda video rilevata. Vi assicuro che è un grosso vantaggio poter usare la risoluzione idonea, senza "arrangiarsi" con quella fornita dai generici VESA!
Oggetto:
Ho provato ad utilizzare lo script xconf sulla slackware mettendo una apposita voce in rc.local ma non funziona, in particolare lerrore è

Codice: Seleziona tutto

Triyng to autoconfigure Xwindow system, please wait...
/usr/bin/xconf: line 46 32721: Aborted                   /usr/bin/X -configure 2>/dev/null
cannot run autoconfig. Try xorgsetup (menu)  or xorgconfig (plaintext) command
poi parte la sessione X con l'xorg.conf che uso normalmente.
Non essendo (purtroppo) esperto di scripts, volevo chiedere se per voi è fattibile oppure devo lasciar perdere!
Di seguito posto lo script (preso da /usr/bin/ in Nimblex) ed il file gui.conf (in /etc/X11/ in Nimblex) a cui lo script xconf fa riferimento.
Grazie per gli eventuali suggerimenti! ;)
xconf

Codice: Seleziona tutto

#!/bin/sh
# xconf:      Auto configure X.
# By:	      Tomas M. <http://slax.linux-live.org>
#

GENERATED_CONFIGFILE=$HOME/xorg.conf.new
XConfig=/etc/X11/xorg.conf

. /etc/X11/gui.conf

if [ "$SKIP_XCONF" = "yes" ]; then
   echo "The file /etc/X11/gui.conf disallows xconf autoconfiguration, skipping."
   echo "This is normal if you have own module with xorg.conf configuration."
else

   echo "Trying to autoconfigure Xwindow system, please wait..."
   /usr/bin/X -configure 2>/dev/null

   if [ ! $? = 0 ]; then
      echo "cannot run auto config. Try xorgsetup (menu) or xorgconfig (plaintext) commands."
      exit 1
   fi

   echo "creating $XConfig..."
   rm -f $XConfig

   cat $GENERATED_CONFIGFILE | egrep -v "^[[:space:]]*#" | while read LINE ;
   do
     # configure mouse
     if echo $LINE | egrep -i "/dev/mouse" 1>/dev/null ; then
        echo "Option \"ZAxisMapping\" \"4 5\"" >> $XConfig
        echo "Option \"Buttons\" \"3\"" >> $XConfig
     fi
     echo "$LINE" >> $XConfig
   done

   if [ "$CONF_EXTENSIONS" = "yes" ]; then
      echo "Section \"Extensions\"" >>$XConfig
      echo "  Option \"Composite\" \"Enable\"" >>$XConfig
      echo "EndSection" >>$XConfig
   fi

   rm -f $GENERATED_CONFIGFILE
   echo "all done. Run startx now."

fi

echo "If you get black screen or Out-Of-Sync, hit Ctrl+Alt+NumPlus few times"
gui.conf

Codice: Seleziona tutto

SKIP_XCONF=
CONF_EXTENSIONS=yes

Re: xorg.conf autoconfigurato all'avvio

Inviato: lun 17 nov 2008, 15:35
da conraid
Al di la di tutto lo script, quella opzione esiste. Io uso spesso X -configure per configurare X
Puoi provare alcune cose.
Tieni presente che in Slackware, ma penso anche altrove, /usr/bin/X è un link a /usr/binXorg ed il man di Xorg dice
-configure
When this option is specified, the Xorg server loads all video driver modules, probes for avail-
able hardware, and writes out an initial xorg.conf(5) file based on what was detected. This
option currently has some problems on some platforms, but in most cases it is a good way to
bootstrap the configuration process. This option is only available when the server is run as
root (i.e, with real-uid 0).
Prova a lanciare

Codice: Seleziona tutto

X -configure
da root e guarda se funziona.

Dopo prova a metterlo in rc.local (solo quello) e guarda che succede, magari il problema è quel "with real-uid 0"

Naturalmente fai un backup, so che non serve dirtelo, ma sempre meglio ricordarlo :-)

Re: xorg.conf autoconfigurato all'avvio

Inviato: lun 17 nov 2008, 16:20
da tigerwalk
Sono partito in init 3, loggato come root e dato X -configure ma la sessione X non parte... :?

Re: xorg.conf autoconfigurato all'avvio

Inviato: lun 17 nov 2008, 16:22
da conraid
tigerwalk ha scritto:Sono partito in init 3, loggato come root e dato X -configure ma la sessione X non parte... :?
Non deve partire infatti, ti crea solamente un xorg.conf per la tua macchina

Re: xorg.conf autoconfigurato all'avvio

Inviato: lun 17 nov 2008, 16:24
da tigerwalk
conraid ha scritto:
tigerwalk ha scritto:Sono partito in init 3, loggato come root e dato X -configure ma la sessione X non parte... :?
Non deve partire infatti, ti crea solamente un xorg.conf per la tua macchina
Beh, ma poi con startx oppure startkde dovrebbe andare no?

[EDIT]: sono un asino! Non ho copiato l'xorg.cong.new in /etc/X11/xorg.conf.
Provvedo e ti faccio sapere!
p.s.: comunque così la cosa è tutt'altro che immediata

Re: xorg.conf autoconfigurato all'avvio

Inviato: lun 17 nov 2008, 16:31
da conraid
tigerwalk ha scritto:
conraid ha scritto:
tigerwalk ha scritto:Sono partito in init 3, loggato come root e dato X -configure ma la sessione X non parte... :?
Non deve partire infatti, ti crea solamente un xorg.conf per la tua macchina
Beh, ma poi con startx oppure startkde dovrebbe andare no?

[EDIT]: sono un asino! Non ho copiato l'xorg.cong.new in /etc/X11/xorg.conf.
Provvedo e ti faccio sapere!
p.s.: comunque così la cosa è tutt'altro che immediata
Ma quello script la fa in automatico, ora devi capire perché se lanciato da shell ti va ed in rc.local no
Al limite prova su - etc...

Re: xorg.conf autoconfigurato all'avvio

Inviato: lun 17 nov 2008, 17:38
da tigerwalk
ho dovuto copiare xorg.conf.new ed ha funzionato. Per automatizzare, ho pensato di partire con due voci di lilo diverse, la prima con
append="card=fglrx" (per i drivers ati)
la seconda con
append="card=vesa" (per X -configure)
metto poi in rc.local le seguenti linee:

Codice: Seleziona tutto

#Scegli driver tra fglrx o vesa
if [ "$card" = "vesa" ]; then
rmmod fglrx
/usr/bin X -configure
mv /root/xorg.conf.new /etc/X11/xorg.conf
else
if [ "$card" = "fglrx" ]; then
  cp /etc/X11/xorg.conf-ati /etc/X11/xorg.conf
fi
fi

in modo da automatizzare lo spostamento dell'xorg.conf.new e di ripristinare l'xorg.conf (ati) sempre automaticamente.
Siccome con gli scripts sono un somaro, volevo un tuo giudizio!
Grazie!

Re: xorg.conf autoconfigurato all'avvio

Inviato: lun 17 nov 2008, 18:03
da conraid
Ma $card come lo ricavi? Lo prende da solo?
O fai prima un parsing di /proc/cmdline?
Ma quello script che hai postato prima non hai provato a vedere come mai non va in rc.local?
Perchè se il problema è che non esegue X -configure in rc.local lo avrai anche con questo script

Re: xorg.conf autoconfigurato all'avvio

Inviato: lun 17 nov 2008, 18:13
da tigerwalk
conraid ha scritto:Ma $card come lo ricavi? Lo prende da solo?
O fai prima un parsing di /proc/cmdline?
Ma quello script che hai postato prima non hai provato a vedere come mai non va in rc.local?
Perchè se il problema è che non esegue X -configure in rc.local lo avrai anche con questo script
l'idea $card l'ho presa paro paro da quì :D
come hai ipotizzato, X -configure non parte e non mi crea /root/xorg.conf.new..... :cry:
Come posso risolvere (tenendo in conto la mia ignoranza sugli scripts)?

Re: xorg.conf autoconfigurato all'avvio

Inviato: lun 17 nov 2008, 18:16
da tigerwalk
tigerwalk ha scritto:
conraid ha scritto:Ma $card come lo ricavi? Lo prende da solo?
O fai prima un parsing di /proc/cmdline?
Ma quello script che hai postato prima non hai provato a vedere come mai non va in rc.local?
Perchè se il problema è che non esegue X -configure in rc.local lo avrai anche con questo script
l'idea $card l'ho presa paro paro da quì :D
come hai ipotizzato, X -configure non parte e non mi crea /root/xorg.conf.new..... :cry:
Come posso risolvere (tenendo in conto la mia ignoranza sugli scripts)?
[EDIT]: ho notato un erroraccio

Codice: Seleziona tutto

/usr/bin X -configure
correggo e riprovo!

Re: xorg.conf autoconfigurato all'avvio

Inviato: lun 17 nov 2008, 18:58
da tigerwalk
Aggiornamento:
/usr/bin/X -configure --> non va

su - /usr/bin/X -configure --> crea --> /root/xorg.conf.new ma il comando successivo
mv /root/xorg.conf.new /etc/X11/xorg.conf non viene eseguito (anche provando su - mv /root/etc.,etc.) :-k

Re: xorg.conf autoconfigurato all'avvio

Inviato: lun 17 nov 2008, 19:06
da conraid
tigerwalk ha scritto:Aggiornamento:
/usr/bin/X -configure --> non va

su - /usr/bin/X -configure --> crea --> /root/xorg.conf.new ma il comando successivo
mv /root/xorg.conf.new /etc/X11/xorg.conf non viene eseguito (anche provando su - mv /root/etc.,etc.) :-k
Perché esiste già forse
Prova a cancellarlo e poi copiarlo, o a fare un cat

Re: xorg.conf autoconfigurato all'avvio

Inviato: lun 17 nov 2008, 19:42
da tigerwalk
No conraid, non è questo il problema. Guardando con più calma, X -configure non viene eseguito da rc.local e non riesco a capire il motivo. L'errore che intravedo e qualcosa del tipo
/usr/bin/X : unknow id

Re: xorg.conf autoconfigurato all'avvio

Inviato: lun 17 nov 2008, 21:13
da tigerwalk
Sono riuscito a risolvere!
Ho rinominato lo script xconf (postato in precedenza) in rc.xconf e l'ho messo in /etc/rc.d/
in rc.local ho scritto:

Codice: Seleziona tutto

if [ "$card" = "vesa" ]; then
        sh /etc/rc.d/rc.xconf start
else
if [ "$card" = "fglrx" ]; then
  cp /etc/X11/xorg.conf-ati /etc/X11/xorg.conf
fi
fi
e così parto in init 4 (kdm) loggandomi come utente, senza problemi.
Per adesso testato su un portatile con ATI ed uno con NVIDIA (ma credo che andrà bene anche con altre schede)

[EDIT]: funzionante anche con scheda intel integrata.