How to run wxwidget application with DirectFB.

Sivasubramanian Palanikumar <[email protected]>
Newsgroups gmane.comp.lib.wxwindows.general
Message-ID <[email protected]>
Hi,

I'm attempting to use the wxdfb library to execute a single frame.

I'm now using the 3.1.5 source of wxwidget, and I compiled it 
--with-directfb. After that, I obtained all the libraries in /usr/local/lib.

I installed the necessary DirectFB 1.7-7V package in my Ubuntu-20.01.1 
system prior to wwidget development.

Next, as per normal, I made a single frame that appeared in my programme. 
The code is below for your reference.

After the binary was built, I attempted to launch it by providing the 
inputs listed below. However, I was unable to see the frame and instead 
encountered other problems.

When I first executed the program, I thought the graphics window would 
appear shortly. However, after that, I fell into a stuck condition and was 
unable to use my keyboard or mouse.

If I check the console error, it appears to be created by the file below in 
the DFB source and is throwing incorrect parameters.
https://github.com/wxWidgets/wxWidgets/ ... rapdfb.cpp 
<https://github.com/wxWidgets/wxWidgets/blob/master/src/dfb/wrapdfb.cpp>

Resuming from the previous condition, I want to restart my machine.

Would you kindly offer some input on this? Is there something missing or am 
I running the binary with the right arguments?

*hello_world.cpp*
#include <wx/wx.h> class MyApp : public wxApp { public: virtual bool 
OnInit(); }; class MyFrame : public wxFrame { public: MyFrame(const 
wxString& title, const wxPoint& pos, const wxSize& size); }; bool 
MyApp::OnInit() { MyFrame *frame = new MyFrame("Hello World", wxPoint(50, 
50), wxSize(320, 240)); frame->Show(true); return true; } 
MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& 
size) : wxFrame(NULL, wxID_ANY, title, pos, size) { } 
wxIMPLEMENT_APP(MyApp); 

*Compilation:*siva-eic@sivaeic-virtual-machine:~/wxwidget/wxdfb$ *g++ 
hello_world.cpp `wx-config --libs` `wx-config --cxxflags` -Wall -o 
hello_dfb -ldirectfb*
siva-eic@sivaeic-virtual-machine:~/wxwidget/wxdfb$ *ls*
dfb.cpp dfb_test.cpp fb_init.cpp fb_sample.cpp *hello_dfb* hello_world.cpp 
loop_screen_firmwareupgrade.cpp menu.cpp sample.cpp sample_fb.cpp 
test_fb.cpp

*DirectFB package:*
siva-eic@sivaeic-virtual-machine:~/wxwidget/wxdfb$ *dpkg -L 
libdirectfb-1.7-7*
/.
/usr
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/directfb-1.7-7
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/gfxdrivers
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/gfxdrivers/libdirectfb_ati128.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/gfxdrivers/libdirectfb_ep9x.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/gfxdrivers/libdirectfb_gl.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/gfxdrivers/libdirectfb_gles2.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/gfxdrivers/libdirectfb_i810.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/gfxdrivers/libdirectfb_i830.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/gfxdrivers/libdirectfb_mach64.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/gfxdrivers/libdirectfb_matrox.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/gfxdrivers/libdirectfb_neomagic.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/gfxdrivers/libdirectfb_nsc.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/gfxdrivers/libdirectfb_nvidia.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/gfxdrivers/libdirectfb_pxa3xx.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/gfxdrivers/libdirectfb_sis315.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/gfxdrivers/libdirectfb_tdfx.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/inputdrivers
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/inputdrivers/libdirectfb_input_hub.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/inputdrivers/libdirectfb_joystick.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/inputdrivers/libdirectfb_keyboard.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/inputdrivers/libdirectfb_linux_input.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/inputdrivers/libdirectfb_lirc.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/inputdrivers/libdirectfb_mutouch.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/inputdrivers/libdirectfb_penmount.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/inputdrivers/libdirectfb_ps2mouse.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/inputdrivers/libdirectfb_serialmouse.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/inputdrivers/libdirectfb_sonypi.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/inputdrivers/libdirectfb_wm97xx_ts.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/inputdrivers/libdirectfb_zytronic.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/interfaces
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/interfaces/IDirectFBFont
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/interfaces/IDirectFBFont/libidirectfbfont_dgiff.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/interfaces/IDirectFBImageProvider
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_dfiff.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_gif.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/interfaces/IDirectFBVideoProvider
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_gif.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_v4l.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/interfaces/IDirectFBWindows
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/interfaces/IDirectFBWindows/libidirectfbwindows_default.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/interfaces/IWater
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/interfaces/IWater/libiwater_default.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/systems
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/systems/libdirectfb_devmem.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/systems/libdirectfb_dummy.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/systems/libdirectfb_fbdev.so
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/wm
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/wm/libdirectfbwm_default.so
/usr/lib/x86_64-linux-gnu/libdirect-1.7.so.7.0.0
/usr/lib/x86_64-linux-gnu/libdirectfb-1.7.so.7.0.0
/usr/lib/x86_64-linux-gnu/libfusion-1.7.so.7.0.0


*wxwidget library:*
siva-eic@sivaeic-virtual-machine:~/wxwidget/wxdfb$ *wx-config --version*
3.1.5
siva-eic@sivaeic-virtual-machine:~/wxwidget/wxdfb$ *ls /usr/local/lib/*
cmake liblog4cplus.so libwx_baseu-3.1.so.5 libwx_dfbunivu_aui-3.1.so 
libwx_dfbunivu_media-3.1.so.5.0.0 libwx_dfbunivu_richtext-3.1.so.5
libCatch2.a liblog4cplus.so.3 libwx_baseu-3.1.so.5.0.0 
libwx_dfbunivu_aui-3.1.so.5 libwx_dfbunivu_propgrid-3.1.so 
libwx_dfbunivu_richtext-3.1.so.5.0.0
libCatch2Main.a liblog4cplusU-2.0.so.3 libwx_baseu_net-3.1.so 
libwx_dfbunivu_aui-3.1.so.5.0.0 libwx_dfbunivu_propgrid-3.1.so.5 
libwx_dfbunivu_stc-3.1.so
libfcgi.a liblog4cplusU-2.0.so.3.4.7 libwx_baseu_net-3.1.so.5 
libwx_dfbunivu_core-3.1.so libwx_dfbunivu_propgrid-3.1.so.5.0.0 
libwx_dfbunivu_stc-3.1.so.5
libfcgi.la liblog4cplusU.la libwx_baseu_net-3.1.so.5.0.0 
libwx_dfbunivu_core-3.1.so.5 libwx_dfbunivu_qa-3.1.so 
libwx_dfbunivu_stc-3.1.so.5.0.0
libfcgi.so liblog4cplusU.so libwx_baseu_xml-3.1.so 
libwx_dfbunivu_core-3.1.so.5.0.0 libwx_dfbunivu_qa-3.1.so.5 
libwx_dfbunivu_xrc-3.1.so
libfcgi.so.0 libqrencode.la libwx_baseu_xml-3.1.so.5 
libwx_dfbunivu_html-3.1.so libwx_dfbunivu_qa-3.1.so.5.0.0 
libwx_dfbunivu_xrc-3.1.so.5
libfcgi.so.0.0.0 libqrencode.so libwx_baseu_xml-3.1.so.5.0.0 
libwx_dfbunivu_html-3.1.so.5 libwx_dfbunivu_ribbon-3.1.so 
libwx_dfbunivu_xrc-3.1.so.5.0.0
liblog4cplus-2.0.so.3 libqrencode.so.4 libwx_dfbunivu_adv-3.1.so 
libwx_dfbunivu_html-3.1.so.5.0.0 libwx_dfbunivu_ribbon-3.1.so.5 pkgconfig
liblog4cplus-2.0.so.3.4.7 libqrencode.so.4.1.1 libwx_dfbunivu_adv-3.1.so.5 
libwx_dfbunivu_media-3.1.so libwx_dfbunivu_ribbon-3.1.so.5.0.0 python3.8
liblog4cplus.la libwx_baseu-3.1.so libwx_dfbunivu_adv-3.1.so.5.0.0 
libwx_dfbunivu_media-3.1.so.5 libwx_dfbunivu_richtext-3.1.so wx
siva-eic@sivaeic-virtual-machine:~/wxwidget/wxdfb$

*Error snippet:*
siva-eic@sivaeic-virtual-machine  :~/siva/test$ *sudo ./hello_dfb 
--dfb:system=fbdev*
(*) Direct/Thread: Started 'SigHandler' (40411) [CRITICAL - OTHER/0] 
<8388608>...

~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.7.7 |~~~~~~~~~~~~~~~~~~~~~~~~~~
(c) 2012-2015 DirectFB integrated media GmbH
(c) 2001-2015 The world wide DirectFB Open Source Community
(c) 2000-2004 Convergence (integrated media) GmbH
----------------------------------------------------------------

(*) DirectFB/Core: Single Application Core.
(!) Direct/Modules: Unable to dlopen 
`/usr/lib/x86_64-linux-gnu/directfb-1.7-7/systems/libdirectfb_mesa_system.so'!
--> 
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/systems/libdirectfb_mesa_system.so: 
undefined symbol: glEGLImageTargetRenderbufferStorageOES
(*) Direct/Memcpy: Using libc memcpy()
(*) Direct/Thread: Started 'Fusion Dispatch' (40412) [MESSAGING - OTHER/0] 
<8388608>...
(*) Direct/Thread: Started 'VT Switcher' (40417) [CRITICAL - OTHER/0] 
<8388608>...
(*) Direct/Thread: Started 'VT Flusher' (40418) [DEFAULT - OTHER/0] 
<8388608>...
(*) DirectFB/FBDev: Found 'i915drmfb' (ID 0) with frame buffer at 
0x00000000, 6892k (MMIO 0x00000000, 0k)
(*) Direct/Thread: Started 'Keyboard Input' (40419) [INPUT - OTHER/0] 
<8388608>...
(*) DirectFB/Input: Keyboard 0.9 (directfb.org)
(*) Direct/Thread: Started 'PS/2 Input' (40428) [INPUT - OTHER/0] 
<8388608>...
(*) DirectFB/Input: IMPS/2 Mouse (1) 1.0 (directfb.org)
(*) Direct/Thread: Started 'PS/2 Input' (40439) [INPUT - OTHER/0] 
<8388608>...
(*) DirectFB/Input: IMPS/2 Mouse (2) 1.0 (directfb.org)
(*) Direct/Thread: Started 'Linux Input' (40501) [INPUT - OTHER/0] 
<8388608>...
(*) DirectFB/Input: Dell KB216 Wired Keyboard (1) 0.1 (directfb.org)
(*) Direct/Thread: Started 'Linux Input' (40502) [INPUT - OTHER/0] 
<8388608>...
(*) DirectFB/Input: PixArt Dell MS116 USB Optical M (2) 0.1 (directfb.org)
(*) Direct/Thread: Started 'Linux Input' (40503) [INPUT - OTHER/0] 
<8388608>...
(*) DirectFB/Input: Dell WMI hotkeys (3) 0.1 (directfb.org)
(*) Direct/Thread: Started 'Hotplug with Linux Input' (40504) [INPUT - 
OTHER/0] <8388608>...
(*) DirectFB/Input: Hot-plug detection enabled with Linux Input Driver
(*) DirectFB/Input: Hot-plug detection enabled with Input Hub Driver
(*) DirectFB/Genefx: MMX detected and enabled
(*) DirectFB/Graphics: MMX Software Rasterizer 0.7 (directfb.org)
(*) DirectFB/Core/WM: Default 0.3 (directfb.org)
(*) Direct/Thread: Started 'Genefx' (40526) [DEFAULT - OTHER/0] <8388608>...
(*) FBDev/Mode: Setting 640x480 LUT8
(*) FBDev/Mode: Switched to 640x480 (virtual 1680x1050) at 32 bit (LUT8), 
pitch 6720
(!) DirectFB/FBDev: Could not set the palette!
--> Invalid argument
(*) FBDev/Mode: Setting 640x480 LUT8





*(*) FBDev/Mode: Switched to 640x480 (virtual 1680x1050) at 32 bit (LUT8), 
pitch 6720(!) DirectFB/FBDev: Could not set the palette!--> Invalid 
argument(!!!) *** UNIMPLEMENTED [fusion_get_fusionee_pid] *** 
[fusion.c:4147](*) Direct/Thread: Started 'EventBufferFeed' (40528) 
[MESSAGING - OTHER/0] <8388608>...../src/dfb/wrapdfb.cpp(41): assert 
""Assert failure"" failed in wxDfbCheckReturn(): DirectFB error: DFB_INVARG*
Trace/breakpoint trap

Thanks & Regards, 
Siva P

-- 
Please read https://www.wxwidgets.org/support/mlhowto.htm before posting.
--- 
You received this message because you are subscribed to the Google Groups "wx-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To view this discussion on the web visit https://groups.google.com/d/msgid/wx-users/f21af69f-1660-4fbd-ad4d-1407db13c1can%40googlegroups.com.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.