Guida: Gentoo su Sony Vaio SZ

Transcript

Guida: Gentoo su Sony Vaio SZ
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
Scopo di questo articolo è fare il punto della situazione sulla configurazione della Gentoo sul
mio Sony Vaio SZ1M/B: non è un documento definitivo ma, più che altro, una raccolta di
appunti che cercherò di aggiornare di volta in volta. Non dò conto della prima installazione della
Gentoo sul notebook perché non ha presentato nessuna problematica particolare rispetto a
quanto chiaramente spiegato sul Gentoo Handbook .
Per informazioni, aggiornamenti e correzioni, il mio indirizzo e-mail è [email protected]. -
1 Specifiche
2 Processore
-
3 Make.conf
4 Dispositivi
4.1 Audio
4.2 Video
4.3 USB
4.4 Ethernet
4.5 Wireless
4.6 Card reader 
-
5 Power management
5.1 Suspend e Hibernate
1 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
-
6 Sensori
7 Framebuffer console
8 Fn  keys
9 Extra
10 Conclusioni
Specifiche
A livello hardware, il notebook si basa sulla piattaforma Napa di Intel che comprende i seguenti
componenti:
- Processore Core Duo
- Intel Express i945GM chipset (integra la sottosezione grafica GMA950)
- South Bridge ICH7M (integra il chip audio Intel HDA)
- Intel Pro Wireless 3945 ABG Questo è l'output di lspci (per maggiori informazioni sul riconoscimento dell'hardware si può
consultare questa guida ):
# lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller ID
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
2 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
06:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
07:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8036 PCI-E Fast Ethernet Controller (rev
09:04.0 CardBus bridge: Texas Instruments PCIxx12 Cardbus Controller
09:04.1 FireWire (IEEE 1394): Texas Instruments PCIxx12 OHCI Compliant IEEE 1394 Host Controller
09:04.2 Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS P
3 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
Ai quali si aggiungono, se è stata selezionata la modalità "Stamina"
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integra
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics
o se è stata selezionata la modalità "Speed"
00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express PCI E
01:00.0 VGA compatible controller: nVidia Corporation GeForce Go 7400 (rev a1)
Processore
La serie SZ di Sony monta processori Intel Core Duo, nella fattispecie il sony SZ1m/b è
equipaggiato con un T2300 a 1,67 GHz.
I due core del processore vengono riconosciuti correttamente.
# cat /proc/cpuinfo processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 14
model name : Genuine Intel(R) CPU T2300 @ 1.66GHz
stepping : 8
cpu MHz : 1000.000
4 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx
bogomips : 3339.43
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 14
model name : Genuine Intel(R) CPU T2300 @ 1.66GHz
stepping : 8
cpu MHz : 1667.000
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx
bogomips : 3333.82
Assicuriamoci di avere abilitato il supporto a SMT nel kernel
Processor type and features --->
Subarchitecture Type (PC-compatible) --->
Processor family (Pentium M) --->
[*] Symmetric multi-processing support
5 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
(2) Maximum number of CPUs (2-255)
[*] SMT (Hyperthreading) scheduler support [*] Multi-core scheduler support Preemption Model (Voluntary Kernel Preemption (Desktop)) --->
High Memory Support (4GB) --->
[*] MTRR (Memory Type Range Register) support
[*] kexec system call (EXPERIMENTAL)
Make.conf
Per configurare /etc/make.conf mi sono riferito a quanto suggerito da Gentoo-wiki nell'howto
sulle Safe Flags .
La variabile MAKEOPTS specifica quante compilazioni in parallelo sono consentite ed
abitualmente le viene assegnato un valore pari al numero delle cpu più uno. Nel nostro caso,
quindi, la variabile dovrebbe assumere il valore "-j3".
Usando questo valore ho notato che, durante la compilazione, la cpu raggiunge spesso un
carico vicino al 100%, mentre con valore "-j2" difficilmente supera il 60% di carico. Finora non
ho avuto nessun problema usando MAKEOPTS="-j3" ma, se preferite non stressare troppo il
processore, allora potreste adottare il valore "-j2".Le variabili VIDEO_CARDS e
INPUT_DEVICES sono necessarie se si ha intenzione di usare Xorg modulare, invece
ALSA_CARDS è utile se si ha intenzione di utilizzare alsa-driver.
/etc/make.conf CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j3"
.....
INPUT_DEVICES="evdev keyboard mouse synaptics"
VIDEO_CARDS="nvidia vesa i810"
ALSA_CARDS="hda-intel" 6 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
Trovate il mio file make.conf completo qui . Hard-disk e drive ottico
L'HDD (un Seagate Momentus SATA a 5400 rpm) e l'unità ottica (un masterizzatore DVD
Matshita UJ842-D) non hanno avuto bisogno di nessuna configurazione particolare.
Questa è la mia configurazione del kernel:
SCSI device support --->
SCSI disk support
SCSI CDROM support
SCSI generic support
SCSI low-level drivers --->
Serial ATA (SATA) support
AHCI SATA support
Intel PIIX/ICH SATA support
Per ottenere informazioni sullo stato e la temperatura dell'HDD potete interrogare il chip
S.M.A.R.T attraverso smartctl, una utility contenuta nel pacchetto smartmontools.
# emerge -av smartmontools
# smartctl -a -d ata /dev/sda Device Model: ST98823AS
Serial Number: *********
Firmware Version: 3.14
User Capacity: 80,026,361,856 bytes
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 7
ATA Standard is: Exact ATA specification draft version not indicated
Local Time is: Tue Jul 18 16:24:45 2006 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
....... 7 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
Una guida dettagliata sugli hard-disk Sata è reperibile su http://gentoo-wiki.com/HARDWARE
_SATA
.
Audio
Per configurare il chip audio ho scelto di utilizzare alsa-driver e pertanto ho disabilitato il
supporto integrato nel kernel:
Device Drivers --->
Sound --->
Sound card support Advanced Linux Sound Architecture ---> Advanced Linux Sound Architecture
Open Sound System --->
L'audio in uscita funziona correttamente mentre non sono riuscito a far funzionare l'audio in
ingresso (detto in parole povere non c'è stato verso di far funzionare il microfono, quindi niente
telefonate su Skype per ora..). Si tratta di un problema noto che dovrebbe essere risolto a
partire dalla versione 1.0.12rc1 di alsa-driver, secondo quanto riportato su http://www.alsa-proj
ect.org/changes/v1-0-11--v1-0-12rc1.txt
. Per avere una migliore resa sonora potete provare ad aggiungere la seguente riga a
/etc/modules.d/alsa:
# echo "options snd-hda-intel position_fix=1" >> /etc/modules.d/alsa # modules-update Update 25/7/2006: La versione 1.0.12rc1 di alsa-driver è disponibile su portage ma è masked,
bisogna quindi togliere il masking prima di poterla installare:
# echo "=media-sound/alsa-driver-1.0.12_rc1-r1" >> /etc/portage/package.unmask # echo "=media-sound/alsa-headers-1.0.12_rc1" >> /etc/portage/package.unmask
# emerge -av alsa-driver
8 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
Ora funziona anche il line-in.....vai col VoIP ....
Video
Il Sony SZ ha a disposizione due chip grafici: l'Intel GMA950 integrato nel chipset i945 e il chip
dedicato Nvidia Geforce Go 7400. Non è possibile passare da un chip all'altro "a caldo" ma solo
riavviando.
Per configurare questa funzione anche su Linux, ho modificato uno script messo a disposizione
da http://www.arielo.net/vaiosz.html trasformandolo in uno script di init. Questo è il mio script
/etc/init.d/xorg_conf:
!/sbin/runscript
depend() {
before xdm
}
start() {
VIDEO=`/usr/sbin/lspci |grep -c nVidia`
NVIDIA=`/usr/bin/eselect opengl show |grep -c nvidia`
if [ "$VIDEO" = 1 ]; then
cp -f /etc/X11/xorg.conf.speed /etc/X11/xorg.conf
if [ "$NVIDIA" = 0 ]; then
eselect opengl set nvidia
fi
else
cp -f /etc/X11/xorg.conf.stamina /etc/X11/xorg.conf
if [ "$NVIDIA" = 1 ]; then
eselect opengl set xorg-x11
fi
fi
}
Lo script va reso eseguibile e va aggiunto al boot: # chmod +x xorg_conf
# rc-update add xorg_conf boot
9 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
Il funzionamento è abbastanza semplice: si creano due file di configurazione di xorg differenti,
/etc/X11/xorg.conf.speed per la modalità "speed" (chip Nvidia) e /etc/X11/xorg.conf.stamina per
la modalità "stamina" (chip integrato), lo script copia in /etc/X11/xorg.conf il file di configurazione
corretto a seconda della scheda grafica che si sta utilizzando. Ovviamente, lo script, per
funzionare correttamente, dovrà essere lanciato prima che venga caricato X. Questi sono i link
ai miei due file di configurazione: xorg.conf.stamina e xorg.conf.speed .
Update 02/10/2006: lo script si occupa anche di configurare opengl correttamente a seconda
della scheda grafica che sista usando.
Intel GMA950
Potete configurare questa gpu come vesa generica oppure come i915. Nel primo caso dovrete
identificare in xorg.conf la scheda grafica come "vesa",nel secondo caso come "i810".
Ho optato per quest'ultima soluzione perché consente di avere supporto 3D e di utilizzare la
risoluzione nativa dello schermo di 1280x800 senza bisogno di installare 855resolution. Sarà
quindi necessario installare il pacchetto xf86-video-i810 e caricare i moduli intel-agp e i915.
Purtoppo con la versione 1.4.1.3 di xf86-video-i810 ricevo un errore "I810: no matching device
section...." quindi dovete emergere la versione 1.6.0 che richiede una versione di xorg-server
successiva alla 1.0.2-r7. Device Drivers --->
Character devices --->
/dev/agpgart ( AGP Support )
Intel 440LX/BX/GX, I8xx and E7x05 chipset support
Intel 830M, 845G, 852GM, 855GM, 865G
i915 drive
# emerge -av xf86-video-i810 # modprobe intel-agp i915 Il supporto al 3D funziona correttamente e sono riuscito a far girare AIXGL anche se non in
maniera del tutto fluida. Con glxgears ottengo circa 950 FPS.
$ glxinfo | grep rendering direct rendering: Yes
Nvidia Geforce Go 7400
10 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
Le versioni di xorg-server successive alla 1.0.2-r7 (richieste come dipendenza dal driver
xf86-video-i810 della GMA950) bloccano il driver nvidia-glx. Sul perché di questo blocco potete
trovare documentazione online. Per installare contemporaneamente i driver i810 e nvidia-glx
dovrete, quindi, fare ricorso ad un piccolo espediente:
# emerge -av nvidia-glx --nodeps
Significa che il driver nvidia viene installato ignorando le dipendenze. Ovviamente si tratta di
una soluzione provvisoria in attesa che la situazione cambi anche se finora ha funzionato
abbastanza bene per me. Per un approfondimento e per risolvere eventuali problemi rinvio alla
documentazione sul sito di gentoo http://www.gentoo.org/doc/en/nvidia-guide.xml .
Ricordate di caricare i moduli nvidia e agpgart e di eseguire "eselect opengl set nvidia".
# modprobe agpgart nvidia # eselect opengl set nvidia
Sono riuscito ad ottenere circa 2700 FPS a glxgears. Emergendo nvidia-settings avrete a disposizione una comoda interfaccia grafica di
configurazione che consente dicontrollare agevolmente vari parametri relativi a questa GPU.
# emerge nvidia-settings
Update 28/8/2006: Nvidia ha rilasciato la versione 1.0.8774 dei suoi driver per linux. La
principale novità è il supporto per X.org7.1 e quindi risolve i problemi che avevo incontrato
precedentemente con la configurazione della nvidia.Effettivamente, dopo aver installato i driver
aggiornati sembra funzionare tutto per il meglio.
Bisogna prima rimuovere i pacchetti nvidia-glx e nvidia-kernel (se nonliavevate installati
precedentemente passate direttamente all'installazione dei driver aggiornati) e poi emergere
nvidia-drivers:
# emerge --unmerge nvidia-kernel nvidia-glx
# emerge nvidia-drivers Non sto notando piu' artefatti sul testo e anche in questo caso glxgears mi segna uno score di
11 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
circa 2700 FPS.
Usb
Nulla da aggiungere a quanto trovate sul Wiki di Gentoo al link http://gentoo-wiki.com/HARDW
ARE_Intel_945G#USB 
Ethernet
Lspci ci informa che il chip di rete e' un Marvell 88E8036. Il modulo del kernel relativo e' lo sky2:
è ancora sperimentale e non è abilitato di default nel kernel, dovrete quindi ricompilare il kernel
con questa configurazione:
Device Drivers --->
Network device support --->
Ethernet (1000 Mbit) --->
SysKonnect Yukon2 support (EXPERIMENTAL) Wireless
La scheda di rete PRO/Wireless 3945ABG è abbastanza recente ma è ormai pienamente
supportata.
Al momento,però, bisogna reinstallare il sottosistema IEEE802.11 e successivamente emergere
il driver e il demone ipw3945.
Innanzitutto bisogna rimuovere dal kernel il supporto ad IEEE802.11 integrato:
Device Drivers ---> Wireless LAN (non-hamradio) --->
IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP)
Networking --->
Generic IEEE 802.11 Networking Stack Adesso possiamo emergere i pacchetti che ci occorrono:
12 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
# emerge ieee80211 # emerge ipw3945 ipw3945-ucode ipw3945d Resta solo da caricare i moduli:
# modprobe iee80211 ipw3945 Per configurare la connessione wi-fi suggerisco il solito howto su Gentoo-wiki http://gentoo-wiki
.com/HOWTO_Wireless_Configuration_and_Startup
. Lettori di schede di memoria
Il Sony SZ ha un lettore di Memory Stick integrato che non ho ancora avuto modo di testare.
Per gli altri formati è compreso nella dotazione un adattatore che viene riconosciuto
automaticamente da Linux e non necessita di nessuna configurazione.
Firewire, Modem e VGA
Da testare.
Power management
Spuntiamo le voci che ciinteressano nella sezione "Power management options" del kernel:
Power management options (ACPI, APM) --->
--- Power Management support [*] Legacy Power Management API [ ] Power Management Debug Support ACPI (Advanced Configuration and Power Interface) Support --->
[*] ACPI Support AC Adapter 13 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
Battery Button Video Generic Hotkey (EXPERIMENTAL) Fan Processor Thermal Zone APM (Advanced Power Management) BIOS Support --->
CPU Frequency scaling --->
[*] CPU Frequency scaling [ ] Enable CPUfreq debugging CPU frequency translation statistics [ ] CPU frequency translation statistics details Default CPUFreq governor (userspace) ---> 'performance' governor 'powersave' governor --- 'userspace' governor for userspace frequency scaling 'ondemand' cpufreq policy governor 'conservative' cpufreq governor --- CPUFreq processor drivers ACPI Processor P-States driver Intel Enhanced SpeedStep [*] Use ACPI tables to decode valid frequency/voltage pairs [ ] Built-in tables for Banias CPUs Intel Speedstep on ICH-M chipsets (ioport interface
Possiamo ottenere informazioni sulle frequenze supportate dalla nostra cpu: # emerge cpufrequtils # cpufreq-info cpufrequtils 001: cpufreq-info (C) Dominik Brodowski 2004-2006
Per favore, comunicare errori e malfunzionamenti a [email protected].
analisi della CPU 0:
modulo centrino
CPU per le quali e` necessario cambiare la frequenza contemporaneamente: 0
limiti hardware: 1000 MHz - 1.67 GHz
frequenze disponibili: 1.67 GHz, 1.33 GHz, 1000 MHz
gestori disponibili: conservative, ondemand, powersave, userspace, performance gestore corrente: la
Il gestore "userspace" puo` decidere quale velocita` usare
in questo intervallo.
la frequenza attuale della CPU e` 1.67 GHz (ottenuta da una chiamata diretta all'hardware).
analisi della CPU 1:
modulo centrino
CPU per le quali e` necessario cambiare la frequenza contemporaneamente: 1
limiti hardware: 1000 MHz - 1.67 GHz
frequenze disponibili: 1.67 GHz, 1.33 GHz, 1000 MHz
14 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
gestori disponibili: conservative, ondemand, powersave, userspace, performance gestore corrente: la
Il gestore "userspace" puo` decidere quale velocita` usare
in questo intervallo.
la frequenza attuale della CPU e` 1.67 GHz (ottenuta da una chiamata diretta all'hardware). Potete gestire lo scaling delle frequenze con il demone che preferite: io ho optato per
powernowd perché ha una configurazione semplificata ma sufficiente per le mie esigenze.
# emerge acpi acpid powernowd Per approfondimenti sull'argomento rinvio a http://www.gentoo.org/doc/en/power-management
-guide.xml
.
Suspend e Hibernate
Suspend (suspend to ram) e hibernate (suspend to disk) possono essere molto utili se si utilizza
un notebook, sia per limitare i consumi sia per accelerare i tempi di boot. Il supporto per la
sospensione può essere ottenuto essenzialmente in due modi: attraverso swsusp oppure
attraverso suspend2. Il primo è stato inserito nel kernel a partire dalla versione 2.6.x, il secondo
necessita di una apposita patch (o dei sorgenti del kernel suspend2-sources già patchati). Per
una comparazione fra i due metodi http://www.suspend2.net/features
Al momento ho provato con successo swsusp e a questo metodo mi riferirò di seguito. Ho avuto
qualche problema a far funzionare correttamente la sospensione con genkernel, quindi
consiglio di compilare il kernel manualmente:
# cd /usr/src/linux
# make menuconfig
Processor type and features --->
[*] Support for hot-pluggable CPUs (EXPERIMENTAL)
Power management options (ACPI, APM) --->
[*] Software Suspend
(/dev/SWAP) Default resume partition
15 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
ACPI (Advanced Configuration and Power Interface) Support --->
[*] Software Suspend
(/dev/SWAP) Default resume partition
ACPI (Advanced Configuration and Power Interface) Support --->
[*] Sleep States
Device Drivers --->
SCSI low-level drivers --->
Serial ATA (SATA) support
Intel PIIX/ICH SATA support
È importantissimo abilitare il supporto per ata_piix direttamente nel kernel, in caso contrario il
sistema non sarà in grado di rinvenire correttamente dalla sospensione o dalla ibernazione.
Modificate /dev/SWAP con la vostra partizione di swap!
# make clean && make && make modules_install
# make install
Infine bisogna riconfigurare lilo e reinstallarlo nel MBR. Questa ad esempio è la voce relativa
nel mio file /etc/lilo.conf, ovviamente modificatela secondole vostre esigenze:
...
image=/boot/KERNEL
label=Gentoo
read-only
root=/dev/ROOT
append="resume=/dev/SWAP acpi_sleep=s3_bios"
...
Ultima annotazione: la sospensione potrebbe non riuscire a fermare alcuni processi che
,quindi,dovranno essere fermati manualmente. È il caso di sonypid # /etc/init.d/sonypid stop
# echo mem > /sys/power/state
oppure
# echo disk > /sys/power/state
16 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
Sensori hardware
Ho seguito pedissequamente l'howto sul Wiki di Gentoo all'indirizzo http://gentoo-wiki.com/HA
RDWARE_Sensors
ma
senza successo. Sensors mi restituisce un messaggio di errore:
# sensors -s Can't access procfs/sysfs file
Unable to find i2c bus information;
For 2.6 kernels, make sure you have mounted sysfs and libsensors
was compiled with sysfs support!
For older kernels, make sure you have done 'modprobe i2c-proc'!
Si tratta di un problema noto che dovrebbe dipendere da un ancora scarso supporto
dell'interfaccia I2C del chipset: si veda http://gentoo-wiki.com/HARDWARE_Intel_945G#Hardw
are_Sensors
e http://forums.gentoo.org/viewtopic-t-46
8277-highlight-i2ci801.html
.
Riesco comunque a monitorare le temperature della CPU (attraverso ACPI), dell'HDD
(attraverso il chip S.M.A.R.T.) e della GPU Nvidia (con nvidia-settings).
Frame buffer console
Per il chip GMA950 sono riuscito ad ottenere una console a tutto schermo con questa
configurazione del kernel:
Device Drivers ---> Graphics support --->
Support for frame buffer devices [*] Enable firmware EDID VESA VGA graphics support VESA driver type (vesafb-tng) --->
(1280x800@75) VESA default mode 17 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
Non ho ancora trovatouna soluzione soddisfacente per il chip Nvidia.
Tasti funzione Fn
Configurare i tasti funzioni su questo come su altri Sony può rivelarsi un pò ostico: gli strumenti
abitualmente utilizzati con i notebook Sony, sonypid e spicctrl, non funzionano col Sony SZ o
necessitano di essere adattati. A questo scopo ho modificato del codice relativo al Sony FS
pubblicato su questa discussione http://forums.gentoo.org/viewtopic-t-335267-highlight-sonyac
pi.html
.
Bisogna innanzitutto accertarsi che sia abilitato nel kernel il seguente modulo:
Device Drivers --->
Character devices --->
Sony Vaio Programmable I/O Control Device support (EXPERIMENTAL) Ora possiamo caricare il modulo sonypi che ci consentirà di intercettare la pressione dei tasti
funzione:
# modprobe sonypi
Per gestire la luminosità dello schermo abbiamo bisogno di installare sony_acpi (spicctrl risulta
inefficace sul Sony SZ). Potete trovare i sorgenti di sony_acpi a questo link . Dopo aver
scaricato il file scompattatelo, spostatevi nella cartella sony_acpi e compilate il modulo:
# make A questo punto bisogna copiare il modulo e caricarlo:
# cp sony_acpi.ko /lib/modules/`uname -r`/kernel/drivers/acpi # depmod -a # modprobe sony_acpi Se è andato tutto bene ora troveremo in /proc/acpi/sony il file brightess.
# ls /proc/acpi/sony
18 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
brightness brightness_default Per testare se il modulo sony_acpi funziona correttamente potete provare a modificare
manualmente la luminosita' dello schermo inserendo un numero da 1 ad 8 nel file brightness.
ad es:
# echo "5" >> /proc/acpi/sony/brightness Ora abbiamo tutti gli strumenti per configurare i nostri tasti funzione. Possiamo seguire due
metodi differenti a seconda che si usi acpid o sonypid opportunamente modificato.
Update 29/09/2006: Il metodo descritto consente di gestire la luminosità dello schermo
unicamente usando il chip video integrato, se si usa la Nvidia sarà necessario installare
smartdimmer, una piccola utility che potete scaricare a questo
link .
Metodo A) Configurazione dei tasti funzione attraverso acpid
Ogni qualvolta premiamo un tasto funzione acpid registra un evento al quale possiamo
associare una particolare azione. Ad es. vediamo cosa ci dice il log di acpid alla pressione della combinazione Fn+F2 (funzione
mute/unmute):
# tail -0f /var/logs/acpid [Fri Jul 21 13:11:23 2006] received event "sony/hotkey SPIC 00000001 0000000d"
......
...... 19 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
Si tratta ora di associare una azione a questo evento. Acpid scorre i file contenuti nella cartella /etc/acpi/events alla ricerca di script che associno a ciascun evento una particolare azione.
Ciascuno script deve avere la sintassi indicata nel file di esempio /etc/acpi/events/default. Non
mi dilungherò sul funzionamento di acpid, consultate il man di acpid per maggiori informazioni. Tornando al nostro esempio, se volessimo associare un'azione all'evento Fn+F2 potremmo
inserire nella cartella /etc/acpi/events un file (potete chiamarlo come preferite, è indifferente) col
seguente contenuto:
event=sony/hotkey SPIC 00000001 0000000d
action=/usr/bin/fnsz fn_f2 Il funzionamento è molto semplice: quando acpid intercetta l'evento corrispondente alla
pressione dei tasti Fn+F2 lancia il programma /usr/bin/fnsz passandogli come parametro
"fn_f2".
Possiamo fare la stessa cosa per tutti gli altri tasti funzione.
Ora ci serve un programma, fnsz, che si occupi di aumentare/diminuire il
volume,aumentare/diminuire la luminosità ed in generale di gestire qualsiasi azione associata ai
nostri tasti funzione. Eccovi il sorgente del programma, fnsz.c:
#include
#include
#include
#include
#include
#include
#include
#include
// sound stuff
#include
#include
#include
#include
20 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
// config hard coded :p
#define MIXER_DEV "/dev/mixer"
#define MAX_BRIGHT 8
#define MIN_BRIGHT 1
int printosd(char *input, int percent, int style, int time) {
//Create the OSD display
//xosd *osd1;
static xosd *osd1 = '\0';
osd1 = xosd_create(2);
if(osd1 == NULL){
// perror("Could not create \"osd\"");
return (1);
}
//Set OSD settings
xosd_set_font(osd1,"-adobe-helvetica-bold-r-normal-*-*-360-*-*-p-*-*");
//Set some shadow under text
xosd_set_shadow_offset(osd1,1);
//Set position of Text to print
xosd_set_pos (osd1, XOSD_middle);
xosd_set_align (osd1, XOSD_center);
//xosd_set_font(osd1,"-adobe-*-bold-r-*-*-*-*-*-*-*-300-*-*");
xosd_set_colour(osd1,"Blue");
//Set the time received by variable "time"
xosd_set_timeout(osd1,time);
//xosd_set_outline_offset(osd1, 1);
//xosd_set_outline_colour(osd1, "white");
//Set the length of the percentage bar
xosd_set_bar_length(osd1, 20);
if (style==0){
xosd_hide(osd1);
//Display only the text
21 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
xosd_display(osd1, 0, XOSD_string,input);
}
else if (style==1){
xosd_hide(osd1);
//Display the text
xosd_display(osd1, 0, XOSD_string,input);
//Display the percentage xosd_display(osd1, 1, XOSD_percentage,percent);
}
usleep(2000000);
xosd_destroy(osd1);
return 0;
}
// SOUND HANDLER
int get_volume(int *value)
{
int mixer = open(MIXER_DEV, O_RDONLY);
if (mixer) {
ioctl(mixer, SOUND_MIXER_READ_VOLUME, value);
close(mixer);
return 0;
}
else
return 1;
}
int set_volume(int *value)
{
int mixer = open(MIXER_DEV, O_RDWR);
if (mixer) {
ioctl(mixer, SOUND_MIXER_WRITE_VOLUME, value);
close(mixer);
return 0;
}
else
return 1;
}
int volume_up()
{
int value = 0;
22 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
get_volume(&value);
if (value < 0x5a5a)
value += 0x0a0a;
else
value = 0x6464;
set_volume(&value);
printosd("Volume",(value/250),1,2);
return 0;
}
int volume_down()
{
int value = 0;
get_volume(&value);
if (value > 0x0a0a)
value -= 0x0a0a;
else
value = 0;
set_volume(&value);
printosd("Volume",(value/250),1,2);
return 0;
}
int oldvalue;
int mute()
{
int value;
get_volume(&value);
if (value) {
oldvalue=value;
value=0;
set_volume(&value);
printosd("Volume MUTED",0,0,1);
}
else {
if (!oldvalue) {
volume_up();
}
23 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
else {
set_volume(&oldvalue);
}
}
return 0;
}
// END OF SOUND
/* Return current brightness of the screen */
int getBrightness() {
FILE* handle;
int ret;
if ((handle=fopen("/proc/acpi/sony/brightness","rb"))==NULL) {
perror("Error opening /proc/acpi/sony/brightness");
exit(-1);
}
if (fscanf(handle,"%d",&ret)!=1) {
perror("Error reading /proc/acpi/sony/brightness");
exit(-1);
}
fclose(handle);
return ret;
}
/* Set the current brightness of the screen */
void setBrightness(int b) {
FILE* handle;
// validate values
if (b > MAX_BRIGHT) {
b = MAX_BRIGHT;
}
else if (b < MIN_BRIGHT) {
b = MIN_BRIGHT;
}
if ((handle=fopen("/proc/acpi/sony/brightness","wb"))==NULL) {
perror("Error opening /proc/acpi/sony/brightness");
exit(-1);
}
if (fprintf(handle,"%d",b)!=1) {
perror("Error writing /proc/acpi/sony/brightness");
exit(-1);
24 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
}
fclose(handle);
printosd("LCD Bright",floor(b*12.5),1,2);
}
// Pool the fnkey status
// No loop, fn combo is intercepted by acpid and passed as argument
int main (int argc, char *argv[])
{
if (argc>1 && strcmp(argv[1],"fn_f5")==0) { // lower brightness
setBrightness(getBrightness()-1);
}
if (argc>1 && strcmp(argv[1],"fn_f6")==0) { // higher brightness
setBrightness(getBrightness()+1);
}
if (argc>1 && strcmp(argv[1],"fn_f2")==0) {
mute();
}
if (argc>1 && strcmp(argv[1],"fn_f3")==0) {
volume_down();
}
if (argc>1 && strcmp(argv[1],"fn_f4")==0) {
volume_up();
}
return 0;
}
Compilate il programma e copiatelo in /usr/bin
# gcc -Wall -o fnsz fnsz.c -L/usr/X11R6/lib -lX11 -lXtst -lxosd -lm # cp fnsz /usr/bin Al momento il programma accetta 5 parametri:
-
fn_f2 Volume mute/unmute
fn_f3 Volume down
fn_f4 Volume up
fn_f5 Brightness down
fn_f6 Brightness up
25 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
Testate il programma per vedere se va tutto ok
# fnsz fn_f5 Ricordate che per usare fnsz in combinazione con acpid dovete configurare correttamente gli
script in /etc/acpi/events/ Il programmino è solo abbozzato ed avrebbe bisogno di essere perfezionato, ho aggiunto una
funzione che dovrebbe stampare a schermo dei messaggi di riepilogo sfruttando XOSD ma non
funziona correttamente quando il programma viene lanciato da acpid.
Questo sistema può sembrare troppo complesso ma ha il vantaggio di sfruttare il demone acpi
(che presumibilmente avrete già attivo sul notebook) e di non aggiungere un altro demone in
background. Metodo B) Configurazione dei tasti funzione mediante sonypid Questo metodo, rispetto a quello precedente, ha il vantaggio di essere molto più semplice ma
richiede l'esecuzione di un altro demone in backgorund. Potete emergere sonypid dalle
repository ma per funzionare dovrete configurarlo a dovere oppure potete scaricare sonypid gia'
modificato per funzionare col Sony SZ da questo link .
Scompattate il file, spostatevi nella directory sonypid-mod e compilate:
# make # cp sonypid /usr/bin Potete testare sonypid prima di aggiungerlo ad rc-update
26 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
# sonypid & Anche a sonypid è stata aggiunta una funzione per mostrare a schermo dei messaggi di
riepilogo tramite XOSD ma anche in questo caso dev'essere perfezionata e corretta.
Extra
Abituato al mio vecchio notebook Asus avrei preferito che anche il Sony SZ avesse uno
shortcut da tastiera per spegnere lo schermo. Per ovviare a questa mancanza ho configurato
acpid per spegnere lo schermo quando viene premuta la combinazione di tasti Fn+F8. Mi sono
basato su questo howto .
Bisogna innanzitutto aggiungere un file in /etc/acpi/events/ contenente le seguenti due righe:
event=sony/hotkey SPIC 00000001 00000013
action=XAUTHORITY=`ls /etc/X11/xdm/authdir/authfiles/*:0*` /usr/bin/xset -display :0.0 dpms force off Purtroppo non è sufficiente perché acpid non ha permessi sul display dell'utente. Io ho risolto il
problema creando uno script fn_f8.sh contenente questa unica riga:
xhost +local:root > /dev/null
Ricordatevi di rendere lo script eseguibile e caricatelo all'inizio della sessione dell'utente (da
Gnome aprite il menù Desktop > Preferenze > Sessioni ed aggiungete lo script ad "Avvio
programmi").
Conclusioni
La Gentoo gira in maniera soddisfacente anche su un notebook recente come il Sony SZ: ci
sono ancora parecchi dettagli da sistemare ma nel complesso il notebook va benissimo per il
mio uso giornaliero.
27 / 28
Guida: Gentoo su Sony Vaio SZ - Notebook Italia
Scritto da Redazione
Giovedì 20 Luglio 2006 05:34 - Ultimo aggiornamento Lunedì 13 Giugno 2016 16:21
Una nota di merito va sicuramente alla ricchissima documentazione offerta sul Sito e sul Wiki di
Gentoo così come alla comunità degli utenti che offre il suo indispensabile contributo sul Forum.
28 / 28