Ver la versión completa : [Ayuda] SDL en linux modo consola.
Muy buenas he instalado en un portatil que me han dado un linux sin entorno de escritorio... Vamos que solo tengo linea de comandos.
Me gustaria saber si puedo utilizar las librerias SDL en este modo para mostrar algunos graficos por pantalla. Si no se puede como se haria para mostrar graficos sin tener que instalar ningun gestor de escritorio?
Un saludo!
No tengo mucha idea, pero supongo que con SDL en modo framebuffer se deberia de poder.
Por ahi creo que tengo un xmbc que funciona en ese modo, y creo que vlc o media player tb soportan reproduccion en esos modos, sin depender de escritorios.
Saludos
GameMaster
20/01/2013, 20:35
creo que con llamando por consola a tu aplicacion SDL bastaria
Puedo escribir directamente en un framebuffer? O el framebuffer es interno del SDL?
GameMaster
20/01/2013, 20:42
creo que si.
http://www.libsdl.org/intro.en/usingvideo.html
http://forums.libsdl.org/viewtopic.php?t=3199&sid=c96eba79a6eb04a43eef01b7766bc30e
^MiSaTo^
20/01/2013, 20:44
creo que con llamando por consola a tu aplicacion SDL bastaria
Acabas de decir una gilipollez como un templo... Da igual como lances la aplicación si luego en SDL defines que se dibuje en una ventana, no va a salir por consola.
GameMaster
20/01/2013, 20:51
pero quien habla de que salga por la consola ? la aplicacion sólo tiene que dibujar en pantalla en fullscreen, la consola es sólo para llamar el binario. De todas formas estaria mas bonito que le ayudes a el ya que sabes tanto, para eso ha abierto el hilo.
^MiSaTo^
20/01/2013, 21:01
pero quien habla de que salga por la consola ? la aplicacion sólo tiene que dibujar en pantalla en fullscreen, la consola es sólo para llamar el binario. De todas formas estaria mas bonito que le ayudes a el ya que sabes tanto, para eso ha abierto el hilo.
Hombre, el título del hilo lo pone claro y luego comenta que no tiene entorno gráfico...
Sobre el topic del hilo, sí con las SDL puedes dibujar directamente en el framebuffer, tienes que indicarlo al inicializar las SDL.
GameMaster
20/01/2013, 21:21
lo se, tampoco he dicho lo contrario....
por otra parte puede usar la librerias minigui como opcion
JoJo_ReloadeD
20/01/2013, 21:24
Puedo escribir directamente en un framebuffer? O el framebuffer es interno del SDL?
El framebuffer es un sistema que surgio en linux para mostrar la consola en un modo grafico, como necesidad para todas aquellas plataformas que por no ser PC (plataforma para la cual fue hecha linux en un primer lugar) no disponen de modo texto (un mac por ejemplo no tiene modo texto). Asi, se representa el texto de la consola sobre un modo grafico, y tambien es posible que las aplicaciones de consola accedan a este dispositivo.
Charlas aparte, mira si existe el dispositivo /dev/fb0 y si es asi deberias poder tirarle a las SDL por el framebuffer ;)
-----Actualizado-----
lo se, tampoco he dicho lo contrario....
por otra parte puede usar la librerias minigui como opcion
Gamemaster, otra vez estas diciendo en un hilo de ayuda cosas que no sirven de ayuda. Si no sabes de algo, por favor, abstente de decir cosas al puro voleo, como hacemos todos.
SplinterGU
20/01/2013, 21:50
a ver... no quiero crear polemica... pero SDL detecta sola lo que tengas disponible, tu puedes forzar el uso de uno u otro... pero no tienes que indicarle que use framebuffer cuando estas en modo consola (sin un entorno grafico)... y tampoco importa que le digas de crear una ventana o no, directamente no creara ventana si arrancas desde una consola sin entorno grafico, se ejecutaran (como bien dijo gamemaster) en fullscreen... de hecho asi mismo trabaja bennugd en wiz, dingux, caanoo, etc...
lo que dijo gamemaster es correcto...
incluso si quieres hacer un render en modo texto con SDL, seteas que use la libcaca (la tienes que tener instalada) y tendras en render en modo caracter...
El framebuffer es un sistema que surgio en linux para mostrar la consola en un modo grafico, como necesidad para todas aquellas plataformas que por no ser PC (plataforma para la cual fue hecha linux en un primer lugar) no disponen de modo texto (un mac por ejemplo no tiene modo texto). Asi, se representa el texto de la consola sobre un modo grafico, y tambien es posible que las aplicaciones de consola accedan a este dispositivo.
Charlas aparte, mira si existe el dispositivo /dev/fb0 y si es asi deberias poder tirarle a las SDL por el framebuffer ;)
Si que esta /dev/fb0, podria escribir directamente en ese dispositivo saltandome las sdl? O necesariamente tengo que usarlas?
GameMaster
20/01/2013, 22:33
lo que dijo gamemaster es correcto...
Muchas gracias, pero no te molestes por mi, que aqui la querella que tienen contra mi es el sintoma de las mujeres, que quando dicen que NO lo entienden como un SI.
SplinterGU
20/01/2013, 22:50
Si que esta /dev/fb0, podria escribir directamente en ese dispositivo saltandome las sdl? O necesariamente tengo que usarlas?
pues claro...
http://es.softuses.com/194989
http://www.esdebian.org/wiki/dispositivo-framebuffer
Muchas gracias, pero no te molestes por mi, que aqui la querella que tienen contra mi es el sintoma de las mujeres, que quando dicen que NO lo entienden como un SI.
no era por defenderte sino por decir las cosas como son...
GameMaster
20/01/2013, 22:54
No, si yo te he dado las gracias exactamente por eso, por decir las cosas como son, porque en todo el día sólo he llevado palizas :D
He instalado las SDL y he compilado un ejemplo que pone un pixel en pantalla pero cuando lo ejecuto me dice: "No available video device"
SplinterGU
20/01/2013, 23:20
No, si yo te he dado las gracias exactamente por eso, por decir las cosas como son, porque en todo el día sólo he llevado palizas :D
bueno, es que para eso estas... :) (lo mismo yo)
He instalado las SDL y he compilado un ejemplo que pone un pixel en pantalla pero cuando lo ejecuto me dice: "No available video device"
tengo entendido que tenes que tener instalado el framebuffer... y obviamente este habilitado desde el grub... si tu maquina bootea en grafico no vas a tener framebuffer... yo luche bastante con eso... dejame buscar y te digo...
-----Actualizado-----
mira esto
https://wiki.ubuntu.com/FrameBuffer
creo que por defecto vienen las instalaciones con vga=711, y eso deshabilita el framebuffer... yo le he tenido que quitar varias veces...
-----Actualizado-----
tambien revisa los archivos config en el directorio /boot... hay varios puntos que mencionan framebuffer.
pero como sea, tienes que tener el driver instalado
Prueba a ejecutar la aplicación como root, un usuario normal no debería tener acceso al framebuffer por defecto.
Si es eso, puedes añadir el usuario al grupo video (gpasswd -a usuario video), deslogueate y logueate de nuevo y prueba.
SplinterGU
20/01/2013, 23:41
Prueba a ejecutar la aplicación como root, un usuario normal no debería tener acceso al framebuffer por defecto.
Si es eso, puedes añadir el usuario al grupo video (gpasswd -a usuario video), deslogueate y logueate de nuevo y prueba.
ah, eso no lo habia tenido en cuenta... muy bien...
Danielo515
21/01/2013, 14:18
Ya se que mi comentario aporta 0%, pero este es un tema que me interesa, de hecho yo mismo lo pregunté en su día, así que quiero animar al creador del hilo a comparitr su experiencia: por favor Archer, cuando tengas éxito nos comentas como.
Un abrazo
Bueno algo he avanzado creo...
He activa el framebuffer (creo) siguiendo este enlace (http://crunchbanglinux.org/wiki/esp/framebuffer_grub2).
y he ejecutado el ejemplo como administrador y ahora me inicializa las SDL pero al inicializar el modo grafico me lanza este error:
- Couldn't set console screen info
Es posible que aun no tenga activado el framebuffer?
He instalado el fbset y cuando lo ejecuto me da esta informacion:
mode "1024x600"
geometry 1024 600 1024 600 32
timings 0 0 0 0 0 0 0
rgba 8/16,8/8,8/0,0/0
endmode
Como lo veis?
Nathrezim
21/01/2013, 21:20
¿Aparece el módulo gfxterm cargado cuando haces un lsmod? ¿Sale algún error haciendo un dmesg?
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.