-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Framebuffer e driver da nvidia em harmonia (para Debian) por Aline de Freitas
Eu já não tinha mais esperanças de usar framebuffer, uma vez que os drivers do kernel rivafb e nvidiafb não funcionam bem com o driver proprietário da nvídia (indispensável para aceleração 3D). Para quem tem placa com saída para TV (como eu) não consegue usufruir nem do genérico vesafb. Isso porque devido a um conflito deste driver com o proprietário da nvidia o console fica inutilizável. As únicas "soluções" que encontrei pela net eram no sentido de desabilitar a saída de TV, mas peraí, eu USO essa saída para a minha TV. Então finalmente a solução para o momento é o driver uvesafb (http://dev.gentoo.org/~spock/projects/uvesafb/index.php) Ele ainda está em fase RC (release candidate) mas para mim funciona perfeitamente. Para instalar o driver é preciso aplicar um patch no kernel, recompilar o kernel, compilar sua própria versão da biblioteca klibc, compilar o utilitário v86d, recompilar mais uma vez o kernel, reiniciar e curtir o framebuffer! Compilar e recompilar em um ambiente como o gentoo é bastante simples. No debian, as coisas podem parecer um pouco complicadas, mas... nem tanto! 1. Entre no site: http://dev.gentoo.org/~spock/projects/uvesafb/index.php e baixe a última versão do patch uvesafb (no momento em que escrevo este tutorial o patch é uvesafb-0.1-rc2-2.6.22-rc6.patch $ cd /tmp $ wget http://dev.gentoo.org/~spock/projects/uvesafb/archive/uvesafb-0.1-rc2-2.6.22-rc6.patch 2. Baixe a versão do kernel correspondente ao patch disponível (no momento é 2.6.22-rc6) $ wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.22-rc6.tar.bz2 3. Descompacte o kernel e aplique o patch (como root) # su (sua senha de root) # mv linux-2.6.22-rc6.tar.bz2 uvesafb-0.1-rc2-2.6.22-rc6.patch /usr/src # tar -xjvf linux-2.6.22-rc6.tar.bz2 # ln -s linux-2.6.22-rc6 linux # cd linux # patch -p1 <../patches/uvesafb-0.1-rc2-2.6.22-rc6.patch 4. Configure o kernel # cp /boot/config-($uname -r) /usr/src/linux/.config # make menuconfig (ou use make gconfig, ou xconfig... o q achar mais prático :)) Em "Device Drivers" selecione "Connector - unified userspace <-> kernelspace linker" e ainda dentro de "Device Drivers" entre em "Graphics support" selecione "Userspace VESA VGA graphics support" 5. Compile o kernel (do geito debian) # make-kpkg kernel_image Se você instalou os drivers da nvidia pelo sistema de pacotes do debian ou possui outros modulos à parte, como alsa-modules o mais adequado agora é na verdade o comando a seguir: # make-kpkg kernel_image modules_image # mv /lib/modules/$(uname -r) /lib/modules/$(uname -r).old; cd .. # dpkg -i linux-image-2.6.22-rc6... ... .deb nvidia-kernel... ... .deb (se tiver) E reinicie... 6. Agora é hora de compilar as bibliotecas klibc contra seu próprio kernel. É melhor fazer também do geito debian... É recomendável utilizar a versão mais recente do klibc (no momento 1.5). Ela está disponível na unstable. Se você usa testing, acrescentar o klibc-1.5 não vai fazer muito mal. Se você usa stable, pare tudo! O que diabos vc está fazendo querendo instalar um driver ainda na condição de "release candidate"? Remova os binários # apt-get remove libklibc libklibc-dev klibc-utils initramfs-tools Uma pasta pra ajudar na organização... # mkdir ~/sources; cd ~/sources # apt-get source libklibc # cd klibc-1.5 Se tiver algum diretório linux dentro dos sources do klibc remova. Então crie um link simbólico para seu novo kernel # ln -s /usr/src/linux-2.6.22-rc6 /root/sources/klibc-1.5/linux E compilemos com o "debian way" # debian/rules binary E initramfs... # cd ../initramfs-tools-0.88 # debian/rules binary Agora instalamos os binários do diretório ~/sources # dpkg -i libklibc_1.5-2_amd64.deb libklibc-dev_1.5-2_amd64.deb klibc-utils_1.5-2_amd64.deb # apt-get install initramfs-tools Baixe e compile o v86d do site http://dev.gentoo.org/~spock/projects/uvesafb/index.php (adicione meu patch para debianizar) $ cd /tmp $ wget http://dev.gentoo.org/~spock/projects/uvesafb/archive/v86d-0.1-rc2.tar.bz2 # wget http://baderna.birosca.org/~aline/v86d/debian-v86d-0.1-rc2.patch # tar -xjvf v86d-0.1-rc2.tar.bz2 # cd /usr/local/src/v86d-0.1/ # patch -p1 <../debian-v86d.patch # chmod u+x debian/rules # debian/rules binary # cd ../ # dpkg -i dpkg -i v86d_0.1_amd64.deb 7. Finalmente recompilar o kernel... Em "General Setup" selecione "Initial RAM filesystem and RAM disk (initramfs/initrd) support" e use /usr/local/src/v86d-0.1 em "Initramfs source file(s). 8. E de novo # make-kpkg kernel_image modules_image 9. Adicione video=uvesafb:1024x768-32,mtrr:3,ywrap em /boot/grub/menu.lst ou /etc/lilo.conf No caso do grub, eu acrescento isso em # defoptions=video=uvesafb:800x600-32,mtrr:3,ywrap e depois execute update-grub 10. Reinicie e curta o seu novo uvesafb! http://birosca.org/moin/uvesafb - -- Aline de Freitas - Chave pública: ID DE632016 / keys.indymedia.org gpg --keyserver keys.indymedia.org --recv-keys DE632016 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGi+J/hLRvs95jIBYRApsfAJ47Uc3tn9IWua2QGRtlbjDQFI36kQCdF2yL WW/kelQ4S6T/XTD9o551rO0= =zVTW -----END PGP SIGNATURE----- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]