Arquivo para a categoria 'Linux'

Tutorial: nginx + Lua

Objetivo: configurar um servidor web que sirva conteúdo dinâmico utilizando a linguagem de programação Lua.
Pilha: Arch Linux, nginx, wsapi, fastcgi e Lua.

1º Passo: instalação dos pacotes

# pacman -Sy nginx fcgi
$ yaourt -S wsapi spawn-fcgi

2º Passo: configuração do nginx (web server)

Adicionar:

location ~ \.lua$ {
    root html;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index  index.lua;
    fastcgi_param SCRIPT_FILENAME /srv/http/nginx$fastcgi_script_name;
    include fastcgi_params;
}

3º Passo: Hello World

Criar o arquivo /srv/http/nginx/index.lua com o seguinte conteúdo:

require('wsapi.response')
require('wsapi.request')

return function(env)
    local resp = wsapi.response.new()
    resp:write('Hello world!')
    return resp:finish()
end

A cada requisição, a função retornada pelo script é executada (o script só é carregado uma vez por instância).

4º Passo: ativar instâncias do FastCGI

$ sudo spawn-fcgi -F 4 -p 9000 -f /usr/bin/wsapi.fcgi

F (fork) é o número de filhos, p é a porta a ser utilizada e f o lançador.

5º Passo: teste:

$ sudo /etc/rc.d/nginx start
URL de acesso: localhost

Pronto.

Intel GM965 vs performance 2D

Com o novo Xorg 1.6, meus antigos problemas com a performance 3D da minha Intel GM965 (aka X3100) acabaram, mas a performance 2D continuava horrível.

Testando outras configurações pro Xorg, cheguei nesta:

Section “Device”
Identifier  “Card0″
Driver      “intel”
VendorName  “All”
BoardName   “All”
Option “AccelMethod” “exa”
Option “MigrationHeuristic” “greedy”
Option “ExaNoComposite” “true”

EndSection

OK. Os métodos de aceleração suportados são: XAA (antigo, substituido pelo EXA), o EXA (perofrmance 3D melhorada, mas por padrão gera artefatos em algumas aplicações  que usam Qt 4) e o UXA (suporte ao dri2, mas ainda está um pouco instável).

Se não me engano o EXA é usado por padrção, então até ai nenhuma mudança. O que realmente melhorou a performance 2D (e corrigiu alguns bugs) foi o “Option “MigrationHeuristic” “greedy”.

Para testes, usei o programa gtkperf. Antes, uma rodada com 100 repetições demorava 16 segundos. Com a nova configuração, passou para 5 segundos. A performance 3D aparentemente não foi alterada, mas também não testei muito.

lgui 0.6 e ldraw 0.3

Obs.: Um pouco atrazado, pois já publiquei estas versões a um bom tempo, mas:

Uma nova versão dos bindings do GTK+2.0 para Lua (lgui) e do cairo (ldraw) estão disponíveis para download.
Alguns screenshoots:

ss1

ss3ss2

lua-gtk e suas dependências – Arch Linux

Terminei de montar os pacotes do lua-gtk (bindings do gtk para Lua) e suas dependências. Deu um trabalho danado, pois muita coisa teve que ser mudada para se tornar compilável com os pacotes do Arch.

Os 4 já estão no AUR (as outras dependências já foram empacotadas por outros):

- bitlib (manipulação de bits em Lua)
- cmph (biblioteca de hashing escrita em C) *
- lua-expat (bindings  do expat para Lua)
- lua-gtk (enfim!)

* Nota.: Apesar de estar empacotado, não configurei o lua-gtk para utilizá-lo. Quando eu tiver mais tempo eu tento novamente!

Lembrando que o lua-gtk ainda está em estado alfa, e possui alguns bugs (a versão atual, a 0.6, é considerada pelo desenvolvedor como uma versão de desenvolvimento, equanto que a versão 0.5 já se encontra compilada para Linux e Windows no site do projeto no luaforge.org )

Compiz Fusion 0.6.0 – Arch Linux

Edit.: Agora existem pacotes no repositório “community”, um pacman -Ss compiz mostra os nomes dos pacotes relacionados.

A versão 0.6.0 do Compiz Fusion saiu a pouco tempo, e está mais “polida” do que o release público anterior (0.5.2).

Disponibilizei os pacotes compilados para Athlons (k8) no seguinte link.:

http://download.tuxfamily.org/oproj/compizfusion

Lembrando que o Compiz 0.6.0 se encontra no repositório oficial (# pacman -S compiz-fusion instala três pacotes.: compiz-core, e decoradores de janela para gtk e kde).

AstroMenace

Semana passada me deparei com um blog que recomendava o jogo AstroMenace, jogo estilo space shooter com ótimos gráficos e portável, que até então era de código fechado, mas possuía uma versão gratuita para GNU / Linux. Decidi testar,  e para minha surpresa, o jogo estava licenciado pela GPL 3 (para MS-Windows ele é comercializado).

Resultado.: Estou viciado neste jogo.Ótimos gráficos e jogabilidade, com etapas desafiadoras e bem elaboradas. Recomendo!

Site do desenvolvedor: http://www.viewizard.com .

Algumas screenshoots dentro do jogo:

astro1.jpgastro2.jpg

Compiz Fusion no Arch Linux!

Estou utilizando o Arch a uma semana, e estou impressionado com a qualidade da distribuição.
Ela é muito rápida, e tem um sistema de pacotes muito bem elaborado, para mais informações: http://www.archlinux.org.

Acabei de compilar o release público do compiz-fusion com muita facilidade, graças ao sistema de pacotes do Arch, e estou disponibilizando os arquivos já compilados (somente para quem usa GNOME, pois o compiz não foi compilado com suporte ao KDE), como pacotes para o arch.

Instalação no GNOME (para athlons):

1) Baixe todos os pacotes do endereço: Oproj

2) Instale todos pelo pacman (#pacman -U pacotes)

3) Configure o seu Xorg. Sse você possui uma placa de vídeo nvidia como eu, o caminho mais fácil é:

# nvidia-xconfig --composite --allow-glx-with-composite --render-accel --add-argb-glx-visuals

4) Rode o programa fusion-icon e configure ao seu gosto =)

Tutorial: Como compilar o Torcs (versão do CVS)

Introdução =)

Torcs é um jogo de corrido, com os seguintes destaques:

- Boa jogabilidade;
- Apesar de já estar bem “maduro”, ainda está sendo trabalhado (a versão 2.0 promete ter um bom multiplayer);
- Portável ;

A versão presente no CVS é um “pacotão” com carros, pistas e etc, além de conter as última mudanças (e os últimos bugs!).

Passo 1 – Baixar do CVS

Atenção: vão ser baixados por volta de 300mb de arquivos, pode demorar.

cvs -d:pserver:anonymous@torcs.cvs.sourceforge.net:/cvsroot/torcs login
cvs -z3 -d:pserver:anonymous@torcs.cvs.sourceforge.net:/cvsroot/torcs co -P torcs

Passo 2 – Dependências

O jogo depende das seguintes bibliotecas:

- plib, disponível na maioria dos repositórios com o nome de plib1.8.4-dev;
- freeglut , disponível como freeglut-dev;
- openal, versão modificada pelos desenvolvedores do torcs, com o código fonte disponível aqui;

Compile e instale o openal ($ /.configure, $ make, # make install)

Passo 3 – Compilando e instalando o Torcs

Vá para a pasta prefixo/torcs/torcs e ./configure
No Ubuntu, precisei passar para o script o caminho da biblioteca X11 (pré-requisito para o freeglut, então já deve estar instalada), com o comando:

$ ./configure –x-libraries=/usr/lib

Se tudo deu certo, compile e instale:

$ make
# make install
# make datainstall

Para rodar: torcs

Obs.: Apesar do jogo ocupar um bom espaço, a sua compilação é bem rápida.

Medição do tempo e recursos utilizados no boot com o bootchart

Se você está afim de descobrir que processos estão consumindo o maior tempo na hora do boot (muito útil para quem quer reduzir o tempo de boot e não sabe onde mexer) ou só quer saber detalhadamente o tempo do boot, existe um programa chamado bootchart, que gera gráficos detalhados do processo de inicialização do sistema, até a inicialização do servidor gráfico.

Instalação:

O método mais fácil é instalar pelo gerenciador de pacotes da sua distribuição. Exemplo no Debian e seus derivados (Ubuntu, Kurumin, etc):
sudo apt-get install bootchart (se você não utiliza o sudo, logue como root).
Alternativamente, você pode baixar os fontes / pacotes no próprio site: http://www.bootchart.org/download.html .

Utilização

Ao reiniciar o seu sistema operacional, o bootchart vai coletar os dados necessários, e depois do boot ser concluído, ele vai renderizar os dados em forma de gráficos, salvas em um arquivo na pasta /var/log/bootchart (você pode configurá-lo para renderizar em outros formato, ou até desabilitar a renderização e renderizar no proóprio site do bootchart).

O que eu pude perceber:

- O programa não prejudica o processo de boot, pois a tarefa mais pesada, que é a geração dos gráficos, é realizada após o boot (com um programa separado, bootchart-render);

- O programa me tirou as dúvidas sobre a diferença de performance de ter o apache + mysql inicializados junto com o sistema. No final das contas, a inicialização deles se dá paralelamente a outros processos, não prejudicando muito.

Bootchart no Arch Linux

Bootchart no Arch Linux

Configuração + plugins do Vim

Após passar algumas horas montando a minha configuração e juntando os melhores plugins, e modificando para o meu gosto, consegui fazer um ambiente relativamente bom para programação (principalmente para C / C++).

* Instalação: Descompacte no seu “home” (Linux) ou equivalente em outros sistemas operacionais.

-> Características:

* Navegação por tags (F8);

* Complementação de código para C e C++; (Requer o icomplete instalado e configurado, google it =) )

* Fechamento de pares e outras frescurinhas;

* Trechos de códigos (semelhante ao do TextMate) (tab expande);

* Dobramento de código; (Atalho: espaço);

Endereço para download: http://www.fileden.com/files/2006/12/22/544068/Vimcfg.tar.bz2

Próxima Página »


Calendário…

Novembro 2009
S T Q Q S S D
« Jun    
 1
2345678
9101112131415
16171819202122
23242526272829
30  

Top Links!

  • Nenhuma