Desde novembro, tenho trabalhado em um driver para o softmodem do meu laptop, o Si3055, sempre que tenho tempo.

Hoje obtive os primeiros resultados interessantes. Já é possível realizar chamadas de telefone utilizando uma ferramenta que escrevi, o ossphone. Tentei conectar via dial-up, mas ainda não foi possível devido a alguns problemas de latência. Verificarei com o Hannu e com outros contribuidores do OSS como é possível resolver esses últimos problemas.

ossphone no Haiku

Acima temos um screenshot que mostra o ossphone funcionando e fazendo chamadas de telefone no Haiku. Sim, eu uso o microfone e a caixa de som (ou fone de ouvido) como se fossem um telefone.

As coisas nas quais estou trabalhando estão disponíveis aqui. Por enquanto o driver e o ossphone foram testados no Arch Linux e no Haiku, e funcionaram corretamente em ambos (tirando os problemas de latência). Ports do OSS para o NetBSD seriam apreciados ;)

Foi lançado hoje o repositório [archlinuxbr], mantido pela comunidade Arch Linux Brasil. Esse repositório tem como objetivo:

  1. Fornecer pacotes de softwares experimentais interessantes, que por serem experimentais não podem ser incluídos no [community].
  2. Fornecer pacotes que ainda não tenham popularidade o suficiente para serem incluídos no [community].
  3. Fornecer pacotes de softwares que não são aceitos nos repositórios oficiais devido a problemas "diplomáticos" (ion-3).

Todos os pacotes incluídos no repositório estão disponíveis no AUR.

Em alguns casos, um dos pacotes pode ser uma mera recompilação de um pacote dos repositórios oficiais feita com uma biblioteca experimental. Por exemplo, é o que ocorre com o arora-git-tp, que é uma recompilação do arora-git com a qt-tp.

O repositório ainda está em fase de testes, e em breve daremos detalhes de como você pode indicar um pacote para ser incluído em nosso repositório, ou como notificar caso algum pacote fique desatualizado, entre outras informações.

Para usar e ajudar a testar nosso repositório desde já, acrescente as seguintes linhas logo no começo da seção REPOSITORIES do seu /etc/pacman.conf:

[archlinuxbr]
Server = http://repo.archlinux-br.org/i686

Ou, caso você use x86_64, mude de i686 para x86_64.

Nota: Eu compilei apenas os pacotes menores para x86_64 pois meu processador não suporta 64 bits, e eu tenho de usar o emulador qemu-system-x86_64, que é extremamente lento. Aguardem pois em breve outros membros da Arch Linux Brasil (que possuem maravilhosos core2duo) auxiliarão neste projeto.

Processador MIPS projetado com o Alliance

Empacotei a suite Alliance para o Arch Linux. Trata-se de uma suite completa de software livre para criar circuitos integrados.

Com a suite Alliance, você pode projetar um chip desde sua descrição em VHDL até o layout pronto para ser produzido em uma fábrica.

O pacote pode ser baixado no AUR. Você também pode obter um pacote binário pre-compilado para i686 aqui.

Se gostar, não se esqueça de se cadastar no AUR e votar no pacote, para que ele possa ser incluído nos repositórios oficiais do Arch Linux.

O restante deste artigo contém um tutorial para você que não entende nada de circuitos integrados, mas está morrendo de curiosidade sobre como o layout de um chip é produzido. Mostrarei passo-a-passo como sintetizar o layout de um processador MIPS, que vem como exemplo no pacote.

Acabo de entrar de férias, e aproveito para publicar aqui meus projetos de fim de semestre da faculdade, todos sob licença ISC (a mesma utilizada pelo projeto OpenBSD).

Matias Wavelet Modulation

Matias Wavelet Modulation

Este foi meu projeto final da disciplina de Processamento de Sinais. Trata-se de uma modulação de dados experimental usando a transformada wavelet.

Display de LEDs Rotativo

Display de LEDs Rotativo - Vista Frontal Display de LEDs Rotativo - Em funcionamento

Este foi meu projeto final da disciplina de Microprocessadores, desenvolvido em conjunto com meu amigo André Luiz Barbieri. Trata-se de um display que forma imagens de um conjunto de letras por meio da rotação de uma coluna de oito LEDs, aproveitando-se da persistência da visão humana. As letras podem ser modificadas pelo usuário com o auxílio de um controle remoto de televisão.

VirtualBox 2.1.0

Acabo de disponibilizar no AUR o novo VirtualBox 2.1.0. Clique aqui e baixe agora mesmo!

A nova versão do VirtualBox trás novidades incríveis:

  • Aceleração 3D via OpenGL. Isso mesmo. Agora você pode rodar aplicativos OpenGL dentro do VirtualBox aproveitando a aceleração via hardware da sua placa de vídeo!
  • Diversas melhorias de performance e usabilidade no suporte a redes.
  • Agora é possível criar uma rede bridge diretamente pela interface gráfica com um único clique!
  • Capacidade de emular sistemas 64-bits mesmo que você esteja dentro de um sistema de 32-bits. Desde que o seu processador seja de 64, é claro.
  • Suporte completo a imagens VMDK e VHD (incluindo snapshots).
  • Controladoras SCSI virtuais.
  • Melhorias de virtualização para arquitetura Intel Nehalem.

Após a atualização do Xorg 7.4, tive uma série de problemas. Compartilharei aqui como fazer para resolvê-los.

  1. O parâmetro RgbPath não existe mais. Este é simples. Apenas remova a linha que contém esse parâmetro do seu xorg.conf antigo.
  2. O novo Xorg simplesmente ignora qualquer configuração de mouse ou teclado que você fizer no xorg.conf. Além disso, se você não estiver com o hal rodando, a máquina simplesmente congela.

    Você poderia resolver isso levantando o hal e usando o novo método de hotplugging, mas EU FORTEMENTE NÃO RECOMENDO. Em algumas situações um pouco mais raras, o novo método pode ser útil, mas não é para a maioria dos usuários. Além disso, eu não consegui configurar nem ao menos o mapa de teclado usando o novo método, mesmo copiando a configuração do Douglas.

    Por isso, recomendo que você desabilite o hotplugging, adicionando as seguintes linhas ao seu xorg.conf:

    Section "ServerFlags"
            Option "AutoAddDevices" "False"
    EndSection
     

    Com isso o seu X já deve voltar a funcionar como antes, a menos que você tenha um touchpad synaptics.

  3. Se você tiver um touchpad synaptics, vai notar que a rolagem (scrolling) e o clique por tapa (tapping) pararam de funcionar. Isso ocorre por dois motivos: esses recursos não vem mais habilitados por padrão, e o synaptics não é mais capaz de determinar os extremos do touchpad automaticamente.

    Essa é a parte mais chata. Troque a seção do dispositivo synaptics do seu xorg.conf pelo seguinte:

    Section "InputDevice"
            Identifier  "Mouse0"
            Driver      "synaptics"
            Option      "Protocol"   "auto-dev"
            Option      "Device"     "/dev/input/mouse0"
            Option      "LeftEdge"   "1774"
            Option      "RightEdge"  "5170"
            Option      "TopEdge"    "1322"
            Option      "BottomEdge" "4696"
            Option      "TapButton1" "1"
            Option      "TapButton2" "2"
            Option      "TapButton3" "3"
            Option      "SHMConfig"  "on"
            Option      "VertEdgeScroll"  "1"
            Option      "HorizEdgeScroll" "1"
    EndSection
     

    Mas CALMA, não é só isso, NÃO REINICIE O X AINDA. Você vai precisar mudar os números nas opções LeftEdge, RightEdge, TopEdge e BottomEdge.

    Para isso, rode o comando synclient -m 1. Coloque o dedo rapidamente na borda superior esquerda do touchpad, depois rapidamente na borda inferior direita do mesmo. Você vai ver as coordenadas sendo exibidas no terminal.

    A saída será algo do tipo:

       1.238  1793 1275  31 1  4  0 0 0 0 0  00000000   0  0  0   0   0
       1.259  1786 1274  31 1  4  0 0 0 0 0  00000000   0  0  0   0   0
       1.279  1780 1265  31 1  4  0 0 0 0 0  00000000   0  0  0   0   0
       1.300  1780 1265   0 0  0  0 0 0 0 0  00000000   0  0  0   0   0
       2.057     1 5855   1 2  5  0 0 0 0 0  00000000   0  0  0   0   0
       2.090     1 5855   2 2  5  0 0 0 0 0  00000000   0  0  0   0   0
       2.182     1 5855   3 2  5  0 0 0 0 0  00000000   0  0  0   0   0
       2.286     1 5855   5 2  5  0 0 0 0 0  00000000   0  0  0   0   0
       2.309  5218 4730  14 1  4  0 0 0 0 0  00000000   0  0  0   0   0
       2.329  5218 4730  15 1  4  0 0 0 0 0  00000000   0  0  0   0   0
        time     x    y   z f  w  l r u d m     multi  gl gm gr gdx gdy
       2.349  5220 4737  15 1  4  0 0 0 0 0  00000000   0  0  0   0   0
       2.369  5281 4719   6 1  4  0 0 0 0 0  00000000   0  0  0   0   0
       2.390  5281 4719   0 0  0  0 0 0 0 0  00000000   0  0  0   0   0
     

    O x do primeiro toque é o LeftEdge. O x do segundo toque é o RightEdge. O y do primeiro toque é o TopEdge. O y do segundo toque é o BottomEdge.

Quer fazer uma mirror local do Arch Linux? Quer gravar CDs ou DVDs com pacotes do Arch Linux? Quer instalar o Arch Linux em uma máquina cujo acesso à Internet seja muito lento, instável ou mesmo inexistente?

Fiz um script para facilitar o download de repositórios inteiros do Arch Linux. Você pode escolher quais arquiteturas deseja baixar, quais repositórios, e ele baixa tudo para você via rsync. Depois, para atualizar e sincronizar com as mirrors, é só executar o script novamente.

Baixe aqui o script rsync-arch.sh.

Por padrão, ele vai baixar todos os repositórios, de ambas as arquiteturas i686 e x86_64, no diretório ~/arch.

Esse comportamento pode ser modificado editando as variáveis logo no início do script.

  • A variável repos é a lista dos repositórios a serem baixados. Se você não quer baixar o testing, por exemplo, é só removê-lo dessa variável.
  • A variável archs é a lista das arquiteturas desejadas. Se você não tiver um processador de 64bits e desejar baixar apenas os pacotes i686, por exemplo, basta remover o x86_64 dessa variável.
  • A variável dest indica o diretório no qual a mirror local será construída, ou seja, o diretório de destino dos pacotes que serão baixados.

Apresentarei neste artigo, passo-a-passo, como instalei o Haiku em um NEC Versa M360, em dual-boot com o Linux.

O Haiku será compilado de dentro de um sistema Arch Linux, sendo instalado em uma partição separada no HD, e inicializado pelo GRUB.

O Haiku funcionou bem nesta máquina, que possui chipset Intel e placa de rede Ethernet Gigabit da Realtek (modelo 8169). Apenas senti falta do suporte a Wi-Fi, que ainda está sendo desenvolvido.

Acompanhe, no restante do artigo, o processo de compilação e instalação do Haiku.

Estou disponibilizando pacotes do Qt 4.5.0 Tech Preview 1 e do Arora recompilado para usar os recursos dessa nova versão da Qt.

Os pacotes binários pré-compilados estão disponíveis aqui. Baixe ambos os pacotes e instale da seguinte forma:

# pacman -Rd qt
# pacman -U qt-tp-4.5.0-1-i686.pkg.tar.gz
# pacman -U arora-git-*.pkg.tar.gz

Novos recursos

Utilizando essa versão da Qt, o Arora adquire, dentre outras coisas, suporte a plugins NPAPI (incluindo Flash), suporte a HTML5, engine JavaScript mais rápida (SquirrelFish), abas arrastáveis e cache de arquivos.

Plugin Flash

Recomendo que você utilize o plugin Flash versão 9, que funciona corretamente com o Arora. Ele pode ser obtido aqui. Descompacte e copie o libflashplugin.so para /usr/lib/mozilla/plugins.

Se, mesmo assim, você desejar utilizar o Flash 10 no Arora, leia este post aqui em meu blog para saber como.

Código fonte

Se você possuir x86_64, ou se preferir compilar você mesmo, baixe o qt-tp do AUR e compile-o. Após instalado, compile o arora-git pelo ABS, para que ele possa aproveitar todos os novos recursos da Qt 4.5.0.

Lembre-se que essa é uma versão experimental. Divirta-se e não esqueça de reportar os bugs!

Eu estava experimentando o navegador Arora usando o novo Qt 4.5 Tech Preview 1. A nova versão do Qt virá, dentre outras coisas, com suporte a plugins NPAPI no QtWebKit. Isso permite utilizar o plugin Flash no Arora.

Depois de tudo instalado, reparei que funcionava perfeitamente com o plugin Flash 9, mas que o plugin do Flash 10 não chegava nem a carregar. Por esse motivo, resolvi tentar fazer com que o Flash 10 funcionasse no Arora por meio de engenharia reversa.

Recomendo o uso do Flash 9 para os usuários do Arora, visto que não percebi nenhuma vantagem em se usar essa nova versão, que fica um pouco instável.

Entretanto, o procedimento para obter o Flash 10 funcionando, e o passo-a-passo utilizado para engenharia reversa do plugin Flash fica aqui para fins educativos e como prova de conceito. No restante deste post, descreverei todo o processo de engenharia reversa utilizado.

Categorias

Navegação

« Antigos recentesArtigos antigos »