Active Topics

 



Notices


Reply
Thread Tools
filip.pz's Avatar
Posts: 108 | Thanked: 579 times | Joined on Feb 2013 @ Požega, Croatia
#401
Originally Posted by MSameer View Post
The short answer:
Unfortunately it's not possible to have a camera on N9 without libomap3camd

libomap3camd (omap3 camera daemon library!) contains 3A (auto exposure, auto WB and auto focus algorithms. It also what does the actual image capture).

The long answer:
It might be possible. We just need to develop our own 3A stuff. I remember someone (Sorry I forgot who he is) was trying to get something using fcam but I don't know the details.

Do you have any details about 3.5.3 kernel? Any link that describes how to build and test it?

I cannot promise to check it as my laptop is overheating and I am not sure it'll survive kernel compilation. My gut feeling is it's a patch or 2 for the kernel.
I understand - it's probably just some minor glitch, but w/o some debug info from libomap3camd itself it's kind a hard to figure out what's going on. My best guess is that V4L2 stuff behaves different between two kernels (I already cracked one of those bugs that prevented first usage of libomap3camd under 3.5.3 due to this, and subsequent uses worked - you can imagine debugging multithreaded lib with gdb and w/o debugging info that fails only for first use - I had to reboot about 1037 times). Fcam is probably better option in the long run.

As for the kernel itself, here is the link to it: https://github.com/filippz/kernel-adaptation-n950-n9 and instructions for building: https://wiki.merproject.org/wiki/N9_...tions_from_git. If necessary I can provide my own build (it takes tome time to set everything, ie: MerSDK, SB2...), but it would be hard to play with it w/o the ability to compile it. I've tested it using ubiboot on nemomobile, but it works under sailfish too. For preview I also had to build waylandsink (I can send compiled lib if needed)

There are guys on #nemomobile IRC channel that are better than me in setting the enviroment for compiling, so they can help with kernel building and setting up nemomobile if needed.

Anyway thanks for your app, and you taking the time to take a look at this issue!
 
Posts: 8 | Thanked: 1 time | Joined on Jun 2013
#402
Hello, i'm having some problems with cameraplus. Basically, when the app starts, i have to wait 1 minute until i can take any photos. Any solutions?
 
MSameer's Avatar
Posts: 605 | Thanked: 1,778 times | Joined on Feb 2008 @ Helsinki
#403
Originally Posted by ignaciospaventa View Post
Hello, i'm having some problems with cameraplus. Basically, when the app starts, i have to wait 1 minute until i can take any photos. Any solutions?
Why do you have to wait? Does the viewfinder become visible? What exactly happens when you launch the app?
__________________
We need a coffee machine that doesn't ask for coffee beans every 10 hours
 
MSameer's Avatar
Posts: 605 | Thanked: 1,778 times | Joined on Feb 2008 @ Helsinki
#404
Originally Posted by filip.pz View Post
I understand - it's probably just some minor glitch, but w/o some debug info from libomap3camd itself it's kind a hard to figure out what's going on. My best guess is that V4L2 stuff behaves different between two kernels (I already cracked one of those bugs that prevented first usage of libomap3camd under 3.5.3 due to this, and subsequent uses worked - you can imagine debugging multithreaded lib with gdb and w/o debugging info that fails only for first use - I had to reboot about 1037 times). Fcam is probably better option in the long run.

As for the kernel itself, here is the link to it: https://github.com/filippz/kernel-adaptation-n950-n9 and instructions for building: https://wiki.merproject.org/wiki/N9_...tions_from_git. If necessary I can provide my own build (it takes tome time to set everything, ie: MerSDK, SB2...), but it would be hard to play with it w/o the ability to compile it. I've tested it using ubiboot on nemomobile, but it works under sailfish too. For preview I also had to build waylandsink (I can send compiled lib if needed)

There are guys on #nemomobile IRC channel that are better than me in setting the enviroment for compiling, so they can help with kernel building and setting up nemomobile if needed.

Anyway thanks for your app, and you taking the time to take a look at this issue!
I think it might be some change in the media controller API (might be ioctls renamed or changed struct definitions).

omap3camd is a piece of crap. I know

I don't know if yavta http://git.ideasonboard.org/yavta.git would help or not.

I'd personally use filesink and dump the raw frames to a file and inspect them just to be sure that the issue is not a wayland issue.

I will try to have a look and see. I personally prefer using nemo than Sailfish but I will see what's flashed on my spare N9

P.S. also note that the nemo version of omap3camd is crippled. The harmattan version is better.
__________________
We need a coffee machine that doesn't ask for coffee beans every 10 hours
 
filip.pz's Avatar
Posts: 108 | Thanked: 579 times | Joined on Feb 2013 @ Požega, Croatia
#405
Originally Posted by MSameer View Post
I think it might be some change in the media controller API (might be ioctls renamed or changed struct definitions).

omap3camd is a piece of crap. I know

I don't know if yavta http://git.ideasonboard.org/yavta.git would help or not.

I'd personally use filesink and dump the raw frames to a file and inspect them just to be sure that the issue is not a wayland issue.

I will try to have a look and see. I personally prefer using nemo than Sailfish but I will see what's flashed on my spare N9

P.S. also note that the nemo version of omap3camd is crippled. The harmattan version is better.
I think that the change to ioctls/structs would cause exceptions in code, rather than misbehaving, but anything is possible.

I used default nemo kernel to test waylandsink and it works OK. To be safe I tried filesink, and app.c from https://gitorious.org/msameer/omap3camd/source/master: Raw image data contains occasional ones - not just entire zeroes - so maybe liboamp3camd has trouble with "brightness" setting (wild guess). I also tried setting smiapp driver to test pattern to exclude problems with smiapp (without using libomap3camd I get test pattern to display - but with wrong colors). Since I had to reconfigure kernel memory to be used for zero-copy buffering - I'm not sure that the issue isn't there.

"First use" bug was due to the fact that V4L2 in older kernels would make ctrl->val same as ctrl->cur.val when setting v4l2_ctrl struct for smiapp driver (fix is here: https://github.com/filippz/kernel-ad...a78a8413378f69) - on the second run ctrl->val would be OK. Since there are ctrl->val, ctr->val64, ctrl->cur.val and ctrl->cur.val64 for every v4l2_ctrl it's possible that libomap3camd looks at (for example) ctrl->cur.val, but in newer kernels it should look at cur->val64. This doesn't cause it to break, but it reads default value and produces wrong result.

I also prefer nemo on my spare N9 - the guys there are doing a fantastic job. I'm not sure what you mean when you say that nemo version is crippled - I was under impression that the versions are the same?
 
Posts: 8 | Thanked: 1 time | Joined on Jun 2013
#406
Originally Posted by MSameer View Post
Why do you have to wait? Does the viewfinder become visible? What exactly happens when you launch the app?
The viewfinder becomes visible, but only for 1 second, then it freezes and it shows "cameraplus not responding". If i wait a minute it starts working. It's not the hardware, because if I use the native camera it works perfectly well
 
MSameer's Avatar
Posts: 605 | Thanked: 1,778 times | Joined on Feb 2008 @ Helsinki
#407
Originally Posted by ignaciospaventa View Post
The viewfinder becomes visible, but only for 1 second, then it freezes and it shows "cameraplus not responding". If i wait a minute it starts working. It's not the hardware, because if I use the native camera it works perfectly well
Could you launch it from the terminal and paste anything printed there?

This needs debugging with gdb apparently but let's see.
__________________
We need a coffee machine that doesn't ask for coffee beans every 10 hours
 
Posts: 8 | Thanked: 1 time | Joined on Jun 2013
#408
Originally Posted by MSameer View Post
Could you launch it from the terminal and paste anything printed there?

This needs debugging with gdb apparently but let's see.
Code:
~ $ cameraplus
Found SGX/MBX driver, enabling FullClearOnEveryFrame
Found v1.4 driver, enabling brokenTexSubImage
Loading plugin:  true
Found SGX/MBX driver, enabling FullClearOnEveryFrame
Found v1.4 driver, enabling brokenTexSubImage
libomap3camd 1.136
CC reset, prev_cc: 0 new_cc -2259980 new offset: 2259980

DBus error:
org.freedesktop.DBus.Error.NoReply
Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the networkconnection was broken.
Error occured while reading data from socket:"Unknown error"
libomap3camd 1.136
Warning Internal data flow problem. : gstbasesink.c(3678): gst_base_sink_chain_unlocked (): /GstCameraBin2:QtCameraCameraBin/GstViewfinderBin:vf-bin/GstGLTextureSink:QtCamViewfinderRendererMeeGoSink:
Received buffer without a new-segment. Assuming timestamps start from 0.
libomap3camd 1.136
Warning Internal data flow problem. : gstbasesink.c(3678): gst_base_sink_chain_unlocked (): /GstCameraBin2:QtCameraCameraBin/GstViewfinderBin:vf-bin/GstGLTextureSink:QtCamViewfinderRendererMeeGoSink:
Received buffer without a new-segment. Assuming timestamps start from 0.
CC reset, prev_cc: 0 new_cc -2266580 new offset: 2266580
Too many samples waiting in socket. Flushing it to empty
 
MSameer's Avatar
Posts: 605 | Thanked: 1,778 times | Joined on Feb 2008 @ Helsinki
#409
Originally Posted by filip.pz View Post
I think that the change to ioctls/structs would cause exceptions in code, rather than misbehaving, but anything is possible.

I used default nemo kernel to test waylandsink and it works OK. To be safe I tried filesink, and app.c from https://gitorious.org/msameer/omap3camd/source/master: Raw image data contains occasional ones - not just entire zeroes - so maybe liboamp3camd has trouble with "brightness" setting (wild guess). I also tried setting smiapp driver to test pattern to exclude problems with smiapp (without using libomap3camd I get test pattern to display - but with wrong colors). Since I had to reconfigure kernel memory to be used for zero-copy buffering - I'm not sure that the issue isn't there.

"First use" bug was due to the fact that V4L2 in older kernels would make ctrl->val same as ctrl->cur.val when setting v4l2_ctrl struct for smiapp driver (fix is here: https://github.com/filippz/kernel-ad...a78a8413378f69) - on the second run ctrl->val would be OK. Since there are ctrl->val, ctr->val64, ctrl->cur.val and ctrl->cur.val64 for every v4l2_ctrl it's possible that libomap3camd looks at (for example) ctrl->cur.val, but in newer kernels it should look at cur->val64. This doesn't cause it to break, but it reads default value and produces wrong result.

I also prefer nemo on my spare N9 - the guys there are doing a fantastic job. I'm not sure what you mean when you say that nemo version is crippled - I was under impression that the versions are the same?
changes in ioctls can exhibit different behavior depending on the ioctl itself and its usage, Anyway I am just guessing as I have not yet checked.

I remember I came across an old debug binary for omap3camd while trying to reverse engineer its header. I can't remember where I got it from

Have you tried using the N9 driver instead of the smiapp one?

I am trying to ask around about the driver state but no replies so far.

As for omap3camd. My understanding is that the public nemo version was crippled by Nokia. I am not entirely sure but that's another topic
__________________
We need a coffee machine that doesn't ask for coffee beans every 10 hours
 
MSameer's Avatar
Posts: 605 | Thanked: 1,778 times | Joined on Feb 2008 @ Helsinki
#410
Code:
DBus error:
org.freedesktop.DBus.Error.NoReply
Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the networkconnection was broken.
Seems we are blocked waiting for DBus to reply. I don't exactly know what is being blocked.

Can you try after disabling GPS and geotags?
__________________
We need a coffee machine that doesn't ask for coffee beans every 10 hours
 
Reply

Tags
?where is nemo?, thank you!


 
Forum Jump


All times are GMT. The time now is 13:18.