SDL2 et Framebuffer : comment ?
Bonjour,
J'ai créé une application pour créer des dashboard en utilisant le Frambuffer de Linux. Le problème est qu'elle utilise DirectFB qui est maintenant obsolete , non supporté et sur lequel je fais face a des bugs.
Parmi le peu de solutions alternatives que j'ai trouvé sur le web, il semblerait que SDL puisse le faire ... et tant qu'a faire, autant utilisé la derniere version, la SDL2.
Sauf que la non plus peu ou pas d'info :calim2:
Bref, j'ai tenté de compiler SDL2 sans support X, ce qui donne le configure suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| /var/tmp/portage/media-libs/libsdl2-2.0.10/work/SDL2-2.0.10/configure --prefix=/usr --build=armv7a-hardfloat-linux-gnueabi --host=armv7a-hardfloat-linux-gnueabi --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --docdir=/usr/share/doc/libsdl2-2.0.10 --htmldir=/usr/share/doc/libsdl2-2.0.10/html --with-sysroot=/ --libdir=/usr/lib -
-disable-static --enable-atomic
enable-audio --enable-video
enable-render --enable-events --disable-joystick
disable-haptic --enable-power --enable-filesystem
enable-threads --enable-timers --enable-file
enable-loadso --enable-cpuinfo --enable-assembly
disable-ssemath --disable-mmx --disable-3dnow
disable-sse --disable-sse2 --disable-altivec
disable-oss --disable-alsa --disable-alsa-shared
disable-esd --enable-pulseaudio
disable-pulseaudio-shared --disable-arts --disable-libsamplerate --disable-nas --disable-nas-shared --disable-sndio --disable-sndio-shared --enable-diskaudio --enable-dummyaudio --disable-video-wayland --disable-wayland-shared --disable-video-rpi --disable-video-x11 --disable-x11-shared --disable-video-x11-xcursor --disable-video-x11-xdbe --disable-video-x11-xinerama --disable-video-x11-xinput --disable-video-x11-xrandr --disable-video-x11-scrnsaver --disable-video-x11-xshape --disable-video-x11-vm
disable-video-cocoa --disable-video-directfb
disable-fusionsound --disable-fusionsound-shared
disable-video-kmsdrm --disable-kmsdrm-shared
enable-video-dummy --disable-video-opengl
disable-video-opengles1 --disable-video-opengles2
disable-video-vulkan --disable-libudev
enable-dbus --disable-ibus --disable-input-tslib
disable-directx --disable-rpath
disable-render-d3d --without-x |
Sauf que quand je le lance, ca me donne :
Code:
1 2 3
| # export SDL_VIDEODRIVER=fbcon
# ./HelloWorld
Could not init SDL: fbcon not available |
D'un vielle article sur leur forum, ca pourrait etre normal car ils auraient dropper le support de fbcon avec SDL2 au profit de kms.
Ok ok
Code:
/var/tmp/portage/media-libs/libsdl2-2.0.10/work/SDL2-2.0.10/configure --prefix=/usr --build=armv7a-hardfloat-linux-gnueabi --host=armv7a-hardfloat-linux-gnueabi --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --docdir=/usr/share/doc/libsdl2-2.0.10 --htmldir=/usr/share/doc/libsdl2-2.0.10/html --with-sysroot=/ --libdir=/usr/lib --disable-static --enable-atomic --enable-audio --enable-video --enable-render --enable-events --disable-joystick --disable-haptic --enable-power --enable-filesystem --enable-threads --enable-timers --enable-file --enable-loadso --enable-cpuinfo --enable-assembly --disable-ssemath --disable-mmx --disable-3dnow --disable-sse --disable-sse2 --disable-altivec --disable-oss --disable-alsa --disable-alsa-shared --disable-esd --enable-pulseaudio --disable-pulseaudio-shared --disable-arts --disable-libsamplerate --disable-nas --disable-nas-shared --disable-sndio --disable-sndio-shared --enable-diskaudio --enable-dummyaudio --disable-video-wayland --disable-wayland-shared --disable-video-rpi --disable-video-x11 --disable-x11-shared --disable-video-x11-xcursor --disable-video-x11-xdbe --disable-video-x11-xinerama --disable-video-x11-xinput --disable-video-x11-xrandr --disable-video-x11-scrnsaver --disable-video-x11-xshape --disable-video-x11-vm --disable-video-cocoa --disable-video-directfb --disable-fusionsound --disable-fusionsound-shared --enable-video-kmsdrm --disable-kmsdrm-shared --enable-video-dummy --disable-video-opengl --disable-video-opengles1 --disable-video-opengles2 --disable-video-vulkan --disable-libudev --enable-dbus --disable-ibus --disable-input-tslib --disable-directx --disable-rpath --disable-render-d3d --without-x
mais ca ne marche pas mieux :
Code:
1 2 3
| export SDL_VIDEODRIVER=kmsdrm
# ./HelloWorld
Could not init SDL: kmsdrm not available |
Quelqu'un aurait-il une idée pour le faire fonctionner.
Ou autremement, une autre idée sans devoir installer X.
Merci
Laurent