PINE64
Camera support progress - Printable Version

+- PINE64 (https://forum.pine64.org)
+-- Forum: PinePhone (https://forum.pine64.org/forumdisplay.php?fid=120)
+--- Forum: PinePhone Software (https://forum.pine64.org/forumdisplay.php?fid=121)
+---- Forum: Debian on PinePhone (https://forum.pine64.org/forumdisplay.php?fid=139)
+---- Thread: Camera support progress (/showthread.php?tid=10578)

Pages: 1 2 3 4 5 6 7 8


RE: Camera support progress - spaetz - 08-11-2020

(08-11-2020, 12:34 AM)fernando_c_m Wrote: First of all you need kernel support for your camera device. There are currently some features which are not supported, like autofocus and some resolutions and framerate settings if we talk of the rear camera.

Then you need a user interface to handle the images that the kernel driver generates. Pinhole is at a very basic stage. It has to be developed further.

Cheese has been out there for some time, mostly used for webcams. I would say it is mature enough. It needs to be modified though in order to be able to handle the camera image on the pinephone (at least the last time I tried).

Things are not so easy as they may seem. : )
Exactly :-). Cameras on Linux work, if there are drivers for them. The pinephone camera was/is not one of them. Plus, the Linux ecosystem simply had no picture taking application (besides GNOME cheese, which is not really suitable yet). So, pioneering work needed on both these fronts...


RE: Camera support progress - natasha - 08-11-2020

(08-11-2020, 12:34 AM)fernando_c_m Wrote:
(08-10-2020, 02:27 PM)natasha Wrote: Thank you for your reply!
I am sorry to insist, and I know that insisting will not make the camera suddenly work
I just try to understand why it is so difficult when other similar devices already have working cameras .
Any Linux computer can accept a camera and they work at the very highest resolution, autofocus, adjust light, etc
I just checked and pinebook also has a camera. I don't know if works or not, but if does, should be the same? it is also an arm
First of all you need kernel support for your camera device. There are currently some features which are not supported, like autofocus and some resolutions and framerate settings if we talk of the rear camera.

Then you need a user interface to handle the images that the kernel driver generates. Pinhole is at a very basic stage. It has to be developed further.

Cheese has been out there for some time, mostly used for webcams. I would say it is mature enough. It needs to be modified though in order to be able to handle the camera image on the pinephone (at least the last time I tried).

Things are not so easy as they may seem. : )
Thank you for taking the time to explain this.
I cannot make me an idea, because I do not know how Linux (or any OS) communicates with the hardware.

However, I can see that Linux can communicate with hardware and with any webcam.
So, you say we need two things: kernel support and a user interface.

Ok, it sounds we need people working on this. Debian and the other distros have nightly updates, but to be honest I do not see any difference between a release and the next. The camera is never touched.
Is anyone actively working on this? who?


RE: Camera support progress - fishbowlkraken - 08-11-2020

(08-11-2020, 01:24 PM)natasha Wrote:
(08-11-2020, 12:34 AM)fernando_c_m Wrote:
(08-10-2020, 02:27 PM)natasha Wrote: Thank you for your reply!
I am sorry to insist, and I know that insisting will not make the camera suddenly work
I just try to understand why it is so difficult when other similar devices already have working cameras .
Any Linux computer can accept a camera and they work at the very highest resolution, autofocus, adjust light, etc
I just checked and pinebook also has a camera. I don't know if works or not, but if does, should be the same? it is also an arm
First of all you need kernel support for your camera device. There are currently some features which are not supported, like autofocus and some resolutions and framerate settings if we talk of the rear camera.

Then you need a user interface to handle the images that the kernel driver generates. Pinhole is at a very basic stage. It has to be developed further.

Cheese has been out there for some time, mostly used for webcams. I would say it is mature enough. It needs to be modified though in order to be able to handle the camera image on the pinephone (at least the last time I tried).

Things are not so easy as they may seem. : )
Thank you for taking the time to explain this.
I cannot make me an idea, because I do not know how Linux (or any OS) communicates with the hardware.

However, I can see that Linux can communicate with hardware and with any webcam.
So, you say we need two things: kernel support and a user interface.

Ok, it sounds we need people working on this. Debian and the other distros have nightly updates, but to be honest I do not see any difference between a release and the next. The camera is never touched.
Is anyone actively working on this? who?


Nightly builds are literally just the code, as it is currently committed, being compiled and pushed out to the server as an image, so there's no guarantee anything related to what you want specifically is going to be in it. There's a lot of people up and down this project working on different elements of the camera, because the driver for it is being built from the ground up. Your webcam interfaces with Linux because either a different community reverse engineered the standard camera protocol being used by it years ago and have been iterating on it for quite some time, or the original manufacturer wrote an entire set of drivers for it that were then pushed out to the Linux kernel and/or whatever distro you're using. The Pinephone, on the other hand, is currently beta hardware, and you're using those drivers in an unfinished state. It's going to take time to figure out how to interface with every element of a piece of hardware that wasn't intended for use with this OS specifically, as it was initially meant to be used with a proprietary, device specific closed source driver with Android, not an open source driver running on what is effectively a heavily modified desktop Linux with a GNU stack.


RE: Camera support progress - natasha - 08-12-2020

(08-11-2020, 11:39 PM)fishbowlkraken Wrote:
(08-11-2020, 01:24 PM)natasha Wrote:
(08-11-2020, 12:34 AM)fernando_c_m Wrote:
(08-10-2020, 02:27 PM)natasha Wrote: Thank you for your reply!
I am sorry to insist, and I know that insisting will not make the camera suddenly work
I just try to understand why it is so difficult when other similar devices already have working cameras .
Any Linux computer can accept a camera and they work at the very highest resolution, autofocus, adjust light, etc
I just checked and pinebook also has a camera. I don't know if works or not, but if does, should be the same? it is also an arm
First of all you need kernel support for your camera device. There are currently some features which are not supported, like autofocus and some resolutions and framerate settings if we talk of the rear camera.

Then you need a user interface to handle the images that the kernel driver generates. Pinhole is at a very basic stage. It has to be developed further.

Cheese has been out there for some time, mostly used for webcams. I would say it is mature enough. It needs to be modified though in order to be able to handle the camera image on the pinephone (at least the last time I tried).

Things are not so easy as they may seem. : )
Thank you for taking the time to explain this.
I cannot make me an idea, because I do not know how Linux (or any OS) communicates with the hardware.

However, I can see that Linux can communicate with hardware and with any webcam.
So, you say we need two things: kernel support and a user interface.

Ok, it sounds we need people working on this. Debian and the other distros have nightly updates, but to be honest I do not see any difference between a release and the next. The camera is never touched.
Is anyone actively working on this? who?


Nightly builds are literally just the code, as it is currently committed, being compiled and pushed out to the server as an image, so there's no guarantee anything related to what you want specifically is going to be in it. There's a lot of people up and down this project working on different elements of the camera, because the driver for it is being built from the ground up. Your webcam interfaces with Linux because either a different community reverse engineered the standard camera protocol being used by it years ago and have been iterating on it for quite some time, or the original manufacturer wrote an entire set of drivers for it that were then pushed out to the Linux kernel and/or whatever distro you're using. The Pinephone, on the other hand, is currently beta hardware, and you're using those drivers in an unfinished state. It's going to take time to figure out how to interface with every element of a piece of hardware that wasn't intended for use with this OS specifically, as it was initially meant to be used with a proprietary, device specific closed source driver with Android, not an open source driver running on what is effectively a heavily modified desktop Linux with a GNU stack.
I understand this, but sometimes it looks like everything is done for the first time. I mean, this is a new phone, with a new? hardware camera. So, if Linux already has done drivers for hundreds of cameras, is it really that difficult to build drivers for a new camera? It can't be that different.

In other fields (for example in biology) you have protocols that you follow. If a new system comes, probably is going to be very similar to the known ones. You just adopt the existing protocol, but you do not develop a new protocol from scratch.

I don't want to look I am complaining or attacking developers. Just my ignorance.


RE: Camera support progress - Baggypants - 08-12-2020

I've been taking photos with the pinephone. Landscapes are ok!

[Image: CmsyJEe.jpg]

A few notes from the point of view of a layman:
Most Linux cameras are USB devices, the pinephone cameras are, I understand, I2C. It is very, very different to the 'hundreds of cameras' currently supported by Linux.

The Raspberry Pi was sold for two years with a camera interface on the main board before the actual camera was released to the public.

The software development is almost entirely voluntary, Pine64 have only provided the hardware, and some of the proceeds of that have gone, or will be going to the volunteer groups that are programming the device support. The cameras in question require specific, reasonably niche, knowledge.


RE: Camera support progress - a-wai - 08-13-2020

(08-12-2020, 12:44 PM)natasha Wrote: So, if Linux already has done drivers for hundreds of cameras, is it really that difficult to build drivers for a new camera? It can't be that different.

Well, to keep is short: from a software POV, yes, it can be *that* different.


RE: Camera support progress - daniel - 08-13-2020

(08-12-2020, 12:49 PM)Baggypants Wrote: I've been taking photos with the pinephone. Landscapes are ok!

[Image: CmsyJEe.jpg]

A few notes from the point of view of a layman:
Most Linux cameras are USB devices, the pinephone cameras are, I understand, I2C. It is very, very different to the 'hundreds of cameras' currently supported by Linux.

The Raspberry Pi was sold for two years with a camera interface on the main board before the actual camera was released to the public.

The software development is almost entirely voluntary, Pine64 have only provided the hardware, and some of the proceeds of that have gone, or will be going to the volunteer groups that are programming the device support. The cameras in question require specific, reasonably niche, knowledge.
Nice picture!


RE: Camera support progress - FOSSagent0 - 08-14-2020

If you all really wanted these features to work then you should be helping out as well. We are not going to see real progress unless we do our part to help out too. You don't have to be a programmer to contribute, you could donate or help reporting issues and bugs as well. I think Mobian so far is the best bet for us Pinephone users since they are the ones that I have seen so far working on the Pinephone as a priority.

Heres a link to Mobians issue page on Gitlab

https://gitlab.com/groups/mobian1/-/issues

Their main page
https://mobian-project.org/

I have checked out that Mobian Issue page and I'm seeing very few people contributing there. It would nice if more us can help out.


RE: Camera support progress - natasha - 08-14-2020

(08-14-2020, 12:07 AM)FOSSagent0 Wrote: If you all really wanted these features to work then you should be helping out as well. We are not going to see real progress unless we do our part to help out too. You don't have to be a programmer to contribute, you could donate or help reporting issues and bugs as well. I think Mobian so far is the best bet for us Pinephone users since they are the ones that I have seen so far working on the Pinephone as a priority.

Heres a link to Mobians issue page on Gitlab

https://gitlab.com/groups/mobian1/-/issues

Their main page
https://mobian-project.org/

I have checked out that Mobian Issue page and I'm seeing very few people contributing there. It would nice if more us can help out.
Thank you! That's the type of constructive and super-helpful (and respectful) answer I like!
I will do my best!


RE: Camera support progress - PainPhone - 08-14-2020

(08-11-2020, 01:24 PM)natasha Wrote:
(08-11-2020, 12:34 AM)fernando_c_m Wrote:
(08-10-2020, 02:27 PM)natasha Wrote: Thank you for your reply!
I am sorry to insist, and I know that insisting will not make the camera suddenly work
I just try to understand why it is so difficult when other similar devices already have working cameras .
Any Linux computer can accept a camera and they work at the very highest resolution, autofocus, adjust light, etc
I just checked and pinebook also has a camera. I don't know if works or not, but if does, should be the same? it is also an arm
First of all you need kernel support for your camera device. There are currently some features which are not supported, like autofocus and some resolutions and framerate settings if we talk of the rear camera.

Then you need a user interface to handle the images that the kernel driver generates. Pinhole is at a very basic stage. It has to be developed further.

Cheese has been out there for some time, mostly used for webcams. I would say it is mature enough. It needs to be modified though in order to be able to handle the camera image on the pinephone (at least the last time I tried).

Things are not so easy as they may seem. : )
Thank you for taking the time to explain this.
I cannot make me an idea, because I do not know how Linux (or any OS) communicates with the hardware.

However, I can see that Linux can communicate with hardware and with any webcam.
So, you say we need two things: kernel support and a user interface.

Ok, it sounds we need people working on this. Debian and the other distros have nightly updates, but to be honest I do not see any difference between a release and the next. The camera is never touched.
Is anyone actively working on this? who?

I see here miscommunication. 

nataha, you are right. The fact that controlers have been developed for cameras in linux kernels is an invaluable source of knowledge. Probably if someone has to develope code to control PinePhone camera, these are people who developed before for other systems. In that sense, you are right.

Other comments, just want to say that the systems are different, and code cannot be recycled. That’s true too. However, I do not think they got your point. 

There is one comment that looks offensive. Should we report or just ignore it? I am new, here, so I do not want to be problematic, but constructive. However, I would suggest to that individual to reconsider his/her tone.