domingo, 10 de octubre de 2010

Compilar frei0r para Windows desde Cygwin

Vamos a compilar "fuera del árbol de código". Así podemos tener un directorio para cada compilación (uno para Cygwin, otro para MinGW32, otro para MinGW64)
mkdir frei0r-mingw32; cd frei0r-mingw32

Queremos compilación cruzada (de Cygwin a MingGW32), así que hay que especificar a CMake el compilador que queremos, dónde están los includes/libs de MinGW32, y dónde queremos instalar los binarios resultantes. El último parámetro es dónde está nuestro código fuente.

Creamos los "makefiles"
CFLAGS=-march=core2 cmake \
-D CMAKE_HOST_SYSTEM_NAME=Unix \
-D CMAKE_SYSTEM_NAME=Windows \
-D CMAKE_C_COMPILER=/usr/bin/i686-w64-mingw32-gcc.exe \
-D CMAKE_CXX_COMPILER=/usr/bin/i686-w64-mingw32-g++.exe \
-D CMAKE_FIND_ROOT_PATH=/usr/i686-w64-mingw32/sys-root/mingw/ \
-D CMAKE_INSTALL_PREFIX=/usr/i686-w64-mingw32/sys-root/mingw/ \
../frei0r-plugins-1.2/


Compilamos
make

Dejamos los módulos mondos y lirondos
/usr/bin/i686-w64-mingw32-strip src/*/*/*.dll

Instalamos
make install

Copiamos el include
cp -p ../frei0r-plugins-1.2/include/frei0r.h /usr/i686-w64-mingw32/sys-root/mingw/include

jueves, 7 de octubre de 2010

Comprimir PNG: pngnq y pngcrush

Las fotos se suelen guardar en JPEG porque ocupan menos que en PNG. Pero si queremos transparencia, hay que usar PNG.

Podemos usar un requantizador, pngnq, que pase de ARGB de 32 bits por píxel a un formato de paleta de 256 colores, con 8 bits por píxel.

Y después intentar buscar cuál de los variados algoritmos de zlib compactan mejor el PNG, con pngcrush.

Todo junto queda:
pngnq -n 256 imagen.png && pngcrush -brute imagen-nq8.png imagen_final.png

domingo, 3 de octubre de 2010

El soporte para la Intel 855GM va a peor en Ubuntu

Mi portátil empezó su singladura en Ubuntu en 8.04. Todo se instaló sin problemas.
La actualización a 8.10 transcurrió sin novedad. Tras modernizarme a 9.10, la aceleración de vídeo dejó de funcionar.

Acabo de actualizar a 10.04, y el soporte para mi tarjeta gráfica ha ido todavía, a peor: ni siquiera arranca.

Sí, hay ñapas para sobrevivir a ambos fallos, pero la gente instala Ubuntu por su facilidad de uso, es muy  raro que se lean las "Release Notes" (yo, desde luego, las leo sólo cuando todo falla).

Está claro que la prioridad de los programadores de Intel es sabotear tarjetas antiguas.