Este notebook possui 2 placas de vídeo distintas, uma (nVidia - Speed) usada para velocidade e melhor renderização de gráficos 3D e uma segunda (Intel - Stamina) para maior mobilidade e durabilidade da bateria.
A placa de vídeo a ser utilizada é selecionada por um switch localizado ao lado do switch que liga e desliga a rede wireless. Por tanto, o sistema deve ser configurado para, durante o boot, verificar qual placa está sendo utilizada e dependendo deste resultado selecionar qual arquivo de configuração (xorg.conf) deve ser utilizado.
Para realizar esta seleção, podemos usar o script abaixo:
#!/bin/sh
VIDEO=`/usr/bin/lspci |grep -c nVidia`
if [ "$VIDEO" = 1 ]; then
ln -nsf /etc/X11/xorg.conf.speed /etc/X11/xorg.conf
else
ln -nsf /etc/X11/xorg.conf.stamina /etc/X11/xorg.conf
fi
Uma vez que o script já está criado e em sua pasta, podemos executar os seguintes comandos para que este seja adicionado corretamente na sequencia de boot do Ubuntu.
sudo aptitude install linux-restricted-modules-generic nvidia-glx cd /etc/init.d/ sudo chmod +x xorg_conf sudo update-rc.d xorg_conf start 12 2 .
Os arquivos de configuração (xorg.conf.speed e xorg.conf.stamina) devem ser colocados na pasta /etc/X11/ para que o script acima funcione corretamente.
As funções de suspender e hibernar do Ubuntu 6.06 funcionam perfeitamente quando utilizando em modo stamina. Em modo speed o suspender funciona perfeitamente quando utilizando o driver proprietário da nVidia. Já a hibernação não funciona, dando erros de renderização no X quando volta da hibernação. No modo speed, tanto a função de hibernação quanto a de suspender não funcionam com o driver open source (nv).
| Modo | Placa | Driver | Suspender | Hibernar |
|---|---|---|---|---|
| Stamina | Intel 945 | i810 | Sim | sim |
| Speed | nVidia GeFoce Go 7400 | nv | Não | Não |
| Speed | nVidia GeFoce Go 7400 | nvidia | Sim | Não |
Apesar de funcionarem perfeitamente, ao restaurar o sistema percebi que a placa Wireless nao estava funcionando, nem mesmo o iwconfig reconhecia a placa eth1 como wireless. Para resolver este problema, criei um pequeno script para o ACPI, mostrado abaixo:
/etc/acpi/resume.d/60-ipw3945-cycle.sh
#!/bin/sh /sbin/rmmod ipw3945 /sbin/modprobe ipw3945
A maiorida das hotkeys do teclado funcionam perfeitamente com o Ubuntu Edgy padrão. No entanto, a Fn+F1 (Conectividade) não está programada na ACPI. Para que a mesma tivesse sua funcionalidade, desenvolvi um conjunto de scripts para que esta hotkey seja utilizável. Como esta hotkey controla tanto o BlueTooth quanto o Wireless LAN (802.11a/b/g) o fluxo de funcionamento da mesma será:
Para conseguir esta funcionalidade, temos que adicionar no sistema os arquivos abaixo:
/etc/acpi/events/sony-wireless
# /etc/acpi/events/sony-wireless event=sony/hotkey SPIC 00000001 0000000c action=/etc/acpi/sony-wireless.sh
#!/bin/bash
# Find and enable/disable wireless devices
export DISPLAY=:0.0
btstate=`/usr/bin/spicctrl -L`
for DEVICE in /sys/class/net/*; do
if [ -d $DEVICE/wireless ]; then
wlanstate=`cat $DEVICE/device/power/state`
wlandev=$DEVICE
break
fi
done
if [ $btstate -eq 0 ] && [ $wlanstate -gt 0 ]; then
echo "BlueTooth: On" > /tmp/sony-wireless
echo "WiFi: On" >> /tmp/sony-wireless
spicctrl -l 1
echo -n 0 > $wlandev/device/power/state
elif [ $btstate -gt 0 ] && [ $wlanstate -eq 0 ]; then
echo "BlueTooth: Off" > /tmp/sony-wireless
echo "WiFi: On" >> /tmp/sony-wireless
spicctrl -l 0
elif [ $btstate -eq 0 ] && [ $wlanstate -eq 0 ]; then
echo "BlueTooth: On" > /tmp/sony-wireless
echo "WiFi: Off" >> /tmp/sony-wireless
spicctrl -l 1
echo -n 2 > $wlandev/device/power/state
elif [ $btstate -gt 0 ] && [ $wlanstate -gt 0 ]; then
echo "BlueTooth: On" > /tmp/sony-wireless
echo "WiFi: On" >> /tmp/sony-wireless
echo -n 0 > $wlandev/device/power/state
fi
/etc/acpi/sony-wireless-osd.py
Para podermos visualizar na tela o que o resultado da ação executada pelo script, podemos utilizar o pequena programa python abaixo escrito por mim. O mesmo utiliza a biblioteca python-osd (On Screen Display) para mostrar na tela do notebook o resultado da ação do hotkey.
/etc/acpi/sony-wireless-osd.py
#!/usr/bin/python
import pyosd, time, re
font = "-adobe-helvetica-bold-r-*-*-34-*-*-*-*-*-*-*"
timeout = 2
color = "yellow"
align_h = pyosd.ALIGN_CENTER
align_v = pyosd.POS_MID
f = open ("/tmp/sony-wireless")
p = pyosd.osd(font)
p.set_align(align_h)
p.set_pos(align_v)
p.set_colour(color)
p.set_timeout(timeout)
p.display(re.sub("\n", "", f.readline()))
p.display(re.sub("\n", "", f.readline()), line=1)
time.sleep(timeout)
Com todos os arquivos devidamente criados e colocados nos seus locais corretos, temos ainda que executar os seguintes comandos para que tudo funcione corretamente:
sudo aptitude install python-osd sudo chmod +x /etc/acpi/sony-wireless.sh /etc/acpi/sony-wireless-osd.py sudo /etc/init.d/acpid restart
Agora basta utilizar a combinação Fn+F1 para ativar e desativar os dispositivos de conectividade conforme a seqüência do diagrama acima.
Habilitando os repositórios multiverse e universe do Ubuntu, já podemos instalar diversos codecs proprietários de audio e vídeo. Com o comando abaixo instalmos a grande maioria destes.
sudo aptitude install cdrdao vcdimager mjpegtools vcdtools transcode avifile-player avifile-utils avifile-mad-plugin avifile-mjpeg-plugin avifile-vorbis-plugin avifile-win32-plugin avifile-xvid-plugin avifile-divx-plugin xvid4conf movixmaker-2 normalize-audio mpeg2dec a52dec vorbis-tools id3v2 mpg321 mpg123 avifile-mad-plugin avifile-win32-plugin libswfdec0.3 libflac++5c2 avifile-mjpeg-plugin cdda2wav toolame libmp4v2-0 avifile-vorbis-plugin dvdauthor mpeg2dec ffmpeg libmjpegtools0c2a tagtool transcode avifile-divx-plugin avifile-utils gstreamer0.10-plugins-bad avifile-xvid-plugin libavifile-0.7c2 dvd-slideshow movixmaker-2 mpg123 libmad0 libquicktime0 libjpeg-progs lame libmpcdec3 liblame0 libmpeg2-4 uudeview flac lame-extras libmpeg3-1 libxine-extracodecs mp3gain nautilus-script-audio-convert gstreamer0.10-plugins-ugly gstreamer0.10-ffmpeg gstreamer0.10-gl gstreamer0.10-pitfdll gstreamer0.10-sdl libsidplay1 easytag id3tool gsfonts gsfonts-x11 faad faac
Existem alguns codecs que não se encontram nem nestes repositórios. Um exemplo, o w32codecs, pode ser encontrado em repositórios extras como o Seveas-Edgy. Para isso, adicione no /etc/apt/sources.list as linhas abaixo:
deb http://seveas.imbrandon.com edgy-seveas all deb-src http://seveas.imbrandon.com edgy-seveas all
Em seguida, instale os pacotes desejados:
wget http://seveas.ubuntulinux.nl/1135D466.gpg -O- | sudo apt-key add - sudo aptitude update sudo aptitude install w32codecs libdvdcss2
Pronto!! Você já pode assistir praticamente qualquer arquivo de vídeo e filmes no seu drive de DVD.
Mesmo com todos os codecs proprietários instalados, o GMC (Globo Media Center) costuma não funcionar por padrão no Ubuntu. Para que o mesmo funcione, devemos remover o plugin do totem e adicionar o do mplayer. É muito simples, basta executar os comandos abaixo:
sudo apt-get remove totem-mozilla sudo aptitude install mozilla-mplayer
Preste atenção em remover o totem-plugin com o apt-get e nao com o aptitude, o segundo não removerá corretamente. Com estes comandos finalizados, basta re-iniciar o Firefox para que o GMC passe a funcionar no seu Ubuntu.
xine --no-splash --auto-play=f dvd://
| Tipo | Intel® Core™ 2 Duo Processor T7400 |
|---|---|
| Clock | 2.16GHz1 |
| FSB | 667MHz |
| Cache L2 | 4MB |
| Tecnologia | Intel® Centrino® Mobile Technology |
| Virtualização | Sim |
| Tamanho | 13.3” |
|---|---|
| Resolução | 1280×800 |
| Tecnologia | Painel LCD WXGA super-fino |
| Placas | NVIDIA® GeForce® Go 7400 |
|---|---|
| Intel® Graphics Media Accelerator 950 | |
| Memória | 128MB (NVIDIA® GeForce® Go 7400) |
| 128MB (memória RAM/Video compartilhada dinamicamente alocada) (Intel® Graphics Media Accelerator 950) | |
| Tecnologia | Sistema Gráfico Híbrido |
| TurboCache™ | |
| Chipset | Intel® 945GM |
| Interface | Saída VGA c/ Smart Display Sensor |
| Porta Ethernet | Fast Ethernet (RJ-45) |
|---|---|
| Velocidade | 10BASE-T/100BASE-TX |
| Tipo de Modem | Modem integrado V.92/V.90 (RJ-11) |
| Wireless LAN | Intel® PRO/Wireless 3945ABG (802.11a/b/g) |
| Wireless WAN | Placa EDGE (WAN) integrada com tecnologia SmartWi™ (Wireless WAN e Wireless LAN não transmitem ao mesmo tempo) |
| Bluetooth® | Alps Eletric Co., Ltd |