[deleted]
intelligence I apologize for misreading OP
"This happens with both stock Google Camera and modded GCam.
For comparison, in stock OS, portrait picture processing takes just 1-2 seconds."
intelligence I apologize for misreading OP
"This happens with both stock Google Camera and modded GCam.
For comparison, in stock OS, portrait picture processing takes just 1-2 seconds."
Phead
So they're saying "Google Camera can be used with the sandboxed Google Play compatibility layer and can take full advantage of the available cameras and image processing hardware as it can on the stock OS"
But on the 7 series, this is not the case. I think it should be at least noted there.
To confirm - its still an issue and I don't think it will be fixed anytime soon.
As already discussed, the root cause is that Google Camera does all the processing on its own and uses special SELinux domain for hardware acceleration. That SELinux domain is removed in GOS for security reasons.
So the only way to make it work is either GOS team bringing it back (which they confirmed they won't) or Google fixing their Camera app to change the SELinux domain (which they say they are working on but its been months and months with no progress so its most likely never be fixed).
GOS camera (and any other 3rd party camera) are using the same (restricted) API that lacks all the processing Google Camera offers hence the quality is not comparable. It doesn't matter what 3rd party Camera app we will use - they all use the same API so the quality will be more or less the same (and not good vs Google Camera).
Maybe if many people ask GOS developers, they will consider to implement a toggle or something similar that will enable SELinux domain in Google Camera with user accepting potential risks associated with this. I am not a developer so not sure if this is a feasible option but maybe it will be possible to implement a toggle?
Currently, Google Camera is really slow in processing images, especially, portrait pictures or when taking multiple pictures at once.
I think it's not so much a question of how to add this option, but if it's part of their philosophy and vision for GOS. From what I've read it's not and I can accept that (even though it gets annoying when that tiny ring in the lower left corner is literally a couple of pixels away from a full circle but takes another 20s to compete) . The focus of GOS is on privacy and security and part of that mission is to control software privileges. If that commitment breaks the cam app, it's bad and annoying but on the other hand I gain control over my privacy. So, not sure if a switch would ever make the cut.
Volen So the only way to make it work is either GOS team bringing it back (which they confirmed they won't) or Google fixing their Camera app to change the SELinux domain (which they say they are working on but its been months and months with no progress so its most likely never be fixed).
Is there a publicly-visible issue on Google's Android web site which people could upvote?
For the GrapheneOS developers it probably isn't "just a toggle". It would need some sort of disclaimer, plus probably it would need to include a PIN prompt. Then there would be code to activate/deactivate the supplemental SELinux rules. And then if Google eventually fixes the issue on their end there might need to be some GrapheneOS migration code to get rid of the stale preference. Probably this wouldn't be a mountain of code, but it also probably wouldn't be just a rainy-afternoon project.
On the other hand, maybe it would be short and sweet, in which case maybe if somebody submitted a pull request it would go in, and if it were rejected instead then all that would be lost is a rainy afternoon.
Whilst I agree with your thoughts, there are still many compromises that devs take - for example, sandboxed Google Play services. Even though they are much less intrusive and restricted, these are still Google services that can transfer data to Google (if they have Network access) and/or communicate with other installed apps and try to harvest data. Users are using these at their own risk. The same applies to pretty much any non-foss and non-privacy friendly app, for example, banking apps, shopping apps, etc - users acknowledge that these apps might use telemetry, collect data, communicate with other apps, etc. The same applies to Google Camera - I am not sure if its hard/feasible to do so, but if its achievable than it definitely won't hurt if users will have an option to grant elevated permissions to the policy in question to sort out processing speeds (just like they have the option to install sandboxed Google services or other 3rd party apps, acknowledging the associated risks).
There is an SR with Google (link is in this thread above) but it has nothing to do with GOS - its just an open ticket with Google with a request to modify their camera app which they say they are working on but there are no news for months.
The upvote thing to add a toggle/ability to grant elevated permissions to the domain in question should be done on GOS forum/github/other official GOS channel so that devs will see that there are many people interested in this feature.
But, again, we don't know if its a feasible option - maybe its not even possible to add a toggle. Only devs will know.
Volen The whole point of sandboxed Google Play is that they're regular apps which cannot do anything beyond what regular apps can do. They are not simply less intrusive and restrictive. They cannot do absolutely anything more than any other user installed app. They have no special access to any data of any kind. They have no special ability to communicate. Apps can only communicate with mutual consent within a profile. Apps could directly send data to their server instead of sending it to another app, so you're focusing on something that doesn't really make sense. Network is not and has not been presented as a full toggle for data exfiltration. It's a full toggle for both direct network access and indirect network access via the OS. In terms of communication with other apps, it only controls access to interfaces they mark as requiring the INTERNET permission. It is not a toggle for app communication and is never going to be one since that's not the purpose of it. We do plan to add app communication control toggles which has no direct connection to the Network toggle.
Volen Do not send us more requests for something that has been rejected for clearly explained reasons.
As already discussed, the root cause is that Google Camera does all the processing on its own and uses special SELinux domain for hardware acceleration. That SELinux domain is removed in GOS for security reasons.
It is removed because we don't give special privileged access to Google apps. It would only be possible to do it behind a special toggle which is not planned since nearly everything works fine without it. Portrait mode on 7th generation Pixels is the only thing there have been complaints about and they're working on fixing it in Google Camera.
GOS camera (and any other 3rd party camera) are using the same (restricted) API that lacks all the processing Google Camera offers hence the quality is not comparable. It doesn't matter what 3rd party Camera app we will use - they all use the same API so the quality will be more or less the same (and not good vs Google Camera).
This is completely wrong. Google Camera on the stock Pixel OS has no special access to any additional camera APIs. Other apps can provide the same features and quality. Features and quality vary quite a lot across apps. There is no special magic in Google Camera that's unavailable to others in terms of features and quality. The only special access it has is to hardware acceleration features for more quickly doing the processing when treated by the OS as a specifically privileged app.
GrapheneOS Camera provides hardware accelerated HDR+ on Pixels via the standard Camera2 APIs since the OS and hardware implement it. Google Camera implements their own comparable HDR+ although they have more control over it, meaning they can adjust it to be more aggressive in low light conditions. HDR+ provided by the OS can and should do that too, and they're working on improving it to match Google Camera in all conditions. Night mode, Portrait mode, etc. will be provided via CameraX extensions via the OS in the future. There won't be any special access required to use them, because the OS camera service will implement them itself. Google Camera will almost certainly continue doing it separately in the short term. In the long term, they may move most of the features into the OS instead of doing the processing in Google Camera and only needing the APIs needed to obtain the data in the OS.
Currently, Google Camera is really slow in processing images, especially, portrait pictures or when taking multiple pictures at once.
GrapheneOS Camera provides hardware accelerated HDR+ on Pixels via the standard Camera2 APIs since the OS and hardware implement it. It will have hardware accelerated Night and Portrait modes on Pixels when those CameraX extensions are available. This is our focus.
@Volen We are not going to make Google Camera into a specially privileged app by default. It works without the special privileges and therefore we also can't approach it in the same way we did with the privileged eSIM activation app. Many and perhaps even most users will want to use it without special privileges. We cannot remove that option.
It's would be entirely possible to add a toggle for privileged Google Camera access. It would have to be cleanly implemented and very uninvasive to be accepted as a GrapheneOS feature and it's not an ideal solution. It was never a significant issue on any previous Pixels so it was never on our radar as something worth implementing. There's only a significant impact on Portrait mode on the Pixel 7 and Pixel 7 Pro. It still works and still provides the same quality without the privileged access. This means only a small number of users have even noticed that there's an issue. You've been making it sound as if the app doesn't work at all.
Your approach to complaining about this issue is becoming a serious problem. You're making significant exaggerations and are spreading misinformation about GrapheneOS. Repeatedly asking people to file more issues and to bother us about this is particularly inappropriate. We're not going to allow this to continue.
Google Camera would ideally be able to use standard hardware acceleration APIs for everything instead of needing special privileged access for certain functionality. They're working on improving it and have made it a lot better already.
Perhaps a significant number of people want there to be a toggle for privileged Google Camera access, in which case it may make sense to add it, but we have far too many much higher priorities to address... so unless you or something else is going to contribute instead of complaining, it's unlikely to happen any time soon.
Thanks for the detailed explanation - as I am not a developer (unfortunately) I don't have much insights on how the apps work so some of my statements might be not as accurate. I also never sent any requests about this, only opened this thread to discuss. However, I did notice some people opened tickets about this on github but its not relevant to me.
GrapheneOS You've been making it sound as if the app doesn't work at all.
Please point to the statement that makes you believe I am saying the app doesn't work at all. I am saying the app is slow in processing in Portrait mode and that it freezes when taking multiple pictures in a row (which other fellow members confirmed too in this thread) - nowhere in my comments I said that the app is not working.
GrapheneOS Your approach to complaining about this issue is becoming a serious problem. You're making significant exaggerations and are spreading misinformation about GrapheneOS. Repeatedly asking people to file more issues and to bother us about this is particularly inappropriate. We're not going to allow this to continue.
Where did you see me "spreading misinformation", what misinformation, exactly? There is not a single post by me on this forum where I am spreading misinformation. If anything, I always say that GOS is a great OS, I am always thankful to developers and helping fellow members as much as I can. And I am actually thinking about GOS's good reputation, suggesting that the FAQ section can be changed so that prospective Pixel 7 buyers will know about this current issue before buying as otherwise they can buy the device and then say the FAQ is misleading as their camera app is not working as expected (working as expected means all the features are working as in stock OS). This is something other forum members agreed with me too.
Nowhere in my comments I asked people to fire more issues - I only pointed to the existing github issue someone already created (and that issue is now closed) and to the SR opened on Google. I never opened github issues and was only discussing this issue in this thread. If someone decided to fire up a ticket, it
GrapheneOS Perhaps a significant number of people want there to be a toggle for privileged Google Camera access, in which case it may make sense to add it
This is exactly what I was saying on this thread. I never opened a ticket nor discussed this issue outside of this thread.
Also, if people are firing up issues, then its a clear indicator that there are many affected users.
This should be resolved in the next GrapheneOS release by way of an optional toggle:
https://github.com/GrapheneOS/grapheneos.org/commit/d5845a8652c5ab05726acd39a2ecbb40818427e7
This is FANTASTIC news, thanks a lot to the devs!
matchboxbananasynergy
Ahh OK, so I'm trying to catch up with this thread. Does the Google camera not have access to the proper hardware that a stock pixel would have?
I do know that installing google camera via sandboxed play store does have extra features than down loading from apk mirror. I always assumed that it would have the same access but I've never used the google camera with a stock pixel
oh nice, thank you so much for fixing it with an optional toggle. Just came back to this thread after the official Twitter announcement I've just read:
So my friend has a pixel 7, stock. I asked him to take multiple photos and it locked him out too while it processed the photos
Well, regardless, with this change, GrapheneOS won't differ in any way from how Stock OS handles this, and people can enable/disable the toggle as they see fit.
If people continue having issues, they'll need to wait for Google to address that. GrapheneOS has done its part.