Feed for discussion Advanced Graphics in project Graphics.Posts for Advanced Graphicspost122392: Qnx7.1 Screen splash screenmario sangallihttp://community.qnx.com/sf/go/post1223922023-10-16T07:52:31Z2023-10-16T07:52:31ZHi all, there is a quick way to load a splash screen in QNX7.1 ?
Or is a demo source available using screen?
Thanks,
Mariomario sangalli2023-10-16T07:52:31Zpost121656: Build OpenCV c/c++ application in QNX SDP 7.1Yatheesha S(deleted)http://community.qnx.com/sf/go/post1216562021-11-11T12:42:32Z2021-11-11T12:42:32ZI am newly started working on QNX environment. I want to build a sample c/c++ QNX OpenCV application to run on “aarch64le”. I am using Jacinto 7 board in which QNX is running on a72 core and QNX SDP Version 7.1. Please help me to build sample opencv application to run on QNX.Yatheesha S(deleted)2021-11-11T12:42:32Zpost121655: Sample OpenCV application in QNXYatheesha S(deleted)http://community.qnx.com/sf/go/post1216552021-11-11T12:40:59Z2021-11-11T12:40:59ZHi Team,
I am newly started working on QNX environment. I want to build a sample c/c++ QNX OpenCV application to run on “aarch64le”. I am using Jacinto 7 board in which QNX is running on a72 core and QNX SDP Version 7.1. Please help me to build sample opencv application to run on QNX.
Warm Regards,
Yatheesha S
________________________________
DISCLAIMER: This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely for the use of the addressee(s). If you are not the intended recipient, please notify the sender by e-mail and delete the original message. Opinions, conclusions and other information in this transmission that do not relate to the official business of QuEST Global and/or its subsidiaries, shall be understood as neither given nor endorsed by it. Any statements made herein that are tantamount to contractual obligations, promises, claims or commitments shall not be binding on the Company unless followed by written confirmation by an authorized signatory of the Company.
________________________________Yatheesha S(deleted)2021-11-11T12:40:59Zpost121630: QNX VM guest with Vmware graphics drivers on QEMUAnandu S(deleted)http://community.qnx.com/sf/go/post1216302021-10-22T08:37:47Z2021-10-22T08:37:47ZI am not sure if this is the right forum for this query. I am working on getting QNX neutrino 7.0 with vmware graphics working on QEMU. I did bit of reading and understood that QNX doesnt support this. Anyone here has any past experience with it. Any leads would be helpful. ThnxAnandu S(deleted)2021-10-22T08:37:47Zpost121574: Graphics driver for Intel Celeron Quad Core J1900 ?KOMSTER Ltd.http://community.qnx.com/sf/go/post1215742021-08-31T09:29:23Z2021-08-31T09:29:23ZHi
I've installed QNX 6.5 on Advantech UNO-2272G-J2AE with Intel Celeron Quad Core J1900 (Graphic Engine: Intel HD Graphic).
What graphics driver should I use? I've tried devg-intelhd.so and devg-i830.so but they don't work. Only vesabios and svga are working.
Best regards
WaldiKOMSTER Ltd.2021-08-31T09:29:23Zpost121550: how to tell when screen mode change is applieddavid lavacekhttp://community.qnx.com/sf/go/post1215502021-08-02T16:15:39Z2021-08-02T16:15:39ZI am using the SCREEN_PROPERTY_MODE property (screen_get_display_property_pv) to set/change the graphics mode. These mode changes have an impact on graphics output and display synchronization, so it is important to know when the mode change has been fully applied. However, the method for doing this is not clear.
Mode change time seems to vary drastically, taking 250ms one time and over 1.5 seconds the next. Mode change time can be seen from monitoring screen slog information as well as looking at the display.
I read the mode properly after setting (which flushes the command), but it returns the new mode even though that mode is not yet applied. I tried an explicit flush command, but that had no impact. I also tried "wait_vsync", to no effect.david lavacek2021-08-02T16:15:39Zpost119804: libimg how to encode png to memoryDeng Daokuan(deleted)http://community.qnx.com/sf/go/post1198042019-08-13T07:06:39Z2019-08-13T07:06:39ZHi
In my case, I want to encode a pixel buffer into a piece of memory in png format.I just write the code:
BYTE* pbtBuffer = new BYTE[img.w * img.h];
s_writeBufferSize = img.w * img.h;
io_stream_t* pOutStream = io_open( IO_MEM, IO_WRITE, img.w * img.h, pbtBuffer );
if ( !pOutStream )
{
CLogApp::info( String::format( L"io_open error: %d", errno ) );
return FALSE;
}
pOutStream->output.write_f = ioMemoryWrite;
But I cannot do io_open( IO_MEM...) with IO_WRITE. I search the history and find that qnx not support the write mode with io_mem.
How can I do this. Can someone help me? Thanks!!!!!!!!!!!!Deng Daokuan(deleted)2019-08-13T07:06:39Zpost119693: QNX 7.0 screen configuration for Intel SkylakeJohn Efstathiadeshttp://community.qnx.com/sf/go/post1196932019-05-06T06:48:11Z2019-05-06T06:48:11ZHello,
I am using the generic Intel x86_64 BSP on a Dell computer with an Intel i3 Skylake processor with standard integrated graphics.
Will Screen run on such a machine and is there a Screen configuration available that I can try?
The BSP that I am using appears to provide a screen configuration for the Intel NUC only.
Thanks,
JohnJohn Efstathiades2019-05-06T06:48:11Zpost119447: Re: calib-touch difficult to work and not accuratemike scott(deleted)http://community.qnx.com/sf/go/post1194472019-01-24T11:01:46Z2019-01-24T11:01:46Znever mind,
use legacy driver "devi" instead of "hid" solve the problem.
Mikemike scott(deleted)2019-01-24T11:01:46Zpost119434: Re: calib-touch difficult to work and not accuratemike scott(deleted)http://community.qnx.com/sf/go/post1194342019-01-22T13:35:29Z2019-01-22T13:35:29Zanother issue,
after the first unsuccessful "accept"ed calibration, I tried to do recalibration with
calib-touch -zorder=20 -config-file=/tmp/calib.localhost -recalibrate
this time stuck at Figure 1 of http://www.qnx.com/developers/docs/6.6.0_anm11_wf10/#com.qnx.doc.neutrino.utilities/topic/c/calib-touch.html
i.e., the target never moves no matter touch any place on the whole screen.
It seems, the previous calibrated data were still in use, and blocked the recalibration.
Please advise, thanks in advance.
Mikemike scott(deleted)2019-01-22T13:35:29Zpost119431: calib-touch difficult to work and not accuratemike scott(deleted)http://community.qnx.com/sf/go/post1194312019-01-22T12:30:57Z2019-01-22T12:30:57ZHi QNX,
qnx sdp 6.6, qnx sdk for apps and media 1.1 release,
BSP_ti-am335x-beaglebone_br-660_be-660_SVN797070_JBN574.zip
beaglebonedemo.ext.anm11.258.150325_2017
touchscreen 800x480
I am working on touchscreen with beaglebone black on qnx 6.6.
Touchscreen starts with calib-touch 3-point calibration. However it stuck at the last step as described in Figure 4,
http://www.qnx.com/developers/docs/6.6.0_anm11_wf10/#com.qnx.doc.neutrino.utilities/topic/c/calib-touch.html
exactly same situation as previous post, "calib-touch program doesn't accept or recognize that."
http://community.qnx.com/sf/discussion/do/listPosts/projects.graphics/discussion.advanced_graphics.topc25633
After many times tries, calib-touch finally "accept" and save the data to calib.localhost. However, the calibration is not accurately at all. You have to estimate and try to figure out exact location, for example, in QT keyboard demo program from beaglebonedemo, push "2" maybe come out "8", very frustrating.
Please advise, thanks in advance
Mikemike scott(deleted)2019-01-22T12:30:57Zpost119307: How to show YUV image on RGB display panel through QNX 6.6 Screen?Li Chunmei(deleted)http://community.qnx.com/sf/go/post1193072018-11-27T01:32:54Z2018-11-27T01:32:54ZHi,
I want to show YUV image on the RGB display panel through the APIs of Screen, but I can not work ok, could you please provide me some demos for it?
The development environments are follow:
1. QNX6.6.0
2. i.MX6DL
3. Screen
4. dual lvds display pannel(1920*720)
5. NV12 images
Best regards,
GaryLi Chunmei(deleted)2018-11-27T01:32:54Zpost118575: Re: Gles2 app cannot find glesv2-sc-dllsBenedikt Franz(deleted)http://community.qnx.com/sf/go/post1185752018-02-14T09:23:19Z2018-02-14T09:23:19ZAlright, thank you. I'll ignore those error messages then.Benedikt Franz(deleted)2018-02-14T09:23:19Zpost118573: Re: Gles2 app cannot find glesv2-sc-dllsZygo Blaxellhttp://community.qnx.com/sf/go/post1185732018-02-13T17:06:44Z2018-02-13T17:06:44ZIt's an artifact of the Vivante porting layer and can be ignored (as long as there is no file named 'glesv2-sc-dlls' in LD_LIBRARY_PATH).Zygo Blaxell2018-02-13T17:06:44Zpost118564: Gles2 app cannot find glesv2-sc-dllsBenedikt Franz(deleted)http://community.qnx.com/sf/go/post1185642018-02-13T08:10:58Z2018-02-13T08:10:58ZDear community,
I have an i.MX6 quad based system running QNX6.6.0. While deploying Qt5, I noticed something a bit odd. When starting some of the example apps which came with the build, some of them would give me an error message (with LD_DEBUG=libs, the app does still start up despite the error):
libs: load_object: attempt load of glesv2-sc-dlls.so
libs: dlopen: Library cannot be found
libs: dlopen("/usr/lib/graphics/iMX6X/libGLSLC.so",1536)
Mode: LOCAL GROUP
I've attached a full dump. Someone in a different post suggested it might be of no relevance but I would like to be sure. I've also attached our graphics.conf - maybe I configured the glesv2-sc-dlls section wrong - the libSLSLC.so does exist, and is located in /usr/lib/graphics/iMX6X, executable. I get the error message for gles2-gears (although as stated above, it runs fine) and also for a few Qt example apps which use gles2.
Any thoughts on whether or not this error message is actually relevant?Benedikt Franz(deleted)2018-02-13T08:10:58Zpost118257: Re: RE: Img library - io_open(IO_MEM, IO_WRITE, ...)Andrzej Polanskihttp://community.qnx.com/sf/go/post1182572017-12-01T15:40:41Z2017-12-01T15:40:41ZThank you for fast response.
I would like to do it myself.
In particular - how to properly initialize
struct _io_bstream {
io_stream_t stream;
unsigned flags;
_uint8 *buf;
unsigned bufsiz, buf_pos, buf_nleft;
unsigned pos, nleft;
io_close_f *close_f;
}
in my version of "io_open_f()"?
I have tried but it does not work properly (perhaps flags or sizes not set properly).
Is there doc or example?Andrzej Polanski2017-12-01T15:40:41Zpost118256: RE: Img library - io_open(IO_MEM, IO_WRITE, ...)Derek Leachhttp://community.qnx.com/sf/go/post1182562017-12-01T14:30:42Z2017-12-01T14:30:42ZNo, it is a read-only interface. Only the IO_FD interface supports write functionality.
-----Original Message-----
From: Andrzej Polanski(deleted) [mailto:community-noreply@qnx.com]
Sent: Friday, December 1, 2017 5:29 AM
To: advanced-graphics <advanced-graphics@community.qnx.com>
Subject: Img library - io_open(IO_MEM, IO_WRITE, ...)
How to use io_open() for write into memory buffer?
Try like
output = io_open(IO_MEM, IO_WRITE, (unsigned)BUF_SIZE, (void*)buf);
gives errno = ENOTSUP 48 /* Not supported (1003.1b-1993) */
Is it possible?
Additional remark - documentation for image library is rather brief (e.g. not mentioned how to free memory allocated with img_load())
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post118255
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2017-12-01T14:30:42Zpost118255: Img library - io_open(IO_MEM, IO_WRITE, ...)Andrzej Polanskihttp://community.qnx.com/sf/go/post1182552017-12-01T10:28:42Z2017-12-01T10:28:42ZHow to use io_open() for write into memory buffer?
Try like
output = io_open(IO_MEM, IO_WRITE, (unsigned)BUF_SIZE, (void*)buf);
gives errno = ENOTSUP 48 /* Not supported (1003.1b-1993) */
Is it possible?
Additional remark - documentation for image library is rather brief (e.g. not mentioned how to free memory allocated with img_load())Andrzej Polanski2017-12-01T10:28:42Zpost117768: Re: RE: RE: How to get wfdcfg source code(LCD) for I.MX6q-sabre-smart-devices boardandrew huang(deleted)http://community.qnx.com/sf/go/post1177682017-05-27T07:58:59Z2017-05-27T07:58:59ZHi Mr Yang:
I‘m from china too and have encountered the same problem,
Have you resolved this problem?
in case you have resolved, can you give me some suggestions on it?
Thank you very much!andrew huang(deleted)2017-05-27T07:58:59Zpost117358: SIGSEGV fault while calling vgCreateEGLImageTargetKHR APISaleem Shaikhttp://community.qnx.com/sf/go/post1173582017-01-20T17:29:53Z2017-01-20T17:29:53ZI'm creating a graphics application to run on i.MX6 Sabre SDB and I’m running into a SIGSEGV fault when I call ‘vgCreateEGLImageTargetKHR’ API. Can someone please help me figure out the root cause for this?
I’m trying to use the EGL_KHR_image extension as a means to share images between the OpenGLES2 and OpenVG rendering APIs.
So, I wrote some code to create an EGLImageKHR type as shown below. After successful creation of the EGLImageKHR, I was able to create an OpenGLES2 texture using the EGL image (glEGLImageTargetTexture2DOES ) and render it to the display.
But, I see a SIGSEGV fault, when I attempt to create an OpenVG texture using the same EGL Image. The OpenVG extension function that I’m using is - vgCreateEGLImageTargetKHR
void * driver_CreateEglImageBuffer(EGL_DDB *pDdb)
{
int size[2] = {pDdb->width, pDdb->height};
int format = SCREEN_FORMAT_RGBA8888;
void * ret_buffer = NULL;
int result;
/* Create a pixmap buffer. This buffer will be used to hold the
** bitmap and eventually create an eglImage.
*/
result = screen_create_pixmap((screen_pixmap_t *)&(pDdb->pixmap.pixmapId),
egl_layer->win.screen_ctx);
if (result == 0)
{
int usage = SCREEN_USAGE_OPENGL_ES2 | SCREEN_USAGE_OPENVG;
screen_buffer_t screen_pbuf;
screen_set_pixmap_property_iv(pDdb->pixmap.pixmapId, SCREEN_PROPERTY_USAGE, &usage);
screen_set_pixmap_property_iv(pDdb->pixmap.pixmapId, SCREEN_PROPERTY_FORMAT, &format);
screen_set_pixmap_property_iv(pDdb->pixmap.pixmapId, SCREEN_PROPERTY_BUFFER_SIZE, size);
result = screen_create_pixmap_buffer(pDdb->pixmap.pixmapId);
if (result != 0)
{
screen_destroy_pixmap(pDdb->pixmap.pixmapId);
printf("Fail! screen_create_pixmap_buffer() returned %d\n", result);
}
else
{
screen_get_pixmap_property_pv(pDdb->pixmap.pixmapId, SCREEN_PROPERTY_RENDER_BUFFERS,
(void**)&screen_pbuf);
/* Get the buffer pointer */
screen_get_buffer_property_pv(screen_pbuf, SCREEN_PROPERTY_POINTER,
(void**)&pDdb->pixmap.pixmapBuffer);
/* Get the buffer stride */
screen_get_buffer_property_iv(screen_pbuf, SCREEN_PROPERTY_STRIDE,
(int *)&(pDdb->stride));
/* Create EGL Image */
pDdb->pixmap.eglImage = eglCreateImageKHR(egl_layer->win.eglDisplay,
EGL_NO_CONTEXT,
EGL_NATIVE_PIXMAP_KHR,
(void *)pDdb->pixmap.pixmapId,
NULL);
if (pDdb->pixmap.eglImage == EGL_NO_IMAGE_KHR)
{
EGLint eglError = eglGetError();
if (eglError != EGL_SUCCESS)
{
printf("eglGetError() = %i\n", eglError);
}
}
else
{
ret_buffer = pDdb->pixmap.pixmapBuffer;
}
}
}
return ret_buffer;
}Saleem Shaik2017-01-20T17:29:53Zpost117323: Re: RE: RE: How to get wfdcfg source code(LCD) for I.MX6q-sabre-smart-devices boardyang lei(deleted)http://community.qnx.com/sf/go/post1173232017-01-11T01:30:05Z2017-01-11T01:30:05ZAll right, thanks all the same.
> Yes, please ask your FAE to contact support directly on your behalf.
>
> Regards,
> Derek
>
> -----Original Message-----
> From: yang lei [mailto:community-noreply@qnx.com]
> Sent: Monday, January 9, 2017 3:29 AM
> To: advanced-graphics <advanced-graphics@community.qnx.com>
> Subject: Re: RE: How to get wfdcfg source code(LCD) for I.MX6q-sabre-smart-
> devices board
>
> Hi, Derek
> Thanks for your reply, but my FAE told me that use the standard support
> plan. I new a case to request the sample source on 05/01/2017 1:34 AM(yes
> because I am in China), till now the case´s status is still ¨Unassigned¨.
> I don´t know how to do next... I guess I should find my FAE again..
> > Hi,
> >
> > Your FAE/Sale Rep should be able to provide you with the latest source.
> >
> > Regards,
> > Derek
> >
> > -----Original Message-----
> > From: yang lei [mailto:community-noreply@qnx.com]
> > Sent: Thursday, January 5, 2017 6:01 AM
> > To: advanced-graphics <advanced-graphics@community.qnx.com>
> > Subject: How to get wfdcfg source code(LCD) for
> > I.MX6q-sabre-smart-devices board
> >
> > Hi, I'm new in writing video drivers for QNX 6.6, any suggestion will
> > be very helpful.
> >
> > My target board is freescale I.MX6Q sabre smart device. I download
> > ¨ BSP_freescale-imx6q-sabresmart_br-660_be-660_PATCHES_JBN775¨ and I
> > read the sample source code(hdmi.c) for days, I can get something but
> > my target board´ s display device is a 12.3 inch LCD screen.
> > Unfortunately this hardware is not on the BSP support list, so I need
> > a LCD driver sample source code, edit the timing data.
> > How do I get the wfdcfg.c? My FAE told me that the DDK is out of
> > the date, and let me go to here for help.
> >
> >
> >
> > _______________________________________________
> >
> > Advanced Graphics
> > http://community.qnx.com/sf/go/post117307
> > To cancel your subscription to this discussion, please e-mail
> > advanced- graphics-unsubscribe@community.qnx.com
>
>
>
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post117319
> To cancel your subscription to this discussion, please e-mail advanced-
> graphics-unsubscribe@community.qnx.comyang lei(deleted)2017-01-11T01:30:05Zpost117320: RE: RE: How to get wfdcfg source code(LCD) for I.MX6q-sabre-smart-devices boardDerek Leachhttp://community.qnx.com/sf/go/post1173202017-01-09T13:16:56Z2017-01-09T13:16:56ZYes, please ask your FAE to contact support directly on your behalf.
Regards,
Derek
-----Original Message-----
From: yang lei [mailto:community-noreply@qnx.com]
Sent: Monday, January 9, 2017 3:29 AM
To: advanced-graphics <advanced-graphics@community.qnx.com>
Subject: Re: RE: How to get wfdcfg source code(LCD) for I.MX6q-sabre-smart-devices board
Hi, Derek
Thanks for your reply, but my FAE told me that use the standard support plan. I new a case to request the sample source on 05/01/2017 1:34 AM(yes because I am in China), till now the case´s status is still ¨Unassigned¨.
I don´t know how to do next... I guess I should find my FAE again..
> Hi,
>
> Your FAE/Sale Rep should be able to provide you with the latest source.
>
> Regards,
> Derek
>
> -----Original Message-----
> From: yang lei [mailto:community-noreply@qnx.com]
> Sent: Thursday, January 5, 2017 6:01 AM
> To: advanced-graphics <advanced-graphics@community.qnx.com>
> Subject: How to get wfdcfg source code(LCD) for
> I.MX6q-sabre-smart-devices board
>
> Hi, I'm new in writing video drivers for QNX 6.6, any suggestion will
> be very helpful.
>
> My target board is freescale I.MX6Q sabre smart device. I download
> ¨ BSP_freescale-imx6q-sabresmart_br-660_be-660_PATCHES_JBN775¨ and I
> read the sample source code(hdmi.c) for days, I can get something but
> my target board´ s display device is a 12.3 inch LCD screen.
> Unfortunately this hardware is not on the BSP support list, so I need
> a LCD driver sample source code, edit the timing data.
> How do I get the wfdcfg.c? My FAE told me that the DDK is out of
> the date, and let me go to here for help.
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post117307
> To cancel your subscription to this discussion, please e-mail
> advanced- graphics-unsubscribe@community.qnx.com
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post117319
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2017-01-09T13:16:56Zpost117319: Re: RE: How to get wfdcfg source code(LCD) for I.MX6q-sabre-smart-devices boardyang lei(deleted)http://community.qnx.com/sf/go/post1173192017-01-09T08:29:00Z2017-01-09T08:29:00ZHi, Derek
Thanks for your reply, but my FAE told me that use the standard support plan. I new a case to request the sample source on 05/01/2017 1:34 AM(yes because I am in China), till now the case´s status is still ¨Unassigned¨.
I don´t know how to do next... I guess I should find my FAE again..
> Hi,
>
> Your FAE/Sale Rep should be able to provide you with the latest source.
>
> Regards,
> Derek
>
> -----Original Message-----
> From: yang lei [mailto:community-noreply@qnx.com]
> Sent: Thursday, January 5, 2017 6:01 AM
> To: advanced-graphics <advanced-graphics@community.qnx.com>
> Subject: How to get wfdcfg source code(LCD) for I.MX6q-sabre-smart-devices
> board
>
> Hi, I'm new in writing video drivers for QNX 6.6, any suggestion will be very
> helpful.
>
> My target board is freescale I.MX6Q sabre smart device. I download ¨
> BSP_freescale-imx6q-sabresmart_br-660_be-660_PATCHES_JBN775¨ and I read the
> sample source code(hdmi.c) for days, I can get something but my target board´
> s display device is a 12.3 inch LCD screen. Unfortunately this hardware is not
> on the BSP support list, so I need a LCD driver sample source code, edit the
> timing data.
> How do I get the wfdcfg.c? My FAE told me that the DDK is out of the date,
> and let me go to here for help.
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post117307
> To cancel your subscription to this discussion, please e-mail advanced-
> graphics-unsubscribe@community.qnx.comyang lei(deleted)2017-01-09T08:29:00Zpost117310: RE: How to get wfdcfg source code(LCD) for I.MX6q-sabre-smart-devices boardDerek Leachhttp://community.qnx.com/sf/go/post1173102017-01-05T14:24:19Z2017-01-05T14:24:19ZHi,
Your FAE/Sale Rep should be able to provide you with the latest source.
Regards,
Derek
-----Original Message-----
From: yang lei [mailto:community-noreply@qnx.com]
Sent: Thursday, January 5, 2017 6:01 AM
To: advanced-graphics <advanced-graphics@community.qnx.com>
Subject: How to get wfdcfg source code(LCD) for I.MX6q-sabre-smart-devices board
Hi, I'm new in writing video drivers for QNX 6.6, any suggestion will be very helpful.
My target board is freescale I.MX6Q sabre smart device. I download ¨BSP_freescale-imx6q-sabresmart_br-660_be-660_PATCHES_JBN775¨ and I read the sample source code(hdmi.c) for days, I can get something but my target board´s display device is a 12.3 inch LCD screen. Unfortunately this hardware is not on the BSP support list, so I need a LCD driver sample source code, edit the timing data.
How do I get the wfdcfg.c? My FAE told me that the DDK is out of the date, and let me go to here for help.
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post117307
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2017-01-05T14:24:19Zpost117307: How to get wfdcfg source code(LCD) for I.MX6q-sabre-smart-devices boardyang lei(deleted)http://community.qnx.com/sf/go/post1173072017-01-05T11:00:35Z2017-01-05T11:00:35ZHi, I'm new in writing video drivers for QNX 6.6, any suggestion will be very helpful.
My target board is freescale I.MX6Q sabre smart device. I download ¨BSP_freescale-imx6q-sabresmart_br-660_be-660_PATCHES_JBN775¨ and I read the sample source code(hdmi.c) for days, I can get something but my target board´s display device is a 12.3 inch LCD screen. Unfortunately this hardware is not on the BSP support list, so I need a LCD driver sample source code, edit the timing data.
How do I get the wfdcfg.c? My FAE told me that the DDK is out of the date, and let me go to here for help.yang lei(deleted)2017-01-05T11:00:35Zpost114472: Problem with graphics performanceMaciej Dębicki(deleted)http://community.qnx.com/sf/go/post1144722015-09-18T09:17:52Z2015-09-18T09:17:52ZHello,
I'm quite new to all the graphics stuff under QNX. I'm using QNX 6.4.1 on i.MX515 with 320x240 16 bit display and I have a problem with performance:
1. A simple loop drawing (gf_draw_rect()) one white rectangle on the whole screen at 30fps uses 26% of CPU.
2. vsync demo uses 66% of CPU
3. egl-gears uses 80% of CPU
My guess is that the software is not using hardware acceleration. I have been searching for more info about it, but can't find anything useful. What I keep finding is the sentence “(...) using hardware acceleration where possible”, but I have no idea how to make it possible.
The answer is probably simple enough to not put it in tutorials, but apparently I don't have enough knowledge in that topic and I don't even know where to look for it.
Could anyone point me in the right direction, please?Maciej Dębicki(deleted)2015-09-18T09:17:52Zpost114327: Re: libfont error: acessing a corrupted share lib on armv7,who can help me?Oleg Bolshakovhttp://community.qnx.com/sf/go/post1143272015-08-23T19:30:25Z2015-08-23T19:30:25ZHi Kevin,
Sure that you use library for your CPU architecture (armle-v7). You should copy it from ${QNX_TARGET}/armle-v7/lib instead of /lib.
Respectfully,
Oleg
23 авг. 2015 г., в 7:33, kevin L <community-noreply@qnx.com> написал:
> when I use PfAttachLocalDll, there is an error: acessing a corrupted share lib.
> i find libfont in QNX installation /lib,and put in beagleboard /lib.
> i put ttf font file n /usr/photon/font-repository.
>
>
> I try it on vmware QNX, it's OK.
>
> hope for your help.
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post114326
> To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comOleg Bolshakov2015-08-23T19:30:25Zpost114326: libfont error: acessing a corrupted share lib on armv7,who can help me?kevin L(deleted)http://community.qnx.com/sf/go/post1143262015-08-23T04:33:36Z2015-08-23T04:33:36Zwhen I use PfAttachLocalDll, there is an error: acessing a corrupted share lib.
i find libfont in QNX installation /lib,and put in beagleboard /lib.
i put ttf font file n /usr/photon/font-repository.
I try it on vmware QNX, it's OK.
hope for your help.kevin L(deleted)2015-08-23T04:33:36Zpost114203: Video BIOS equivalent services for ARMPhilip Abraham(deleted)http://community.qnx.com/sf/go/post1142032015-08-04T02:49:32Z2015-08-04T02:49:32ZHi,
I am working on an application that would run on QNX RTOS 6.5. The application would run on ARM processor.
The application would have to access the Video memory, to check the contents of the display, in order to set and read any random pixel, also make sure the display is not frozen, etc.
I see that the services provided by Video BIOS services are what I need (e.g. vbios _ int(), vbios _ register(), etc), but these services are available only for x86 and not for ARM.
My question is, are there any equivalent services that I could use for ARM?
Thanks in advance.
PhilPhilip Abraham(deleted)2015-08-04T02:49:32Zpost113932: Re: Why QNX6.6 after the close of the program is not completed drm-intel?Dave Nickersonhttp://community.qnx.com/sf/go/post1139322015-06-08T15:42:16Z2015-06-08T15:42:16ZWhat state is drm-intel after screen has terminated?
Thanks,
DaveDave Nickerson2015-06-08T15:42:16Zpost113741: Why QNX6.6 after the close of the program is not completed drm-intel?Vova Beliy(deleted)http://community.qnx.com/sf/go/post1137412015-04-22T22:59:09Z2015-04-22T22:59:09ZHello, in QNX6.6 for to run the Qt-application I use the next script:
-----------------------------------------------------------------------------------------------------------------------------------------------------
export LD_LIBRARY_PATH=/lib:/usr/lib:/lib/dll:/opt/qt5/lib:/opt/qnx6/x86/lib:/opt/qnx6/x86/usr:/opt/qnx6/x86/lib/dll
export QQNX_PHYSICAL_SCREEN_SIZE=200, 200
export QT_PLUGIN_PATH=/opt/qt5/plugins
export QML2_IMPORT_PATH=/opt/qt5/qml
export GRAPHICS_ROOT=/usr/lib/graphics/intel-drm
drm-intel
screen
/root/app/my_prog qnx:no-fullscreen
slay screen
slay drm-intel
-----------------------------------------------------------------------------------------------------------------------------------------------------
On the PC, after the close of my program, screen completed its work. But drm-intel no exited.
Because of what it could be?
On Vmware, when I use instead of drm-intel - vmware (though it is not explicitly called in a script), screen shuts down and I can continue to work with mqc.
Thanks
VovaVova Beliy(deleted)2015-04-22T22:59:09Zpost113168: Re: screen_attach_window_buffersKevin Stallardhttp://community.qnx.com/sf/go/post1131682015-01-31T01:23:04Z2015-01-31T01:23:04ZAnd the attachmentKevin Stallard2015-01-31T01:23:04Zpost113167: screen_attach_window_buffersKevin Stallardhttp://community.qnx.com/sf/go/post1131672015-01-31T01:17:34Z2015-01-31T01:17:34ZOur video capture device is already using a linked list of buffers for transfer of video data via DMA.
I'd like to use these same buffers for screen and just post them when they are filled. The attached code snippet outlines the basics of my approach, but it isn't working.
To illustrate and try to figure this out I'm using the sync tutorial. You'll see the #ifdef clause that contains the code I would like to execute and have it work.
The result of the #ifdef block is a blank screen. Of course, using the original code works. Basically I would like to allocate the memory and assign it to a screen buffer and have screen use that memory instead of its own allocation.
Docs suggest that this is known and supported method, but apparently I'm missing some detail.Kevin Stallard2015-01-31T01:17:34Zpost113140: Re: Writing video driver for QNX 6.6Somnus ueste(deleted)http://community.qnx.com/sf/go/post1131402015-01-29T14:42:00Z2015-01-29T14:42:00ZOK, thank you very much!Somnus ueste(deleted)2015-01-29T14:42:00Zpost113138: Re: Writing video driver for QNX 6.6Viktor Lezhava(deleted)http://community.qnx.com/sf/go/post1131382015-01-29T14:18:01Z2015-01-29T14:18:01ZNo, I can't provide you src.
You can use this doc as reference on start:
https://www.khronos.org/registry/wf/specs/OpenWF_Display_1_0_Specification.pdf
Hope it helps. Good luck.Viktor Lezhava(deleted)2015-01-29T14:18:01Zpost113137: Run screen on QNX6.5Somnus ueste(deleted)http://community.qnx.com/sf/go/post1131372015-01-29T14:04:40Z2015-01-29T14:04:40ZI'm new to QNX os, any suggested tutorial how to run screen on QNX6.5 will be very helpful.
I'm familiarized with:
a) Screen Graphics Subsystem Developer's Guide
b) OpenWF Display Configuration Developer's Guide
Since there is no WFD and Wfdcfg driver src available to me, I have no idea how to write my hardware specific WFD drivers. My processor is TI-AM3517, there is no available binary for me. Would anyone help me on how to write WFD driver? Thank you very much!Somnus ueste(deleted)2015-01-29T14:04:40Zpost113136: Re: Writing video driver for QNX 6.6Somnus ueste(deleted)http://community.qnx.com/sf/go/post1131362015-01-29T13:53:45Z2015-01-29T13:53:45ZDear Lezhava,
I'm new inQNX os and I wanna run screen on QNX6.5. I have read the below articles:
a) Screen Graphics Subsystem Developer's Guide
b) OpenWF Display Configuration Developer's Guide
But I still have no idea how to write WFD driver. Would you please provide your WFD driver src as a sample to me? My email is wangwei_1720@126.com. Thank you very much!Somnus ueste(deleted)2015-01-29T13:53:45Zpost112996: Re: gf_surface_attach returns GF_ERR_OK but img_surf is a NULL pointer.Andrey Docuchaevhttp://community.qnx.com/sf/go/post1129962015-01-19T16:05:56Z2015-01-19T16:05:56ZAs I understand you trying to show transparent image with gf_splash? To draw image with transparecy this application uses gf_draw_blit2() with configured chroma key. Does your driver supports this feature?
Best regards
AndreyAndrey Docuchaev2015-01-19T16:05:56Zpost112993: Re: gf_surface_attach returns GF_ERR_OK but img_surf is a NULL pointer.George Refseth(deleted)http://community.qnx.com/sf/go/post1129932015-01-19T13:00:52Z2015-01-19T13:00:52ZIts the gf_splash application - available in several bsp's. Running on an arm-v7 target. Looks like there might be a possibility for gf_surface_attach to return ok but not deliver a surface opaque pointer.
Any idea what (can) cause(s) this behaviour?
tia
GeorgeGeorge Refseth(deleted)2015-01-19T13:00:52Zpost112992: Re: gf_surface_attach returns GF_ERR_OK but img_surf is a NULL pointer.Andrey Docuchaevhttp://community.qnx.com/sf/go/post1129922015-01-19T12:06:56Z2015-01-19T12:06:56ZHello George,
What do you mean by "external memory"? Can you please provide a few examples of code?
Best regards
AndreyAndrey Docuchaev2015-01-19T12:06:56Zpost112985: gf_surface_attach returns GF_ERR_OK but img_surf is a NULL pointer.George Refseth(deleted)http://community.qnx.com/sf/go/post1129852015-01-18T23:26:02Z2015-01-18T23:26:02ZQNX 6.5.0 SP1
What would cause gf_surface_attach to return GF_ERR_OK, but not create a surface for the 'external' memory?
best regards
George RefsethGeorge Refseth(deleted)2015-01-18T23:26:02Zpost112721: Writing video driver for QNX 6.6Viktor Lezhava(deleted)http://community.qnx.com/sf/go/post1127212014-12-17T21:19:38Z2014-12-17T21:19:38ZI'm new in writing video drivers for QNX 6.6, and any suggested tutorial how to do this will be very helpful.
I'm familiarized with:
a) Screen Graphics Subsystem Developer's Guide
b) OpenWF Display Configuration Developer's Guide
Currently I've written my WFD.so driver with all functions implemented as stubs, set it as "wfd-dlls" in graphics.conf and after running Screen I received SIGSEGV error:
"Process 106518 (screen) terminated SIGSEGV code=1 fltno=11 ip=0804f538(/sbin/screen@main+0x50f) ref=0000045c".
My graphics.conf:
begin khronos
begin egl display 1
end egl display
begin wfd device 1
wfd-dlls = WFD.so
end wfd devide
end khronos
begin winmgr
begin globals
end globals
begin display hdmi
end display
begin class framebuffer
end class
begin mtouch
end mtouch
end winmg
Thanks.Viktor Lezhava(deleted)2014-12-17T21:19:38Zpost112356: Re: QNX 6.6 touch screen setupqnx1 developer(deleted)http://community.qnx.com/sf/go/post1123562014-11-17T00:38:00Z2014-11-17T00:38:00ZI've changed touch screen controller to HID compliant device. After figuring out what's going on, QNX support guy said that something is different between their egalax touch screen controller and mine. And if I want to go further, I have to pay 10000$ at least for priority support(bronze). Even though it works with QNX 6.5.0.
Anyway, now I can touch and move the cursor on the screen but coordinates are not fit.
So I've tried to calibrate but result was same as you. The cursor moves, but calib-touch program doesn't accept or recognize that.
I'm using a screen with 1024x600. But when I run 'devi-hid' from command line, some suspected output displayed.
# devi-hid -vvvvvvv mouse touch
...
Did not find calib info for [639x479]. Attempting to use calculated transformation.
...
I've set the resolution to 1024x600 through the same way as you and I don't know why that message displayed.
As your result is same with me, I wonder what's the output from devi-hid from command line with -vvvvvvv?qnx1 developer(deleted)2014-11-17T00:38:00Zpost112242: Re: QNX 6.6 touch screen setupAbhishek Guptahttp://community.qnx.com/sf/go/post1122422014-11-04T10:56:02Z2014-11-04T10:56:02ZHi,
I am also trying to use touch screen with QNX 6.6 on TI Jacinto 6 (DRA74x) EVM (Rev E1) with 7" display.
I have used the screen patch and apps & media and run the driver for touch as per the QNX SDP user guide that came along with the BSP.
When I run the calib-touch utility, I get the calibration display but my touch inputs don't get registered.
I am not able to calibrate.
I have added the resolution of LCD I am using (800x480) to /etc/system/config/scaling.conf i.e.
800x480:mode=direct
Here is the sloginfo output when I run screen:
Jan 01 00:00:15 5 8 300 screen: starting up...
Jan 01 00:00:15 5 8 300 screen: connected to powman...
Jan 01 00:00:15 5 8 200 wfd: 1 wfdCreateDevice - Tiler is not available. Video buffer will be allocated in normal memory
Jan 01 00:00:15 5 8 200 wfd: 1 configure_sys_clock - System clock is set to: 20000 KHz
Jan 01 00:00:15 5 8 200 wfd: 1 configure_dss_func_clock - DSS func clock is set to: 192000 KHz
Jan 01 00:00:15 2 8 300 screen: invalid display id:
>>> begin display 1
Jan 01 00:00:15 5 8 300 screen: loading EGL display 1...
Jan 01 00:00:15 2 8 100 SGX - Starting SGX release driver (version: 1.9@2291151)
Jan 01 00:00:15 2 8 100 SGX - Power management turn ON
Jan 01 00:00:15 2 8 100 SGX - TKT26818_OPTIMIZATION_SUBSET enabled
Jan 01 00:00:15 2 8 100 SGX - SKIP_ISR_PULSE_WHEN_GPU_OFF enabled
Jan 01 00:00:15 5 8 300 screen: loading blit module pvr2d...
Jan 01 00:00:15 5 8 300 screen: loading composition module pvr2d...
Jan 01 00:00:15 5 8 300 screen: loading mtouch module devi...
Jan 01 00:00:15 5 9 200 devi[INFO]: Connected to TP on /dev/devi/touch0
Jan 01 00:00:15 5 9 100 libinputevents[INFO]: Attaching mtouch driver
Jan 01 00:00:15 5 9 100 libinputevents[INFO]: Opening mtouch device #0
Jan 01 00:00:15 5 8 300 screen: attached to mtouch0
So it doesn't look like there is any problem with the driver.
Can anyone suggest what could be going wrong?
Thanks in advance.
I am attaching the graphics.conf that I am using.
Regards,
AbhishekAbhishek Gupta2014-11-04T10:56:02Zpost112123: Re: QNX 6.6 touch screen setupqnx1 developer(deleted)http://community.qnx.com/sf/go/post1121232014-10-23T07:29:44Z2014-10-23T07:29:44ZNo, I'm still stuck on it.
In my case, touchscreen controller is not HID-compliant so I can't use "io-hid -dusb" instead of "io-hid -degalax".
I'm using ETP-4500UG-B touchscreen controller.
I've been asking to QNX support from two weeks ago but no luck yet.qnx1 developer(deleted)2014-10-23T07:29:44Zpost112098: Re: QNX 6.6 touch screen setupNikoli Lukashov(deleted)http://community.qnx.com/sf/go/post1120982014-10-22T08:04:59Z2014-10-22T08:04:59ZI solved my problem:
I didn`t use egalax driver, but used usb driver:
# io-usb -dehci -dohci -duhci -dxhci
# io-hid -dusb
# hidview
HIDD v1.00, v1.00 DDK
Device Address : 0
Vendor : 0x0eef (eGalax Inc.)
Product : 0x0001 (USB TouchController)
Version : r1.10
Usage : Pointer
# devi-hid touch
# screen
# calib-touch -recalibrate
graphics.conf:
begin khronos
begin egl display 1
egl-dlls = libEGL-mesa.so
glesv1-dlls = libglapi-mesa.so libGLESv1_CM-mesa.so
glesv2-dlls = libglapi-mesa.so libGLESv2-mesa.so
end egl display
begin wfd device 1
wfd-dlls = libwfdcfg-sample.so libWFDintel-drm.so
pipeline1-display = 1
# pipeline2-display = 2
pipeline10-display = 1
# pipeline11-display = 2
end wfd device
end khronos
begin winmgr
begin globals
stack-size = 2048 # in units of 1024 bytes
blit-config = gles2blt
end globals
begin display 1
video-mode = 1280 x 1024 @ 60
stack-size = 2048 # in units of 1024 bytes
end display
# begin display 2
# video-mode = 800 x 600 @ 60
# stack-size = 2048 # in units of 1024 bytes
# end display
begin mtouch
driver = devi
options = height=1024,width=1280
display = 1
end mtouch
end winmgr
scaling.conf:
# Scaling based on calibration data
1280x1024:mode=calib,disp_x=[102:922:922:102],disp_y=[60:60:540:540],mtouch_x=[172:1108:1108:172],mtouch_y=[110:110:658:658]
# Scaling based on physical dimensions
1280x1024:mode=dim,width_mm=154,height_mm=90,border_left_mm=5,border_right_mm=5,border_top_mm=5,border_bottom_mm=5
# Simple scaling to client resolution
1280x1024:mode=scale
# No scaling, report coordinates exactly as the driver hands them to the client
1280x1024:mode=direct
Good luck to everyone....Nikoli Lukashov(deleted)2014-10-22T08:04:59Zpost112097: Re: QNX 6.6 touch screen setupNikoli Lukashov(deleted)http://community.qnx.com/sf/go/post1120972014-10-22T06:06:30Z2014-10-22T06:06:30ZMay be uses egalax driver in section (as the documentation):
begin mtouch
driver = egalax
options = height=600,width=1024
display = 1
end mtouch
But then:
libs: load_object: attempt load of libmtouch-egalax.so
libs: dlopen: Library cannot be found
Where to get the library "libmtouch-egalax.so"?Nikoli Lukashov(deleted)2014-10-22T06:06:30Zpost112085: Re: QNX 6.6 - i965 - screen startup failedMarcelo Souza Ramos(deleted)http://community.qnx.com/sf/go/post1120852014-10-21T16:32:50Z2014-10-21T16:32:50ZFixed after a update provided by QNX Support Team.Marcelo Souza Ramos(deleted)2014-10-21T16:32:50Zpost112081: Re: QNX 6.6 touch screen setupJefferson Biernastki(deleted)http://community.qnx.com/sf/go/post1120812014-10-21T14:23:17Z2014-10-21T14:23:17ZHi,
did you have any progress? I am having the same problem.
RegardsJefferson Biernastki(deleted)2014-10-21T14:23:17Zpost112071: Re: Issue with QNX 6.6 drm_intel_hdJefferson Biernastki(deleted)http://community.qnx.com/sf/go/post1120712014-10-20T12:41:58Z2014-10-20T12:41:58ZDid you apply lastest patch?
http://www.qnx.com/developers/articles/rel_5948_25.html
Run qconfig on Windows prompt to check.
DRM now runs with drm-intel instead of drm_intel_hd.Jefferson Biernastki(deleted)2014-10-20T12:41:58Zpost112056: Issue with QNX 6.6 drm_intel_hdDinakar Babu(deleted)http://community.qnx.com/sf/go/post1120562014-10-16T07:02:39Z2014-10-16T07:02:39ZHi,
We have a target system with INTEL Graphics Chipset .
We were able to port QNX on to it and then tried running drm_intel_hd followed by Screen. But, on starting drm_intel_hd i am getting errors as Invalid Checksum and getting errors with Screen also. However, errors in screen is due to lack to drm_intel_hd being open for screen.
I am attaching you the errors , if any one could help me with solution, that would be great.
-Thank You.Dinakar Babu(deleted)2014-10-16T07:02:39Zpost111993: Re: Intel DRM I7 4770K screen issuesKevin Stallardhttp://community.qnx.com/sf/go/post1119932014-10-08T22:46:00Z2014-10-08T22:46:00ZAnd the other attachment....Kevin Stallard2014-10-08T22:46:00Zpost111992: Intel DRM I7 4770K screen issuesKevin Stallardhttp://community.qnx.com/sf/go/post1119922014-10-08T22:44:20Z2014-10-08T22:44:20ZCouple of questions:
1. How can I configure graphics.conf to have two displays mirror each other? Attached is my graphcis.conf file
2. Attached as well is output from slogger. I'm having some weirdness surrounding "potential gpu lockup" and "invlid max DP link"
Finally, when I am able to run gears on display 7, it runs really, really slow, about 0.995 frames per second.
Thanks for your help :)
KevinKevin Stallard2014-10-08T22:44:20Zpost111624: Re: QNX 6.6 touch screen setupqnx1 developer(deleted)http://community.qnx.com/sf/go/post1116242014-09-04T01:40:52Z2014-09-04T01:40:52ZIf I run devi-hid in command line, output is different.
# devi-hid -vvvvvvv touch
Looking up touch in module table
Calibration filename: /etc/system/config/calib.localhost
Resetting module touch
Resetting module abs
Error: No such file or directory - cannot open calibration file for absolute filter module(/etc/system/config/calib.localhost)
Did not find calib info for [639x479]. Attempting to use calculated transformation.
Calibration Matrix An: 0, Bn: 0, Cn: 0, Dn: 0, En: 0, Fn: 0, Divider: 0
If /etc/system/config/calib.localhost exist, just "Error:No such ..." message removed and no difference.qnx1 developer(deleted)2014-09-04T01:40:52Zpost111623: Re: QNX 6.6 touch screen setupqnx1 developer(deleted)http://community.qnx.com/sf/go/post1116232014-09-04T00:32:01Z2014-09-04T00:32:01ZAbout the error of calibration file missing,
if I put calibration file from qnx650 to /etc/system/config then the error message has removed but still not working.qnx1 developer(deleted)2014-09-04T00:32:01Zpost111622: Re: QNX 6.6 touch screen setupqnx1 developer(deleted)http://community.qnx.com/sf/go/post1116222014-09-04T00:20:51Z2014-09-04T00:20:51ZThanks for reply.
I've changed devi-hid command of rc.local to:
devi-hid -vvvvvvv touch
then sloginfo output after booting:
--------------------------------------------
# sloginfo
Time Sev Major Minor Args
Sep 04 00:53:51 2 19 1500 devb-ahci cam ver 100 sim 1.00A (Feb 22 2014 18:20:52)
Sep 04 00:53:51 2 5 0 libcam.so (Feb 22 2014 18:20:44) bver 6060109
Sep 04 00:53:51 2 19 1500 eide_identify_devices: AHCI (generic) vid 0x8086, did 0x1e03, class 0x10601, rev 0x4, busno 0x0, dfunc 0xfa, base 0xf7d36000, irq 0xf, xlat 0x0
Sep 04 00:53:51 2 19 1500 eide_display_identify: mdl SAMSUNG MZMPC064HBDR-00000 sn S0VRNYAC200381 fw CXM1201Q port 2, max udma 6, cur udma 5, max mdma 2, cur mdma 0, pio 4, mblk 16
Sep 04 00:53:51 2 5 100 cam-disk.so (Feb 22 2014 18:20:50)
Sep 04 00:53:51 5 3 1000 fs-qnx6: trim was requested, and is usable
Sep 04 00:53:51 5 6 0 random: Selecting timer as entropy source
Sep 04 00:53:51 5 6 0 random: All ready, registering path names
Sep 04 00:53:51 5 6 0 random: Daemonizing the process
Sep 04 00:53:51 2 9 0 Error: No such file or directory - cannot open calibration file for absolute filter module(/etc/system/config/calib.localhost)
Sep 04 00:53:51 5 14 0 tcpip starting
Sep 04 00:53:51 3 14 0 Using pseudo random generator. See "random" option
Sep 04 00:53:51 5 14 0 initializing IPsec... done
Sep 04 00:53:51 5 14 0 IPsec: Initialized Security Association Processing.
Sep 04 00:53:51 5 14 0 wm0
Sep 04 00:53:51 5 14 0 wm1
Sep 04 00:53:51 5 14 0 wm2
Sep 04 00:53:51 5 14 0 wm3
Sep 04 00:53:51 5 14 0 wm4
Sep 04 00:53:52 5 14 0 wm5
Sep 04 00:53:52 5 8 300 screen: starting up...
Sep 04 00:53:52 5 8 300 screen: connected to powman...
Sep 04 00:53:52 1 7 0 driver missing hw device index callback, ducking will not work properly between devices
Sep 04 00:53:52 1 7 0 driver missing hw device index callback, ducking will not work properly between devices
Sep 04 00:53:52 1 7 0 driver missing hw device index callback, ducking will not work properly between devices
Sep 04 00:53:52 1 7 0 driver missing hw device index callback, ducking will not work properly between devices
Sep 04 00:53:52 1 7 0 driver missing hw device index callback, ducking will not work properly between devices
Sep 04 00:53:52 1 7 0 driver missing hw device index callback, ducking will not work properly between devices
Sep 04 00:53:52 1 7 0 driver missing hw device index callback, ducking will not work properly between devices
Sep 04 00:53:52 3 8 915 [ihold:265]"warning"
Sep 04 00:53:52 5 8 300 screen: loading EGL display 1...
Sep 04 00:53:52 5 8 300 screen: loading blit module gles2blt...
Sep 04 00:53:53 3 12 0 devh-egalax.so - Failed to send check active (loopback) command to the controller: 5
Sep 04 00:53:53 5 8 300 screen: display_mode_set: selecting preferred mode 5 for display 1
Sep 04 00:53:53 5 8 300 screen: loading composition module gles2blt...
Sep 04 00:53:53 5 8 300 screen: win_cursor_init: No cursor specific in graphics.conf
Sep 04 00:53:53 5 8 300 screen: win_cursor_shape_init: using default cursor (9x16)
Sep 04 00:53:53 5 8 300 screen: loading mtouch module devi...
Sep 04 00:53:53 5 9 200 devi[INFO]: Connected to TP on /dev/devi/touch0
Sep 04 00:53:53 5 9 100 libinputevents[INFO]: Attaching mtouch driver
Sep 04 00:53:53 5 9 100 libinputevents[INFO]: Changing mtouch coordinate mapping
Sep 04 00:53:53 5 9 100 libinputevents[INFO]: Opening mtouch device #0
Sep 04 00:53:53 5 8 300 screen: attached to mtouch0
Sep 04 00:53:53 5 8 300 screen: connected to HID v1.0 DDK 1.0
Sep 04 00:53:53 5 8 300 screen: HID device inserted:
Sep 04 00:53:53 5 8 300 screen: Device address: 0
Sep 04 00:53:53 5 8 300 screen: Vendor ID: 0x0eef (Unknown manufacturer)
Sep 04 00:53:53 5 8 300 screen: Product ID: 0x0001 (Unknown product)
Sep 04 00:53:53 5 8 300 screen: Version: r1.10
Sep 04 00:53:53 1 12 0 devh-egalax.so - Controller set to Calibrated point
Sep 04 00:53:53 5 8 300 screen: hid_insertion: attaching to report usage_page=0x1 usage=0x1
Sep 04 00:53:53 5 8 300 screen: HID device inserted:
Sep 04 00:53:53 5 8 300 screen: Device address: 1
Sep 04 00:53:53 5 8 300 screen: Vendor ID: 0x045e (Microsoft)
Sep 04 00:53:53 5 8 300 screen: Product ID: 0x0752 (Wired Keyboard 400)
Sep 04 00:53:53 5 8 300 screen: Version: r1.10
Sep 04 00:53:53 2 8 300 screen: Unable to load keyboard mapping file en_US_101 [2]
Sep 04 00:53:53 2 8 300 screen: win_input_create: failed to allocate a keymap for an new input device
Sep 04 00:53:53 5 8 300 screen: hid_insertion: attaching to report usage_page=0x1 usage=0x6
--------------------------------------------
I can guess below message tells me it's not communicating.
Sep 04 00:53:53 3 12 0 devh-egalax.so - Failed to send check active (loopback) command to the controller: 5
In sloginfo, touch pad recognized as unknown manufacturer and product but output of hidview:
# hidview
HIDD v1.00, v1.00 DDK
Device Address : 0
Vendor : 0x0eef (eGalax Inc.)
Product : 0x0001
Version : r1.10
Usage : Pointer
Device Address : 1
Vendor : 0x045e (Microsoft)
Product : 0x0752 (Wired Keyboard 400)
Version : r1.10
Usage : Keyboard
I don't know what to do next. Any suggestion?qnx1 developer(deleted)2014-09-04T00:20:51Zpost111618: Re: QNX 6.6 - i965 - screen startup failedOBC ALL(deleted)http://community.qnx.com/sf/go/post1116182014-09-03T15:31:38Z2014-09-03T15:31:38ZBelow sloginfo.
Runing LD_DEBUG=libs i checked i965 driver being loaded
# show_vesa
VESA Info Block
VESA Signature : VESA
VESA Version : 0300
OEM String Ptr : 0080:0100
OEM String : Intel(R)Valleyview Graphics Chipset Accelerated VGA BIOS
# drm-probe-displays
# drm-probe-displays
count_displays : 5
count_pipelines: 2
display 1: embedded displayport, connected
Mode: "1024x768" 1024x768 60
Mode: "1024x768" 1024x768 50
display 2: VGA, connected
Mode: "1024x768" 1024x768 60
Mode: "800x600" 800x600 60
Mode: "800x600" 800x600 56
Mode: "848x480" 848x480 60
Mode: "640x480" 640x480 60
display 3: HDMI-A, disconnected
display 4: HDMI-A, disconnected
display 5: displayport, disconnected
pipeline 1
pipeline 2
# sloginfo:
Sep 03 09:59:57 5 8 300 screen: starting up...
Sep 03 09:59:57 5 8 300 screen: connected to powman...
Sep 03 09:59:57 3 8 915 [ihold:265]"warning"
Sep 03 09:59:57 2 8 200 drm_intel_bufmgr_gem_init failed
Sep 03 09:59:57 2 8 300 screen: win_enumerate_displays: could not create display device 1
Sep 03 09:59:57 2 8 300 screen: invalid display id:
>>> begin display 1
Sep 03 09:59:57 2 8 300 screen: invalid display id:
>>> begin display 2
Sep 03 09:59:57 5 8 300 screen: loading EGL display 1...
Sep 03 09:59:57 5 8 300 screen: loading blit module gles2blt...
Sep 03 09:59:57 3 8 100 egl: DRI2: failed to create dri screen
Sep 03 09:59:57 2 8 300 screen-gles2blt: eglInitialize: EGL is not initialized, or could not be initialized, for the specified display
Sep 03 09:59:57 2 8 300 screen: win_blit_module_init: could not create a blitting contextOBC ALL(deleted)2014-09-03T15:31:38Zpost111617: Re: QNX 6.6 - i965 - screen startup failedLeo Xuhttp://community.qnx.com/sf/go/post1116172014-09-03T15:21:56Z2014-09-03T15:21:56ZHi, are you running drm & screen inside vmware?
from the error message, it looks like the function drm_intel_bufmgr_gem_init failed, normally it should work fine, it will fail if the graphics device id is not supported.
so can you run sloginfo and post the output ? also it will be helpful to run command pci and post the output.
ThanksLeo Xu2014-09-03T15:21:56Zpost111616: Re: QNX 6.6 touch screen setupErick Muishttp://community.qnx.com/sf/go/post1116162014-09-03T11:48:34Z2014-09-03T11:48:34ZCan you post the output from devi-hid in verbose mode after you touch the screen:
Devi-hid -vvvvvvv touch
Leave out the kid module as its already handled by screen.Erick Muis2014-09-03T11:48:34Zpost111614: QNX 6.6 - i965 - screen startup failedJefferson Biernastki(deleted)http://community.qnx.com/sf/go/post1116142014-09-03T11:19:32Z2014-09-03T11:19:32ZHi,
while i was working with VMWare my graphics configuration were ok, but after boot QNX660 in a x86 PC with Intel Pineview video board my screen don't run anymore.
Same error happens in Intel Valleyview video board.
There is any configuration or initialization that i have to do before start drm-intel?
# drm-intel
# screen
[intel_init_bufmgr:946] Error initializing buffer manager.
libEGL warning: DRI2: failed to create dri screen
Screen startup failed
# graphics.conf
begin khronos
begin egl display 1
egl-dlls = libEGL-mesa.so
glesv1-dlls = libglapi-mesa.so libGLESv1_CM-mesa.so
glesv2-dlls = libglapi-mesa.so libGLESv2-mesa.so
end egl display
begin wfd device 1
wfd-dlls = libwfdcfg-sample.so libWFDintel-drm.so
pipeline1-display = 1
pipeline2-display = 2
end wfd device
end khronos
begin winmgr
begin globals
blit-config = gles2blt
input = keyboard
stack-size = 2048
end globals
begin display 1
video-mode = 1024 x 768 @ 60
stack-size = 2048
end display
begin display 2
video-mode = 1024 x 768 @ 60
stack-size = 2048
end display
begin class framebuffer
display = 1
pipeline = 1
format = rgba8888
usage = gles2blt
end class
begin class framebuffer
display = 2
pipeline = 2
format = rgba8888
usage = gles2blt
end class
end winmgrJefferson Biernastki(deleted)2014-09-03T11:19:32Zpost111612: QNX 6.6 touch screen setupqnx1 developer(deleted)http://community.qnx.com/sf/go/post1116122014-09-03T07:53:00Z2014-09-03T07:53:00ZHello.
I'm trying to use touch screen at QNX 6.6.
I've searched and followed answers and then I'm seeing calib-touch screen now.
But I can't move the cursor or click.
After launching below programs in rc.local, calib-touch program could be run.
But touch doesn't work and cannot calibrate.
With QNX 6.5 touch screen works fine.
Does anyone have any idea what's wrong?
Thanks.
Launch at rc.local:
io-usb -duhci -dohci -dehci
io-hid -dusb -degalax
devi-hid kbd touch
drm-intel &
screen &
Here is hidview result:
# hidview
Device Address : 0
Vendor : 0x0eef (eGalax Inc.)
Product : 0x0001
Version : r1.10
Usage : Pointer
Device Address : 1
Vendor : 0x045e (Microsoft)
Product : 0x0752 (Wired Keyboard 400)
Version : r1.10
Usage : Keyboard
And this is my env variables:
# env
_=/usr/bin/env
SSH_CONNECTION=192.168.100.118 64713 192.168.100.177 22
PATH=/sbin:/usr/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/bin:/opt/sbin:/bin:/sbin:/usr/bin:/usr/sbin
SHELL=/bin/sh
TMPDIR=/tmp
HOSTNAME=localhost
USER=root
PROCESSOR=x86
MAIL=/var/spool/mail/root
LD_LIBRARY_PATH=/prob/boot:/lib:/usr/lib:/lib/dll:/opt/qt5/lib:/opt/qnx6/x86/lib:/opt/qnx6/x86/usr/lib:/opt/qnx6/x86/lib
/dll:/usr/lib/graphics/intel-drm:/opt/qt5/plugins/platforms
QT_DEBUG_PLUGINS=1
HOME=/root
SSH_CLIENT=192.168.100.118 64713 22
QNX_HOST=/
QT_QPA_PLATFORM=qnx:no-fullscreen
QNX_TARGET=/
GRAPHICS_ROOT=/usr/lib/graphics/intel-drm
QQNX_PHYSICAL_SCREEN_SIZE=200,117
TERM=xterm
QML_IMPORT_PATH=/opt/qt5/imports
QML2_IMPORT_PATH=/opt/qt5/qml
QT_PLUGIN_PATH=/opt/qt5/plugins
FONTCONFIG_FILE=/etc/fontconfig/local.conf
QNX_CONFIGURATION=/etc/qnx
SSH_TTY=/dev/ttyp0
SYSNAME=nto
LOGNAME=root
This is my /usr/lib/graphics/intel-drm/graphics.conf:
begin khronos
begin egl display 1
egl-dlls = libEGL-mesa.so
glesv1-dlls = libglapi-mesa.so libGLESv1_CM-mesa.so
glesv2-dlls = libglapi-mesa.so libGLESv2-mesa.so
end egl display
begin wfd device 1
wfd-dlls = libwfdcfg-sample.so libWFDintel-drm.so
# Run "drm-probe-displays" to list the available displays and pipelines,
# and "use $GRAPHICS_ROOT/libWFDintel-drm.so" for more information on
# these driver-specific settings.
# Pipeline IDs 1 to 9 are used for DRM CRTCs. One should be assigned
# to each display that will be used.
pipeline1-display = 1
# Pipeline IDs 10 and above are used for DRM planes. A plane can only
# be used on a display with an active CRTC.
pipeline10-display = 1
end wfd device
end khronos
begin winmgr
begin globals
input = keyboard mouse
# Adjust the stack size of Screen's resmgr threads. The default size
# is insufficient for blitters/compositors using Mesa (e.g., gles2blt).
blit-config = gles2blt
end globals
begin display 1
video-mode = 1024 x 600 @ 75
# Adjust the stack size of Screen's composition thread; required when the
# display's framebuffer uses Mesa (e.g. "usage = gles2"), as noted above.
cursor = on
stack-size = 4096 # in units of 1024 bytes
end display
begin class framebuffer
# Be sure to configure the "pipeline%d-display" options (above) so the
# specified display and pipeline are bindable. Normally a framebuffer
# will use a CRTC pipeline.
display = 1
pipeline = 1
format = rgba8888
usage = gles2blt
end class
begin mtouch
driver = devi
options = height=600,width=1024
display = 1
end mtouch
end winmgrqnx1 developer(deleted)2014-09-03T07:53:00Zpost111553: RE: RE: Address of frame bufferJoel Pilon(deleted)http://community.qnx.com/sf/go/post1115532014-08-26T14:34:28Z2014-08-26T14:34:28ZI'd suggest referring to the documentation for the product you're using to get more acquainted.
http://www.qnx.com/developers/docs/
If you then have more specific questions, we could then probably more helpful.
-Joel
________________________________________
From: Radu Stancu [community-noreply@qnx.com]
Sent: Tuesday, August 26, 2014 10:16 AM
To: advanced-graphics
Subject: Re: RE: Address of frame buffer
I'm working on an embedded system for automotive that has omap 5 and qnx on it. My application is written in Qt 5.2 (I render some objects, like cubes and such on 2 screens). The main thing I need to do is somehow capture a frame on one screen and then proceed as I mentioned in the original post. The framebuffer approach was the first that came to mind, as I need something raw for dce encode. I don't really need a solution in Qt, a separate program written in C would work as well, . But I'm kinda lost, because I'm not that familiar with qnx.
> Perhaps you could mention which framework you're using? Derek's likely
> assuming GF because you're posting in the advance graphics forum, but you
> don't actually provide any hints of the framework.
>
> -Joel
>
> ________________________________________
> From: Derek Leach [community-noreply@qnx.com]
> Sent: Tuesday, August 26, 2014 8:29 AM
> To: 'advanced-graphics@community.qnx.com'
> Subject: RE: Address of frame buffer
>
> http://www.qnx.com/developers/docs/6.4.0/gf/dev_guide/api/gf_surface_get_info.
> html
>
> vaddr in the info structure is the mapped in framebuffer of the provided
> surface.
>
> -----Original Message-----
> From: Radu Stancu [mailto:community-noreply@qnx.com]
> Sent: August-26-14 4:49 AM
> To: advanced-graphics
> Subject: Address of frame buffer
>
> Hello,
>
> Is there any way to find the address and size of the system frame buffer? I
> have an application that must save the current content of the screen, use
> hardware encoding to turn it to jpeg and send it via ethernet to another
> device where it is decoded and shown on screen.
>
> From my research, in order to do the above, I would need somehow to access the
> frame buffer, copy it into a local buffer, apply some DCE functions and
> obtain the jpeg in a file I can then send. But I haven't found any reference
> to the actual address where the buffer is stored (if I know this, I can easily
> use memcpy to access it).
>
> As a final note, I don't want to make a screen shot (this was already done in
> a previous version of my app, one without hardware encoding), but actually
> work with the raw frame buffer. Actual code or functions would be of use, I'm
> trying not to use other apps that may slow my device down (I'm working under
> strict cpu limitations).
>
> Any info would be appreciated.
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post111545
> To cancel your subscription to this discussion, please e-mail advanced-
> graphics-unsubscribe@community.qnx.com
>
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post111547
> To cancel your subscription to this discussion, please e-mail advanced-
> graphics-unsubscribe@community.qnx.com
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post111551
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comJoel Pilon(deleted)2014-08-26T14:34:28Zpost111552: RE: RE: Address of frame bufferDerek Leachhttp://community.qnx.com/sf/go/post1115522014-08-26T14:32:55Z2014-08-26T14:32:55ZPosting to open Qt forum might provide a quick turnaround. I would think they would have a Qt way of doing this.
-----Original Message-----
From: Radu Stancu [mailto:community-noreply@qnx.com]
Sent: August-26-14 10:17 AM
To: advanced-graphics
Subject: Re: RE: Address of frame buffer
I'm working on an embedded system for automotive that has omap 5 and qnx on it. My application is written in Qt 5.2 (I render some objects, like cubes and such on 2 screens). The main thing I need to do is somehow capture a frame on one screen and then proceed as I mentioned in the original post. The framebuffer approach was the first that came to mind, as I need something raw for dce encode. I don't really need a solution in Qt, a separate program written in C would work as well, . But I'm kinda lost, because I'm not that familiar with qnx.
> Perhaps you could mention which framework you're using? Derek's likely
> assuming GF because you're posting in the advance graphics forum, but
> you don't actually provide any hints of the framework.
>
> -Joel
>
> ________________________________________
> From: Derek Leach [community-noreply@qnx.com]
> Sent: Tuesday, August 26, 2014 8:29 AM
> To: 'advanced-graphics@community.qnx.com'
> Subject: RE: Address of frame buffer
>
> http://www.qnx.com/developers/docs/6.4.0/gf/dev_guide/api/gf_surface_get_info.
> html
>
> vaddr in the info structure is the mapped in framebuffer of the
> provided surface.
>
> -----Original Message-----
> From: Radu Stancu [mailto:community-noreply@qnx.com]
> Sent: August-26-14 4:49 AM
> To: advanced-graphics
> Subject: Address of frame buffer
>
> Hello,
>
> Is there any way to find the address and size of the system frame
> buffer? I have an application that must save the current content of
> the screen, use hardware encoding to turn it to jpeg and send it via
> ethernet to another device where it is decoded and shown on screen.
>
> From my research, in order to do the above, I would need somehow to
> access the frame buffer, copy it into a local buffer, apply some DCE
> functions and obtain the jpeg in a file I can then send. But I haven't
> found any reference to the actual address where the buffer is stored
> (if I know this, I can easily use memcpy to access it).
>
> As a final note, I don't want to make a screen shot (this was already
> done in a previous version of my app, one without hardware encoding),
> but actually work with the raw frame buffer. Actual code or functions
> would be of use, I'm trying not to use other apps that may slow my
> device down (I'm working under strict cpu limitations).
>
> Any info would be appreciated.
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post111545
> To cancel your subscription to this discussion, please e-mail
> advanced- graphics-unsubscribe@community.qnx.com
>
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post111547
> To cancel your subscription to this discussion, please e-mail
> advanced- graphics-unsubscribe@community.qnx.com
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post111551
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2014-08-26T14:32:55Zpost111551: Re: RE: Address of frame bufferRadu Stancu(deleted)http://community.qnx.com/sf/go/post1115512014-08-26T14:16:31Z2014-08-26T14:16:31ZI'm working on an embedded system for automotive that has omap 5 and qnx on it. My application is written in Qt 5.2 (I render some objects, like cubes and such on 2 screens). The main thing I need to do is somehow capture a frame on one screen and then proceed as I mentioned in the original post. The framebuffer approach was the first that came to mind, as I need something raw for dce encode. I don't really need a solution in Qt, a separate program written in C would work as well, . But I'm kinda lost, because I'm not that familiar with qnx.
> Perhaps you could mention which framework you're using? Derek's likely
> assuming GF because you're posting in the advance graphics forum, but you
> don't actually provide any hints of the framework.
>
> -Joel
>
> ________________________________________
> From: Derek Leach [community-noreply@qnx.com]
> Sent: Tuesday, August 26, 2014 8:29 AM
> To: 'advanced-graphics@community.qnx.com'
> Subject: RE: Address of frame buffer
>
> http://www.qnx.com/developers/docs/6.4.0/gf/dev_guide/api/gf_surface_get_info.
> html
>
> vaddr in the info structure is the mapped in framebuffer of the provided
> surface.
>
> -----Original Message-----
> From: Radu Stancu [mailto:community-noreply@qnx.com]
> Sent: August-26-14 4:49 AM
> To: advanced-graphics
> Subject: Address of frame buffer
>
> Hello,
>
> Is there any way to find the address and size of the system frame buffer? I
> have an application that must save the current content of the screen, use
> hardware encoding to turn it to jpeg and send it via ethernet to another
> device where it is decoded and shown on screen.
>
> From my research, in order to do the above, I would need somehow to access the
> frame buffer, copy it into a local buffer, apply some DCE functions and
> obtain the jpeg in a file I can then send. But I haven't found any reference
> to the actual address where the buffer is stored (if I know this, I can easily
> use memcpy to access it).
>
> As a final note, I don't want to make a screen shot (this was already done in
> a previous version of my app, one without hardware encoding), but actually
> work with the raw frame buffer. Actual code or functions would be of use, I'm
> trying not to use other apps that may slow my device down (I'm working under
> strict cpu limitations).
>
> Any info would be appreciated.
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post111545
> To cancel your subscription to this discussion, please e-mail advanced-
> graphics-unsubscribe@community.qnx.com
>
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post111547
> To cancel your subscription to this discussion, please e-mail advanced-
> graphics-unsubscribe@community.qnx.comRadu Stancu(deleted)2014-08-26T14:16:31Zpost111550: RE: Address of frame bufferJoel Pilon(deleted)http://community.qnx.com/sf/go/post1115502014-08-26T14:02:08Z2014-08-26T14:02:08ZPerhaps you could mention which framework you're using? Derek's likely assuming GF because you're posting in the advance graphics forum, but you don't actually provide any hints of the framework.
-Joel
________________________________________
From: Derek Leach [community-noreply@qnx.com]
Sent: Tuesday, August 26, 2014 8:29 AM
To: 'advanced-graphics@community.qnx.com'
Subject: RE: Address of frame buffer
http://www.qnx.com/developers/docs/6.4.0/gf/dev_guide/api/gf_surface_get_info.html
vaddr in the info structure is the mapped in framebuffer of the provided surface.
-----Original Message-----
From: Radu Stancu [mailto:community-noreply@qnx.com]
Sent: August-26-14 4:49 AM
To: advanced-graphics
Subject: Address of frame buffer
Hello,
Is there any way to find the address and size of the system frame buffer? I have an application that must save the current content of the screen, use hardware encoding to turn it to jpeg and send it via ethernet to another device where it is decoded and shown on screen.
From my research, in order to do the above, I would need somehow to access the frame buffer, copy it into a local buffer, apply some DCE functions and obtain the jpeg in a file I can then send. But I haven't found any reference to the actual address where the buffer is stored (if I know this, I can easily use memcpy to access it).
As a final note, I don't want to make a screen shot (this was already done in a previous version of my app, one without hardware encoding), but actually work with the raw frame buffer. Actual code or functions would be of use, I'm trying not to use other apps that may slow my device down (I'm working under strict cpu limitations).
Any info would be appreciated.
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post111545
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.com
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post111547
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comJoel Pilon(deleted)2014-08-26T14:02:08Zpost111547: RE: Address of frame bufferDerek Leachhttp://community.qnx.com/sf/go/post1115472014-08-26T12:29:47Z2014-08-26T12:29:47Zhttp://www.qnx.com/developers/docs/6.4.0/gf/dev_guide/api/gf_surface_get_info.html
vaddr in the info structure is the mapped in framebuffer of the provided surface.
-----Original Message-----
From: Radu Stancu [mailto:community-noreply@qnx.com]
Sent: August-26-14 4:49 AM
To: advanced-graphics
Subject: Address of frame buffer
Hello,
Is there any way to find the address and size of the system frame buffer? I have an application that must save the current content of the screen, use hardware encoding to turn it to jpeg and send it via ethernet to another device where it is decoded and shown on screen.
From my research, in order to do the above, I would need somehow to access the frame buffer, copy it into a local buffer, apply some DCE functions and obtain the jpeg in a file I can then send. But I haven't found any reference to the actual address where the buffer is stored (if I know this, I can easily use memcpy to access it).
As a final note, I don't want to make a screen shot (this was already done in a previous version of my app, one without hardware encoding), but actually work with the raw frame buffer. Actual code or functions would be of use, I'm trying not to use other apps that may slow my device down (I'm working under strict cpu limitations).
Any info would be appreciated.
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post111545
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2014-08-26T12:29:47Zpost111545: Address of frame bufferRadu Stancu(deleted)http://community.qnx.com/sf/go/post1115452014-08-26T08:48:59Z2014-08-26T08:48:59ZHello,
Is there any way to find the address and size of the system frame buffer? I have an application that must save the current content of the screen, use hardware encoding to turn it to jpeg and send it via ethernet to another device where it is decoded and shown on screen.
From my research, in order to do the above, I would need somehow to access the frame buffer, copy it into a local buffer, apply some DCE functions and obtain the jpeg in a file I can then send. But I haven't found any reference to the actual address where the buffer is stored (if I know this, I can easily use memcpy to access it).
As a final note, I don't want to make a screen shot (this was already done in a previous version of my app, one without hardware encoding), but actually work with the raw frame buffer. Actual code or functions would be of use, I'm trying not to use other apps that may slow my device down (I'm working under strict cpu limitations).
Any info would be appreciated.Radu Stancu(deleted)2014-08-26T08:48:59Zpost110576: Re: How run Screen ApplicationBartek Phttp://community.qnx.com/sf/go/post1105762014-06-04T08:26:14Z2014-06-04T08:26:14ZThanks! It works!Bartek P2014-06-04T08:26:14Zpost110574: Re: How run Screen ApplicationOleg Bolshakovhttp://community.qnx.com/sf/go/post1105742014-06-04T08:12:30Z2014-06-04T08:12:30ZHi,
You can use shell script like the following one:
---
#!/bin/sh
export GRAPHICS_ROOT=/usr/lib/graphics/vmware
screen
gles1-gears
---
Respectfully,
Oleg
04 июня 2014 г., в 10:46:51, Bartek P <community-noreply@qnx.com> написал:
> Hi,
>
> OK, I add this variable and screen running properly. But, how I can starting example app in screen?
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post110572
> To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comOleg Bolshakov2014-06-04T08:12:30Zpost110572: Re: How run Screen ApplicationBartek Phttp://community.qnx.com/sf/go/post1105722014-06-04T06:46:51Z2014-06-04T06:46:51ZHi,
OK, I add this variable and screen running properly. But, how I can starting example app in screen?Bartek P2014-06-04T06:46:51Zpost110566: Re: How run Screen ApplicationOleg Bolshakovhttp://community.qnx.com/sf/go/post1105662014-06-03T17:30:08Z2014-06-03T17:30:08ZHi Bartek,
Try to declare environment variable GRAPHICS_ROOT before launch screen server:
export GRAPHICS_ROOT=/usr/lib/graphics/vmware
Respectfully,
Oleg
03 июня 2014 г., в 17:25:14, Bartek P <community-noreply@qnx.com> написал:
> Hello,
>
> How can I run application screen application in QNX 6.6?
> I want to start example "display_image" from "/usr/bin", and when start this app i have a massage:
> "screen_context_create: No such file or directory".
> What is command "screen" in QNX? When I call this command I receive "Memory fault"
>
> My host target is vmware.
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post110563
> To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comOleg Bolshakov2014-06-03T17:30:08Zpost110563: How run Screen ApplicationBartek Phttp://community.qnx.com/sf/go/post1105632014-06-03T13:25:14Z2014-06-03T13:25:14ZHello,
How can I run application screen application in QNX 6.6?
I want to start example "display_image" from "/usr/bin", and when start this app i have a massage:
"screen_context_create: No such file or directory".
What is command "screen" in QNX? When I call this command I receive "Memory fault"
My host target is vmware.Bartek P2014-06-03T13:25:14Zpost110149: load and display an image using the 'libimg' library and the "QNX Screen" API.Yuanhang Zheng(deleted)http://community.qnx.com/sf/go/post1101492014-05-05T17:07:56Z2014-05-05T17:07:56ZHi,
I am a beginner in leaning QNX. I just have an assignment to load and display an image using the image library "libimg" and the "QNX Screen" API.
I created my code based on the sample code given in http://support7.qnx.com/download/downlo ... _Guide.pdf, also the sample code given in the post https://github.com/blackberry/NDK-Sampl ... ure/main.c. My code is below (omit all print code for debugging):
static img_t img;
screen_context_t screen_context;
screen_window_t screen_window;
int main(int argc, char * const argv[]) {
screen_create_context(&screen_context, SCREEN_APPLICATION_CONTEXT);
screen_create_window(&screen_window, screen_context);
int count = 0;
screen_get_context_property_iv(screen_context,SCREEN_PROPERTY_DISPLAY_COUNT, &count);
screen_display_t *screen_disps = calloc(count, sizeof(screen_display_t));
screen_get_context_property_pv(screen_context, SCREEN_PROPERTY_DISPLAYS, (void **) screen_disps);
screen_display_t screen_disp = screen_disps[0];
free(screen_disps);
int vis = 1;
int dims[2] = { 512, 512 };
int rect[4] = { 0, 0, 1, 1 };
screen_set_window_property_iv(screen_window, SCREEN_PROPERTY_VISIBLE, &vis);
screen_set_window_property_iv(screen_window, SCREEN_PROPERTY_BUFFER_SIZE,rect + 2);
rev = screen_set_window_property_iv(screen_window,SCREEN_PROPERTY_SOURCE_SIZE, dims);
screen_buffer_t screen_buf;
screen_create_window_buffers(screen_window, 1);
screen_get_window_property_pv(screen_window, SCREEN_PROPERTY_RENDER_BUFFERS, (void **)&screen_buf);
screen_get_buffer_property_pv(screen_buf, SCREEN_PROPERTY_POINTER, (void **)&img.access.direct.data);
screen_get_buffer_property_iv(screen_buf, SCREEN_PROPERTY_STRIDE, (int *)&img.access.direct.stride);
img.flags |= IMG_DIRECT;
loadImg();
screen_post_window(screen_window, screen_buf, 1, rect, 0);
}
static void loadImg(void) {
img_lib_t ilib = NULL;
int rc1 = 0;
img_lib_attach(&ilib);
img.w = 512;
img.flags |= IMG_W;
img.h = 512;
img.flags |= IMG_H;
rc1 == img_load_file(ilib,filename , NULL, &img);
img_lib_detach(ilib);
}
The debug info shows that loading image is successful, however what I can see is a 512*512 white image on my screen. I don't know what is the problem, hope I can get some help here.
Thank you very much.
LilaYuanhang Zheng(deleted)2014-05-05T17:07:56Zpost107536: Re: FlashLite 4 / Actionscript 3Edward Leehttp://community.qnx.com/sf/go/post1075362013-12-13T14:59:00Z2013-12-13T14:59:00ZThe information on that link is incorrect, and we have already asked our IT department to correct it.
FlashLite4 / AS3 is not supported.Edward Lee2013-12-13T14:59:00Zpost107335: Re: FlashLite 4 / Actionscript 3kim dongwan(deleted)http://community.qnx.com/sf/go/post1073352013-12-10T09:38:20Z2013-12-10T09:38:20Z> I was under the impression that QNX 6.5 HMI Technology provided the ability to
> execute FlashLite 4.
>
> I believe the following link advertises this: http://www.qnx.com/products/hmi/
> hmi.html
>
> I have developed some entertainment applications in AS2 that run in the 6.4
> environment and I'm considering developing in AS3 for 6.5.
>
> When can I expect 6.5 to support Flash AS3 based applications? Will support be
> released as a patch to 6.5 or will it be rolled out in a future version of
> QNX?
Now, Is that Release?
I can't find AS3 Information, and FlashLite4 also.
Answer please..kim dongwan(deleted)2013-12-10T09:38:20Zpost106310: Re: Image searching within another imageMate Szarvashttp://community.qnx.com/sf/go/post1063102013-10-28T13:49:45Z2013-10-28T13:49:45ZSorry but I cannot. Not familiar with the NDK and I'd suggest you ask for BlackBerry specific information on the BlackBerry forums.
You will have to do your homework but I know that most people's gut reaction when faced with similar problems is to say "OpenCV!" I do not know if it has something that solves your particular problem out of the box.
There appears to be an "Officially sanctioned port of OpenCV to the Blackberry/QNX platform" at the following location: https://github.com/blackberry/OpenCV/
If you are after a bit by bit perfect match and don't care about the CPU use then it should be fastest to check how to access the frame via the image library and write your own matcher with for(x0 on big image) for(y0 on big image) for(x on small image) for(y on small image).
If you need approximate matching, need robustness for scale/rotation/other transformations or just need more efficiency then do your research on existing libraries.
--
Mate
On Oct 28, 2013, at 10:23 PM, Dinyo Haygarov <community-noreply@qnx.com<mailto:community-noreply@qnx.com>>
wrote:
Can you point me to an existing image recognition library in the NDK which I can use?
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post106308
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comMate Szarvas2013-10-28T13:49:45Zpost106308: Re: Image searching within another imageDinyo Haygarov(deleted)http://community.qnx.com/sf/go/post1063082013-10-28T13:23:58Z2013-10-28T13:23:58ZCan you point me to an existing image recognition library in the NDK which I can use?Dinyo Haygarov(deleted)2013-10-28T13:23:58Zpost106307: Re: Image searching within another imageMate Szarvashttp://community.qnx.com/sf/go/post1063072013-10-28T12:04:33Z2013-10-28T12:04:33ZIt definitely is possible but QNX does not provide any libraries for that.
Depending on countless factors you may either read in both images using existing API-s and do the search yourself along the lines of a 2D strstr or rely on an image recognition library.
If you go with the roll your own solution approach but you hit performance issues then you can subsample both images multiple times (using a factor of 2 can be implemented most efficiently) resulting in an image pyramid and do the search at higher resolutions only in areas that gave a hit in lower resolutions.
--
Mate
On Oct 28, 2013, at 8:23 PM, Dinyo Haygarov <community-noreply@qnx.com>
wrote:
> is it possible to search for a certain image within another bigger image and retrieve it's coordinates within the bigger image?
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post106298
> To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comMate Szarvas2013-10-28T12:04:33Zpost106298: Image searching within another imageDinyo Haygarov(deleted)http://community.qnx.com/sf/go/post1062982013-10-28T11:23:58Z2013-10-28T11:23:58Zis it possible to search for a certain image within another bigger image and retrieve it's coordinates within the bigger image?Dinyo Haygarov(deleted)2013-10-28T11:23:58Zpost106140: RE: How can I use opencv under QNX?Derek Leachhttp://community.qnx.com/sf/go/post1061402013-10-22T13:56:52Z2013-10-22T13:56:52ZOpenCV has not been ported to QNX. You could check out the source to OpenCV and attempt to port it yourself.
-----Original Message-----
From: robort smith [mailto:community-noreply@qnx.com]
Sent: October-22-13 6:28 AM
To: advanced-graphics
Subject: How can I use opencv under QNX?
How can I use opencv under QNX?
Now I am trying to use opencv under QNX to trace some objects. While opencv does't support QNX . Is there any thing I can do for this?
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post106134
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2013-10-22T13:56:52Zpost106134: How can I use opencv under QNX?robort smithhttp://community.qnx.com/sf/go/post1061342013-10-22T10:27:43Z2013-10-22T10:27:43ZHow can I use opencv under QNX?
Now I am trying to use opencv under QNX to trace some objects. While opencv does't support QNX . Is there any thing I
can do for this?robort smith2013-10-22T10:27:43Zpost105268: How to deal with MJPEG foramt video?robort smithhttp://community.qnx.com/sf/go/post1052682013-09-20T08:47:48Z2013-09-20T08:47:48ZNow I am writing USB camera driver.I have already get single frames successfully.At current,The problems are that I don't know how to deal with these frames,and how to show these frames on screen.robort smith2013-09-20T08:47:48Zpost104263: memory leak in PxLoadImage (when repeating)Zhenya Pozdnyakovhttp://community.qnx.com/sf/go/post1042632013-08-18T10:20:57Z2013-08-18T10:20:57ZIt isn't new topic, but in prevoius discussion I haven't found any real decision of my problem. So, I use PxLoadImage many times during my program session. If it is, for instance, the 300-th call of PxLoadImage I have memory fault. I understand that problem is connected with memory leaks. But I don't know how to free memory properly. How must I release memory?
My code:
PhImage_t *temp_image= PhCreateImage( 0, 256 , 256 , Pg_IMAGE_DIRECT_888, 0, 0, 1);
if ((temp_image=PxLoadImage(file_name,NULL))==NULL){
fprintf(stderr,"Error opening next path: %s\n",file_name);
PtExit(EXIT_FAILURE);
...
temp_image->flags=Ph_RELEASE_IMAGE|Ph_RELEASE_PALETTE| Ph_RELEASE_TRANSPARENCY_MASK|Ph_RELEASE_GHOST_BITMAP|Ph_RELEASE_IMAGE_ALL;
PhReleaseImage(temp_image);
free(temp_image);Zhenya Pozdnyakov2013-08-18T10:20:57Zpost103731: Re: Problem for gf-calibbeagleBone donghongsun(deleted)http://community.qnx.com/sf/go/post1037312013-07-30T03:12:10Z2013-07-30T03:12:10Zplease reference the QNX650\target\qnx6\etc\system\config\img.conf.This is helpful.beagleBone donghongsun(deleted)2013-07-30T03:12:10Zpost103615: Re: Problem for gf-calibbeagleBone donghongsun(deleted)http://community.qnx.com/sf/go/post1036152013-07-26T02:02:08Z2013-07-26T02:02:08ZI met the same problem。
# gf-calib -D -f /fs/mmc/config/calib.localhost
Number of layers: 1
Resolution: 800x480, refresh = 60Hz
layer_idx=0
img_load(target1): errno = 3
load_image2surf(): failed
Do you solve this problem?beagleBone donghongsun(deleted)2013-07-26T02:02:08Zpost101196: gf_dev_attach() failed with GF_ERR_IODISPLAYDavid Lafrenierehttp://community.qnx.com/sf/go/post1011962013-05-06T23:37:00Z2013-05-06T23:37:00ZI am trying to get Qt and QNX running on the Sabre Lite board. I have a Qt project (just a single button) and the project builds and loads to the target using the Momentics debugger. However, the first line of code that executes:
QApplication a(argc, argv, global);
Causes this error:
QQnxScreen: gf_dev_attach() failed with error code 2
The error in the code says this:
#define GF_ERR_IODISPLAY 0x00000002 /* error accessing io-display */
My board does not have an io-display process, and there is no /dev/io-display directory. The QNX demo that is part of the QNX accelerator kit quick start runs correctly and no io-display process is running.
How do I get past this error? Do I need an io-display process running?
Thanks,
DaveDavid Lafreniere2013-05-06T23:37:00Zpost101156: 答复: How to show a PNG image with transparent backgroundDi Jin(deleted)http://community.qnx.com/sf/go/post1011562013-05-06T02:53:20Z2013-05-06T02:53:20ZDear Sir.
I found my PNG file is a 32bit PNG, and then I change it to 8bit and 24bit,
but it still can not be transparented.
Thanks and Best Regards!
*******************************************
金狄
天元鼎正电子科技(北京)有限公司
北京市海淀区上地七街1号汇众大厦106
邮编:100085
电话:010-62970815
手机:18601122606
*******************************************
-----邮件原件-----
发件人: Derek Leach [mailto:community-noreply@qnx.com]
发送时间: 2013年5月3日 21:27
收件人: advanced-graphics
主题: RE: How to show a PNG image with transparent background
What kind of PNG, 32-bit?
-----Original Message-----
From: Di Jin [mailto:community-noreply@qnx.com]
Sent: May-03-13 4:47 AM
To: advanced-graphics
Subject: How to show a PNG image with transparent background
I have a PNG image. I modify the background of image to transparency in the
Photoshop. I write the code like this:
if (img.flags & IMG_TRANSPARENCY) {
/* we can handle transparency in GF using chroma */
gf_chroma_t chroma;
memset(&chroma, 0, sizeof chroma);
chroma.mode = GF_CHROMA_OP_SRC_MATCH | GF_CHROMA_OP_NO_DRAW;
if (img.format & IMG_FMT_PALETTE) {
chroma.color0 = img.palette[img.transparency.index];
} else if (IMG_FMT_BPP(img.format) < 24) {
chroma.color0 = img.transparency.rgb16;
} else {
chroma.color0 = img.transparency.rgb32;
}
gf_context_set_chroma(*p_context, &chroma);
}
if (img.format & IMG_FMT_ALPHA) {
gf_alpha_t alpha;
memset(&alpha, 0, sizeof alpha);
alpha.mode = GF_ALPHA_M1_SRC_PIXEL_ALPHA | GF_BLEND_SRC_M1 |
GF_BLEND_DST_1mM1;
gf_context_set_alpha(*p_context, &alpha);
}
// blit the image onto a target surface
gf_draw_blit2(*p_context, *p_surface, NULL, 0, 0, img.w - 1, img.h - 1,
0, 0);
I found (img.flags & IMG_TRANSPARENCY) this branch always nagative. But my
Image has transparent background. How shold I do?
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post101108
To cancel your subscription to this discussion, please e-mail
advanced-graphics-unsubscribe@community.qnx.com
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post101114
To cancel your subscription to this discussion, please e-mail
advanced-graphics-unsubscribe@community.qnx.comDi Jin(deleted)2013-05-06T02:53:20Zpost101133: multiple layers-hardwareLu Li(deleted)http://community.qnx.com/sf/go/post1011332013-05-03T16:58:56Z2013-05-03T16:58:56ZHi there,
If I am trying to display using 2 layers (2 processes), both using gf, but I found my hardware only had one layer. My question will be: how can I get the hardware which supports multiple layer? If I am doing it under vmware, what is the proper driver to use?
thanks,
LuLu Li(deleted)2013-05-03T16:58:56Zpost101119: 答复: How to show a PNG image with transparent backgroundDi Jin(deleted)http://community.qnx.com/sf/go/post1011192013-05-03T14:17:48Z2013-05-03T14:17:48ZDear,Sir.
Please check the attaching file.
I generate it by Fireworks.
Thanks and Best Regards!
*******************************************
金狄
天元鼎正电子科技(北京)有限公司
北京市海淀区上地七街1号汇众大厦106
邮编:100085
电话:010-62970815
手机:18601122606
*******************************************
-----邮件原件-----
发件人: Derek Leach [mailto:community-noreply@qnx.com]
发送时间: 2013年5月3日 21:27
收件人: advanced-graphics
主题: RE: How to show a PNG image with transparent background
What kind of PNG, 32-bit?
-----Original Message-----
From: Di Jin [mailto:community-noreply@qnx.com]
Sent: May-03-13 4:47 AM
To: advanced-graphics
Subject: How to show a PNG image with transparent background
I have a PNG image. I modify the background of image to transparency in the
Photoshop. I write the code like this:
if (img.flags & IMG_TRANSPARENCY) {
/* we can handle transparency in GF using chroma */
gf_chroma_t chroma;
memset(&chroma, 0, sizeof chroma);
chroma.mode = GF_CHROMA_OP_SRC_MATCH | GF_CHROMA_OP_NO_DRAW;
if (img.format & IMG_FMT_PALETTE) {
chroma.color0 = img.palette[img.transparency.index];
} else if (IMG_FMT_BPP(img.format) < 24) {
chroma.color0 = img.transparency.rgb16;
} else {
chroma.color0 = img.transparency.rgb32;
}
gf_context_set_chroma(*p_context, &chroma);
}
if (img.format & IMG_FMT_ALPHA) {
gf_alpha_t alpha;
memset(&alpha, 0, sizeof alpha);
alpha.mode = GF_ALPHA_M1_SRC_PIXEL_ALPHA | GF_BLEND_SRC_M1 |
GF_BLEND_DST_1mM1;
gf_context_set_alpha(*p_context, &alpha);
}
// blit the image onto a target surface
gf_draw_blit2(*p_context, *p_surface, NULL, 0, 0, img.w - 1, img.h - 1,
0, 0);
I found (img.flags & IMG_TRANSPARENCY) this branch always nagative. But my
Image has transparent background. How shold I do?
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post101108
To cancel your subscription to this discussion, please e-mail
advanced-graphics-unsubscribe@community.qnx.com
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post101114
To cancel your subscription to this discussion, please e-mail
advanced-graphics-unsubscribe@community.qnx.comDi Jin(deleted)2013-05-03T14:17:48Zpost101114: RE: How to show a PNG image with transparent backgroundDerek Leachhttp://community.qnx.com/sf/go/post1011142013-05-03T13:27:01Z2013-05-03T13:27:01ZWhat kind of PNG, 32-bit?
-----Original Message-----
From: Di Jin [mailto:community-noreply@qnx.com]
Sent: May-03-13 4:47 AM
To: advanced-graphics
Subject: How to show a PNG image with transparent background
I have a PNG image. I modify the background of image to transparency in the Photoshop. I write the code like this:
if (img.flags & IMG_TRANSPARENCY) {
/* we can handle transparency in GF using chroma */
gf_chroma_t chroma;
memset(&chroma, 0, sizeof chroma);
chroma.mode = GF_CHROMA_OP_SRC_MATCH | GF_CHROMA_OP_NO_DRAW;
if (img.format & IMG_FMT_PALETTE) {
chroma.color0 = img.palette[img.transparency.index];
} else if (IMG_FMT_BPP(img.format) < 24) {
chroma.color0 = img.transparency.rgb16;
} else {
chroma.color0 = img.transparency.rgb32;
}
gf_context_set_chroma(*p_context, &chroma);
}
if (img.format & IMG_FMT_ALPHA) {
gf_alpha_t alpha;
memset(&alpha, 0, sizeof alpha);
alpha.mode = GF_ALPHA_M1_SRC_PIXEL_ALPHA | GF_BLEND_SRC_M1 |
GF_BLEND_DST_1mM1;
gf_context_set_alpha(*p_context, &alpha);
}
// blit the image onto a target surface
gf_draw_blit2(*p_context, *p_surface, NULL, 0, 0, img.w - 1, img.h - 1, 0, 0);
I found (img.flags & IMG_TRANSPARENCY) this branch always nagative. But my Image has transparent background. How shold I do?
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post101108
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2013-05-03T13:27:01Zpost101108: How to show a PNG image with transparent backgroundDi Jin(deleted)http://community.qnx.com/sf/go/post1011082013-05-03T08:47:29Z2013-05-03T08:47:29ZI have a PNG image. I modify the background of image to transparency in the Photoshop. I write the code like this:
if (img.flags & IMG_TRANSPARENCY) {
/* we can handle transparency in GF using chroma */
gf_chroma_t chroma;
memset(&chroma, 0, sizeof chroma);
chroma.mode = GF_CHROMA_OP_SRC_MATCH | GF_CHROMA_OP_NO_DRAW;
if (img.format & IMG_FMT_PALETTE) {
chroma.color0 = img.palette[img.transparency.index];
} else if (IMG_FMT_BPP(img.format) < 24) {
chroma.color0 = img.transparency.rgb16;
} else {
chroma.color0 = img.transparency.rgb32;
}
gf_context_set_chroma(*p_context, &chroma);
}
if (img.format & IMG_FMT_ALPHA) {
gf_alpha_t alpha;
memset(&alpha, 0, sizeof alpha);
alpha.mode = GF_ALPHA_M1_SRC_PIXEL_ALPHA | GF_BLEND_SRC_M1 |
GF_BLEND_DST_1mM1;
gf_context_set_alpha(*p_context, &alpha);
}
// blit the image onto a target surface
gf_draw_blit2(*p_context, *p_surface, NULL, 0, 0, img.w - 1, img.h - 1, 0, 0);
I found (img.flags & IMG_TRANSPARENCY) this branch always nagative. But my Image has transparent background. How shold I do?Di Jin(deleted)2013-05-03T08:47:29Zpost100015: IMX28: writing directly to a layer surfaceChris Keating(deleted)http://community.qnx.com/sf/go/post1000152013-03-19T20:10:28Z2013-03-19T20:10:28ZI created a 24 BPP surface using gf_surface_create_layer, specifying CPU_LINEARLY_ACCESSIBLE, and verified that the surface does indeed have this flag set in the surface_info_t.
However, when I try and write to the surface, the access does not appear to be linear. It seems as though there is a swizzle or address redirection occurring. Drawing to a 32 bit surface and then using gf_draw_blit to blit to the 24 BPP layer_surface has the same issue.
Is it possible to write linearly (with the CPU) to a displayable surface on this chipset?Chris Keating(deleted)2013-03-19T20:10:28Zpost99705: Re: Problem for gf-calibjimmy shaohttp://community.qnx.com/sf/go/post997052013-03-06T14:08:15Z2013-03-06T14:08:15ZI got the same problem:
# gf-calib -D -f /tmp/calib.conf
Number of layers: 1
Resolution: 800x480, refresh = 60Hz
layer_idx=0
img_load(target1): errno = 3
load_image2surf(): failed
switch_lcd_on
switch_lcd_off
could any guys help mejimmy shao2013-03-06T14:08:15Zpost99336: how to display mouse cursor under non gf frameworks (ex: screen / libscreen.so )chinlin hung(deleted)http://community.qnx.com/sf/go/post993362013-02-19T07:36:59Z2013-02-19T07:36:59ZHi all,
I am not sure where should I post this question.
Is there any simliar config file (such as /etc/system/config/display.conf, cursor=hardware) for screen.so or screen process on QNX CAR 2 ROM to show the mouse cursor if I use USB mouse instead of touch panel?
Regards,
Chinlinchinlin hung(deleted)2013-02-19T07:36:59Zpost99320: Re: RE: Line dashingJacek Rudnicki(deleted)http://community.qnx.com/sf/go/post993202013-02-15T19:58:20Z2013-02-15T19:58:20ZOn my hardware (devg-i830.so) dashed line can't be drawn if width of line is set to 1.
If width of line is bigger than 1 then everything works ok.
Also looks like that my hardware handles line_repeat qual to 32 only.
Is this limitation common to all devices supported via the same driver in this case devg-i830.so ?
> gf_point_t p[] = { { 50,250},{w-100,250}};
> gf_context_set_fgcolor(context,0x00ffff);
> gf_context_set_bgcolor(context,0xffffff);
> gf_context_set_linedash(context,0x000ffff, 0, 32,
> GF_CONTEXT_LINEDASH_BACKFILL);
> gf_context_set_penwidth( context,10);
> gf_draw_polyline(context,p,2,0);
>
> -----Original Message-----
> From: Jacek Rudnicki [mailto:community-noreply@qnx.com]
> Sent: February-14-13 2:55 PM
> To: advanced-graphics
> Subject: Re: Line dashing
>
> I need to draw dotted and dashed line.
>
> Can anybody explain how to use the gf_context_set_linedash() for such purpose
> ?
> Is it possible to draw a dashed line on the patchy background ?
>
> > Hi,
> >
> > Example from documentation "Setting line attributes" draws a solid
> > line, even if I play with function parameters.
> >
> > What is a proper usage of the gf_context_set_linedash() function ?
> >
> > Thank's,
> > Jacek
>
>
>
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post99297
> To cancel your subscription to this discussion, please e-mail advanced-
> graphics-unsubscribe@community.qnx.comJacek Rudnicki(deleted)2013-02-15T19:58:20Zpost99298: RE: Line dashingDerek Leachhttp://community.qnx.com/sf/go/post992982013-02-14T20:02:01Z2013-02-14T20:02:01Zgf_point_t p[] = { { 50,250},{w-100,250}};
gf_context_set_fgcolor(context,0x00ffff);
gf_context_set_bgcolor(context,0xffffff);
gf_context_set_linedash(context,0x000ffff, 0, 32, GF_CONTEXT_LINEDASH_BACKFILL);
gf_context_set_penwidth( context,10);
gf_draw_polyline(context,p,2,0);
-----Original Message-----
From: Jacek Rudnicki [mailto:community-noreply@qnx.com]
Sent: February-14-13 2:55 PM
To: advanced-graphics
Subject: Re: Line dashing
I need to draw dotted and dashed line.
Can anybody explain how to use the gf_context_set_linedash() for such purpose ?
Is it possible to draw a dashed line on the patchy background ?
> Hi,
>
> Example from documentation "Setting line attributes" draws a solid
> line, even if I play with function parameters.
>
> What is a proper usage of the gf_context_set_linedash() function ?
>
> Thank's,
> Jacek
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post99297
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2013-02-14T20:02:01Zpost99297: Re: Line dashingJacek Rudnicki(deleted)http://community.qnx.com/sf/go/post992972013-02-14T19:54:57Z2013-02-14T19:54:57ZI need to draw dotted and dashed line.
Can anybody explain how to use the gf_context_set_linedash() for such purpose ?
Is it possible to draw a dashed line on the patchy background ?
> Hi,
>
> Example from documentation "Setting line attributes" draws a solid line,
> even if I play with function parameters.
>
> What is a proper usage of the gf_context_set_linedash() function ?
>
> Thank's,
> JacekJacek Rudnicki(deleted)2013-02-14T19:54:57Zpost99210: Line dashingJacek Rudnicki(deleted)http://community.qnx.com/sf/go/post992102013-02-11T20:16:01Z2013-02-11T20:16:01ZHi,
Example from documentation "Setting line attributes" draws a solid line,
even if I play with function parameters.
What is a proper usage of the gf_context_set_linedash() function ?
Thank's,
JacekJacek Rudnicki(deleted)2013-02-11T20:16:01Zpost99209: RE: Drawing a cicleDerek Leachhttp://community.qnx.com/sf/go/post992092013-02-11T20:15:44Z2013-02-11T20:15:44ZYou are correct, there is no 'draw circle' in GF. The original reason was that hardware did not generally implement such a request, and GF only generally mirrors hardware functionality. Photon supports drawing of circles, but at the lowest level, it is all broken down to many span draws.
-----Original Message-----
From: Jacek Rudnicki [mailto:community-noreply@qnx.com]
Sent: February-11-13 3:12 PM
To: advanced-graphics
Subject: Re: Drawing a cicle
The GF library doesn't include function for drawing a cricle.
Looks like that I have to implement such routine itself.
> How to draw a circle ?
> Is it possible ?
>
> Jacek
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post99208
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2013-02-11T20:15:44Zpost99208: Re: Drawing a cicleJacek Rudnicki(deleted)http://community.qnx.com/sf/go/post992082013-02-11T20:11:45Z2013-02-11T20:11:45ZThe GF library doesn't include function for drawing a cricle.
Looks like that I have to implement such routine itself.
> How to draw a circle ?
> Is it possible ?
>
> JacekJacek Rudnicki(deleted)2013-02-11T20:11:45Zpost99206: Re: RE: RE: chroma operation increasing CPU hogJacek Rudnicki(deleted)http://community.qnx.com/sf/go/post992062013-02-11T20:05:57Z2013-02-11T20:05:57ZOk, so I have to look for the another solution...
> > I set chroma as follows:
> > chroma.mode = GF_CHROMA_OP_DST_MATCH | GF_CHROMA_OP_NO_DRAW;
>
> Sorry, but it is unaccelerated. Only SRC_MATCH | NO_DRAW is accelereted.Jacek Rudnicki(deleted)2013-02-11T20:05:57Zpost99196: Re: RE: RE: chroma operation increasing CPU hogMike Gorchakhttp://community.qnx.com/sf/go/post991962013-02-11T07:00:49Z2013-02-11T07:00:49Z> I set chroma as follows:
> chroma.mode = GF_CHROMA_OP_DST_MATCH | GF_CHROMA_OP_NO_DRAW;
Sorry, but it is unaccelerated. Only SRC_MATCH | NO_DRAW is accelereted.Mike Gorchak2013-02-11T07:00:49Zpost99092: Drawing a cicleJacek Rudnicki(deleted)http://community.qnx.com/sf/go/post990922013-02-05T19:02:18Z2013-02-05T19:02:18ZHow to draw a circle ?
Is it possible ?
JacekJacek Rudnicki(deleted)2013-02-05T19:02:18Zpost99049: RE: Layers - code exampleDerek Leachhttp://community.qnx.com/sf/go/post990492013-02-04T21:48:10Z2013-02-04T21:48:10ZAre the pixel formats of the source and destination surfaces different?
Are planemask or rops enabled during this operation?
Are either of the surfaces allocated for CPU fast access?
Any of these will force chroma blit into CPU software mode ...
-----Original Message-----
From: Jacek Rudnicki [mailto:community-noreply@qnx.com]
Sent: February-04-13 4:35 PM
To: advanced-graphics
Subject: Layers - code example
Hi,
Is there any example which shows how to properly use layers ?
Thank's
Jacek
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post99048
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2013-02-04T21:48:10Zpost99048: Layers - code exampleJacek Rudnicki(deleted)http://community.qnx.com/sf/go/post990482013-02-04T21:34:51Z2013-02-04T21:34:51ZHi,
Is there any example which shows how to properly use layers ?
Thank's
JacekJacek Rudnicki(deleted)2013-02-04T21:34:51Zpost99043: Re: RE: RE: chroma operation increasing CPU hogJacek Rudnicki(deleted)http://community.qnx.com/sf/go/post990432013-02-04T16:45:28Z2013-02-04T16:45:28ZI set chroma as follows:
chroma.mode = GF_CHROMA_OP_DST_MATCH | GF_CHROMA_OP_NO_DRAW;
> Ok, there is a hw accel for certain chroma operations, but not all, what
> chroma flags are you setting?
>
> -----Original Message-----
> From: Jacek Rudnicki [mailto:community-noreply@qnx.com]
> Sent: February-04-13 11:38 AM
> To: advanced-graphics
> Subject: Re: RE: chroma operation increasing CPU hog
>
> devg-i830
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post99041
> To cancel your subscription to this discussion, please e-mail advanced-
> graphics-unsubscribe@community.qnx.comJacek Rudnicki(deleted)2013-02-04T16:45:28Zpost99042: RE: RE: chroma operation increasing CPU hogDerek Leachhttp://community.qnx.com/sf/go/post990422013-02-04T16:40:58Z2013-02-04T16:40:58ZOk, there is a hw accel for certain chroma operations, but not all, what chroma flags are you setting?
-----Original Message-----
From: Jacek Rudnicki [mailto:community-noreply@qnx.com]
Sent: February-04-13 11:38 AM
To: advanced-graphics
Subject: Re: RE: chroma operation increasing CPU hog
devg-i830
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post99041
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2013-02-04T16:40:58Zpost99041: Re: RE: chroma operation increasing CPU hogJacek Rudnicki(deleted)http://community.qnx.com/sf/go/post990412013-02-04T16:37:56Z2013-02-04T16:37:56Zdevg-i830Jacek Rudnicki(deleted)2013-02-04T16:37:56Zpost99032: RE: chroma operation increasing CPU hogDerek Leachhttp://community.qnx.com/sf/go/post990322013-02-04T13:50:19Z2013-02-04T13:50:19ZWhat devg driver are you using?
-----Original Message-----
From: Jacek Rudnicki [mailto:community-noreply@qnx.com]
Sent: February-03-13 2:54 PM
To: advanced-graphics
Subject: chroma operation increasing CPU hog
Hi,
In application respnsible for displaying video stream the gf_draw_blit2() is called very often.
When I set chroma via gf_context_set_chroma() then the following behavior is observed:
- increasing CPU hog,
- corrupted picture,
- picture is not displayed in real time.
I need to set chroma keying in order to not display video data on particular color.
Am I doing something wrong or my hardware is too slow for such usage ?
Application is tested with devg-i830.so driver.
Regards,
Jacek
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post99026
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2013-02-04T13:50:19Zpost99026: chroma operation increasing CPU hogJacek Rudnicki(deleted)http://community.qnx.com/sf/go/post990262013-02-03T19:53:33Z2013-02-03T19:53:33ZHi,
In application respnsible for displaying video stream the gf_draw_blit2() is called very often.
When I set chroma via gf_context_set_chroma() then the following behavior is observed:
- increasing CPU hog,
- corrupted picture,
- picture is not displayed in real time.
I need to set chroma keying in order to not display video data on particular color.
Am I doing something wrong or my hardware is too slow for such usage ?
Application is tested with devg-i830.so driver.
Regards,
JacekJacek Rudnicki(deleted)2013-02-03T19:53:33Zpost99006: Two layers - GF & PhotonJacek Rudnicki(deleted)http://community.qnx.com/sf/go/post990062013-02-01T19:17:58Z2013-02-01T19:17:58ZHello,
I have application (hybrid of GF and Photon) which is responsible for displaying video stream.
Everything works fine and data is displayed in layer 0 which is shared with Photon.
I need to draw some lines and text on the top of video stream.
Idea is as follows:
Layer0: Photon application (lines, text, some other components, widgets, ...),
Layer1: GF+Photon (video stream).
I don't know if this is a right direction.
Regards,
JacekJacek Rudnicki(deleted)2013-02-01T19:17:58Zpost98343: Re: Problem for gf-calibMisha Nefedovhttp://community.qnx.com/sf/go/post983432013-01-02T16:43:51Z2013-01-02T16:43:51ZTry running your application with "LD_DEBUG=1 {your-app}". You should see which library your are missing.Misha Nefedov2013-01-02T16:43:51Zpost98313: Re: Problem for gf-calibbhanu shankar d ghttp://community.qnx.com/sf/go/post983132012-12-24T06:29:35Z2012-12-24T06:29:35ZAfetr including img.conf and img_codec so's i am getting error as
Number of layers: 3
Resolution: 720x400, refresh = 60Hz
layer_idx=0
img_load(target1): errno = 3
load_image2surf(): failed
Please help.bhanu shankar d g2012-12-24T06:29:35Zpost97623: RE: RE: RE: RE: gf_layer_attach() failed !!!Derek Leachhttp://community.qnx.com/sf/go/post976232012-11-29T15:20:02Z2012-11-29T15:20:02ZPlease contact tech support for this level of support.
-----Original Message-----
From: Ashwini Dubey [mailto:community-noreply@qnx.com]
Sent: November-29-12 10:20 AM
To: advanced-graphics
Subject: Re: RE: RE: RE: gf_layer_attach() failed !!!
Can you please provide example of working GF drawing code.
Do let me also know how to toggle between GUI and text mode.
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post97622
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2012-11-29T15:20:02Zpost97622: Re: RE: RE: RE: gf_layer_attach() failed !!!Ashwini Dubey(deleted)http://community.qnx.com/sf/go/post976222012-11-29T15:19:43Z2012-11-29T15:19:43ZCan you please provide example of working GF drawing code.
Do let me also know how to toggle between GUI and text mode.Ashwini Dubey(deleted)2012-11-29T15:19:43Zpost97615: RE: RE: RE: gf_layer_attach() failed !!!Derek Leachhttp://community.qnx.com/sf/go/post976152012-11-29T14:01:59Z2012-11-29T14:01:59ZIf you want to use Photon, ypu must use Pg photon drawing lines, please see helpviewer in Photon.
If you want to use GF application, then you must exit Photon to text mode, then to make it easy, telnet into the QNX box, then run the GF application.
-----Original Message-----
From: Ashwini Dubey [mailto:community-noreply@qnx.com]
Sent: November-29-12 3:16 AM
To: advanced-graphics
Subject: Re: RE: RE: gf_layer_attach() failed !!!
What else is running on the machine?
I have a default installation and basic GUI is running.
…......
Is Photon running?
Yes.
176152 1 /photon/bin/Photon 10r RECEIVE 1
…......
Number of displays: 1
Display 0: 1024X768, refresh = 60Hz
Number of layers: 1
…......
I am very new to QNX, but I am experienced in linux application and kernel development.
Currently I am using intel HD Graphics, PCI device, Vendor ID:8086, Device ID:0152.
….
please suggest what I need to draw a rectangle or circle or line.
Below is list of all the process running. Result of pidin command.
pid tid name prio STATE Blocked
1 1 boot/procnto-instr 0f READY
1 2 boot/procnto-instr 255r RECEIVE 1
1 3 boot/procnto-instr 10r RECEIVE 1
1 4 boot/procnto-instr 10r RUNNING
1 5 boot/procnto-instr 255r RECEIVE 1
1 7 boot/procnto-instr 10r RECEIVE 1
1 8 boot/procnto-instr 10r RECEIVE 1
1 10 boot/procnto-instr 10r RECEIVE 1
1 11 boot/procnto-instr 10r RECEIVE 1
1 12 boot/procnto-instr 10r RECEIVE 1
1 15 boot/procnto-instr 10r RECEIVE 1
1 16 boot/procnto-instr 10r RECEIVE 1
2 1 sbin/tinit 10o REPLY 1
4099 1 proc/boot/pci-bios 10o RECEIVE 1
4100 1 proc/boot/slogger 10o RECEIVE 1
4101 1 proc/boot/io-usb 10o SIGWAITINFO
4101 2 proc/boot/io-usb 21r RECEIVE 4
4101 3 proc/boot/io-usb 21r RECEIVE 7
4101 4 proc/boot/io-usb 21r RECEIVE 1
4101 5 proc/boot/io-usb 10o RECEIVE 10
4101 6 proc/boot/io-usb 10r NANOSLEEP
4101 7 proc/boot/io-usb 10o RECEIVE 10
4101 8 proc/boot/io-usb 10o RECEIVE 10
4102 1 proc/boot/io-hid 10o SIGWAITINFO
4102 2 proc/boot/io-hid 21r RECEIVE 1
4102 4 proc/boot/io-hid 10o RECEIVE 4
4102 5 proc/boot/io-hid 10r REPLY 4101
4102 6 proc/boot/io-hid 10r REPLY 4101
4102 7 proc/boot/io-hid 9r RECEIVE 12
4102 8 proc/boot/io-hid 9r RECEIVE 16
4102 9 proc/boot/io-hid 10o RECEIVE 4
4103 1 /boot/devc-con-hid 20o RECEIVE 1
4103 2 /boot/devc-con-hid 10o REPLY 4102
8200 1 roc/boot/devb-eide 10o SIGWAITINFO
8200 2 roc/boot/devb-eide 21r RECEIVE 1
8200 3 roc/boot/devb-eide 21o RECEIVE 7
8200 4 roc/boot/devb-eide 10o RECEIVE 4
8200 5 roc/boot/devb-eide 10o RECEIVE 4
8200 6 roc/boot/devb-eide 10o RECEIVE 4
8200 7 roc/boot/devb-eide 10o RECEIVE 4
8200 10 roc/boot/devb-eide 10o RECEIVE 4
8200 13 roc/boot/devb-eide 10o RECEIVE 4
20489 1 sbin/pipe 10o SIGWAITINFO
20489 2 sbin/pipe 10o RECEIVE 1
20489 3 sbin/pipe 10o RECEIVE 1
20489 4 sbin/pipe 10o RECEIVE 1
20489 5 sbin/pipe 10o RECEIVE 1
24586 1 sbin/mqueue 10o RECEIVE 1
53259 1 usr/sbin/mcd 10o RECEIVE 1
53259 2 usr/sbin/mcd 10o NANOSLEEP
53259 3 usr/sbin/mcd 10o SIGWAITINFO
53259 4 usr/sbin/mcd 9o SIGWAITINFO
53259 5 usr/sbin/mcd 10o SIGWAITINFO
53259 6 usr/sbin/mcd 10o SIGWAITINFO
53259 7 usr/sbin/mcd 10o SIGWAITINFO
57356 1 usr/sbin/random 10o SIGWAITINFO
57356 2 usr/sbin/random 10o RECEIVE 1
57356 3 usr/sbin/random 10o NANOSLEEP
61453 1 sbin/enum-devices 10o REPLY 20489
77840 1 sbin/enum-usb 10o SIGWAITINFO
77840 2 sbin/enum-usb 10r REPLY 4101
94222 1 sbin/io-display 10o SIGWAITINFO
94222 2 sbin/io-display 10o RECEIVE 1
94222 3 sbin/io-display 12o RECEIVE 1
94222 4 sbin/io-display 10o RECEIVE 3
94222 5 sbin/io-display 10o RECEIVE 1
118799 1 sbin/io-pkt-v4-hc 21o SIGWAITINFO
118799 2 sbin/io-pkt-v4-hc 21o RECEIVE 1
118801 1 sbin/devc-pty 10o RECEIVE 1
131090 1 usr/sbin/dumper 10o RECEIVE 1
147475 1 bin/login 10o REPLY 4103
147476 1 bin/login 10o REPLY 4103
147477 1 bin/login 10o REPLY 4103
176152 1 /photon/bin/Photon 10r RECEIVE 1
196633 1 on/bin/io-graphics 12r CONDVAR (0x805dc40)
196633 2 on/bin/io-graphics 10r RECEIVE 1
196633 3 on/bin/io-graphics 12r REPLY 176152
213020 1 hoton/bin/devi-hid 10o RECEIVE 1
213020 2 hoton/bin/devi-hid 10o REPLY 4102
213020 3 hoton/bin/devi-hid 12o SIGWAITINFO
213020 4 hoton/bin/devi-hid 10o RECEIVE 1
213020 5 hoton/bin/devi-hid 10o RECEIVE 1
225302 1 bin/login 10o REPLY 4103
786465 1 sbin/io-pkt-v4-hc 21r SIGWAITINFO
786465 2 sbin/io-pkt-v4-hc 10r RECEIVE 1
811044 1 r/sbin/dhcp.client 10r NANOSLEEP
3182629 1 usr/sbin/sshd 10r SIGWAITINFO
4292635 1 usr/photon/bin/pwm 10r RECEIVE 1
4321309 1 r/photon/bin/shelf 10r CONDVAR (0x8076f88)
4321309 2 r/photon/bin/shelf 10r RECEIVE 1
4341790 1 photon/bin/bkgdmgr 10r RECEIVE 1
4341791 1 hoton/bin/wmswitch 10r RECEIVE 2
4341792 1 r/photon/bin/saver 10r RECEIVE 1
4689961 1 usr/sbin/inetd 10r SIGWAITINFO
4771874 1 usr/bin/phrelay 10r REPLY 176152
4771874 2 usr/bin/phrelay 10r REPLY 786465
4771874 3 usr/bin/phrelay 10r CONDVAR (0x805be30)
4792343 1 r/photon/bin/pterm 10r RECEIVE 1
4792346 1 bin/sh 10r SIGSUSPEND
4792355 1 bin/pidin 10r REPLY 1
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post97598
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2012-11-29T14:01:59Zpost97598: Re: RE: RE: gf_layer_attach() failed !!!Ashwini Dubey(deleted)http://community.qnx.com/sf/go/post975982012-11-29T08:16:13Z2012-11-29T08:16:13ZWhat else is running on the machine?
I have a default installation and basic GUI is running.
…......
Is Photon running?
Yes.
176152 1 /photon/bin/Photon 10r RECEIVE 1
…......
Number of displays: 1
Display 0: 1024X768, refresh = 60Hz
Number of layers: 1
…......
I am very new to QNX, but I am experienced in linux application and kernel development.
Currently I am using intel HD Graphics, PCI device, Vendor ID:8086, Device ID:0152.
….
please suggest what I need to draw a rectangle or circle or line.
Below is list of all the process running. Result of pidin command.
pid tid name prio STATE Blocked
1 1 boot/procnto-instr 0f READY
1 2 boot/procnto-instr 255r RECEIVE 1
1 3 boot/procnto-instr 10r RECEIVE 1
1 4 boot/procnto-instr 10r RUNNING
1 5 boot/procnto-instr 255r RECEIVE 1
1 7 boot/procnto-instr 10r RECEIVE 1
1 8 boot/procnto-instr 10r RECEIVE 1
1 10 boot/procnto-instr 10r RECEIVE 1
1 11 boot/procnto-instr 10r RECEIVE 1
1 12 boot/procnto-instr 10r RECEIVE 1
1 15 boot/procnto-instr 10r RECEIVE 1
1 16 boot/procnto-instr 10r RECEIVE 1
2 1 sbin/tinit 10o REPLY 1
4099 1 proc/boot/pci-bios 10o RECEIVE 1
4100 1 proc/boot/slogger 10o RECEIVE 1
4101 1 proc/boot/io-usb 10o SIGWAITINFO
4101 2 proc/boot/io-usb 21r RECEIVE 4
4101 3 proc/boot/io-usb 21r RECEIVE 7
4101 4 proc/boot/io-usb 21r RECEIVE 1
4101 5 proc/boot/io-usb 10o RECEIVE 10
4101 6 proc/boot/io-usb 10r NANOSLEEP
4101 7 proc/boot/io-usb 10o RECEIVE 10
4101 8 proc/boot/io-usb 10o RECEIVE 10
4102 1 proc/boot/io-hid 10o SIGWAITINFO
4102 2 proc/boot/io-hid 21r RECEIVE 1
4102 4 proc/boot/io-hid 10o RECEIVE 4
4102 5 proc/boot/io-hid 10r REPLY 4101
4102 6 proc/boot/io-hid 10r REPLY 4101
4102 7 proc/boot/io-hid 9r RECEIVE 12
4102 8 proc/boot/io-hid 9r RECEIVE 16
4102 9 proc/boot/io-hid 10o RECEIVE 4
4103 1 /boot/devc-con-hid 20o RECEIVE 1
4103 2 /boot/devc-con-hid 10o REPLY 4102
8200 1 roc/boot/devb-eide 10o SIGWAITINFO
8200 2 roc/boot/devb-eide 21r RECEIVE 1
8200 3 roc/boot/devb-eide 21o RECEIVE 7
8200 4 roc/boot/devb-eide 10o RECEIVE 4
8200 5 roc/boot/devb-eide 10o RECEIVE 4
8200 6 roc/boot/devb-eide 10o RECEIVE 4
8200 7 roc/boot/devb-eide 10o RECEIVE 4
8200 10 roc/boot/devb-eide 10o RECEIVE 4
8200 13 roc/boot/devb-eide 10o RECEIVE 4
20489 1 sbin/pipe 10o SIGWAITINFO
20489 2 sbin/pipe 10o RECEIVE 1
20489 3 sbin/pipe 10o RECEIVE 1
20489 4 sbin/pipe 10o RECEIVE 1
20489 5 sbin/pipe 10o RECEIVE 1
24586 1 sbin/mqueue 10o RECEIVE 1
53259 1 usr/sbin/mcd 10o RECEIVE 1
53259 2 usr/sbin/mcd 10o NANOSLEEP
53259 3 usr/sbin/mcd 10o SIGWAITINFO
53259 4 usr/sbin/mcd 9o SIGWAITINFO
53259 5 usr/sbin/mcd 10o SIGWAITINFO
53259 6 usr/sbin/mcd 10o SIGWAITINFO
53259 7 usr/sbin/mcd 10o SIGWAITINFO
57356 1 usr/sbin/random 10o SIGWAITINFO
57356 2 usr/sbin/random 10o RECEIVE 1
57356 3 usr/sbin/random 10o NANOSLEEP
61453 1 sbin/enum-devices 10o REPLY 20489
77840 1 sbin/enum-usb 10o SIGWAITINFO
77840 2 sbin/enum-usb 10r REPLY 4101
94222 1 sbin/io-display 10o SIGWAITINFO
94222 2 sbin/io-display 10o RECEIVE 1
94222 3 sbin/io-display 12o RECEIVE 1
94222 4 sbin/io-display 10o RECEIVE 3
94222 5 sbin/io-display 10o RECEIVE 1
118799 1 sbin/io-pkt-v4-hc 21o SIGWAITINFO
118799 2 sbin/io-pkt-v4-hc 21o RECEIVE 1
118801 1 sbin/devc-pty 10o RECEIVE 1
131090 1 usr/sbin/dumper 10o RECEIVE 1
147475 1 bin/login 10o REPLY 4103
147476 1 bin/login 10o REPLY 4103
147477 1 bin/login 10o REPLY 4103
176152 1 /photon/bin/Photon 10r RECEIVE 1
196633 1 on/bin/io-graphics 12r CONDVAR (0x805dc40)
196633 2 on/bin/io-graphics 10r RECEIVE 1
196633 3 on/bin/io-graphics 12r REPLY 176152
213020 1 hoton/bin/devi-hid 10o RECEIVE 1
213020 2 hoton/bin/devi-hid 10o REPLY 4102
213020 3 hoton/bin/devi-hid 12o SIGWAITINFO
213020 4 hoton/bin/devi-hid 10o RECEIVE 1
213020 5 hoton/bin/devi-hid 10o RECEIVE 1
225302 1 bin/login 10o REPLY 4103
786465 1 sbin/io-pkt-v4-hc 21r SIGWAITINFO
786465 2 sbin/io-pkt-v4-hc 10r RECEIVE 1
811044 1 r/sbin/dhcp.client 10r NANOSLEEP
3182629 1 usr/sbin/sshd 10r SIGWAITINFO
4292635 1 usr/photon/bin/pwm 10r RECEIVE 1
4321309 1 r/photon/bin/shelf 10r CONDVAR (0x8076f88)
4321309 2 r/photon/bin/shelf 10r RECEIVE 1
4341790 1 photon/bin/bkgdmgr 10r RECEIVE 1
4341791 1 hoton/bin/wmswitch 10r RECEIVE 2
4341792 1 r/photon/bin/saver 10r RECEIVE 1
4689961 1 usr/sbin/inetd 10r SIGWAITINFO
4771874 1 usr/bin/phrelay 10r REPLY 176152
4771874 2 usr/bin/phrelay 10r REPLY 786465
4771874 3 usr/bin/phrelay 10r CONDVAR (0x805be30)
4792343 1 r/photon/bin/pterm 10r RECEIVE 1
4792346 1 bin/sh 10r SIGSUSPEND
4792355 1 bin/pidin 10r REPLY 1Ashwini Dubey(deleted)2012-11-29T08:16:13Zpost97562: RE: RE: gf_layer_attach() failed !!!Derek Leachhttp://community.qnx.com/sf/go/post975622012-11-28T15:09:05Z2012-11-28T15:09:05ZWhat else is running on the machine? Is Photon running? You only have one layer on your machine, so no other graphics environment or application can be running.
-----Original Message-----
From: Ashwini Dubey [mailto:community-noreply@qnx.com]
Sent: November-28-12 3:45 AM
To: advanced-graphics
Subject: Re: RE: gf_layer_attach() failed !!!
Return Value = 0x8
which is GF_ERR_INUSE..
I have installed qnx on i5 intel machine....and i can connect to it and run basic hello world...
i can use web browser too.
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post97541
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2012-11-28T15:09:05Zpost97543: gf_surface_create_layer failed, returned 1, memory allocation failedRahul Kaswahttp://community.qnx.com/sf/go/post975432012-11-28T10:48:05Z2012-11-28T10:48:05Zhi all,
i am new to QNX graphics and i am facing problem regarding memory allocation failed in
gf_surface_create_layer();
return value = 1, GF_ERR_MEM
code is given below..
#include <stdlib.h>
#include <stdio.h>
#include<gf/gf.h>
int main(int argc, char *argv[]) {
gf_dev_t gdev;
gf_dev_info_t gdev_info;
gf_display_t display;
gf_display_info_t display_info;
gf_layer_t layer;
gf_surface_t surface;
int i=0;
if (gf_dev_attach(&gdev, GF_DEVICE_INDEX(0), &gdev_info) != GF_ERR_OK) {
printf("gf_dev_attach() failed\n");
return (-1);
}
printf("Number of displays: %d\n",gdev_info.ndisplays);
for (i = 0; i < gdev_info.ndisplays; i++ )
{
printf("Display %d: ", i);
if (gf_display_attach(&display, gdev, i, &display_info) == GF_ERR_OK)
{
printf("%dX%d, refresh = %dHz\n", display_info.xres,
display_info.yres, display_info.refresh);
printf("Number of layers: %d\n", display_info.nlayers);
if (gf_layer_attach(&layer, display,0, 1) == GF_ERR_OK )
{
printf("\n\tLayer attached Successfully.");
//printf("\n\t%d", gf_surface_create_layer(&surface, &layer, 1,0, display_info.xres, display_info.yres, display_info.format , NULL, 0 ));
if(gf_surface_create_layer(&surface, &layer, 0,0, display_info.xres, display_info.yres, GF_FORMAT_PACK_RGB565 , NULL, 0 ) == GF_ERR_OK )
{
printf("\n\tSurface created successfully.");
}
else
printf("\n\tSurface failed.");
}
else
printf("\n\tLayer Failed.");
}
else
printf("gf_display_attach() failed\n");
}
printf("\n\tWelcome to the QNX Momentics IDE\n");
if(gdev)
{
gf_dev_detach(gdev);
}
return EXIT_SUCCESS;
}Rahul Kaswa2012-11-28T10:48:05Zpost97541: Re: RE: gf_layer_attach() failed !!!Ashwini Dubey(deleted)http://community.qnx.com/sf/go/post975412012-11-28T08:45:08Z2012-11-28T08:45:08ZReturn Value = 0x8
which is GF_ERR_INUSE..
I have installed qnx on i5 intel machine....and i can connect to it and run basic hello world...
i can use web browser too.Ashwini Dubey(deleted)2012-11-28T08:45:08Zpost97491: RE: gf_layer_attach() failed !!!Derek Leachhttp://community.qnx.com/sf/go/post974912012-11-27T14:15:55Z2012-11-27T14:15:55ZWhat is the return value from gf_layer_attach()?
-----Original Message-----
From: Ashwini Dubey [mailto:community-noreply@qnx.com]
Sent: November-27-12 2:02 AM
To: advanced-graphics
Subject: gf_layer_attach() failed !!!
Dear All,
Dear All,
I am new to qnx GF, I have read “Advanced Graphics Developers Guide.pdf” and trying to draw a rectangle on GF. I have x86 target machine connected to QNX Momentics IDE 4.7.
gf_layer_attach() is failed... can some help...
find output and code below.
Output:
Number of displays: 1
Display 0: 1024X768, refresh = 60Hz
Number of layers: 1
code snippet:
#include <stdio.h>
#include <stdlib.h>
#include <gf/gf.h>
int main() {
//device & display
gf_dev_t gdev;
gf_dev_info_t gdev_info;
gf_display_t display;
gf_display_info_t display_info;
int i;
//layer
gf_layer_t layer;
//surface
gf_surface_t surface;
unsigned height;
unsigned width;
gf_layer_info_t layer_info;
//context
gf_context_t context;
if (gf_dev_attach(&gdev, GF_DEVICE_INDEX(0), &gdev_info) != GF_ERR_OK) {
printf("gf_dev_attach() failed\n");
return (-1);
}
printf("Number of displays: %d\n",gdev_info.ndisplays);
for (i = 0; i < gdev_info.ndisplays; i++) {
printf("Display %d: ", i);
if (gf_display_attach(&display, gdev, i, &display_info) == GF_ERR_OK) {
printf("%dX%d, refresh = %dHz\n", display_info.xres,
display_info.yres, display_info.refresh);
printf("Number of layers: %d\n", display_info.nlayers);
} else {
printf("gf_display_attach() failed\n");
}
}
if (display != NULL) {
if (gf_layer_attach(&layer,display,display_info.main_layer_index, 0) == GF_ERR_OK) {
//if(gf_layer_attach(&layer,display,0, 0) == GF_ERR_OK) {
printf("Attaching to Layer : 2\n ");
}
else {
printf("gf_layer_attach() failed\n");
}
}
if((gf_layer_query(layer,0,&layer_info))==GF_ERR_OK){
printf("Layer is of Format %d\n",layer_info.format); } else{
printf(" gf_layer_query() failed");
}
width = display_info.xres;
height = display_info.yres;
if (gf_surface_create_layer(&surface, &layer, 1, 0, width, height, layer_info.format, NULL, 0) == GF_ERR_OK) {
printf("Succesfully created surface on top of layer\n");
gf_layer_set_surfaces(layer, &surface, 1);
/* draw stuff here */
} else {
printf("gf_surface_create_layer() failed\n");
}
if (gf_context_create(&context) != GF_ERR_OK) {
fprintf(stderr, "gf_context_create failed\n");
return -1;
}
else{
printf(" Created the context succefully\n"); }
if (gf_context_set_surface(context,surface)!= GF_ERR_OK) {
fprintf(stderr, "gf_context_set_surface failed\n");
return -1;
}
else{
printf("Context Surface is Set Succesfully\n");
}
gf_draw_begin(context);
gf_context_set_fgcolor(context,0xFFFFFF);
gf_draw_rect(context,10,10,50,50);
gf_context_set_fgcolor(context,0x000000);
gf_draw_rect(context,20,20,40,40);
gf_draw_end(context);
gf_dev_detach(gdev);
return 0;
}
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post97473
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2012-11-27T14:15:55Zpost97473: gf_layer_attach() failed !!!Ashwini Dubey(deleted)http://community.qnx.com/sf/go/post974732012-11-27T07:01:57Z2012-11-27T07:01:57ZDear All,
Dear All,
I am new to qnx GF, I have read “Advanced Graphics Developers Guide.pdf” and trying to draw a rectangle on GF. I have x86 target machine connected to QNX Momentics IDE 4.7.
gf_layer_attach() is failed... can some help...
find output and code below.
Output:
Number of displays: 1
Display 0: 1024X768, refresh = 60Hz
Number of layers: 1
code snippet:
#include <stdio.h>
#include <stdlib.h>
#include <gf/gf.h>
int main() {
//device & display
gf_dev_t gdev;
gf_dev_info_t gdev_info;
gf_display_t display;
gf_display_info_t display_info;
int i;
//layer
gf_layer_t layer;
//surface
gf_surface_t surface;
unsigned height;
unsigned width;
gf_layer_info_t layer_info;
//context
gf_context_t context;
if (gf_dev_attach(&gdev, GF_DEVICE_INDEX(0), &gdev_info) != GF_ERR_OK) {
printf("gf_dev_attach() failed\n");
return (-1);
}
printf("Number of displays: %d\n",gdev_info.ndisplays);
for (i = 0; i < gdev_info.ndisplays; i++) {
printf("Display %d: ", i);
if (gf_display_attach(&display, gdev, i, &display_info) == GF_ERR_OK) {
printf("%dX%d, refresh = %dHz\n", display_info.xres,
display_info.yres, display_info.refresh);
printf("Number of layers: %d\n", display_info.nlayers);
} else {
printf("gf_display_attach() failed\n");
}
}
if (display != NULL) {
if (gf_layer_attach(&layer,display,display_info.main_layer_index, 0) == GF_ERR_OK) {
//if(gf_layer_attach(&layer,display,0, 0) == GF_ERR_OK) {
printf("Attaching to Layer : 2\n ");
}
else {
printf("gf_layer_attach() failed\n");
}
}
if((gf_layer_query(layer,0,&layer_info))==GF_ERR_OK){
printf("Layer is of Format %d\n",layer_info.format);
}
else{
printf(" gf_layer_query() failed");
}
width = display_info.xres;
height = display_info.yres;
if (gf_surface_create_layer(&surface, &layer, 1, 0,
width, height, layer_info.format, NULL, 0) == GF_ERR_OK) {
printf("Succesfully created surface on top of layer\n");
gf_layer_set_surfaces(layer, &surface, 1);
/* draw stuff here */
} else {
printf("gf_surface_create_layer() failed\n");
}
if (gf_context_create(&context) != GF_ERR_OK) {
fprintf(stderr, "gf_context_create failed\n");
return -1;
}
else{
printf(" Created the context succefully\n");
}
if (gf_context_set_surface(context,surface)!= GF_ERR_OK) {
fprintf(stderr, "gf_context_set_surface failed\n");
return -1;
}
else{
printf("Context Surface is Set Succesfully\n");
}
gf_draw_begin(context);
gf_context_set_fgcolor(context,0xFFFFFF);
gf_draw_rect(context,10,10,50,50);
gf_context_set_fgcolor(context,0x000000);
gf_draw_rect(context,20,20,40,40);
gf_draw_end(context);
gf_dev_detach(gdev);
return 0;
}Ashwini Dubey(deleted)2012-11-27T07:01:57Zpost96507: RE: Unable to launch io-graphicsDerek Leachhttp://community.qnx.com/sf/go/post965072012-10-22T12:25:21Z2012-10-22T12:25:21ZGood :)
-----Original Message-----
From: KB [mailto:community-noreply@qnx.com]
Sent: October-19-12 2:08 AM
To: advanced-graphics
Subject: Re: Unable to launch io-graphics
Never mind this issue is solved.
For further information check on this topic : http://www.openqnx.com/phpbbforum/viewtopic.php?f=8&t=13205
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post96441
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2012-10-22T12:25:21Zpost96505: RE: Unable to launch io-graphicsDerek Leachhttp://community.qnx.com/sf/go/post965052012-10-22T12:08:29Z2012-10-22T12:08:29ZDo you have a /usr/photon/font_repository on your target?
-----Original Message-----
From: KB [mailto:community-noreply@qnx.com]
Sent: October-15-12 9:35 AM
To: advanced-graphics
Subject: Unable to launch io-graphics
Hi,
I'm trying to run a small photon application on my embedded system (for instance phcalc).
Here's my issue :
I am able to run io-display, see my display.conf :
# My PCI
device {
drivername=lx800
vid=0x1022
did=0x2081
deviceindex=0
display {
xres=1024
yres=768
refresh=60
pixel_format=argb8888
}
}
I am able to run vsync.
I can't launch demo-alpha > sloginfo :
When I run io-graphics I've got the following error :
Oct 15 15:07:47 6 8 0 Primary active: 0 9 7
Oct 15 15:07:58 6 8 0 VGA primary : bus 0x0 dev/func 0x9
Oct 15 15:07:58 6 8 0 Found 1 PCI/AGP display devices
Oct 15 15:07:58 6 8 0 pci_init: found PCI device 1022:2081
Oct 15 15:07:58 6 8 0 No config file specified
Oct 15 15:07:59 6 8 0 Primary active: 0 9 7
Il I launch Photon binary and then phcalc (for example), I have :
"unable to attach to font server, pf_attach() : No such file or directory"
"Ap: Unable to locate Photon (2)"
If I run phfont I have : "PfAttachLocalDllArgv() : Invalid argument "
and the following slog :
Oct 15 15:07:59 6 8 0 Primary active: 0 9 7
Oct 15 15:12:42 1 8 0 phfont: init...
Oct 15 15:12:42 1 8 0 phfont: unable to load font extension rules
If I run ph script I have : "Unable to start graphics driver(s)"
and the followin slog :
Oct 15 15:16:46 1 8 0 phfont.so: init...
Oct 15 15:16:46 1 8 0 phfont.so: unable to load font extension rules
Oct 15 15:16:46 2 8 0 io-graphics: FAIL PfAttachLocalDll(): Invalid argument, please verify font server configuration.
Oct 15 15:16:46 2 8 0 fontserver_setup()
My script is attached. My environment variables are defined hereafter :
HOME=/
PATH=/proc/boot:/bin:/usr/bin:/usr/sbin:/sbin:/APD:/usr/photon/bin
LD_LIBRARY_PATH=/proc/boot:/lib:/usr/lib:/lib/dll
PHOTON_PATH=/usr/photon
PHOTON2_PATH=/usr/photon
PHOTON=/dev/photon
PHFONT=/dev/phfont
setconf _CS_LIBPATH :/proc/boot:/lib/dll:/dev/shmem:/lib:/usr/lib:/lib/dll:/lib/dll/font:/usr/photon/lib
I'm running QNX 6.5.0. My board is a Rhodeus Geode (AMD 500Mghz) : http://www.diamondsystems.com/products/rhodeus
My starting point was this official BSP : http://community.qnx.com/sf/wiki/do/viewPage/projects.bsp/wiki/AmdGeodeLxdb800
But I had to change things (surcvh as realtek driver)...
I use devg-lx800.so graphic library.
Any help would be appreciated.
Thanks.
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post96328
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2012-10-22T12:08:29Zpost96441: Re: Unable to launch io-graphicsKB(deleted)http://community.qnx.com/sf/go/post964412012-10-19T06:08:24Z2012-10-19T06:08:24ZNever mind this issue is solved.
For further information check on this topic : http://www.openqnx.com/phpbbforum/viewtopic.php?f=8&t=13205KB(deleted)2012-10-19T06:08:24Zpost96328: Unable to launch io-graphicsKB(deleted)http://community.qnx.com/sf/go/post963282012-10-15T13:35:13Z2012-10-15T13:35:13ZHi,
I'm trying to run a small photon application on my embedded system (for instance phcalc).
Here's my issue :
I am able to run io-display, see my display.conf :
# My PCI
device {
drivername=lx800
vid=0x1022
did=0x2081
deviceindex=0
display {
xres=1024
yres=768
refresh=60
pixel_format=argb8888
}
}
I am able to run vsync.
I can't launch demo-alpha > sloginfo :
When I run io-graphics I've got the following error :
Oct 15 15:07:47 6 8 0 Primary active: 0 9 7
Oct 15 15:07:58 6 8 0 VGA primary : bus 0x0 dev/func 0x9
Oct 15 15:07:58 6 8 0 Found 1 PCI/AGP display devices
Oct 15 15:07:58 6 8 0 pci_init: found PCI device 1022:2081
Oct 15 15:07:58 6 8 0 No config file specified
Oct 15 15:07:59 6 8 0 Primary active: 0 9 7
Il I launch Photon binary and then phcalc (for example), I have :
"unable to attach to font server, pf_attach() : No such file or directory"
"Ap: Unable to locate Photon (2)"
If I run phfont I have : "PfAttachLocalDllArgv() : Invalid argument "
and the following slog :
Oct 15 15:07:59 6 8 0 Primary active: 0 9 7
Oct 15 15:12:42 1 8 0 phfont: init...
Oct 15 15:12:42 1 8 0 phfont: unable to load font extension rules
If I run ph script I have : "Unable to start graphics driver(s)"
and the followin slog :
Oct 15 15:16:46 1 8 0 phfont.so: init...
Oct 15 15:16:46 1 8 0 phfont.so: unable to load font extension rules
Oct 15 15:16:46 2 8 0 io-graphics: FAIL PfAttachLocalDll(): Invalid argument, please verify font server configuration.
Oct 15 15:16:46 2 8 0 fontserver_setup()
My script is attached. My environment variables are defined hereafter :
HOME=/
PATH=/proc/boot:/bin:/usr/bin:/usr/sbin:/sbin:/APD:/usr/photon/bin
LD_LIBRARY_PATH=/proc/boot:/lib:/usr/lib:/lib/dll
PHOTON_PATH=/usr/photon
PHOTON2_PATH=/usr/photon
PHOTON=/dev/photon
PHFONT=/dev/phfont
setconf _CS_LIBPATH :/proc/boot:/lib/dll:/dev/shmem:/lib:/usr/lib:/lib/dll:/lib/dll/font:/usr/photon/lib
I'm running QNX 6.5.0. My board is a Rhodeus Geode (AMD 500Mghz) : http://www.diamondsystems.com/products/rhodeus
My starting point was this official BSP : http://community.qnx.com/sf/wiki/do/viewPage/projects.bsp/wiki/AmdGeodeLxdb800
But I had to change things (surcvh as realtek driver)...
I use devg-lx800.so graphic library.
Any help would be appreciated.
Thanks.KB(deleted)2012-10-15T13:35:13Zpost95938: Re: RE: devi-hid for armle-v7Philip Endayahttp://community.qnx.com/sf/go/post959382012-10-01T03:24:56Z2012-10-01T03:24:56Zdevi-hid for armle-v7 is available from QNX 6.5.0 SP1Philip Endaya2012-10-01T03:24:56Zpost95905: Re: RE: BITMAPV5HEADER supportPhilip Endayahttp://community.qnx.com/sf/go/post959052012-09-28T03:43:48Z2012-09-28T03:43:48ZI thought BITMAPV5HEADER has been around for a while since it was supported from Windows 98 onwards. Thanks Derek!Philip Endaya2012-09-28T03:43:48Zpost95876: RE: BITMAPV5HEADER supportDerek Leachhttp://community.qnx.com/sf/go/post958762012-09-27T12:59:06Z2012-09-27T12:59:06Z650 supported v4, which was the latest at the initial 650 time of release.
-----Original Message-----
From: Philip Endaya [mailto:community-noreply@qnx.com]
Sent: September-27-12 2:51 AM
To: advanced-graphics
Subject: BITMAPV5HEADER support
Hi,
After some bmp codec soure code digging (bmp.h), it seems that QNX 6.5.0 only supports up to BITMAPV4HEADER but according to QNX documentation it provides full Microsoft BMP support for all known variants (http://www.qnx.com/developers/docs/6.5.0/index.jsp?topic=/com.qnx.doc.gf_dev_guide/images.html). Can someone confirm this?
BR,
Philip
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post95870
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2012-09-27T12:59:06Zpost95870: BITMAPV5HEADER supportPhilip Endayahttp://community.qnx.com/sf/go/post958702012-09-27T06:50:31Z2012-09-27T06:50:31ZHi,
After some bmp codec soure code digging (bmp.h), it seems that QNX 6.5.0 only supports up to BITMAPV4HEADER but according to QNX documentation it provides full Microsoft BMP support for all known variants (http://www.qnx.com/developers/docs/6.5.0/index.jsp?topic=/com.qnx.doc.gf_dev_guide/images.html). Can someone confirm this?
BR,
PhilipPhilip Endaya2012-09-27T06:50:31Zpost95434: RE: libffb.so Issues on Poulsbo BoardDerek Leachhttp://community.qnx.com/sf/go/post954342012-09-07T12:39:58Z2012-09-07T12:39:58ZOk, glad you got it going.
-----Original Message-----
From: Joe Thompson [mailto:community-noreply@qnx.com]
Sent: September-06-12 3:29 PM
To: advanced-graphics
Subject: Re: libffb.so Issues on Poulsbo Board
Must be a driver conflict
I stripped everything I didn't need from the OS and finally got graphics started using the poulsbo driver.
Unfortunately I didn't do this systematically so I have no idea which driver or file was causing the problem
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post95421
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2012-09-07T12:39:58Zpost95433: RE: RE: gf_draw_blit2() - problem with bigger surface sizeDerek Leachhttp://community.qnx.com/sf/go/post954332012-09-07T12:37:54Z2012-09-07T12:37:54ZTrue, but is there any way that another code path could have modified the context?
-----Original Message-----
From: Jacek Rudnicki [mailto:community-noreply@qnx.com]
Sent: September-06-12 5:09 PM
To: advanced-graphics
Subject: Re: RE: gf_draw_blit2() - problem with bigger surface size
I believe that the gf_context_t is inited properly.
Here is a part of code responsible for drawing:
gf_draw_begin (context);
gf_draw_blit2 (context, img_surf, NULL, 0, 0, 639, 479, 0, 0);
gf_draw_flush (context);
gf_draw_end (context);
nothing specific but fails.
When I do a blit2() operation more often but on smaller area then everything is ok:
gf_draw_begin (context);
gf_draw_blit2 (context, img_surf, NULL, 0, 0, BUFLEN*2-1, 0, 0, index*2);
gf_draw_blit2 (context, img_surf, NULL, 0, 0, BUFLEN*2-1, 0, 0, index*2+1);
gf_draw_flush (context);
gf_draw_end (context);
BUFLEN is defined as 320.
In both examples img_suf is connected with the same 640x480 target area.
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post95423
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2012-09-07T12:37:54Zpost95426: Re: RE: gf_draw_blit2() - problem with bigger surface sizeMike Gorchak(deleted)http://community.qnx.com/sf/go/post954262012-09-07T08:15:36Z2012-09-07T08:15:36Z> I believe that the gf_context_t is inited properly.
>
> Here is a part of code responsible for drawing:
> gf_draw_begin (context);
> gf_draw_blit2 (context, img_surf, NULL, 0, 0, 639, 479, 0, 0);
> gf_draw_flush (context);
> gf_draw_end (context);
> nothing specific but fails.>
> When I do a blit2() operation more often but on smaller area then everything
> is ok:
> gf_draw_begin (context);
> gf_draw_blit2 (context, img_surf, NULL, 0, 0, BUFLEN*2-1, 0, 0, index*2);
> gf_draw_blit2 (context, img_surf, NULL, 0, 0, BUFLEN*2-1, 0, 0, index*2+1);
>
> gf_draw_flush (context);
> gf_draw_end (context);
> BUFLEN is defined as 320.
>
> In both examples img_suf is connected with the same 640x480 target area.
Hi,
What will happen in case of using static picture in img_surf, like previous captured frame?
Thanks.Mike Gorchak(deleted)2012-09-07T08:15:36Zpost95423: Re: RE: gf_draw_blit2() - problem with bigger surface sizeJacek Rudnicki(deleted)http://community.qnx.com/sf/go/post954232012-09-06T21:09:23Z2012-09-06T21:09:23ZI believe that the gf_context_t is inited properly.
Here is a part of code responsible for drawing:
gf_draw_begin (context);
gf_draw_blit2 (context, img_surf, NULL, 0, 0, 639, 479, 0, 0);
gf_draw_flush (context);
gf_draw_end (context);
nothing specific but fails.
When I do a blit2() operation more often but on smaller area then everything is ok:
gf_draw_begin (context);
gf_draw_blit2 (context, img_surf, NULL, 0, 0, BUFLEN*2-1, 0, 0, index*2);
gf_draw_blit2 (context, img_surf, NULL, 0, 0, BUFLEN*2-1, 0, 0, index*2+1);
gf_draw_flush (context);
gf_draw_end (context);
BUFLEN is defined as 320.
In both examples img_suf is connected with the same 640x480 target area.Jacek Rudnicki(deleted)2012-09-06T21:09:23Zpost95421: Re: libffb.so Issues on Poulsbo BoardJoe Thompson(deleted)http://community.qnx.com/sf/go/post954212012-09-06T19:28:32Z2012-09-06T19:28:32ZMust be a driver conflict
I stripped everything I didn't need from the OS and finally got graphics started using the poulsbo driver.
Unfortunately I didn't do this systematically so I have no idea which driver or file was causing the problemJoe Thompson(deleted)2012-09-06T19:28:32Zpost95386: RE: gf_draw_blit2() - problem with bigger surface sizeDerek Leachhttp://community.qnx.com/sf/go/post953862012-09-05T12:40:41Z2012-09-05T12:40:41ZSomeone here fixed something similar in another unrelated piece of software, where the gf_context_t was not inited properly, and we were getting similar behaviour.
-----Original Message-----
From: Mike Gorchak [mailto:community-noreply@qnx.com]
Sent: September-05-12 1:48 AM
To: advanced-graphics
Subject: Re: gf_draw_blit2() - problem with bigger surface size
> Does mean that hardware is too slow ?
Maybe, do you using plain blit2 or with additional context flags enabled, like chroma, etc?
> Or maybe I'm doing something wrong ?
I've seen similar behavior when forgot to use flush at the end of picture rendering in case if you have mixed environment, like software+hardware operations on the same surface. Two or more consecutive blit2()s without flush() can be optimized by hardware, you will get the last blit2() result.
There are few possible issues:
1) You are not using flush() for blit2() operation. And blit2() is the only function which is called. Hardware will take video memory content for blitting in asynchronous way. For example, 1/1000 of sec is a delay between command to graphics controller has been issued and real blit2() execution in hardware. But in next 1/100000 sec you will get 3-4 optimized blit2() operations, while content of video memory was changed partially.
2) In the same time your application can use some graphics operations which are implemented in software. For example, output of some text and picture to the same surface. This is a race condition between software text rendering and hardware blit2(), so some strange visible artifacts could be observed. It depends on a GPU caching policy. So correct operations sequence will be blit2() -> flush() -> put_text("FPS: %d").
3) You are updating your video frame content asynchronously comparing to blit2() operation. For example, there is possible such situation: two tasks are not synchronized, one is filling data which it obtains from camera and second one is doing blit2() + flush(). Due to asynchronous nature of GPU, it can execute blit2() in the same time when changing of video frame content is in process. In such case double buffering for managing video stream will be a solution.
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post95374
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2012-09-05T12:40:41Zpost95374: Re: gf_draw_blit2() - problem with bigger surface sizeMike Gorchakhttp://community.qnx.com/sf/go/post953742012-09-05T05:47:36Z2012-09-05T05:47:36Z> Does mean that hardware is too slow ?
Maybe, do you using plain blit2 or with additional context flags enabled, like chroma, etc?
> Or maybe I'm doing something wrong ?
I've seen similar behavior when forgot to use flush at the end of picture rendering in case if you have mixed environment, like software+hardware operations on the same surface. Two or more consecutive blit2()s without flush() can be optimized by hardware, you will get the last blit2() result.
There are few possible issues:
1) You are not using flush() for blit2() operation. And blit2() is the only function which is called. Hardware will take video memory content for blitting in asynchronous way. For example, 1/1000 of sec is a delay between command to graphics controller has been issued and real blit2() execution in hardware. But in next 1/100000 sec you will get 3-4 optimized blit2() operations, while content of video memory was changed partially.
2) In the same time your application can use some graphics operations which are implemented in software. For example, output of some text and picture to the same surface. This is a race condition between software text rendering and hardware blit2(), so some strange visible artifacts could be observed. It depends on a GPU caching policy. So correct operations sequence will be blit2() -> flush() -> put_text("FPS: %d").
3) You are updating your video frame content asynchronously comparing to blit2() operation. For example, there is possible such situation: two tasks are not synchronized, one is filling data which it obtains from camera and second one is doing blit2() + flush(). Due to asynchronous nature of GPU, it can execute blit2() in the same time when changing of video frame content is in process. In such case double buffering for managing video stream will be a solution.Mike Gorchak2012-09-05T05:47:36Zpost95372: libffb.so Issues on Poulsbo BoardJoe Thompson(deleted)http://community.qnx.com/sf/go/post953722012-09-04T21:43:34Z2012-09-04T21:43:34ZHardware: Congatec Conga-CA COM Express module (Intel Atom Z510/Intel US15W)
Trying to bring graphics up on this board using the generic X86 bsp. Started off with the OEM supplied bsp but now am running into the same issue.
As soon as I add the libffb.so driver to the OS, the board will no longer boot and I am left looking at a display of shifting colors. The crash is before anything is running on the system so I can't get any log information or debug information.
Have tried using io-display with both the Poulsbo graphics driver and the generic vesabios, the problem appears to be in the common libffb though so I'm stuck at a dead-end... Will be embarrassing to have to resort to a text-based gui!
Has anybody managed to get graphics support working on an Atom-based board?Joe Thompson(deleted)2012-09-04T21:43:34Zpost95236: Sharing interruptsJacek Rudnicki(deleted)http://community.qnx.com/sf/go/post952362012-08-28T20:48:26Z2012-08-28T20:48:26ZIn the our system a video stream is received from Ethernet device.
And then when the all data is already collected picture is displayed.
Can a shared interrupt of the ethernet and graphics controller
have an impact for application performance:
io-pkt-v4-hc --> irq5,
io-graphics / io-display --> irq5
?
Or better idea is to separate interrupts for both devices i.e. :
io-pkt-v4-hc --> irq5,
io-graphics / io-display --> irq10
?Jacek Rudnicki(deleted)2012-08-28T20:48:26Zpost94943: Re: gf_draw_blit2() - problem with bigger surface sizeJacek Rudnicki(deleted)http://community.qnx.com/sf/go/post949432012-08-19T17:27:15Z2012-08-19T17:27:15ZI have attached picture that shows a black area.
Rest from image lines are displayed properly.
Has anybody idea whay these black lines are visible and how can I get rid of them ?Jacek Rudnicki(deleted)2012-08-19T17:27:15Zpost94942: gf_draw_blit2() - problem with bigger surface sizeJacek Rudnicki(deleted)http://community.qnx.com/sf/go/post949422012-08-19T12:52:09Z2012-08-19T12:52:09ZIn my application I had to call the gf_draw_blit2() very often.
When size of the image is 320x240:
gf_draw_blit2 (context, img_surf, NULL, 0, 0, 319, 239, 0, 0);
then everything works fine.
When size of the image is 640x480
gf_draw_blit2 (context, img_surf, NULL, 0, 0, 639, 479, 0, 0);
several consecutive lines in the window are black (not rendered at all).
Does mean that hardware is too slow ?
Or maybe I'm doing something wrong ?
I'm testing against the devg-i830.so driver (Device Id: 0x2582).Jacek Rudnicki(deleted)2012-08-19T12:52:09Zpost94734: Re: Sample of image loading in libimgFederico Vidueirohttp://community.qnx.com/sf/go/post947342012-08-09T19:54:52Z2012-08-09T19:54:52ZI'm also having troubles with libimg. After adding libimg the app crash when I execute
if (BPS_SUCCESS != screen_request_events(screen_cxt))
Any idea? I added the -limg on linking stage, its ok?
ThanksFederico Vidueiro2012-08-09T19:54:52Zpost94680: RE: Combining GF and Photon togetherDerek Leachhttp://community.qnx.com/sf/go/post946802012-08-07T16:57:38Z2012-08-07T16:57:38ZYes, in the Foundry27 Graphics project, there is examples showing this.
-----Original Message-----
From: Jacek Rudnicki [mailto:community-noreply@qnx.com]
Sent: August-07-12 12:56 PM
To: advanced-graphics
Subject: Combining GF and Photon together
There is native application written under Photon and similar program that uses Graphics Framework API.
How to mix them together ?
Is there any documentation which describes such process ?
Jacek
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post94679
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2012-08-07T16:57:38Zpost94679: Combining GF and Photon togetherJacek Rudnicki(deleted)http://community.qnx.com/sf/go/post946792012-08-07T16:55:56Z2012-08-07T16:55:56ZThere is native application written under Photon and similar program that uses Graphics Framework API.
How to mix them together ?
Is there any documentation which describes such process ?
JacekJacek Rudnicki(deleted)2012-08-07T16:55:56Zpost94678: Re: Migration from Photon to GFJacek Rudnicki(deleted)http://community.qnx.com/sf/go/post946782012-08-07T16:51:52Z2012-08-07T16:51:52ZI have successfully generated 8-bits gray palette as follows:
gf_palette_t palette;
gf_color_t g8pal[256];
...
for (i = 0; i < 256; i++) {
g8pal[i] = (0xff << 24) | ((i & 0xff) << 16) | ((i & 0xff) << 8) | (i & 0xff);
}
palette.ncolors = 256;
palette.colors = (gf_color_t*)g8pal;
It works fine with rgb565 format for io-display.Jacek Rudnicki(deleted)2012-08-07T16:51:52Zpost94659: Re: Migration from Photon to GFJacek Rudnicki(deleted)http://community.qnx.com/sf/go/post946592012-08-06T20:00:03Z2012-08-06T20:00:03ZI have changed pixel_format in the display.conf file from "rgb565" onto "pal8" value.
Now the gf_draw_blit2() works while with "rgb565" screen is dark all the time.
Picture is visible but colors are not correct.
I wonder how to generate 8-bits gray palette under GF ?Jacek Rudnicki(deleted)2012-08-06T20:00:03Zpost94656: Re: Migration from Photon to GFRichard Soden(deleted)http://community.qnx.com/sf/go/post946562012-08-06T09:40:28Z2012-08-06T09:40:28ZI am having the same problem, I can't find 'g8pal'. It looks like it should be a pointer to a palette of type 'img_color_t' which is just an integer. So what should the g8pal palette look like. I am new to QNX and GF graphics and am finding it hard to get things working as a lot of info is missing from QNX examples.Richard Soden(deleted)2012-08-06T09:40:28Zpost94650: Migration from Photon to GFJacek Rudnicki(deleted)http://community.qnx.com/sf/go/post946502012-08-05T20:28:59Z2012-08-05T20:28:59ZHi,
Application is responsible for displaying data (8-bits/pixel graymap). Data is received from Ethernet interface and displayed when image is complete (all frames were already gathered).
Under Photon as solution I use PhCreateImage() and PgDrawPhImage() functions.
BTW Is there any other way in order to achive a better performane in Photon ?
It's time to move to GF.
In the "Working with Images" chapter there is a following code:
palette.ncolors = 256;
palette.colors = (img_color_t*)g8pal;
but compiler says that g8pal is undefined. How can I use this ?
Should I generate array of colors itself (in similar way that was done under Photon, PgSetPalette()) ?
What function should I use under GF as equivalent ?
I found the gf_draw_image() but this function doesn't support GF_FORMAT_PAL8...
Regards,
JacekJacek Rudnicki(deleted)2012-08-05T20:28:59Zpost94376: Re: RE: RE: RE: Displaying layer 0 gf graphics with Photon in layer 1?Don Meyerhttp://community.qnx.com/sf/go/post943762012-07-20T21:55:39Z2012-07-20T21:55:39ZOk, thanks Derek. I've given the test code we're using to support, hopefully they can come up with some examples of how to make this work.
Thanks again,
DonDon Meyer2012-07-20T21:55:39Zpost94366: RE: RE: RE: Displaying layer 0 gf graphics with Photon in layer 1?Derek Leachhttp://community.qnx.com/sf/go/post943662012-07-20T13:00:31Z2012-07-20T13:00:31ZOk, it looks like the imx51/53 driver supports this, please send your test case through support.
-----Original Message-----
From: Don Meyer [mailto:community-noreply@qnx.com]
Sent: July-19-12 6:53 PM
To: advanced-graphics
Subject: Re: RE: RE: Displaying layer 0 gf graphics with Photon in layer 1?
This is on an iMX53 eval board, the graphics are those integrated into the Cortex chip. It does support two layers in hardware, and we have Photon running on layer 1 (versus the default layer 0).
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post94353
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2012-07-20T13:00:31Zpost94353: Re: RE: RE: Displaying layer 0 gf graphics with Photon in layer 1?Don Meyerhttp://community.qnx.com/sf/go/post943532012-07-19T22:52:59Z2012-07-19T22:52:59ZThis is on an iMX53 eval board, the graphics are those integrated into the Cortex chip. It does support two layers in hardware, and we have Photon running on layer 1 (versus the default layer 0).Don Meyer2012-07-19T22:52:59Zpost94349: RE: RE: Displaying layer 0 gf graphics with Photon in layer 1?Derek Leachhttp://community.qnx.com/sf/go/post943492012-07-19T19:35:35Z2012-07-19T19:35:35ZYou are attaching to the same layer as Photon? What graphics chipset are you using?
-----Original Message-----
From: Don Meyer [mailto:community-noreply@qnx.com]
Sent: July-19-12 2:53 PM
To: advanced-graphics
Subject: Re: RE: Displaying layer 0 gf graphics with Photon in layer 1?
Thanks for the reply. I did post essentially the same question in the Photon forum, and then posted it here today as I hadn't gotten any responses there yet. Not certian which form is most appropriate for this question - it seems to span both.
I've gotten a similar suggestion from tech support (although with less detail, more of a general direction). I've been going this way, so good to know that I'm on the right path.
Not having much luck however.
I'm attaching to the layer that Photon is using with a passive attach. Then, I set the chroma:
gf_chroma_t chroma;
chroma.mode = GF_CHROMA_OP_SRC_MATCH | GF_CHROMA_OP_NO_DRAW;
chroma.color0 = 0xff0000;
chroma.color1 = 0; // unused
gf_layer_set_chroma( layer, &chroma );
gf_layer_update( layer, 0 );
After that is done, we create our window and a PtOSContainer, whose background is set to full red.
That red background is still drawing however.
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post94348
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2012-07-19T19:35:35Zpost94348: Re: RE: Displaying layer 0 gf graphics with Photon in layer 1?Don Meyerhttp://community.qnx.com/sf/go/post943482012-07-19T18:53:07Z2012-07-19T18:53:07ZThanks for the reply. I did post essentially the same question in the Photon forum, and then posted it here today as I hadn't gotten any responses there yet. Not certian which form is most appropriate for this question - it seems to span both.
I've gotten a similar suggestion from tech support (although with less detail, more of a general direction). I've been going this way, so good to know that I'm on the right path.
Not having much luck however.
I'm attaching to the layer that Photon is using with a passive attach. Then, I set the chroma:
gf_chroma_t chroma;
chroma.mode = GF_CHROMA_OP_SRC_MATCH | GF_CHROMA_OP_NO_DRAW;
chroma.color0 = 0xff0000;
chroma.color1 = 0; // unused
gf_layer_set_chroma( layer, &chroma );
gf_layer_update( layer, 0 );
After that is done, we create our window and a PtOSContainer, whose background is set to full red.
That red background is still drawing however.Don Meyer2012-07-19T18:53:07Zpost94346: RE: Displaying layer 0 gf graphics with Photon in layer 1?Derek Leachhttp://community.qnx.com/sf/go/post943462012-07-19T17:50:08Z2012-07-19T17:50:08ZI just answer a similar question in the Photon forum:
I have not done this approach lately, but try these suggestions. You could set the fill colour to Pg_TRANSPARENT,
unless you are using a PtOSContainer.
Now, I think this is the better approach here:
If you are using a PtOSContainer, set the fill colour to something not common,
then set the chroma on the layer to that value, and no draw.
-----Original Message-----
From: Don Meyer [mailto:community-noreply@qnx.com]
Sent: July-19-12 1:33 PM
To: advanced-graphics
Subject: Displaying layer 0 gf graphics with Photon in layer 1?
Is there any way to have Photon's background either not be drawn, or drawn as "transparent"?
I'm trying to render some graphics on layer 0 using the gf library, and have some Photon objects overlay them, with Photon on layer 1.
The problem is, Photon draws a background which totally obscures what's rendered on layer 0.
Thanks!
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post94343
To cancel your subscription to this discussion, please e-mail advanced-graphics-unsubscribe@community.qnx.comDerek Leach2012-07-19T17:50:08Zpost94343: Displaying layer 0 gf graphics with Photon in layer 1?Don Meyerhttp://community.qnx.com/sf/go/post943432012-07-19T17:32:30Z2012-07-19T17:32:30ZIs there any way to have Photon's background either not be drawn, or drawn as "transparent"?
I'm trying to render some graphics on layer 0 using the gf library, and have some Photon objects overlay them, with Photon on layer 1.
The problem is, Photon draws a background which totally obscures what's rendered on layer 0.
Thanks!Don Meyer2012-07-19T17:32:30Zpost93716: Re: Sample of image loading in libimgMegha Sanghvihttp://community.qnx.com/sf/go/post937162012-06-18T09:05:17Z2012-06-18T09:05:17ZHi,
I successfully make a sample application of image loading using libimg. Now i want to is it possible to do image editing feature using Limbing. If yes then any documentation or source for this.Megha Sanghvi2012-06-18T09:05:17Zpost93684: Sample of image loading in libimgMegha Sanghvihttp://community.qnx.com/sf/go/post936842012-06-15T05:37:57Z2012-06-15T05:37:57ZHi,
I am new to QNX development. Currently i am developing Native application for BB10 in which i come to work with QNX native. I want to do image editing in native can anyone help me how can i achieve this?
I tried to find libimg library but not get that much help. I make a sample application using libimg where i load the image but gives many error.
I attached my source code for the same to load the image please help me on this.Megha Sanghvi2012-06-15T05:37:57Zpost93239: Re: Problem for gf-calibMalte Mundthttp://community.qnx.com/sf/go/post932392012-05-22T10:28:00Z2012-05-22T10:28:00Z> I am using TI beagle-board. When I use gf-calib for calibration of my touch
> screen, the following message displays:
> # gf-calib
> Number of layers: 3
> Resolution: 720x400, refresh = 60Hz
> layer_idx=0
> gf_cursor_set(): error = 7
>
> I have no idea how to solve it. Any help?
Try the -D option. Also, you need to have "img.conf" under /etc/system/config, plus the img_codec so's in your library path.
- MalteMalte Mundt2012-05-22T10:28:00Zpost92952: Problem for gf-calibDavid Yanghttp://community.qnx.com/sf/go/post929522012-05-11T01:55:53Z2012-05-11T01:55:53ZI am using TI beagle-board. When I use gf-calib for calibration of my touch screen, the following message displays:
# gf-calib
Number of layers: 3
Resolution: 720x400, refresh = 60Hz
layer_idx=0
gf_cursor_set(): error = 7
I have no idea how to solve it. Any help?David Yang2012-05-11T01:55:53Zpost91489: Re: Source code of vsync?Devan Lippman(deleted)http://community.qnx.com/sf/go/post914892012-02-10T19:54:08Z2012-02-10T19:54:08ZbumpDevan Lippman(deleted)2012-02-10T19:54:08Zpost91261: Re: ScreenShot in GFDevan Lippman(deleted)http://community.qnx.com/sf/go/post912612012-01-31T22:18:58Z2012-01-31T22:18:58ZHi John,
Did you ever find an answer to this? Looks like I'm following down the same road now.
Thanks,
DevanDevan Lippman(deleted)2012-01-31T22:18:58Zpost90739: How to Repair damage to proportional text in Graphics Framework ?Karthik Kannan(deleted)http://community.qnx.com/sf/go/post907392011-12-22T11:11:49Z2011-12-22T11:11:49ZHi ,
When dealing with proportional fonts, sometimes the vectors of one glyph
run into the vectors of another. This is especially evident when using a
font such as Nuptial BT. We need to take special care when repairing
damage to such fonts.
PfExtentTextCharPositions()
<http://www.qnx.com/developers/docs/6.4.1/photon/lib_ref/pf/pfextenttext
charpositions.html> addresses this issue in Photon environment. This
position is where you should draw the next character.
If you use the PF_CHAR_DRAW_POSITIONS flag, the bearing x of the
following character isn't applied to the position, which is useful when
you're placing cursors.
What is the equivalent on PfExtentTextCharPositions()
<http://www.qnx.com/developers/docs/6.4.1/photon/lib_ref/pf/pfextenttext
charpositions.html> in Graphics Framework ?
Please let me know regarding this.
Thanks,
Karthik Kannan M
General Electric - TransportationKarthik Kannan(deleted)2011-12-22T11:11:49Zpost90709: Re: RE: Can't load driver dllNicolas Pinaulthttp://community.qnx.com/sf/go/post907092011-12-21T07:56:15Z2011-12-21T07:56:15ZChristophe,
You were right, the problem was with another library included in devg-flat.so that was not present in the library path.
Thanks a lot for your valuable help.
Regards,
NicolasNicolas Pinault2011-12-21T07:56:15Zpost90694: RE: Can't load driver dllChristophe Hannoyerhttp://community.qnx.com/sf/go/post906942011-12-20T16:42:37Z2011-12-20T16:42:37ZHello,
Probably the problem was not with your library but with another one included with your library.
Try this:
# DL_DEBUG=1 io-display -c /mnt/sdhc/gf/display.conf -d vid=0x10ee,did=0x6024
And check the missing library.
Christophe Hannoyer
-----Message d'origine-----
De : Nicolas Pinault [mailto:community-noreply@qnx.com]
Envoyé : mardi 20 décembre 2011 17:11
À : advanced-graphics
Objet : Can't load driver dll
Hello,
I'm trying to run graphics on my system (Freescale P4080 PowerPC). I'm using a self made driverl derived from devg-flat.
To run my driver, I do the folowing :
# io-display -c /mnt/sdhc/gf/display.conf -d vid=0x10ee,did=0x6024 Could not initialize device "vid=0x10ee,did=0x6024": No such file or directory Check 'sloginfo' output for more details io-display failed to initialise
# sloginfo -c
Time Sev Major Minor Args
Aug 02 01:41:36 2 8 200 devg-flat.so: gfpr_dlopen: Library cannot be found
Here is the display.conf file content :
device {
drivername=flat
vid=0x10ee
did=0x6024
deviceindex=0
memopts=/mnt/sdhc/gf/flat.conf
display {
xres=1920
yres=1080
refresh=30
pixel_format=argb8888
}
}
The driver devg-flat.so is in /mnt/sdhc/lib which is added to LD_LIBRARY_PATH. It is also added to procnto LD_LIBRARY_PATH in build file.
I spent hours to find why the library is not found.
Can anybody help me ?
Regards,
Nicolas
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post90693Christophe Hannoyer2011-12-20T16:42:37Zpost90693: Can't load driver dllNicolas Pinaulthttp://community.qnx.com/sf/go/post906932011-12-20T16:11:25Z2011-12-20T16:11:25ZHello,
I'm trying to run graphics on my system (Freescale P4080 PowerPC). I'm using a self made driverl derived from devg-flat.
To run my driver, I do the folowing :
# io-display -c /mnt/sdhc/gf/display.conf -d vid=0x10ee,did=0x6024
Could not initialize device "vid=0x10ee,did=0x6024": No such file or directory
Check 'sloginfo' output for more details
io-display failed to initialise
# sloginfo -c
Time Sev Major Minor Args
Aug 02 01:41:36 2 8 200 devg-flat.so: gfpr_dlopen: Library cannot be found
Here is the display.conf file content :
device {
drivername=flat
vid=0x10ee
did=0x6024
deviceindex=0
memopts=/mnt/sdhc/gf/flat.conf
display {
xres=1920
yres=1080
refresh=30
pixel_format=argb8888
}
}
The driver devg-flat.so is in /mnt/sdhc/lib which is added to LD_LIBRARY_PATH. It is also added to procnto LD_LIBRARY_PATH in build file.
I spent hours to find why the library is not found.
Can anybody help me ?
Regards,
NicolasNicolas Pinault2011-12-20T16:11:25Zpost90683: Re: RE: devi-hid for armle-v7KUBIT Stéphane(deleted)http://community.qnx.com/sf/go/post906832011-12-19T15:04:55Z2011-12-19T15:04:55ZDo you solve you problem ?
Have you got devi-hid for armle-v7 ?
thanks, regardsKUBIT Stéphane(deleted)2011-12-19T15:04:55Zpost90352: Bitmap copy from src device context to dst contextZahira Ammarguellathttp://community.qnx.com/sf/go/post903522011-11-29T22:23:54Z2011-11-29T22:23:54ZHello,
I need to copy an entire frame buffer (src) to the screen (dst). Would the function PgContextBlitArea() do the trick?
Any help is appreciated.
Thanks,
-ZahiraZahira Ammarguellat2011-11-29T22:23:54Zpost89931: Video Display from memory bufferFelipe Santanahttp://community.qnx.com/sf/go/post899312011-11-08T10:39:20Z2011-11-08T10:39:20ZHi,
I am trying to display a video from a memory buffer into my display.
I will be using the Beagle BSP for OMAP3730.
Is there any functionality on GF to display video from the memory buffer?
Thanks in advance!Felipe Santana2011-11-08T10:39:20Zpost89653: RE: RE: mmap_peer and mmap64_peer - Undefined reference errorSteve Reidhttp://community.qnx.com/sf/go/post896532011-10-26T16:53:13Z2011-10-26T16:53:13ZThose functions were written for some custom work and were never included in a general product release. The technote was erroneously included in the documentation, but has since been removed.
Steve Reid (stever@qnx.com)
Technical Editor
QNX Software Systems
-----Original Message-----
From: Nikshep Patil [mailto:community-noreply@qnx.com]
Sent: Wednesday, October 26, 2011 10:29 AM
To: advanced-graphics
Subject: Re: RE: mmap_peer and mmap64_peer - Undefined reference error
Any update on this...?
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post89648Steve Reid2011-10-26T16:53:13Zpost89648: Re: RE: mmap_peer and mmap64_peer - Undefined reference errorNikshep Patilhttp://community.qnx.com/sf/go/post896482011-10-26T14:29:12Z2011-10-26T14:29:12ZAny update on this...?Nikshep Patil2011-10-26T14:29:12Zpost89527: Re: gf_context_set_pattern functionMisha Nefedovhttp://community.qnx.com/sf/go/post895272011-10-21T12:36:47Z2011-10-21T12:36:47ZIf I understand you correctly you should try something like this:
-- disable all ROP operation
-- set fgcolor to your "bgcolor"
-- draw a solid rectangle (gf_draw_rect()) where you need it, let's say @ X,Y
-- set the pattern
-- set the ROP
-- set fgcolor to your "fgcolor"
-- draw a solid rectangle again @ X,YMisha Nefedov2011-10-21T12:36:47Zpost89520: Re: gf_context_set_pattern functionshen xifenghttp://community.qnx.com/sf/go/post895202011-10-21T09:40:02Z2011-10-21T09:40:02ZHi Misha,
thanks for your help.
I have an another question, how can I use this 8x8 value combine with ROPs(gf_context_set_rop());
for example,
I want to draw an 8x8 rectangle and set all the needed values like this,
mypattern[8] = {0x00, 0x44, 0x00,0x11, 0x00,0x44, 0x00,0x11 };
fgcolor: 0xFFFF0000
bgcolor: 0xFF0000FF
rop: GF_ROP_PDSnaon
what is the formula to get the result ?shen xifeng2011-10-21T09:40:02Zpost89492: Re: RE: mmap_peer and mmap64_peer - Undefined reference errorNikshep Patilhttp://community.qnx.com/sf/go/post894922011-10-20T14:44:32Z2011-10-20T14:44:32ZThanks Thomas.
Does that mean I cannot use the mmap_peer()/mmap64_peer() anymore...?
Is there an alternative to these functions in 6.5...?
I see this documentation on mmap_peer functions -
http://www.qnx.com/developers/docs/6.4.1/neutrino/technotes/mmap_and_munmap_peer.htmlNikshep Patil2011-10-20T14:44:32Zpost89490: RE: mmap_peer and mmap64_peer - Undefined reference errorThomas Haupthttp://community.qnx.com/sf/go/post894902011-10-20T14:38:07Z2011-10-20T14:38:07ZI may be mistaken, but I believe they aren't part of libc any more in 6.5.
Regards,
Thomas
-----Original Message-----
From: Nikshep Patil [mailto:community-noreply@qnx.com]
Sent: Donnerstag, 20. Oktober 2011 16:27
To: advanced-graphics
Subject: mmap_peer and mmap64_peer - Undefined reference error
I am trying to use mmap64_peer() in my resource manager.
I get "Undefined reference to mmap64_peer()" error.
Same with mmap_peer().
Including "sys/mman.h" does not help.
What header file/library do I need to include to get mmap64_peer() to work...?
Thank you.
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post89488Thomas Haupt2011-10-20T14:38:07Zpost89488: mmap_peer and mmap64_peer - Undefined reference errorNikshep Patilhttp://community.qnx.com/sf/go/post894882011-10-20T14:27:25Z2011-10-20T14:27:25ZI am trying to use mmap64_peer() in my resource manager.
I get "Undefined reference to mmap64_peer()" error.
Same with mmap_peer().
Including "sys/mman.h" does not help.
What header file/library do I need to include to get mmap64_peer() to work...?
Thank you.Nikshep Patil2011-10-20T14:27:25Zpost89451: Re: gf_context_set_pattern functionMisha Nefedovhttp://community.qnx.com/sf/go/post894512011-10-19T13:38:51Z2011-10-19T13:38:51ZThe pattern is a pointer to an array of characters defining the pattern bitmap.
This array should define an 8X8 single bit/pixel bitmap packing 8 pixels/byte, with no padding.Misha Nefedov2011-10-19T13:38:51Zpost89441: gf_context_set_pattern functionshen xifenghttp://community.qnx.com/sf/go/post894412011-10-19T08:41:37Z2011-10-19T08:41:37ZHi ,
from the help documents, it says the second parameter of this function is pattern which is A pointer to the bitmap containing the pattern.
my question is how can I define the bitmap ?shen xifeng2011-10-19T08:41:37Zpost89358: Source code of vsync?marvin zhu(deleted)http://community.qnx.com/sf/go/post893582011-10-13T07:23:08Z2011-10-13T07:23:08ZI'm trying to showing some picture by using GF, my application seems to be running OK but there is nothing displayed on the screen.
However I run the vsync sample app and it works fine. Is it possible to get the source code of it? Or anybody could tell me about the details of how vsync works.
Your help would be appreciated.marvin zhu(deleted)2011-10-13T07:23:08Zpost88943: Re: RE: devi-hid for armle-v7Yusuf Shirazihttp://community.qnx.com/sf/go/post889432011-09-19T22:11:54Z2011-09-19T22:11:54ZBrian,
Did you ever get anywhere with this? I'm also looking for devi-hid drivers for armle-v7
Thanks!Yusuf Shirazi2011-09-19T22:11:54Zpost88789: Re: Problem with gf_surface_attach()Misha Nefedovhttp://community.qnx.com/sf/go/post887892011-09-12T19:03:20Z2011-09-12T19:03:20ZI recommend posting your code -- so others can look at the code and may spot what the problem is.Misha Nefedov2011-09-12T19:03:20Zpost88787: resolution changeArun Johnsonhttp://community.qnx.com/sf/go/post887872011-09-12T18:15:34Z2011-09-12T18:15:34ZHi,
Can anyone tell me how to change the resolution or display preferences in photon in code? I know “phgrafx” does this. But this is in photon GUI. But I want to implement the same functionality in my code.
In short, I like to know about the ways to reconfigure and restart photon with a new config file, after once the display is already been up.
Thanks,
Arun JohnsonArun Johnson2011-09-12T18:15:34Zpost88774: Write an Image with raw pixel DataJuri Ostrowskihttp://community.qnx.com/sf/go/post887742011-09-12T09:35:38Z2011-09-12T09:35:38ZHello :)
i want to write a .bmp file from raw pixel data.
My Programm i have, listen on the ethernet for my Client and accept the Client when he connects. The Client send some data and there are raw pixel data.
With a function named "const unsigned int* GetImage()" i get a pointer to the first pixel. My Pictures are 320(W) x 240(H).
Now how can i display or save the raw pixel data?
i hope for hints :)
with best regardsJuri Ostrowski2011-09-12T09:35:38Zpost88667: Problem with gf_surface_attach()Nikshep Patilhttp://community.qnx.com/sf/go/post886672011-09-06T20:55:55Z2011-09-06T20:55:55ZHi,
I need to render a picture to the screen.
I am trying to create a surface from my picture buffer using gf_surface_attach().
But the call fails with return value 7.
The arguments to gf_surface_attach() seem correct.
Could you help me with this...?
ThanksNikshep Patil2011-09-06T20:55:55Zpost88552: io-winmgr sendevHue Vohttp://community.qnx.com/sf/go/post885522011-08-31T20:10:38Z2011-08-31T20:10:38ZHi,
Is there a way to use io-winmgr to bring a window to the front?
win_globals.disp_data[0]->win_list = 0x80000003, 0x80000000, 0x80000002
win_globals.disp_data[0]->planes[0].buffered[0].win_list = (null)
win_globals.disp_data[0]->planes[0].buffered[1].win_list = (null)
win_globals.disp_data[0]->planes[1].buffered[0].win_list = 0x80000002, 0x80000003
win_globals.disp_data[0]->planes[1].buffered[1].win_list = (null)
I see from its dump the window IDs.
Can I send a msg to io-winmgr to bring window e.g. 0x80000002 or 3 to top? Using io-winmgr –sendev ???
-HueHue Vo2011-08-31T20:10:38Zpost88200: RE: devi-hid for armle-v7Michael Van Reenenhttp://community.qnx.com/sf/go/post882002011-08-18T15:24:01Z2011-08-18T15:24:01ZTo be honest I'm not sure when 6.5.0 was released any platforms with
graphics were actually running armle-v7. A couple of customers
running armle-v7 needed custom drivers and wrote their own.
I checked whether the input DDK posted on the QNX website could be used
to build a driver and was told:
"The DDK won't work on 6.5.0, better to just get the imx25 BSP:
http://community.qnx.com/sf/wiki/do/viewPage/projects.bsp/wiki/Freescale
Imx253dsPdk
and grab the source archive from it, it contains the input libs with the
gf support and a sample driver."
Maybe this is something you can try?
Mike
-----Original Message-----
From: Brian Edmond [mailto:community-noreply@qnx.com]
Sent: August 17, 2011 1:52 PM
To: advanced-graphics
Subject: devi-hid for armle-v7
Probably not the correct place for this but the input drivers were
always kinda graphics. There are no devi drivers for armle-v7 targets.
How does one get a mouse or keyboard input in 6.5?
Brian
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post88172Michael Van Reenen2011-08-18T15:24:01Zpost88180: RE: Creating a PNG output file. [bcc][auto-ip]Lavin Pottekkathttp://community.qnx.com/sf/go/post881802011-08-18T07:15:03Z2011-08-18T07:15:03ZNo idea how you can change the compression /quality :(,
Check if img_load_resize_file() is of any use....
Regards,
Lavin
-----Original Message-----
From: Ronald Burkey [mailto:community-noreply@qnx.com]
Sent: Wednesday, August 17, 2011 10:38 PM
To: advanced-graphics
Subject: Re: Creating a PNG output file. [bcc][auto-ip]
True. I don't lack space, so that doesn't actually concern me. But I
gather you don't know how it can be done, so the point is moot.
Thanks,
Ron
On 08/17/2011 12:02 PM, Lavin Pottekkat wrote:
> Though i have not tried changing the compression techniques, i have seen noticeable difference in the size of the images created with different formats.
>
> Regards,
> Lavin
> ________________________________________
> From: Ronald Burkey [community-noreply@qnx.com]
> Sent: Wednesday, August 17, 2011 9:52 PM
> To: advanced-graphics
> Subject: RE: Creating a PNG output file.
>
> One final (I hope) question: If JPGs were being output rather than
> PNGs, how can the quality/compression be set?
>
> -- Ron
>
>
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post88170Lavin Pottekkat2011-08-18T07:15:03Zpost88172: devi-hid for armle-v7Brian Edmond(deleted)http://community.qnx.com/sf/go/post881722011-08-17T17:51:32Z2011-08-17T17:51:32ZProbably not the correct place for this but the input drivers were always kinda graphics. There are no devi drivers for armle-v7 targets. How does one get a mouse or keyboard input in 6.5?
BrianBrian Edmond(deleted)2011-08-17T17:51:32Zpost88170: Re: Creating a PNG output file. [bcc][auto-ip]Ronald Burkeyhttp://community.qnx.com/sf/go/post881702011-08-17T17:08:18Z2011-08-17T17:08:18ZTrue. I don't lack space, so that doesn't actually concern me. But I
gather you don't know how it can be done, so the point is moot.
Thanks,
Ron
On 08/17/2011 12:02 PM, Lavin Pottekkat wrote:
> Though i have not tried changing the compression techniques, i have seen noticeable difference in the size of the images created with different formats.
>
> Regards,
> Lavin
> ________________________________________
> From: Ronald Burkey [community-noreply@qnx.com]
> Sent: Wednesday, August 17, 2011 9:52 PM
> To: advanced-graphics
> Subject: RE: Creating a PNG output file.
>
> One final (I hope) question: If JPGs were being output rather than
> PNGs, how can the quality/compression be set?
>
> -- Ron
>
>Ronald Burkey2011-08-17T17:08:18Zpost88169: RE: Creating a PNG output file.Lavin Pottekkathttp://community.qnx.com/sf/go/post881692011-08-17T17:02:02Z2011-08-17T17:02:02ZThough i have not tried changing the compression techniques, i have seen noticeable difference in the size of the images created with different formats.
Regards,
Lavin
________________________________________
From: Ronald Burkey [community-noreply@qnx.com]
Sent: Wednesday, August 17, 2011 9:52 PM
To: advanced-graphics
Subject: RE: Creating a PNG output file.
One final (I hope) question: If JPGs were being output rather than
PNGs, how can the quality/compression be set?
-- Ron
> -----Original Message-----
> From: Lavin Pottekkat [mailto:community-noreply@qnx.com]
> Sent: Wednesday, August 17, 2011 7:53 AM
> To: advanced-graphics
> Subject: RE: Creating a PNG output file. [bcc]
>
> Yes, you can change the mime type for different file formats.
>
> Regards,
> Lavin
>
> -----Original Message-----
> From: Ronald Burkey [mailto:community-noreply@qnx.com]
> Sent: Wednesday, August 17, 2011 6:10 PM
> To: advanced-graphics
> Subject: Re: Creating a PNG output file. [bcc]
>
> I had just made that change about 10 seconds before your message
> arrived. :-) I haven't gotten to the point yet where I can run the
> code. I'll let you know what happens.
>
> I assume that if I want jpg or bmp, it's just a matter of changing the
> mime type appropriately?
>
> Thanks!
> Ron
>
>
> On 08/17/2011 07:34 AM, Lavin Pottekkat wrote:
> > Just now I noticed that you have RGBA8888, in this case I think you
> should modify below lines highlighted below using '-->'
> > Also pl make sure you configure the img.w/h appropriately.
> >
> > Cheers,
> > Lavin
> >
> > -----Original Message-----
> > From: Pottekkat, Lavin
> > Sent: Wednesday, August 17, 2011 5:43 PM
> > To: advanced-graphics
> > Subject: RE: Creating a PNG output file.
> >
> > Hi Ronald,
> >
> > Try this it should work :) .... search for "Lavin" to see my
comments
> inline....
> >
> > uint32_t *img_buf = NULL;
> > uint32_t image_size = Max size of the RGB data buffer;
> > int32_t result = EOK;
> >
> > img_lib_t ilib;
> > img_codec_t codec_buf;
> > int n_codecs;
> > img_t img;
> > io_stream_t *image_stream_fd;
> > char mime[64];
> > uintptr_t temp_encode_data = 0;
> >
> > /* allocate (image_size/sizeof int-(4bytes)) elements of type
int */
> > if (NULL == (img_buf = calloc((image_size / (sizeof(uint32_t))),
> sizeof(uint32_t)))) {
> > _error("%s: Memory allocation for %d bytes failed",
__FUNCTION__,
> image_size);
> > return ENOMEM;
> > }
> >
> > /* Lavin : copy the image RGB values linearly to the above
allocated
> img_buf, from your rectangular array in memory */
> >
> > /* Lavin : at this point I assume that you have already copied the
> image data to img_buf.*/
> >
> > /* Lavin : NOTE: you can very well use your rectangular array
directly
> as image_buf as well :) */
> >
> >
> > //Attaching to the image library
> > memset(&img,0,sizeof(img_t));
> >
> > /* get the resolution details */
> > img.w = 1440; // 1440 or 960 , use accordingly
> > img.h = 540; // 540, use accordingly
> >
> > img.format = IMG_FMT_RGBA8888;
> >
> > img.flags |= IMG_FORMAT | IMG_W | IMG_H | IMG_DIRECT;
> >
> > img.access.direct.data = img_buf;
> > --> img.access.direct.stride = (img.w * 4 );
> >
> > if ((result = img_lib_attach(&ilib)) != IMG_ERR_OK) {
> > fprintf(stderr, "img_lib_attach() failed: %d\n", result);
> > return result;
> > }
> >
> > memset(mime, '\0', 64 );
> > sprintf(mime, "image/%s", "png");
> >
> > if(EOK == (n_codecs = img_codec_list_bymime( ilib,
> > mime,
> > &codec_buf,
> > 10 )))
> > {
> > _error("%s: img_codec_list() No Codecs found on target !",
> __FUNCTION__);
> > return -1;
> > }
> >
> > //convert the image_fd to stream_fd required by image libs.
> > /* Lavin : here file_fs should be your xxx.png file fd after
> open(...O_CREATE) */
> > if(NULL == (image_stream_fd = io_open( IO_FD, IO_WRITE,
file_fd
> )))
> > {
> > _error("%s: io_open() failed: %d", __FUNCTION__);
> > return -1;
> > }
> >
> > //set the codec
> >
> > //Prepare to encode a frame to a stream
> > if (img_encode_begin(codec_buf,
> image_stream_fd,&temp_encode_data) != IMG_ERR_OK)
> > {
> > _error("%s: img_encode_begin() failed", __FUNCTION__);
> > return -1;
> > }
> >
> > if ( (result = img_encode_frame(codec_buf, image_stream_fd,
> NULL,&img,&temp_encode_data)) != IMG_ERR_OK)
> > {
> > _error("%s: img_encode_frame() failed: %d", __FUNCTION__,
> result);
> > return -1;
> > }
> >
> > (void)img_encode_finish(codec_buf,
> image_stream_fd,&temp_encode_data);
> >
> > io_close( image_stream_fd );
> >
> > /* done with img lib */
> > img_lib_detach(ilib);
> >
> > /* Lavin : Now your PNG fromat file is ready :) :) */
> >
> >
> > Regards,
> > Lavin,
> >
> > -----Original Message-----
> > From: Ronald Burkey [mailto:community-noreply@qnx.com]
> > Sent: Friday, August 12, 2011 9:52 PM
> > To: advanced-graphics
> > Subject: Creating a PNG output file.
> >
> > I have a rectangular array in memory of RGB values (i.e., it is
> IMG_FMT_RGBA8888 data) and would like to output a PNG file from that
data.
> How would this be done?
> >
> >
> >
> >
> >
> > _______________________________________________
> >
> > Advanced Graphics
> > http://community.qnx.com/sf/go/post88079
> >
> >
> >
> >
> > _______________________________________________
> >
> > Advanced Graphics
> > http://community.qnx.com/sf/go/post88149
>
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post88150
>
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post88152
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post88168Lavin Pottekkat2011-08-17T17:02:02Zpost88168: RE: Creating a PNG output file.Ronald Burkeyhttp://community.qnx.com/sf/go/post881682011-08-17T16:22:11Z2011-08-17T16:22:11ZOne final (I hope) question: If JPGs were being output rather than
PNGs, how can the quality/compression be set?
-- Ron
> -----Original Message-----
> From: Lavin Pottekkat [mailto:community-noreply@qnx.com]
> Sent: Wednesday, August 17, 2011 7:53 AM
> To: advanced-graphics
> Subject: RE: Creating a PNG output file. [bcc]
>
> Yes, you can change the mime type for different file formats.
>
> Regards,
> Lavin
>
> -----Original Message-----
> From: Ronald Burkey [mailto:community-noreply@qnx.com]
> Sent: Wednesday, August 17, 2011 6:10 PM
> To: advanced-graphics
> Subject: Re: Creating a PNG output file. [bcc]
>
> I had just made that change about 10 seconds before your message
> arrived. :-) I haven't gotten to the point yet where I can run the
> code. I'll let you know what happens.
>
> I assume that if I want jpg or bmp, it's just a matter of changing the
> mime type appropriately?
>
> Thanks!
> Ron
>
>
> On 08/17/2011 07:34 AM, Lavin Pottekkat wrote:
> > Just now I noticed that you have RGBA8888, in this case I think you
> should modify below lines highlighted below using '-->'
> > Also pl make sure you configure the img.w/h appropriately.
> >
> > Cheers,
> > Lavin
> >
> > -----Original Message-----
> > From: Pottekkat, Lavin
> > Sent: Wednesday, August 17, 2011 5:43 PM
> > To: advanced-graphics
> > Subject: RE: Creating a PNG output file.
> >
> > Hi Ronald,
> >
> > Try this it should work :) .... search for "Lavin" to see my
comments
> inline....
> >
> > uint32_t *img_buf = NULL;
> > uint32_t image_size = Max size of the RGB data buffer;
> > int32_t result = EOK;
> >
> > img_lib_t ilib;
> > img_codec_t codec_buf;
> > int n_codecs;
> > img_t img;
> > io_stream_t *image_stream_fd;
> > char mime[64];
> > uintptr_t temp_encode_data = 0;
> >
> > /* allocate (image_size/sizeof int-(4bytes)) elements of type
int */
> > if (NULL == (img_buf = calloc((image_size / (sizeof(uint32_t))),
> sizeof(uint32_t)))) {
> > _error("%s: Memory allocation for %d bytes failed",
__FUNCTION__,
> image_size);
> > return ENOMEM;
> > }
> >
> > /* Lavin : copy the image RGB values linearly to the above
allocated
> img_buf, from your rectangular array in memory */
> >
> > /* Lavin : at this point I assume that you have already copied the
> image data to img_buf.*/
> >
> > /* Lavin : NOTE: you can very well use your rectangular array
directly
> as image_buf as well :) */
> >
> >
> > //Attaching to the image library
> > memset(&img,0,sizeof(img_t));
> >
> > /* get the resolution details */
> > img.w = 1440; // 1440 or 960 , use accordingly
> > img.h = 540; // 540, use accordingly
> >
> > img.format = IMG_FMT_RGBA8888;
> >
> > img.flags |= IMG_FORMAT | IMG_W | IMG_H | IMG_DIRECT;
> >
> > img.access.direct.data = img_buf;
> > --> img.access.direct.stride = (img.w * 4 );
> >
> > if ((result = img_lib_attach(&ilib)) != IMG_ERR_OK) {
> > fprintf(stderr, "img_lib_attach() failed: %d\n", result);
> > return result;
> > }
> >
> > memset(mime, '\0', 64 );
> > sprintf(mime, "image/%s", "png");
> >
> > if(EOK == (n_codecs = img_codec_list_bymime( ilib,
> > mime,
> > &codec_buf,
> > 10 )))
> > {
> > _error("%s: img_codec_list() No Codecs found on target !",
> __FUNCTION__);
> > return -1;
> > }
> >
> > //convert the image_fd to stream_fd required by image libs.
> > /* Lavin : here file_fs should be your xxx.png file fd after
> open(...O_CREATE) */
> > if(NULL == (image_stream_fd = io_open( IO_FD, IO_WRITE,
file_fd
> )))
> > {
> > _error("%s: io_open() failed: %d", __FUNCTION__);
> > return -1;
> > }
> >
> > //set the codec
> >
> > //Prepare to encode a frame to a stream
> > if (img_encode_begin(codec_buf,
> image_stream_fd,&temp_encode_data) != IMG_ERR_OK)
> > {
> > _error("%s: img_encode_begin() failed", __FUNCTION__);
> > return -1;
> > }
> >
> > if ( (result = img_encode_frame(codec_buf, image_stream_fd,
> NULL,&img,&temp_encode_data)) != IMG_ERR_OK)
> > {
> > _error("%s: img_encode_frame() failed: %d", __FUNCTION__,
> result);
> > return -1;
> > }
> >
> > (void)img_encode_finish(codec_buf,
> image_stream_fd,&temp_encode_data);
> >
> > io_close( image_stream_fd );
> >
> > /* done with img lib */
> > img_lib_detach(ilib);
> >
> > /* Lavin : Now your PNG fromat file is ready :) :) */
> >
> >
> > Regards,
> > Lavin,
> >
> > -----Original Message-----
> > From: Ronald Burkey [mailto:community-noreply@qnx.com]
> > Sent: Friday, August 12, 2011 9:52 PM
> > To: advanced-graphics
> > Subject: Creating a PNG output file.
> >
> > I have a rectangular array in memory of RGB values (i.e., it is
> IMG_FMT_RGBA8888 data) and would like to output a PNG file from that
data.
> How would this be done?
> >
> >
> >
> >
> >
> > _______________________________________________
> >
> > Advanced Graphics
> > http://community.qnx.com/sf/go/post88079
> >
> >
> >
> >
> > _______________________________________________
> >
> > Advanced Graphics
> > http://community.qnx.com/sf/go/post88149
>
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post88150
>
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post88152Ronald Burkey2011-08-17T16:22:11Zpost88158: Re: Creating a PNG output file. [bcc]Ronald Burkeyhttp://community.qnx.com/sf/go/post881582011-08-17T14:24:37Z2011-08-17T14:24:37ZThanks, Lavin. It seems to work fine, after appropriate changes for my
environment.
On 08/17/2011 07:53 AM, Lavin Pottekkat wrote:
> Yes, you can change the mime type for different file formats.
>
> Regards,
> Lavin
>
> -----Original Message-----
> From: Ronald Burkey [mailto:community-noreply@qnx.com]
> Sent: Wednesday, August 17, 2011 6:10 PM
> To: advanced-graphics
> Subject: Re: Creating a PNG output file. [bcc]
>
> I had just made that change about 10 seconds before your message
> arrived. :-) I haven't gotten to the point yet where I can run the
> code. I'll let you know what happens.
>
> I assume that if I want jpg or bmp, it's just a matter of changing the
> mime type appropriately?
>
> Thanks!
> Ron
>
>
>Ronald Burkey2011-08-17T14:24:37Zpost88152: RE: Creating a PNG output file. [bcc]Lavin Pottekkathttp://community.qnx.com/sf/go/post881522011-08-17T12:53:15Z2011-08-17T12:53:15ZYes, you can change the mime type for different file formats.
Regards,
Lavin
-----Original Message-----
From: Ronald Burkey [mailto:community-noreply@qnx.com]
Sent: Wednesday, August 17, 2011 6:10 PM
To: advanced-graphics
Subject: Re: Creating a PNG output file. [bcc]
I had just made that change about 10 seconds before your message
arrived. :-) I haven't gotten to the point yet where I can run the
code. I'll let you know what happens.
I assume that if I want jpg or bmp, it's just a matter of changing the
mime type appropriately?
Thanks!
Ron
On 08/17/2011 07:34 AM, Lavin Pottekkat wrote:
> Just now I noticed that you have RGBA8888, in this case I think you should modify below lines highlighted below using '-->'
> Also pl make sure you configure the img.w/h appropriately.
>
> Cheers,
> Lavin
>
> -----Original Message-----
> From: Pottekkat, Lavin
> Sent: Wednesday, August 17, 2011 5:43 PM
> To: advanced-graphics
> Subject: RE: Creating a PNG output file.
>
> Hi Ronald,
>
> Try this it should work :) .... search for "Lavin" to see my comments inline....
>
> uint32_t *img_buf = NULL;
> uint32_t image_size = Max size of the RGB data buffer;
> int32_t result = EOK;
>
> img_lib_t ilib;
> img_codec_t codec_buf;
> int n_codecs;
> img_t img;
> io_stream_t *image_stream_fd;
> char mime[64];
> uintptr_t temp_encode_data = 0;
>
> /* allocate (image_size/sizeof int-(4bytes)) elements of type int */
> if (NULL == (img_buf = calloc((image_size / (sizeof(uint32_t))), sizeof(uint32_t)))) {
> _error("%s: Memory allocation for %d bytes failed", __FUNCTION__, image_size);
> return ENOMEM;
> }
>
> /* Lavin : copy the image RGB values linearly to the above allocated img_buf, from your rectangular array in memory */
>
> /* Lavin : at this point I assume that you have already copied the image data to img_buf.*/
>
> /* Lavin : NOTE: you can very well use your rectangular array directly as image_buf as well :) */
>
>
> //Attaching to the image library
> memset(&img,0,sizeof(img_t));
>
> /* get the resolution details */
> img.w = 1440; // 1440 or 960 , use accordingly
> img.h = 540; // 540, use accordingly
>
> img.format = IMG_FMT_RGBA8888;
>
> img.flags |= IMG_FORMAT | IMG_W | IMG_H | IMG_DIRECT;
>
> img.access.direct.data = img_buf;
> --> img.access.direct.stride = (img.w * 4 );
>
> if ((result = img_lib_attach(&ilib)) != IMG_ERR_OK) {
> fprintf(stderr, "img_lib_attach() failed: %d\n", result);
> return result;
> }
>
> memset(mime, '\0', 64 );
> sprintf(mime, "image/%s", "png");
>
> if(EOK == (n_codecs = img_codec_list_bymime( ilib,
> mime,
> &codec_buf,
> 10 )))
> {
> _error("%s: img_codec_list() No Codecs found on target !", __FUNCTION__);
> return -1;
> }
>
> //convert the image_fd to stream_fd required by image libs.
> /* Lavin : here file_fs should be your xxx.png file fd after open(...O_CREATE) */
> if(NULL == (image_stream_fd = io_open( IO_FD, IO_WRITE, file_fd )))
> {
> _error("%s: io_open() failed: %d", __FUNCTION__);
> return -1;
> }
>
> //set the codec
>
> //Prepare to encode a frame to a stream
> if (img_encode_begin(codec_buf, image_stream_fd,&temp_encode_data) != IMG_ERR_OK)
> {
> _error("%s: img_encode_begin() failed", __FUNCTION__);
> return -1;
> }
>
> if ( (result = img_encode_frame(codec_buf, image_stream_fd, NULL,&img,&temp_encode_data)) != IMG_ERR_OK)
> {
> _error("%s: img_encode_frame() failed: %d", __FUNCTION__, result);
> return -1;
> }
>
> (void)img_encode_finish(codec_buf, image_stream_fd,&temp_encode_data);
>
> io_close( image_stream_fd );
>
> /* done with img lib */
> img_lib_detach(ilib);
>
> /* Lavin : Now your PNG fromat file is ready :) :) */
>
>
> Regards,
> Lavin,
>
> -----Original Message-----
> From: Ronald Burkey [mailto:community-noreply@qnx.com]
> Sent: Friday, August 12, 2011 9:52 PM
> To: advanced-graphics
> Subject: Creating a PNG output file.
>
> I have a rectangular array in memory of RGB values (i.e., it is IMG_FMT_RGBA8888 data) and would like to output a PNG file from that data. How would this be done?
>
>
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post88079
>
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post88149
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post88150Lavin Pottekkat2011-08-17T12:53:15Zpost88150: Re: Creating a PNG output file. [bcc]Ronald Burkeyhttp://community.qnx.com/sf/go/post881502011-08-17T12:40:07Z2011-08-17T12:40:07ZI had just made that change about 10 seconds before your message
arrived. :-) I haven't gotten to the point yet where I can run the
code. I'll let you know what happens.
I assume that if I want jpg or bmp, it's just a matter of changing the
mime type appropriately?
Thanks!
Ron
On 08/17/2011 07:34 AM, Lavin Pottekkat wrote:
> Just now I noticed that you have RGBA8888, in this case I think you should modify below lines highlighted below using '-->'
> Also pl make sure you configure the img.w/h appropriately.
>
> Cheers,
> Lavin
>
> -----Original Message-----
> From: Pottekkat, Lavin
> Sent: Wednesday, August 17, 2011 5:43 PM
> To: advanced-graphics
> Subject: RE: Creating a PNG output file.
>
> Hi Ronald,
>
> Try this it should work :) .... search for "Lavin" to see my comments inline....
>
> uint32_t *img_buf = NULL;
> uint32_t image_size = Max size of the RGB data buffer;
> int32_t result = EOK;
>
> img_lib_t ilib;
> img_codec_t codec_buf;
> int n_codecs;
> img_t img;
> io_stream_t *image_stream_fd;
> char mime[64];
> uintptr_t temp_encode_data = 0;
>
> /* allocate (image_size/sizeof int-(4bytes)) elements of type int */
> if (NULL == (img_buf = calloc((image_size / (sizeof(uint32_t))), sizeof(uint32_t)))) {
> _error("%s: Memory allocation for %d bytes failed", __FUNCTION__, image_size);
> return ENOMEM;
> }
>
> /* Lavin : copy the image RGB values linearly to the above allocated img_buf, from your rectangular array in memory */
>
> /* Lavin : at this point I assume that you have already copied the image data to img_buf.*/
>
> /* Lavin : NOTE: you can very well use your rectangular array directly as image_buf as well :) */
>
>
> //Attaching to the image library
> memset(&img,0,sizeof(img_t));
>
> /* get the resolution details */
> img.w = 1440; // 1440 or 960 , use accordingly
> img.h = 540; // 540, use accordingly
>
> img.format = IMG_FMT_RGBA8888;
>
> img.flags |= IMG_FORMAT | IMG_W | IMG_H | IMG_DIRECT;
>
> img.access.direct.data = img_buf;
> --> img.access.direct.stride = (img.w * 4 );
>
> if ((result = img_lib_attach(&ilib)) != IMG_ERR_OK) {
> fprintf(stderr, "img_lib_attach() failed: %d\n", result);
> return result;
> }
>
> memset(mime, '\0', 64 );
> sprintf(mime, "image/%s", "png");
>
> if(EOK == (n_codecs = img_codec_list_bymime( ilib,
> mime,
> &codec_buf,
> 10 )))
> {
> _error("%s: img_codec_list() No Codecs found on target !", __FUNCTION__);
> return -1;
> }
>
> //convert the image_fd to stream_fd required by image libs.
> /* Lavin : here file_fs should be your xxx.png file fd after open(...O_CREATE) */
> if(NULL == (image_stream_fd = io_open( IO_FD, IO_WRITE, file_fd )))
> {
> _error("%s: io_open() failed: %d", __FUNCTION__);
> return -1;
> }
>
> //set the codec
>
> //Prepare to encode a frame to a stream
> if (img_encode_begin(codec_buf, image_stream_fd,&temp_encode_data) != IMG_ERR_OK)
> {
> _error("%s: img_encode_begin() failed", __FUNCTION__);
> return -1;
> }
>
> if ( (result = img_encode_frame(codec_buf, image_stream_fd, NULL,&img,&temp_encode_data)) != IMG_ERR_OK)
> {
> _error("%s: img_encode_frame() failed: %d", __FUNCTION__, result);
> return -1;
> }
>
> (void)img_encode_finish(codec_buf, image_stream_fd,&temp_encode_data);
>
> io_close( image_stream_fd );
>
> /* done with img lib */
> img_lib_detach(ilib);
>
> /* Lavin : Now your PNG fromat file is ready :) :) */
>
>
> Regards,
> Lavin,
>
> -----Original Message-----
> From: Ronald Burkey [mailto:community-noreply@qnx.com]
> Sent: Friday, August 12, 2011 9:52 PM
> To: advanced-graphics
> Subject: Creating a PNG output file.
>
> I have a rectangular array in memory of RGB values (i.e., it is IMG_FMT_RGBA8888 data) and would like to output a PNG file from that data. How would this be done?
>
>
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post88079
>
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post88149Ronald Burkey2011-08-17T12:40:07Zpost88149: RE: Creating a PNG output file.Lavin Pottekkathttp://community.qnx.com/sf/go/post881492011-08-17T12:34:51Z2011-08-17T12:34:51ZJust now I noticed that you have RGBA8888, in this case I think you should modify below lines highlighted below using '-->'
Also pl make sure you configure the img.w/h appropriately.
Cheers,
Lavin
-----Original Message-----
From: Pottekkat, Lavin
Sent: Wednesday, August 17, 2011 5:43 PM
To: advanced-graphics
Subject: RE: Creating a PNG output file.
Hi Ronald,
Try this it should work :) .... search for "Lavin" to see my comments inline....
uint32_t *img_buf = NULL;
uint32_t image_size = Max size of the RGB data buffer;
int32_t result = EOK;
img_lib_t ilib;
img_codec_t codec_buf;
int n_codecs;
img_t img;
io_stream_t *image_stream_fd;
char mime[64];
uintptr_t temp_encode_data = 0;
/* allocate (image_size/sizeof int-(4bytes)) elements of type int */
if (NULL == (img_buf = calloc((image_size / (sizeof(uint32_t))), sizeof(uint32_t)))) {
_error("%s: Memory allocation for %d bytes failed", __FUNCTION__, image_size);
return ENOMEM;
}
/* Lavin : copy the image RGB values linearly to the above allocated img_buf, from your rectangular array in memory */
/* Lavin : at this point I assume that you have already copied the image data to img_buf.*/
/* Lavin : NOTE: you can very well use your rectangular array directly as image_buf as well :) */
//Attaching to the image library
memset(&img,0,sizeof(img_t));
/* get the resolution details */
img.w = 1440; // 1440 or 960 , use accordingly
img.h = 540; // 540, use accordingly
img.format = IMG_FMT_RGBA8888;
img.flags |= IMG_FORMAT | IMG_W | IMG_H | IMG_DIRECT;
img.access.direct.data = img_buf;
--> img.access.direct.stride = (img.w * 4 );
if ((result = img_lib_attach(&ilib)) != IMG_ERR_OK) {
fprintf(stderr, "img_lib_attach() failed: %d\n", result);
return result;
}
memset(mime, '\0', 64 );
sprintf(mime, "image/%s", "png");
if(EOK == (n_codecs = img_codec_list_bymime( ilib,
mime,
&codec_buf,
10 )))
{
_error("%s: img_codec_list() No Codecs found on target !", __FUNCTION__);
return -1;
}
//convert the image_fd to stream_fd required by image libs.
/* Lavin : here file_fs should be your xxx.png file fd after open(...O_CREATE) */
if(NULL == (image_stream_fd = io_open( IO_FD, IO_WRITE, file_fd )))
{
_error("%s: io_open() failed: %d", __FUNCTION__);
return -1;
}
//set the codec
//Prepare to encode a frame to a stream
if (img_encode_begin(codec_buf, image_stream_fd, &temp_encode_data) != IMG_ERR_OK)
{
_error("%s: img_encode_begin() failed", __FUNCTION__);
return -1;
}
if ( (result = img_encode_frame(codec_buf, image_stream_fd, NULL, &img, &temp_encode_data)) != IMG_ERR_OK)
{
_error("%s: img_encode_frame() failed: %d", __FUNCTION__, result);
return -1;
}
(void)img_encode_finish(codec_buf, image_stream_fd, &temp_encode_data);
io_close( image_stream_fd );
/* done with img lib */
img_lib_detach(ilib);
/* Lavin : Now your PNG fromat file is ready :) :) */
Regards,
Lavin,
-----Original Message-----
From: Ronald Burkey [mailto:community-noreply@qnx.com]
Sent: Friday, August 12, 2011 9:52 PM
To: advanced-graphics
Subject: Creating a PNG output file.
I have a rectangular array in memory of RGB values (i.e., it is IMG_FMT_RGBA8888 data) and would like to output a PNG file from that data. How would this be done?
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post88079Lavin Pottekkat2011-08-17T12:34:51Zpost88148: RE: Creating a PNG output file.Lavin Pottekkathttp://community.qnx.com/sf/go/post881482011-08-17T12:14:51Z2011-08-17T12:14:51ZHi Ronald,
Try this it should work :) .... search for "Lavin" to see my comments inline....
uint32_t *img_buf = NULL;
uint32_t image_size = Max size of the RGB data buffer;
int32_t result = EOK;
img_lib_t ilib;
img_codec_t codec_buf;
int n_codecs;
img_t img;
io_stream_t *image_stream_fd;
char mime[64];
uintptr_t temp_encode_data = 0;
/* allocate (image_size/sizeof int-(4bytes)) elements of type int */
if (NULL == (img_buf = calloc((image_size / (sizeof(uint32_t))), sizeof(uint32_t)))) {
_error("%s: Memory allocation for %d bytes failed", __FUNCTION__, image_size);
return ENOMEM;
}
/* Lavin : copy the image RGB values linearly to the above allocated img_buf, from your rectangular array in memory */
/* Lavin : at this point I assume that you have already copied the image data to img_buf.*/
/* Lavin : NOTE: you can very well use your rectangular array directly as image_buf as well :) */
//Attaching to the image library
memset(&img,0,sizeof(img_t));
/* get the resolution details */
img.w = 1440; // 1440 or 960 , use accordingly
img.h = 540; // 540, use accordingly
img.format = IMG_FMT_RGBA8888;
img.flags |= IMG_FORMAT | IMG_W | IMG_H | IMG_DIRECT;
img.access.direct.data = img_buf;
img.access.direct.stride = (img.w * 3 );
if ((result = img_lib_attach(&ilib)) != IMG_ERR_OK) {
fprintf(stderr, "img_lib_attach() failed: %d\n", result);
return result;
}
memset(mime, '\0', 64 );
sprintf(mime, "image/%s", "png");
if(EOK == (n_codecs = img_codec_list_bymime( ilib,
mime,
&codec_buf,
10 )))
{
_error("%s: img_codec_list() No Codecs found on target !", __FUNCTION__);
return -1;
}
//convert the image_fd to stream_fd required by image libs.
/* Lavin : here file_fs should be your xxx.png file fd after open(...O_CREATE) */
if(NULL == (image_stream_fd = io_open( IO_FD, IO_WRITE, file_fd )))
{
_error("%s: io_open() failed: %d", __FUNCTION__);
return -1;
}
//set the codec
//Prepare to encode a frame to a stream
if (img_encode_begin(codec_buf, image_stream_fd, &temp_encode_data) != IMG_ERR_OK)
{
_error("%s: img_encode_begin() failed", __FUNCTION__);
return -1;
}
if ( (result = img_encode_frame(codec_buf, image_stream_fd, NULL, &img, &temp_encode_data)) != IMG_ERR_OK)
{
_error("%s: img_encode_frame() failed: %d", __FUNCTION__, result);
return -1;
}
(void)img_encode_finish(codec_buf, image_stream_fd, &temp_encode_data);
io_close( image_stream_fd );
/* done with img lib */
img_lib_detach(ilib);
/* Lavin : Now your PNG fromat file is ready :) :) */
Regards,
Lavin,
-----Original Message-----
From: Ronald Burkey [mailto:community-noreply@qnx.com]
Sent: Friday, August 12, 2011 9:52 PM
To: advanced-graphics
Subject: Creating a PNG output file.
I have a rectangular array in memory of RGB values (i.e., it is IMG_FMT_RGBA8888 data) and would like to output a PNG file from that data. How would this be done?
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post88079Lavin Pottekkat2011-08-17T12:14:51Zpost88107: RE: gf_layer_attach() fails.Michael Van Reenenhttp://community.qnx.com/sf/go/post881072011-08-15T20:56:48Z2011-08-15T20:56:48ZPhoton (and io-graphics) is running and there's only 1 layer on the
system so your app fails to attach to the layer.
-----Original Message-----
From: Hieronim Fet [mailto:community-noreply@qnx.com]
Sent: August-09-11 6:49 PM
To: advanced-graphics
Subject: gf_layer_attach() fails.
Hello everyone,
I`m having a problem with example program that draws rectangle. The code
is from topic
http://community.qnx.com/sf/discussion/do/listPosts/projects.graphics/di
scussion.advanced_graphics.topc8189?_pagenum=1,
but I enclose copy of source without long comments so it is easier to
look through.
As mentioned in topic of this message there is problem with
gf_layer_attach() function that fails. The output of the running program
is:
Number of displays: 1
Display 0: 1280X1024, refresh = 60Hz
Number of layers: 1
gf_layer_attach() failed
I`m sending sloginfo and pidin outputs and my display.conf.
I have no idea why gf_layer_attach fails, hope you will help me.
Generally I`m working in Momentics IDE, so if I run this program as QNX
C/C++ App will I see any "drawn rectangles" or should I run the program
directly under QNX? Maybe this question is silly but I`m just a
beginner.
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post87952Michael Van Reenen2011-08-15T20:56:48Zpost88079: Creating a PNG output file.Ronald Burkeyhttp://community.qnx.com/sf/go/post880792011-08-12T16:22:11Z2011-08-12T16:22:11ZI have a rectangular array in memory of RGB values (i.e., it is IMG_FMT_RGBA8888 data) and would like to output a PNG file from that data. How would this be done?Ronald Burkey2011-08-12T16:22:11Zpost87957: RE: gf_layer_attach() fails.Thomas Haupthttp://community.qnx.com/sf/go/post879572011-08-10T07:05:29Z2011-08-10T07:05:29ZHi,
I don't immediately see a reason for failure, either. You should examine
the return value of gf_layer_attach() more closely to see what the error
was. Perhaps another instance of your application was already running?
In that case, you'd get an GF_ERR_INUSE.
You will not see any rectangles drawn on your Windows/Linux development
host; QNX executables simple will not run there. They can only execute
on systems running the QNX Neutrino OS.
To run your program from the Momentics IDE, you'll want to use a "C/C++
QNX QConn (IP)" launch configuration; this will automatically transfer
your program to the defined target and run it there. As well, you could
transfer the binary to your target and run it there directly.
Hope this helps,
Thomas
-----Original Message-----
From: Hieronim Fet [mailto:community-noreply@qnx.com]
Sent: Mittwoch, 10. August 2011 00:49
To: advanced-graphics
Subject: gf_layer_attach() fails.
Hello everyone,
I`m having a problem with example program that draws rectangle. The code
is from topic
http://community.qnx.com/sf/discussion/do/listPosts/projects.graphics/di
scussion.advanced_graphics.topc8189?_pagenum=1,
but I enclose copy of source without long comments so it is easier to
look through.
As mentioned in topic of this message there is problem with
gf_layer_attach() function that fails. The output of the running program
is:
Number of displays: 1
Display 0: 1280X1024, refresh = 60Hz
Number of layers: 1
gf_layer_attach() failed
I`m sending sloginfo and pidin outputs and my display.conf.
I have no idea why gf_layer_attach fails, hope you will help me.
Generally I`m working in Momentics IDE, so if I run this program as QNX
C/C++ App will I see any "drawn rectangles" or should I run the program
directly under QNX? Maybe this question is silly but I`m just a
beginner.
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post87952Thomas Haupt2011-08-10T07:05:29Zpost87954: Re: gf_layer_attach() fails.Hieronim Fethttp://community.qnx.com/sf/go/post879542011-08-09T22:54:28Z2011-08-09T22:54:28ZSorry for posting twice, my mistake.Hieronim Fet2011-08-09T22:54:28Zpost87953: gf_layer_attach() fails.Hieronim Fethttp://community.qnx.com/sf/go/post879532011-08-09T22:53:00Z2011-08-09T22:53:00ZHello everyone,
I`m having a problem with example program that draws rectangle. The code is from topic http://community.qnx.com/sf/discussion/do/listPosts/projects.graphics/discussion.advanced_graphics.topc8189?_pagenum=1, but I enclose copy of source without long comments so it is easier to look through.
As mentioned in topic of this message there is problem with gf_layer_attach() function that fails. The output of the running program is:
Number of displays: 1
Display 0: 1280X1024, refresh = 60Hz
Number of layers: 1
gf_layer_attach() failed
I`m sending sloginfo and pidin outputs and my display.conf.
I have no idea why gf_layer_attach fails, hope you will help me.
Generally I`m working in Momentics IDE, so if I run this program as QNX C/C++ App will I see any "drawn rectangles" or should I run the program directly under QNX? Maybe this question is silly but I`m just a beginner.Hieronim Fet2011-08-09T22:53:00Zpost87952: gf_layer_attach() fails.Hieronim Fethttp://community.qnx.com/sf/go/post879522011-08-09T22:49:26Z2011-08-09T22:49:26ZHello everyone,
I`m having a problem with example program that draws rectangle. The code is
from topic
http://community.qnx.com/sf/discussion/do/listPosts/projects.graphics/discussion.advanced_graphics.topc8189?_pagenum=1,
but I enclose copy of source without long comments so it is easier to look
through.
As mentioned in topic of this message there is problem with
gf_layer_attach() function that fails. The output of the running program is:
Number of displays: 1
Display 0: 1280X1024, refresh = 60Hz
Number of layers: 1
gf_layer_attach() failed
I`m sending sloginfo and pidin outputs and my display.conf.
I have no idea why gf_layer_attach fails, hope you will help me.
Generally I`m working in Momentics IDE, so if I run this program as QNX
C/C++ App will I see any "drawn rectangles" or should I run the program
directly under QNX? Maybe this question is silly but I`m just a beginner.Hieronim Fet2011-08-09T22:49:26Zpost87581: RE: Display problem for iMx51 - vsync and eglgears not workingkishore shttp://community.qnx.com/sf/go/post875812011-07-26T04:42:08Z2011-07-26T04:42:08ZAm using LCD, i had a reference driver for LCD.
I was able to integrate and it is working fine.
Now am able to run few example applications.
Thank you.
Has anyone done a Photon GUI environment on the iMx51 or iMx53 platform.
Kishore.S
>
> What kind of display (DVI, VGA, LCD) are you using?
>
> Thanks
>
>
> -----Original Message-----
> From: kishore s [mailto:community-noreply@qnx.com]
> Sent: July 22, 2011 2:43 AM
> To: advanced-graphics
> Subject: Display problem for iMx51 - vsync and eglgears not working
>
> Hi,
>
> I am working on iMx51 reference board from Freescale.
>
> When i run the vsync or egl-gears application nothing is comming up on
> the
> display.
>
> When i run the egl application i get the below prints.
> egl-gears
> 185 frames in 5.027 seconds = 36.801 FPS
> 184 frames in 5.027 seconds = 36.602 FPS
> 218 frames in 5.946 seconds = 36.663 FPS
>
> I am not getting any errors also when i run sloginfo.
>
> Jan 01 00:00:00 2 5 0 libcam.so (Jul 9 2010 13:52:59) bver
> 6040207
> Jan 01 00:00:00 5 6 0 Watchdog Timer is disable now.
> Jan 01 00:00:00 2 5 100 cam-disk.so (Jul 9 2010 13:53:13)
> Jan 01 00:00:14 6 8 0 get_config_data(): xres=800 yres=480
> refresh=60 output_fmt=24 di_sel=1 display_type=1 yuv_layer=1
> Jan 01 00:00:14 6 8 0 imx51_layer_update_end(): type=1,
> gpio3=0x0600102a DVI_RST LVDS_RST LCD_DET
> Jan 01 00:00:14 6 8 0 imx51_layer_update_end(): set
> gpio3=0x0600103a DVI_RST LVDS_RST LCD_DET LCD_BKLIGHT
>
> For the display.conf you can refer the attached buildfile.
> for modopts in display.conf am using the imx51-1.conf.
> xres=800,yres=480,refresh=60,pixclk=32264000,hsw=124,hss=60,hew=32,vsw=2
> ,vss=33,vew=10,vpol=1,epol=1,dpol=0,cpol=0,hpol=1,ofmt=16,di=1,type=1,yu
> v=1
>
> In the release notes they have mentioned about display-detect but i dint
> find any binary for the same, so i have directly given the imx51-1.conf
> file.
>
>
> Can anyone help me on this issue.
>
>
> Kishore.S
>
>
>
>
>
>
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>
>
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post87517
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post87560
>
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>
>
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.kishore s2011-07-26T04:42:08Zpost87560: RE: Display problem for iMx51 - vsync and eglgears not workingMichael Van Reenenhttp://community.qnx.com/sf/go/post875602011-07-25T12:51:51Z2011-07-25T12:51:51ZWhat kind of display (DVI, VGA, LCD) are you using?
Thanks
-----Original Message-----
From: kishore s [mailto:community-noreply@qnx.com]
Sent: July 22, 2011 2:43 AM
To: advanced-graphics
Subject: Display problem for iMx51 - vsync and eglgears not working
Hi,
I am working on iMx51 reference board from Freescale.
When i run the vsync or egl-gears application nothing is comming up on
the
display.
When i run the egl application i get the below prints.
egl-gears
185 frames in 5.027 seconds = 36.801 FPS
184 frames in 5.027 seconds = 36.602 FPS
218 frames in 5.946 seconds = 36.663 FPS
I am not getting any errors also when i run sloginfo.
Jan 01 00:00:00 2 5 0 libcam.so (Jul 9 2010 13:52:59) bver
6040207
Jan 01 00:00:00 5 6 0 Watchdog Timer is disable now.
Jan 01 00:00:00 2 5 100 cam-disk.so (Jul 9 2010 13:53:13)
Jan 01 00:00:14 6 8 0 get_config_data(): xres=800 yres=480
refresh=60 output_fmt=24 di_sel=1 display_type=1 yuv_layer=1
Jan 01 00:00:14 6 8 0 imx51_layer_update_end(): type=1,
gpio3=0x0600102a DVI_RST LVDS_RST LCD_DET
Jan 01 00:00:14 6 8 0 imx51_layer_update_end(): set
gpio3=0x0600103a DVI_RST LVDS_RST LCD_DET LCD_BKLIGHT
For the display.conf you can refer the attached buildfile.
for modopts in display.conf am using the imx51-1.conf.
xres=800,yres=480,refresh=60,pixclk=32264000,hsw=124,hss=60,hew=32,vsw=2
,vss=33,vew=10,vpol=1,epol=1,dpol=0,cpol=0,hpol=1,ofmt=16,di=1,type=1,yu
v=1
In the release notes they have mentioned about display-detect but i dint
find any binary for the same, so i have directly given the imx51-1.conf
file.
Can anyone help me on this issue.
Kishore.S
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post87517Michael Van Reenen2011-07-25T12:51:51Zpost87517: Display problem for iMx51 - vsync and eglgears not workingkishore shttp://community.qnx.com/sf/go/post875172011-07-22T06:42:37Z2011-07-22T06:42:37ZHi,
I am working on iMx51 reference board from Freescale.
When i run the vsync or egl-gears application nothing is comming up on the
display.
When i run the egl application i get the below prints.
egl-gears
185 frames in 5.027 seconds = 36.801 FPS
184 frames in 5.027 seconds = 36.602 FPS
218 frames in 5.946 seconds = 36.663 FPS
I am not getting any errors also when i run sloginfo.
Jan 01 00:00:00 2 5 0 libcam.so (Jul 9 2010 13:52:59) bver
6040207
Jan 01 00:00:00 5 6 0 Watchdog Timer is disable now.
Jan 01 00:00:00 2 5 100 cam-disk.so (Jul 9 2010 13:53:13)
Jan 01 00:00:14 6 8 0 get_config_data(): xres=800 yres=480
refresh=60 output_fmt=24 di_sel=1 display_type=1 yuv_layer=1
Jan 01 00:00:14 6 8 0 imx51_layer_update_end(): type=1,
gpio3=0x0600102a DVI_RST LVDS_RST LCD_DET
Jan 01 00:00:14 6 8 0 imx51_layer_update_end(): set
gpio3=0x0600103a DVI_RST LVDS_RST LCD_DET LCD_BKLIGHT
For the display.conf you can refer the attached buildfile.
for modopts in display.conf am using the imx51-1.conf.
xres=800,yres=480,refresh=60,pixclk=32264000,hsw=124,hss=60,hew=32,vsw=2,vss=33,vew=10,vpol=1,epol=1,dpol=0,cpol=0,hpol=1,ofmt=16,di=1,type=1,yuv=1
In the release notes they have mentioned about display-detect but i dint
find any binary for the same, so i have directly given the imx51-1.conf
file.
Can anyone help me on this issue.
Kishore.S
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.kishore s2011-07-22T06:42:37Zpost86633: Re: Poulsbo and screen resiolutionOscar Andreassenhttp://community.qnx.com/sf/go/post866332011-06-15T11:59:15Z2011-06-15T11:59:15ZCheck your video memory setting in BIOS! Had the same problem with the poulsbo driver on a iEi UIBX-200 machine. Changing the video memory from 4MB to 8MB it works fine with 1280x1024 16M colors.Oscar Andreassen2011-06-15T11:59:15Zpost86430: IMG_W and IMG_H in img_tReza Salehihttp://community.qnx.com/sf/go/post864302011-06-03T17:33:23Z2011-06-03T17:33:23ZI am loading a 640X480 rgb png as follow:
img_t image1;
rc = img_load_file(ilib, "/tmp/black.png", NULL, &image1);
I am trying to walk through every pixel in this image and do per pixel calculation. However, the loop below causes my system to crash!
for (i = 0; i <( image1.h * image1.w); i++)
// walk through the image using a pointer
After debugging this, it seems if I use image size to be 640*361 everything works fine. So, why is it that imag1.access.direct.data is pointing to a memory size that is (640*361) where the image size is 640X480? My image is a ARGB, so it I should have 4 bytes/pixel.
According to the documentation in img_t, the img_w and ima_h fields are the number of pixels.
Can someone help me understand the discrepancy that I am seeing?
Thanks,
R.S.Reza Salehi2011-06-03T17:33:23Zpost86372: img_t flagsReza Salehihttp://community.qnx.com/sf/go/post863722011-06-02T03:40:24Z2011-06-02T03:40:24ZHi,
I have a question in regards to the following img_t flags:
IMG_TRANSPARENCY;
IMG_FMT_ALPHA;
I have a file that is ARGB8888. When I load this file as below
rc = img_load_file(ilib, "/tmp/Day_24hr.png", NULL, &image1);
the IMG_TRANSPARENCY, IMG_FMT_ALPHA are not set! Aren't these flags suppose to be set by the img_load_file, if the file is ARGB8888 png file? I am trying to blit (blend) two ARGB files, but for some reason, I keep overwriting the destination instead of the blending. I also tried the following without luck
alpha.mode = GF_ALPHA_M1_SRC_PIXEL_ALPHA;
gf_context_set_dst_alpha(context, &alpha);
I would appreciate if someone can show me me some code on how to blend to two ARGB png files together.
I am trying to evaluate the QNX for our next company project but the documentation is not always very easy to follow (at least for a non graphic expert like me)
Thanks,
R.S.Reza Salehi2011-06-02T03:40:24Zpost86359: Re: How to blit insttead of overwite using gf_draw_blit2?Reza Salehihttp://community.qnx.com/sf/go/post863592011-06-01T21:36:34Z2011-06-01T21:36:34ZFor some reason, when I do:
image2.flags |= IMG_FORMAT;
image2.format = GF_FORMAT_ARGB8888;
rc = img_load_file(ilib, "/tmp/Day_24hr.png", NULL, &image1);
rc = gf_surface_attach(&img_surf1, gdev, image1.w, image1.h, image1.access.direct.stride, img_fmt_to_gf(image1.format),
&palette, image1.access.direct.data, 0);
gf_context_create(&context);
Then my call to rc = gf_context_set_surface(context, img_surf1); hangs and never returns!!!
I am running out of ideas to try!!!
Thanks,
Reza.Reza Salehi2011-06-01T21:36:34Zpost86358: Re: How to blit insttead of overwite using gf_draw_blit2?Joel Pilon(deleted)http://community.qnx.com/sf/go/post863582011-06-01T21:27:37Z2011-06-01T21:27:37ZCorrect, you'll need an alpha channel for source alpha blending.
----- Original Message -----
From: Reza Salehi [mailto:community-noreply@qnx.com]
Sent: Wednesday, June 01, 2011 05:17 PM
To: advanced-graphics <post86357@community.qnx.com>
Subject: Re: How to blit insttead of overwite using gf_draw_blit2?
Thanks for the quick reply Joel. However, I guess my problem is that I can not figure out how to enable blending! I have looked at the document and I found the gf_context_set_alpha. However, my images are RGB888 and not ARGB888. Should I read the original image as ARGB8888 (by setting the img_t format field).
I would appreciate it if you can point me to small code snipet or site, as I have been trying to figure this out for past two days.
Regards,
Reza.
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post86357Joel Pilon(deleted)2011-06-01T21:27:37Zpost86357: Re: How to blit insttead of overwite using gf_draw_blit2?Reza Salehihttp://community.qnx.com/sf/go/post863572011-06-01T21:17:32Z2011-06-01T21:17:32ZThanks for the quick reply Joel. However, I guess my problem is that I can not figure out how to enable blending! I have looked at the document and I found the gf_context_set_alpha. However, my images are RGB888 and not ARGB888. Should I read the original image as ARGB8888 (by setting the img_t format field).
I would appreciate it if you can point me to small code snipet or site, as I have been trying to figure this out for past two days.
Regards,
Reza.Reza Salehi2011-06-01T21:17:32Zpost86356: Re: How to blit insttead of overwite using gf_draw_blit2?Joel Pilon(deleted)http://community.qnx.com/sf/go/post863562011-06-01T20:56:56Z2011-06-01T20:56:56ZYou'll probably want to enable blending and use a source over blending mode.
-Joel
----- Original Message -----
From: Reza Salehi [mailto:community-noreply@qnx.com]
Sent: Wednesday, June 01, 2011 04:51 PM
To: advanced-graphics <post86355@community.qnx.com>
Subject: How to blit insttead of overwite using gf_draw_blit2?
Hi All,
I am trying to blit two .png files. I have attached the .png files to two seperate surfaces and am using the following code(only the important calls):
rc = gf_surface_attach(&img_surf1, gdev, image1.w, image1.h, image1.access.direct.stride, img_fmt_to_gf(image1.format),
&palette, image1.access.direct.data, 0);
rc = gf_surface_attach(&img_surf2, gdev, image2.w, image2.h, image2.access.direct.stride, img_fmt_to_gf(image2.format),
&palette2, image2.access.direct.data, 0);
gf_context_create(&context);
gf_context_set_surface(context, img_surf1);
gf_draw_begin(context);
gf_draw_blit2( context, img_surf2, NULL, 107, 4, 334, 222, 0, 0);
gf_draw_end(context);
rc = img_write_file(ilib, "/tmp/reza.png", NULL, &image1);
The two images are getting combined. However, the target image is overwriting (covering) the target image.
Can someone please tell me what I need to do (probably to the context) to have the source image blited into the target image, instead of overwriting it?
Thanks in advance,
Reza.
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post86355Joel Pilon(deleted)2011-06-01T20:56:56Zpost86355: How to blit insttead of overwite using gf_draw_blit2?Reza Salehihttp://community.qnx.com/sf/go/post863552011-06-01T20:51:18Z2011-06-01T20:51:18ZHi All,
I am trying to blit two .png files. I have attached the .png files to two seperate surfaces and am using the following code(only the important calls):
rc = gf_surface_attach(&img_surf1, gdev, image1.w, image1.h, image1.access.direct.stride, img_fmt_to_gf(image1.format),
&palette, image1.access.direct.data, 0);
rc = gf_surface_attach(&img_surf2, gdev, image2.w, image2.h, image2.access.direct.stride, img_fmt_to_gf(image2.format),
&palette2, image2.access.direct.data, 0);
gf_context_create(&context);
gf_context_set_surface(context, img_surf1);
gf_draw_begin(context);
gf_draw_blit2( context, img_surf2, NULL, 107, 4, 334, 222, 0, 0);
gf_draw_end(context);
rc = img_write_file(ilib, "/tmp/reza.png", NULL, &image1);
The two images are getting combined. However, the target image is overwriting (covering) the target image.
Can someone please tell me what I need to do (probably to the context) to have the source image blited into the target image, instead of overwriting it?
Thanks in advance,
Reza.Reza Salehi2011-06-01T20:51:18Zpost86287: Re: Write data into draw context memory slowly!Misha Nefedovhttp://community.qnx.com/sf/go/post862872011-05-31T12:51:49Z2011-05-31T12:51:49Z1. What graphics driver are you using?
2. What version of the OS?
3. What is the output of 'pci -v' (relevant part only -- search for VGA)
4. What is the output of show_vesa ? (just the header -- not need for modes' descriptions).Misha Nefedov2011-05-31T12:51:49Zpost86285: Re: Write data into draw context memory slowly!Thang Bui Quy(deleted)http://community.qnx.com/sf/go/post862852011-05-31T10:59:57Z2011-05-31T10:59:57ZThis is the link which contains datasheet of ARK-6622H-18ZE:
-
http://www.alldatasheet.net/datasheet-pdf/pdf/327854/ADVANTECH/ARK-6622H-18ZE.html
and this is the link for the board:
-
http://buy.advantech.com/AIMB270G200A1E/AIMB270G200A1E/model-AIMB-270G2-00A1E.htm
2011/5/31 Misha Nefedov <community-noreply@qnx.com>
> The code is for a chassis. Please post a link to the board/graphics adapter
> details.
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post86276
>
>Thang Bui Quy(deleted)2011-05-31T10:59:57Zpost86276: Re: Write data into draw context memory slowly!Misha Nefedovhttp://community.qnx.com/sf/go/post862762011-05-30T18:38:46Z2011-05-30T18:38:46ZThe code is for a chassis. Please post a link to the board/graphics adapter details.Misha Nefedov2011-05-30T18:38:46Zpost86275: Re: Write data into draw context memory slowly!Thang Bui Quy(deleted)http://community.qnx.com/sf/go/post862752011-05-30T17:38:35Z2011-05-30T17:38:35ZI bought a computer from Advantech, its name is ARK-6622H-18ZE. You can see
details about graphic adapter on website of Advantech. Thank you.
2011/5/31 Thắng Bùi Quý <bqthangcndt@gmail.com>
> Dear you!
> I am using the graphics adapter Intel GFX. I used window OS to build
> programs with the context memory and they always run normal, there were not
> any problem. Do you have solutions for my problem? Can you help me. Please!
>
>
> 2011/5/31 Misha Nefedov <community-noreply@qnx.com>
>
>> This is most likely expected -- when you get a pointer to a video
>> (dedicated) memory. The memory access is facilitated by the graphics
>> controller and is usually slow for reading (comparing to a RAM memory
>> controller) and fast for writing.
>> What graphics adapter are you using?
>>
>>
>>
>> _______________________________________________
>>
>> Advanced Graphics
>> http://community.qnx.com/sf/go/post86272
>>
>>
>Thang Bui Quy(deleted)2011-05-30T17:38:35Zpost86274: Re: Write data into draw context memory slowly!Thang Bui Quy(deleted)http://community.qnx.com/sf/go/post862742011-05-30T17:32:36Z2011-05-30T17:32:36ZDear you!
I am using the graphics adapter Intel GFX. I used window OS to build
programs with the context memory and they always run normal, there were not
any problem. Do you have solutions for my problem? Can you help me. Please!
2011/5/31 Misha Nefedov <community-noreply@qnx.com>
> This is most likely expected -- when you get a pointer to a video
> (dedicated) memory. The memory access is facilitated by the graphics
> controller and is usually slow for reading (comparing to a RAM memory
> controller) and fast for writing.
> What graphics adapter are you using?
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post86272
>
>Thang Bui Quy(deleted)2011-05-30T17:32:36Zpost86272: Re: Write data into draw context memory slowly!Misha Nefedovhttp://community.qnx.com/sf/go/post862722011-05-30T17:10:33Z2011-05-30T17:10:33ZThis is most likely expected -- when you get a pointer to a video (dedicated) memory. The memory access is facilitated by the graphics controller and is usually slow for reading (comparing to a RAM memory controller) and fast for writing.
What graphics adapter are you using?Misha Nefedov2011-05-30T17:10:33Zpost86234: Write data into draw context memory slowly!Thang Bui Quy(deleted)http://community.qnx.com/sf/go/post862342011-05-28T17:55:44Z2011-05-28T17:55:44ZI write a program using draw context memory by the function PdCreateOffscreenContext(). This function returns a pointer to a PdOffscreenContext_t. After that i use the function PdGetOffscreenContextPtr() to get a pointer to the shared memory object. When i have that pointer i can change data in the context to blit them on the screen by the function PgContextBlit(). However i had a problem with writing data back into the context, it was very slow. For example: ptr is the pointer to context, d is a variable.
for(int i=0; i < CONTEXT_HEIGHT; ++i)
for(int j=0; j < CONTEXT_WITH; ++j) {
d = *(ptr + i * CONTEXT_WIDTH * 4 + j);(1)
*(ptr + i * CONTEXT_WIDTH * 4 + j) = 2 * d; (2)
}
if i set CONTEXT_HEIGHT and CONTEXT_WIDTH small (about smaller than 256) the program run normal.
if i set CONTEXT_HEIGHT and CONTEXT_WIDTH biggerl (about 1024) the program run very slow.
I tried to test with bypassing either the line (1) or the line (2) and i realized that the line (2) made the program very slow. Can you help me to solve it?Thang Bui Quy(deleted)2011-05-28T17:55:44Zpost86181: Re: Who is responsible for alloc mem for access.direct.data?Joel Pilon(deleted)http://community.qnx.com/sf/go/post861812011-05-26T22:02:30Z2011-05-26T22:02:30ZI'd have to take a closer look. Perhaps someone else knows off hand.
----- Original Message -----
From: Reza Salehi [mailto:community-noreply@qnx.com]
Sent: Thursday, May 26, 2011 05:59 PM
To: advanced-graphics <post86180@community.qnx.com>
Subject: Re: Who is responsible for alloc mem for access.direct.data?
Hi Joel,
Thanks for answering. I though the same. However, I wrote a small code and it seems like data is NULL before and after img_load_file() call! The function returns OK so the image does get loaded (somewhere), but the point is still data pointer is still NULL. So, when I try to use this pointer to attach it to a gf surface, the system hangs.
img.flags = 0;
img.flags |= IMG_DIRECT;
printf("data before load %p \n",img.access.direct.data);
if ((rc = img_load_file(ilib, "/tmp/n_day_r.png", NULL, &img)) != IMG_ERR_OK) {
fprintf(stderr, "img_load_file(%s) failed: %d\n", "/tmp/n_day_r.png", rc);
return -1;
}
else
{
fprintf(stderr, "img_load_file(%s) sucess : %d\n", "/tmp/n_day_r.png", rc);
fprintf(stdout, "img is %dx%dx%d\n", img.w, img.h, IMG_FMT_BPP(img.format));
}
printf("data after load %d \n",img.access.direct.data);
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post86180Joel Pilon(deleted)2011-05-26T22:02:30Zpost86180: Re: Who is responsible for alloc mem for access.direct.data?Reza Salehihttp://community.qnx.com/sf/go/post861802011-05-26T21:59:31Z2011-05-26T21:59:31ZHi Joel,
Thanks for answering. I though the same. However, I wrote a small code and it seems like data is NULL before and after img_load_file() call! The function returns OK so the image does get loaded (somewhere), but the point is still data pointer is still NULL. So, when I try to use this pointer to attach it to a gf surface, the system hangs.
img.flags = 0;
img.flags |= IMG_DIRECT;
printf("data before load %p \n",img.access.direct.data);
if ((rc = img_load_file(ilib, "/tmp/n_day_r.png", NULL, &img)) != IMG_ERR_OK) {
fprintf(stderr, "img_load_file(%s) failed: %d\n", "/tmp/n_day_r.png", rc);
return -1;
}
else
{
fprintf(stderr, "img_load_file(%s) sucess : %d\n", "/tmp/n_day_r.png", rc);
fprintf(stdout, "img is %dx%dx%d\n", img.w, img.h, IMG_FMT_BPP(img.format));
}
printf("data after load %d \n",img.access.direct.data);Reza Salehi2011-05-26T21:59:31Zpost86178: Re: Who is responsible for alloc mem for access.direct.data?Joel Pilon(deleted)http://community.qnx.com/sf/go/post861782011-05-26T21:23:40Z2011-05-26T21:23:40ZIt been a long time, but i'm pretty sure the lib will allocate the memory, however I think you're responsible for freeing it.
----- Original Message -----
From: Reza Salehi [mailto:community-noreply@qnx.com]
Sent: Thursday, May 26, 2011 05:21 PM
To: advanced-graphics <post86177@community.qnx.com>
Subject: Who is responsible for alloc mem for access.direct.data?
Hi All,
I am having a problem with setting img.flags |= IMG_DIRECT. Who is responsible for alloc memory for acess.direct.data? Is it the user or does the img_load_file() allocates memeory when the user sets the IMG_DIRECT flag. I have been spinning why wheels on this. I am trying to grab the acess.direct.data pointer after loading a png file, but my system hangs everytime I set the IMG_DIRECT flag.
Thanks,
Reza.
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post86177Joel Pilon(deleted)2011-05-26T21:23:40Zpost86177: Who is responsible for alloc mem for access.direct.data?Reza Salehihttp://community.qnx.com/sf/go/post861772011-05-26T21:21:19Z2011-05-26T21:21:19ZHi All,
I am having a problem with setting img.flags |= IMG_DIRECT. Who is responsible for alloc memory for acess.direct.data? Is it the user or does the img_load_file() allocates memeory when the user sets the IMG_DIRECT flag. I have been spinning why wheels on this. I am trying to grab the acess.direct.data pointer after loading a png file, but my system hangs everytime I set the IMG_DIRECT flag.
Thanks,
Reza.Reza Salehi2011-05-26T21:21:19Zpost86166: How to update driver from 6.3 to 6.4/6.5?Christophe Hannoyerhttp://community.qnx.com/sf/go/post861662011-05-26T14:50:05Z2011-05-26T14:50:05ZHello,
For one of our embedded system we have a custom video driver working with QNX 6.3. Now I want to update it for QNX 6.4/6.5.
I'm currently reading this doc :
http://www.qnx.com/download/feature.html?programid=20957
Now I need to get the updated sources of the includes and sample drivers. But since the last changes in F27 I have not access to these sources.
How is it possible to get these access?
Thanks,
ChristopheChristophe Hannoyer2011-05-26T14:50:05Zpost86102: Re: RE: cleaning up an img_t* in C++Reza Salehihttp://community.qnx.com/sf/go/post861022011-05-25T00:13:23Z2011-05-25T00:13:23ZHi Derek,
I have a question with regard to img_t but in regard to who is allocating memory for access.direct.data pointer when using setting the IMG_DIRECT flag? Will the img_load_file() allocate memory for it?
I am trying to read a .png file, make some modification to the file and then save it as new .png file. However, when I set the IMG_DIRECT flag, my system hangs. If I don't set the IMG_DIRECT flag, the file is loaded correctly.
I am using QNX 6.4.1 on the host and the same version running on a VM target.
I appreciate it if you can give me pointer on where the problem could be.
Thanks,
RS.Reza Salehi2011-05-25T00:13:23Zpost86101: Re: RE: How to use devg-flat in gf_dev_attach?Reza Salehihttp://community.qnx.com/sf/go/post861012011-05-24T23:06:36Z2011-05-24T23:06:36ZHi Joel,
I tried to use the direct pointer approach, but my system hangs. Below is a code snipet where it hangs:
img_t img_day;
if ((rc = img_lib_attach(&ilib)) != IMG_ERR_OK) {
fprintf(stderr, "img_lib_attach() failed: %d\n", rc);
return rc;
}
img_day.flags = 0;
img_day.flags |= IMG_DIRECT;
// /tmp/stop.png is the location of the file on the target VM system
img_template_file_Day = "/tmp/stop.png";
// The code hangs after making the call below. If I don't set the IMG_DIRECT flag, it works.
if ((rc = img_load_file(ilib, img_template_file_Day, NULL, &img_day)) != IMG_ERR_OK) {
fprintf(stderr, "img_load_file(%s) failed on Day Template: %d\n", img_template_file_Day, rc);
// return rc;
}Reza Salehi2011-05-24T23:06:36Zpost86097: Re: RE: How to use devg-flat in gf_dev_attach?Reza Salehihttp://community.qnx.com/sf/go/post860972011-05-24T20:14:43Z2011-05-24T20:14:43ZWell, I think my problem is that I am not familiar enough with the graphic sub-systems of QNX to know what I want to do :). Basically, I have some graphic artists that are providing me base .png files. I need to draw an ellipse based on some dynamic data and save the result as another .png file. So, whatever is the fastest to accomplish this would work for me.
I appreciate it if you have any suggestion or code snippet to help me get started.
Thanks,
RezaReza Salehi2011-05-24T20:14:43Zpost86096: RE: How to use devg-flat in gf_dev_attach?Joel Pilon(deleted)http://community.qnx.com/sf/go/post860962011-05-24T19:38:35Z2011-05-24T19:38:35ZDo you want to modify the img data using gf rendering or just via a pointer in software? If you don't plan on using gf rendering, then there's no need for a gf surface.
-Joel
-----Original Message-----
From: Reza Salehi [mailto:community-noreply@qnx.com]
Sent: May 24, 2011 3:02 PM
To: advanced-graphics
Subject: Re: How to use devg-flat in gf_dev_attach?
Thanks Joel. But, my understanding was that in order to modify the image data, I will have to first attach it to a gf surface, modify it, and then save it. Just so I understand, if I only need need to modify a .png file (not display it), I don't need to use gf at all? In other words, I don't need to attach and great a gf surface at all? Basically, below is what I am trying to do:
1. Read a .png file from the file system (i.e. /tmp/test.png)
2. Modify this file with some algorithm to draw an ellipse
3. Same the result from #2 as /tmp/new_image.png
Thanks,
Reza.
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post86093Joel Pilon(deleted)2011-05-24T19:38:35Zpost86093: Re: How to use devg-flat in gf_dev_attach?Reza Salehihttp://community.qnx.com/sf/go/post860932011-05-24T19:02:28Z2011-05-24T19:02:28ZThanks Joel. But, my understanding was that in order to modify the image data, I will have to first attach it to a gf surface, modify it, and then save it. Just so I understand, if I only need need to modify a .png file (not display it), I don't need to use gf at all? In other words, I don't need to attach and great a gf surface at all? Basically, below is what I am trying to do:
1. Read a .png file from the file system (i.e. /tmp/test.png)
2. Modify this file with some algorithm to draw an ellipse
3. Same the result from #2 as /tmp/new_image.png
Thanks,
Reza.Reza Salehi2011-05-24T19:02:28Zpost86090: Re: How to use devg-flat in gf_dev_attach?Joel Pilon(deleted)http://community.qnx.com/sf/go/post860902011-05-24T18:30:37Z2011-05-24T18:30:37ZIf you just want to encode/decode image data you don't need GF. You can either pass or get a pointer to the img data by just using libimg.Joel Pilon(deleted)2011-05-24T18:30:37Zpost86089: How to use devg-flat in gf_dev_attach?Reza Salehihttp://community.qnx.com/sf/go/post860892011-05-24T18:27:12Z2011-05-24T18:27:12ZI am trying to read a .png file, modify it and write a back to the file system. In order to do that, my understanding is, that I need to use both gf and img libraries. I don't want to use any specific HW to attach to as I don't need to display my .png file. All I want to do is to be able to create surface so that I can modify my .png file.
In order to create a surface, I need to first attach to a device. My understanding is that I can use devg-flat as a device. However I am not sure, how to install devg-flat driver and related files into my IDE and target. I also don't know how to use devg-flat in the call gf_dev_attach() call? I have already added libffb.so to extra libraries section of IDE.
I appreciate it if anyone can give me some pointers on this.
Regards,
Reza.Reza Salehi2011-05-24T18:27:12Zpost86031: Re: Newbie Question - Help with GFArmin Steinhoffhttp://community.qnx.com/sf/go/post860312011-05-21T11:43:26Z2011-05-21T11:43:26ZReza Salehi wrote:
> Hi Armin,
>
> Thanks for your comment. Do you know if there is a site that tells you how to install sdl_gfx library/ies and write a hello world program to draw an ellipse on VM x86 target running Nuternia 6.5?
SDL 1.3:
http://community.qnx.com/sf/projects/qnx_community_sdl_project/ -->
have a look to the OpenGL ES support
SDL_Gfx: http://www.ferzkopp.net/joomla/content/view/19/14/ ... it
compiles out of the box.
--Armin
> Thanks in advance,
>
> Reza.
>
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post86028
>
>Armin Steinhoff2011-05-21T11:43:26Zpost86028: Re: Newbie Question - Help with GFReza Salehihttp://community.qnx.com/sf/go/post860282011-05-20T23:13:14Z2011-05-20T23:13:14ZHi Armin,
Thanks for your comment. Do you know if there is a site that tells you how to install sdl_gfx library/ies and write a hello world program to draw an ellipse on VM x86 target running Nuternia 6.5?
Thanks in advance,
Reza.Reza Salehi2011-05-20T23:13:14Zpost86000: Re: Newbie Question - Help with GFArmin Steinhoffhttp://community.qnx.com/sf/go/post860002011-05-20T08:53:18Z2011-05-20T08:53:18ZJoel Pilon wrote:
> My mistake, my memory is a little rusty. You'll have to generate and tessellate your own ellipses in gf. Or you might be able to use photon and the pgdrawellise function.
... with SDL_Gfx you will get antialized ellipses :)
--Armin
http://www.steinhoff-automation.com
> ----- Original Message -----
> From: Reza Salehi [mailto:community-noreply@qnx.com]
> Sent: Thursday, May 19, 2011 08:42 PM
> To: advanced-graphics<post85987@community.qnx.com>
> Subject: Re: Newbie Question - Help with GF
>
> Thanks Joel. However, after checking the libgf, it seems like it doesn't support drawing of ellipses! I only see polyline and rectangular drawing functions.
>
> Cheers,
>
> Reza.
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post85987
>
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post85995
>
>Armin Steinhoff2011-05-20T08:53:18Zpost85995: Re: Newbie Question - Help with GFJoel Pilon(deleted)http://community.qnx.com/sf/go/post859952011-05-20T02:52:36Z2011-05-20T02:52:36ZMy mistake, my memory is a little rusty. You'll have to generate and tessellate your own ellipses in gf. Or you might be able to use photon and the pgdrawellise function.
----- Original Message -----
From: Reza Salehi [mailto:community-noreply@qnx.com]
Sent: Thursday, May 19, 2011 08:42 PM
To: advanced-graphics <post85987@community.qnx.com>
Subject: Re: Newbie Question - Help with GF
Thanks Joel. However, after checking the libgf, it seems like it doesn't support drawing of ellipses! I only see polyline and rectangular drawing functions.
Cheers,
Reza.
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post85987Joel Pilon(deleted)2011-05-20T02:52:36Zpost85987: Re: Newbie Question - Help with GFReza Salehihttp://community.qnx.com/sf/go/post859872011-05-20T00:42:55Z2011-05-20T00:42:55ZThanks Joel. However, after checking the libgf, it seems like it doesn't support drawing of ellipses! I only see polyline and rectangular drawing functions.
Cheers,
Reza.Reza Salehi2011-05-20T00:42:55Zpost85984: Re: Newbie Question - Help with GFJoel Pilon(deleted)http://community.qnx.com/sf/go/post859842011-05-19T23:49:01Z2011-05-19T23:49:01ZOops accidently hit send to soon. You can get a pointer from a gf surface using gf to either read or write image data. Libimg accepts a pointer for the src or dst for image encode/decode operations.
----- Original Message -----
From: Joel Pilon
Sent: Thursday, May 19, 2011 07:46 PM
To: 'post85982@community.qnx.com' <post85982@community.qnx.com>
Subject: Re: Newbie Question - Help with GF
I don't have a link handy, but you can get a pointer from a CPU accessible surface. You can pass the pointrr
----- Original Message -----
From: Reza Salehi [mailto:community-noreply@qnx.com]
Sent: Thursday, May 19, 2011 07:44 PM
To: advanced-graphics <post85982@community.qnx.com>
Subject: Re: Newbie Question - Help with GF
Thank you very much Joel. At least I know where to start looking.
After looking into libimg, I found the img_load and img_load_file APIs. However, one of these APIs deal with streaming data and another with a filesystem file! I could not find and API that would directly read and load an image from GF surface. Can you please tell which libimg API does that?
Also, QNX usually has some very good code examples or tutorials on these types of things. Do you know a link or a location where I can find an example of how to do something like this instead of me asking stupid questions and wasting peoples time on the this Forum?
Thanks again,
Reza.
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post85982Joel Pilon(deleted)2011-05-19T23:49:01Zpost85983: Re: Newbie Question - Help with GFJoel Pilon(deleted)http://community.qnx.com/sf/go/post859832011-05-19T23:46:10Z2011-05-19T23:46:10ZI don't have a link handy, but you can get a pointer from a CPU accessible surface. You can pass the pointrr
----- Original Message -----
From: Reza Salehi [mailto:community-noreply@qnx.com]
Sent: Thursday, May 19, 2011 07:44 PM
To: advanced-graphics <post85982@community.qnx.com>
Subject: Re: Newbie Question - Help with GF
Thank you very much Joel. At least I know where to start looking.
After looking into libimg, I found the img_load and img_load_file APIs. However, one of these APIs deal with streaming data and another with a filesystem file! I could not find and API that would directly read and load an image from GF surface. Can you please tell which libimg API does that?
Also, QNX usually has some very good code examples or tutorials on these types of things. Do you know a link or a location where I can find an example of how to do something like this instead of me asking stupid questions and wasting peoples time on the this Forum?
Thanks again,
Reza.
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post85982Joel Pilon(deleted)2011-05-19T23:46:10Zpost85982: Re: Newbie Question - Help with GFReza Salehihttp://community.qnx.com/sf/go/post859822011-05-19T23:44:14Z2011-05-19T23:44:14ZThank you very much Joel. At least I know where to start looking.
After looking into libimg, I found the img_load and img_load_file APIs. However, one of these APIs deal with streaming data and another with a filesystem file! I could not find and API that would directly read and load an image from GF surface. Can you please tell which libimg API does that?
Also, QNX usually has some very good code examples or tutorials on these types of things. Do you know a link or a location where I can find an example of how to do something like this instead of me asking stupid questions and wasting peoples time on the this Forum?
Thanks again,
Reza.Reza Salehi2011-05-19T23:44:14Zpost85979: Re: Newbie Question - Help with GFJoel Pilon(deleted)http://community.qnx.com/sf/go/post859792011-05-19T22:38:51Z2011-05-19T22:38:51ZI'd suggest taking a look at libimg. There also doc for the api as well. The gf api allows you to render things like ellipses and libimg would allow you to write data from gf surfaces as pngs. You could then load png files into gf surfaces or to render them as gf images.
----- Original Message -----
From: Reza Salehi [mailto:community-noreply@qnx.com]
Sent: Thursday, May 19, 2011 06:30 PM
To: advanced-graphics <post85978@community.qnx.com>
Subject: Re: Newbie Question - Help with GF
Sorry, I had a typo in the previous e-mail: I was trying to say that I am trying to draw ellipses and save them as a png file.
Thanks,
Reza.
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post85978Joel Pilon(deleted)2011-05-19T22:38:51Zpost85978: Re: Newbie Question - Help with GFReza Salehihttp://community.qnx.com/sf/go/post859782011-05-19T22:30:37Z2011-05-19T22:30:37ZSorry, I had a typo in the previous e-mail: I was trying to say that I am trying to draw ellipses and save them as a png file.
Thanks,
Reza.Reza Salehi2011-05-19T22:30:37Zpost85977: Newbie Question - Help with GFReza Salehihttp://community.qnx.com/sf/go/post859772011-05-19T21:35:09Z2011-05-19T21:35:09ZHi All,
I am Newbie with QNX GF and QNX in general. I am trying to use Momentics IDE to connect to a x86 VM target using qconn. What I want to do is to be able to draw an based on some parameters and then save it in a PNG format on the target file system (VM running neutrino). I would like to then be able to load the png file in a browser and display the image.
Can anyone someone tell me what is the best way to start? Is GF the correct place to start. With GF, I could not find anyway to render to a file rather that a graphic device!
I apologize if some my graphic terminology is not correct. I am trying to evaluate the QNX platform for a future project and this would help me get started.
Thanks in advance.
Reza.Reza Salehi2011-05-19T21:35:09Zpost85798: Re: What are the basics of font rendering? [bcc] [bcc][auto-ip]Ronald Burkeyhttp://community.qnx.com/sf/go/post857982011-05-17T16:15:31Z2011-05-17T16:15:31ZThanks, Misha. It does seem to do something now.
On 05/17/2011 09:19 AM, Misha Nefedov wrote:
> Yes, I got this. The problem is that we asked to NO rendering buffer when doing th PfAttachCx(). Give it a number, for example:
>
> PfAttachCx( NULL, 32*1024 );
>
> The size of the buffer should depend on how large the strings and the font size are.
>
>
>
>
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post85785Ronald Burkey2011-05-17T16:15:31Zpost85785: Re: What are the basics of font rendering? [bcc] [bcc][auto-ip]Misha Nefedovhttp://community.qnx.com/sf/go/post857852011-05-17T14:19:24Z2011-05-17T14:19:24ZYes, I got this. The problem is that we asked to NO rendering buffer when doing th PfAttachCx(). Give it a number, for example:
PfAttachCx( NULL, 32*1024 );
The size of the buffer should depend on how large the strings and the font size are.Misha Nefedov2011-05-17T14:19:24Zpost85745: Re: What are the basics of font rendering? [bcc] [bcc][auto-ip]Ronald Burkeyhttp://community.qnx.com/sf/go/post857452011-05-16T20:15:32Z2011-05-16T20:15:32ZOn 05/16/2011 02:55 PM, Misha Nefedov wrote:
> Hard to tell. Can you please post the entire source file -- for me to try?
Here's code that fails for me as described. I compiled it with
"ntox86-gcc -o FontTest FontTest.c -lph" and ran the font server with
"phfont -d /usr/photon/font_repository -D /usr/photon/font_repository".
#include <stdio.h>
#include <errno.h>
#include <photon/Pf.h>
void
Callback (void *ctx, const pf_point_t *pos, const FontRender *fr)
{
fprintf (stderr, "Callback: %d,%d\n", pos->x, pos->y);
fprintf (stderr, "Callback: %d,%d %d,%d %d, %d, %d, %p\n",
fr->size.x, fr->size.y, fr->offset.x, fr->offset.y,
fr->width, fr->bpl, fr->bpp, fr->bmptr);
}
int
main (void)
{
char *MyFontName = "Courier10 BT";
int FontSize = 10;
int i;
struct _Pf_ctrl *FontServer = NULL;
FontID *ID;
FontName Description;
pf_point_t pp = { 50, 50 };
FontServer = PfAttachCx (NULL, 0);
if (FontServer == NULL)
{
fprintf (stderr, "Cannot attach to font server.\n");
return (1);
}
if (NULL == PfGenerateFontNameCx (FontServer, MyFontName, 0,
FontSize, Description))
{
fprintf (stderr, "Cannot get font name %s size %d style 0x%X\n",
MyFontName, FontSize, 0);
return (1);
}
i = PfRenderCx (FontServer, FontServer, Description, 0L, 0L,
"Hello, world!", 0, 0, &pp, NULL, Callback);
fprintf (stderr, "PfRenderCx() returned %d\n", i);
if (i)
fprintf (stderr, "%s\n", strerror (errno));
return (0);
}
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post85742Ronald Burkey2011-05-16T20:15:32Zpost85743: RE: RE: gf_context_set_surface(): Problem with color format GF_FORMAT_PACK_YUV_UYVYMichael Van Reenenhttp://community.qnx.com/sf/go/post857432011-05-16T19:55:11Z2011-05-16T19:55:11ZGF does not support blitting to/from YUV surfaces so you will not be
able to set a context to this surface. The other formats are all RGB
so they work.
If you need to transfer YUV data between surfaces you'll have to
manually copy this. Alternately depending on your
application/use-case you could have multiple YUV surfaces and just
re-target the layer to point at the different surfaces.
(gf_layer_set_surfaces())
-----Original Message-----
From: Nikshep Patil [mailto:community-noreply@qnx.com]
Sent: May 16, 2011 3:35 PM
To: advanced-graphics
Subject: Re: RE: gf_context_set_surface(): Problem with color format
GF_FORMAT_PACK_YUV_UYVY
Hi Michael,
I am working with an internal driver.
Regards
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post85736Michael Van Reenen2011-05-16T19:55:11Zpost85742: Re: What are the basics of font rendering? [bcc] [bcc][auto-ip]Misha Nefedovhttp://community.qnx.com/sf/go/post857422011-05-16T19:54:59Z2011-05-16T19:54:59ZHard to tell. Can you please post the entire source file -- for me to try?Misha Nefedov2011-05-16T19:54:59Zpost85739: Re: gf_context_set_surface(): Problem with color format GF_FORMAT_PACK_YUV_UYVYNikshep Patilhttp://community.qnx.com/sf/go/post857392011-05-16T19:39:34Z2011-05-16T19:39:34ZI am having problems with gf_context_set_surface() of step 3 with the color format GF_FORMAT_PACK_YUV_UYVY.Nikshep Patil2011-05-16T19:39:34Zpost85737: Re: What are the basics of font rendering? [bcc] [bcc][auto-ip]Ronald Burkeyhttp://community.qnx.com/sf/go/post857372011-05-16T19:35:18Z2011-05-16T19:35:18ZOn 05/16/2011 01:17 PM, Misha Nefedov wrote:
> The 'Description' should be replaced with 'FontName' when calling the PfFindFont(). The PfFindFont() is similar to PfGenerateFontName(), it only returns FontID. I am not sure why you need it.
Well, I was simply following the sample code in the PfRenderCx() API
doc, as you suggested. The sample code calls PfFindFontCx().
Personally, I'm willing to do without it, even though I don't see why it
should be failing.
> The 'Description' you got from the Generate function is good to be used with the subsequent PfRenderCx().
Okay, I think you're suggesting something like this:
FontName Description;
char *FontName = "Courier10 BT";
pf_point_t pp = { 50, 50 };
int FontSize = 10;
FontServer = PfAttachCx (NULL, 0);
... check for error ...
if (NULL == PfGenerateFontNameCx (FontServer, FontName, 0, FontSize,
Description))
{
... error ...
}
i = PfRenderCx (FontServer, FontServer, Description, 0L, 0L, "Hello,
world!", 0,
0, &pp, NULL, Callback);
... check for error ...
This code fails when it reaches PfRenderCx(). The error message
displayed by "perror(strerror(errno))" is "Invalid argument".
>
>
> _______________________________________________
>
> Advanced Graphics
> http://community.qnx.com/sf/go/post85727Ronald Burkey2011-05-16T19:35:18Zpost85736: Re: RE: gf_context_set_surface(): Problem with color format GF_FORMAT_PACK_YUV_UYVYNikshep Patilhttp://community.qnx.com/sf/go/post857362011-05-16T19:35:02Z2011-05-16T19:35:02ZHi Michael,
I am working with an internal driver.
RegardsNikshep Patil2011-05-16T19:35:02Z