[Samsung Galaxy S10/S10+/S10 5G/E Cross Device Deve] ned14:
GCam explorations on RC2

[MENTION=8353517]ctrej[/MENTION] Maybe you can incorporate the following into the next FAQ edition?

I've spent the last two days trial and erroring Google Cameras on this RC2 LineageOS 17.1 for Exynos S10 from https://www.celsoazevedo.com/files/android/google-camera/ and elsewhere. I've probably tested about one hundred gcam editions, so to save all you lots of time, here are my findings:

Firstly, OpenCamera with Camera2 API is better than any of the gcams for single unenhanced shots. It supports the back normal, back wide, front normal and front wide lenses, and the 1.5/2.4 aperture switching for the back normal lens. I think the contrast and detail from the images is superior, and there is a ton of detailed shot control. I only wish that you could tell it to default to 2.4 aperture, otherwise it's great. It's also trouble free, it "just works", including saving to sdcard. But it's not particularly idiot proof, or child friendly, or point and click.

If however you want to do anything other than single, unenhanced shots e.g. panoramas, HDR, photo spheres, 240 fps videos etc, then https://f.celsoazevedo.com/file/gcamera/GCam_5.1.018.177470874.41362666_IDan_N6_3.5.apk is the best of everything I tried. It also has a nice simple uncomplicated UI. Everything works on the back normal lens and the front lens, except for HDR and portrait photos from the front lens (note that the front lens works fine, just HDR processing isn't available. Choosing Portrait for the front lens gives a black screen). Aperture can be set on the back normal lens to 2.4, and you can default it to that in the settings, which is really neat. If you really care a lot about HDR and portrait photos from the front lens, you must patch libexynoscamera3.so to enable RAW capture from the front lens, see https://xdaforums.com/showpost.php?p=78063727&postcount=138 for more. [@modpunk Is there any chance future LO releases could include the front camera RAW patched libexynoscamera3.so in the future?]. It never crashed on me, no matter what I tried, though I note that occasionally it gets confused after first launch, and won't launch a second time (solution: clear storage, once it launches successfully twice, it's working). Me personally, I'd consider this gcam just as usable and unsurprising as OpenCamera, and I'd personally recommend it for it to be suggested in the FAQ for all users of LO 17.1 on Exynos, especially for family members who find OpenCamera's configurability overwhelming. Don't forget to dive into the Developer Settings, enable h.265 video and other stuff that this modern hardware can do!

GCam 5.1 has most of what most people want, is stable, and uncomplicated. If you don't mind a lot of work and hand patching files, there is a working gcam 7.2 for exynos at https://koopahtmaniac.com/, often called the "Zoran gcam". You should be aware that you must click through many adverts to get the apk, then through more to get the config xml file for Exynos S10, then you'll find the front camera doesn't work at all (lack of front RAW in libexynoscamera3.so again!), plus the aperture keeps frequently flipping between 2.4 and 1.5 in a longevity worrying way as you use the app. I personally didn't find that Night Sight actually does anything different to the normal camera. The app overall isn't particularly stable, either, but good enough that it's usable. It supports the back normal, back wide, front normal and front wide lenses, and aperture switching is toggleable on the front UI. Be aware I wrote this in July 2020, almost certainly it will improve hugely for the S10 in the next six months.

Not working, but oh so close, gcams

As some reading probably already know, Android 10 broke most of the gcam 6.x and early 7.x series by breaking how they do background HDR processing. Basically straight after capture, in the background the phone does the postprocessing, and when done, saves out your photo. In Android 10, that background postprocessing gets stuck and never finishes. I tried disabling Background processing for the gcams below, disabling power optimisation, disabling HDR, giving it permissions to change system settings. Every permutation possible that I could think of. None worked.

I still list these though because perhaps someone more knowledgeable than I can fix them e.g. make a TWRP flashable which does something special. Apart from the above problem, the best gcam by far is https://f.celsoazevedo.com/file/gcamera/MGC_6.1.021_BSG_Arnova_TlnNeun_V1.3.030119.0645.apk if you install the AUX camera enabler from https://www.celsoazevedo.com/files/android/p/aux-cameras-enabler-module/ first. The back normal, back wide and front wide lenses all work perfectly. Aperture can be changed. The back wide lens gets its picture corrected for the fishbowl effect. Everything appears to work beautifully, except for the background photo saving problem, which is very much a showstopper. Honourable mentions go to https://f.celsoazevedo.com/file/gcamera/GCam_6.1.021_Advanced_V1.4.032219.1950.apk and https://f.celsoazevedo.com/file/gcamera/GCam_6.1.021_Advanced_V1.5.190418.1850.apk which provide nearly what the TlnNeun apk does, but lots more config options. I trialled and errored all combinations of these I could think of to try and fix the background HDR processing problem, including disabling the Hexagon DSP, cycling through every combination of postprocessing libs with camera model. No joy.

Ultimately I personally only really care about panoramas, which OpenCamera does a poor quality job with. So even the ancient gcam 5.1 linked above ticks my box. I'm awaiting final release of this LO, then I'll be moved over to my S10 permanently using that gcam 5.1 as my primary camera app, and OpenCamera as my secondary camera app. Thanks to modpunk and ctrej for all their work getting this LO port to now!