sexta-feira, 8 de abril de 2011

Gnome 3 - Arch Linux - Intel KMS (modeset)

Após o longo dia de testes do GNOME 3.0 resolvi ir além e fazer uma instalação desse novo ambiente no Arch Linux. Eu não queria apenas testa-lo através de um live-cd de apresentação, digamos assim. Eu gostaria de utiliza-lo em uma distro que me permitisse fazer uma instalação do zero.

Como hoje me superei no quesito disposição, pratiquei algumas leituras sobre como instalar o Gnome 3.0 no Arch Linux. Bom, chega de história, vamos ao passo-a-passo.

Obs.: O tutorial sobre o Intel KMS utiliza os arquivos referentes ao GRUB2-BIOS, bootloader que optei durante a instalação do Arch Linux.

Obs.2: Todos os comandos abaixo devem ser executados como root.

1. Instalando o Gnome 3.0 no Arch Linux
Após uma instalação normal, habilite o repositório [Testing] descomentando a linha referente a ele no arquivo /etc/pacman.conf
[testing]
Include = /etc/pacman.d/mirrorlist

Configure o(s) mirror(s) de sua preferência descomentando sua(s) linha(s) referente(s) no arquivo /etc/pacman.d/mirrorlist
 -- Eu costumo usar os servidores HTTP C3SL (Brazil) e o HTTP ARCHLINUX (USA)
 -- Brazil com Z porque no arquivo está assim

Atualize APENAS o banco de dados do Pacman. Se você rodar o comando para atualizar o sistema em geral ( pacman -Syu ou pacman -Su ) com o repositório testing habilitado terá vários problemas. Em seguida instale o Gnome 3.0
pacman -Sy
pacman-db-upgrade
pacman -S testing/gnome testing/gnome-extra \
gstreamer0.10-plugins xorg xorg-drivers networkmanager \
network-manager-applet bluez gnome-bluetooth ttf-dejavu

Edite os arquivos abaixo com suas respectivas modificações:
1. /etc/rc.conf

-- Seção MODULES
!snd-pcm-oss
--> isso previne que alguns programas utilizem o ALSA OSS ao invés do PulseAudio.

-- Seção NETWORKING
#eth0="eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255"
#eth0="dhcp"
INTERFACES=(!eth0 !wlan0)
--> isso previne que o serviço nativo de rede (networking) detecte e configure as interfaces

-- Seção DAEMONS
DAEMONS=(syslog-ng !network netfs crond !alsa dbus networkmanager hal)
--> isso desabilita o serviço nativo de rede (networking) e o servidor de som (alsa)

2. /etc/inittab
## Only one of the following two lines can be uncommented!
# Boot to console
#id:3:initdefault:
# Boot to X11
id:5:initdefault:

...

# Example lines for starting a login manager
#x:5:respawn:/usr/bin/xdm -nodaemon
x:5:respawn:/usr/sbin/gdm -nodaemon
#x:5:respawn:/usr/bin/kdm -nodaemon
#x:5:respawn:/usr/bin/slim >/dev/null 2>&1

2. Ativando o KMS (Kernel Modeset) da Intel GMA950

Quando digo que hoje estava com disposição é porque DE FATO eu estava! Eu já tinha um problema BASTANTE chato com o Arch Linux: Nunca conseguia habilitar a resolução nativa do monitor do meu netbook. Hoje, para tornar meu dia super agradável, consegui resolver essa questão de forma rápida e direta, consultando as fontes corretas na internet.

No próprio wiki do Arch Linux aprendi os seguintes passos:
1, Edite o arquivo /etc/mkinitcpio.conf

MODULES="ata_piix ehci-hcd uhci-hcd ext4 intel_agp i915"
--> acrescente os módulos intel_agp e i915

2. Edite o arquivo /etc/default/grub

GRUB_GFXMODE=1024x600x24
GRUB_GFXPAYLOAD_LINUX=keep
--> defina a resolução do seu monitor em GRUB_GFXMODE

3. Edite o arquivo /boot/grub/grub.cfg

Na linha referente aos parametros a serem carregados durante o boot remova a opção nomodeset, como no exemplo abaixo

ANTES

linux (${root})//boot/vmlinuz26 root=/dev/disk/by-uuid/2621e753-aca0-438f-b1eb-a5b4241005cd rootfstype=ext4 ro nomodeset add_efi_memmap

DEPOIS

linux (${root})//boot/vmlinuz26 root=/dev/disk/by-uuid/2621e753-aca0-438f-b1eb-a5b4241005cd rootfstype=ext4 ro add_efi_memmap

Se por um acaso a remoção da opção nomodeset não for suficiente, acrescente a opção i915.modeset=1 como no exemplo abaixo

linux (${root})//boot/vmlinuz26 root=/dev/disk/by-uuid/2621e753-aca0-438f-b1eb-a5b4241005cd rootfstype=ext4 ro i915.modeset=1 add_efi_memmap

4. Atualize o "ramdisk" responsável pelo pré-carregamento de alguns módulos necessários para o arranque do sistema
mkinitcpio -p kernel26

Se você utiliza o Kernel LTS
mkinitcpio -p kernel26-lts

Reinicie o computador e aproveite! :-)
Espero ter ajudado.
Follow Me on Twitter