Ginga-NCL versão C++ é uma implementação de alto desempenho, um protótipo ideal para embarque em set-top boxes comerciais, caracterizados por baixas capacidades de processamento e armazenamento. O objetivo deste artigo é mostrar pontos chave para concluir com sucesso a instalação do Ginga-NCL.
Framebuffer no Linux (fbdev) é uma camada de abstração independente de hardware para exibição de gráficos em um console sem depender de bibliotecas específicas como a SVGAlib ou do servidor gráfico X.
Ativar FrameBuffer
Em /boot/grub/grub.cfg encontra-se no menuentry() a linha Linux:
linux /boot/vmlinuz-2.6.32-22-generic root=UUID=df000bd5-0d4f-43c0-86ac-4de4c5b53d1e ro quiet splash
Adicione vga=xxx:
linux /boot/vmlinuz-2.6.32-22-generic root=UUID=df000bd5-0d4f-43c0-86ac-4de4c5b53d1e ro vga=xxx quiet splash
Onde xxx é a resolução.
Resoluções:
Mode 0×0300: 640×400 (+640), 8 bits
Mode 0×0301: 640×480 (+640), 8 bits
Mode 0×0303: 800×600 (+832), 8 bits
Mode 0×0305: 1024×768 (+1024), 8 bits
Mode 0×0311: 640×480 (+1280), 16 bits
Mode 0×0314: 800×600 (+1600), 16 bits
Mode 0×0317: 1024×768 (+2048), 16 bits
Mode 0×0395: 320×240 (+640), 16 bits
Mode 0×0396: 320×240 (+1280), 24 bits
Mode 0x03b3: 512×384 (+512), 8 bits
Mode 0x03b5: 512×384 (+1024), 16 bits
Mode 0x03b6: 512×384 (+2048), 24 bits
Mode 0x03c3: 640×350 (+640), 8 bits
Mode 0x03c5: 640×350 (+1280), 16 bits
Mode 0x03c6: 640×350 (+2560), 24 bits
Mode 0×0333: 720×400 (+768), 8 bits
Mode 0×0335: 720×400 (+1472), 16 bits
Mode 0×0336: 720×400 (+2944), 24 bits
Mode 0×0321: 640×480 (+2560), 24 bits
Mode 0×0322: 800×600 (+3200), 24 bits
Mode 0×0323: 1024×768 (+4096), 24 bits
Resolvendo dependências
As dependências podem ser instaladas utilizando o Aptitude. Segue abaixo a linha de comando necessária para a obtenção dos pacotes:
[1] Comentário enviado por martin_riggs em 21/10/2010 - 12:57h
Gostei bastante do seu artigo, eu estou terminando meu TCC agora, com uma aplicação toda em NCL. Utilizo o Linux Ubuntu e nele instalei o VMware para usar a máquina virtual Fedora com o Ginga. Para executar os comandos via terminal utilizo o Putty, e para copiar os arquivos utilizo o Gigolo. Para desenvolver uso o Eclipse.
Pelo que vi, seguindo o seu artigo, podemos ter o Ginga rodando direto no OS instalado, sem necessidade da VM, e uso do SSH e SFTP, isso seria bastante útil, e agilizaria o processo de desenvolvimento. Estou no trabalho e não deu para ler minuciosamente, mas assim que eu puder vou realizar estes passos para testar.
Parabéns pelo artigo, e se já desenvolve para TV Digital podemos trocar umas idéias.
[2] Comentário enviado por fredim em 22/10/2010 - 11:23h
- martin_riggs
Eu tive a necessidade de parar de fazer todo este processo que você citou, e é exatamente isso que este artigo explica, como instalar o Ginga-NCL no próprio OS.
Lembrando que o Ginga pode ser instalado em qualquer distribuição Linux.
[3] Comentário enviado por martin_riggs em 22/10/2010 - 11:40h
Fredim
Por experiência, você sabe se ocupa muito espaço no HD, e se demanda muita memória? Pergunto isso por que possuo dois equipamentos em casa, sendo um antigo.
[4] Comentário enviado por fredim em 23/10/2010 - 13:54h
- martin_riggs
Se tiver com problema de disco recomendo utilizar o ubuntu-server (não chegará a 1Gb), e em relação à demanda de memória, isso vai depender do aplicativo.
Aplicativos com stream, videos HD etc ... vai exigir um pouco mais.
[7] Comentário enviado por fredim em 29/12/2010 - 01:53h
Jotadao_sd
Você está no diretório certo? passou os parâmetros corretamente?
*ffmpeg ( ./configure --enable-shared --enable-gpl --enable-nonfree --enable-pthreads --enable-libfaad --enable-postproc )
[8] Comentário enviado por clebermoterani em 09/02/2011 - 14:09h
Olá Fredim,
Adicionei o parametro vga = 0×0323 já que a resolução que utilizo é 1024x768. Reiniciei a máquina normalmente.
Como eu sei que o framebuffer está ativado?
[12] Comentário enviado por clebermoterani em 18/02/2011 - 14:56h
Verifiquei a libtool, era a versão 2.2.6.
Então removi e instalei a versão 1.5.
No entanto, agora quando vou compilar o pacote telemidia-util-cpp,
depois de executar o make, ele reclama da versão da libtool, olha só:
Entrando no diretório `/media/dados/CTC/Ginga/telemidia-util-cpp/src'
/bin/bash ../libtool --tag=CXX --mode=link g++ -fPIC -g -O2 -Wl,-soname,libtelemidiautil.so -shared -o libtelemidiautil.so Color.o functions.o
../libtool: line 463: CDPATH: command not found
../libtool: line 1141: func_opt_split: command not found
libtool: Version mismatch error. This is libtool 2.2.6b Debian-2.2.6b-2ubuntu1, but the
libtool: definition of this LT_INIT comes from an older release.
libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6b Debian-2.2.6b-2ubuntu1
libtool: and run autoconf again.
tenho que alterar a versão da libtool em algum lugar?