FP4 - gcam-port

Still the same, all the GCams directly crash. :-/

Logcat of the start filtered to google

Hmm hmm hmm :thinking:
Were you able to install GCam Service Provider without issues this time (the non photo variant since you still got GCam Photos Preview installed)? Did you check if GsfProxy still exists?

Same for me, just tried it. I thought from the weird path in pm list packages -f it’s been updated (that’s usually why you get random symbols in between), but I guess that’s not it…

It’s looking for com.google.android.gsf.gservices, that should be supplied by GCam Service Provider, wonder why that’s not working :thinking:

I think I mixed something up.

I only have Calyx proviced GCam Photos Preview installed. → this is the installed com.google.android.apps.photos package.

GCam Service Provider is still missing. As photos package is already there, the basic lukaspieper provider apk (here) should be enough.
When I try to install it (even with the NoG hiding module running) it still fails with "App not installed as package conflicts with an exiting package.”

I guess the module is not hiding/overlaying correctly?
You said:

How can I do this? I think
pm list packages -f gsf
will always see it or is this the way to test?

If this is the right test the package is still visible. Excuted as root in termux directly on the phone:

:/ # pm list packages -f gsf
package:/product/app/GsfProxy/GsfProxy.apk=com.google.android.gsf

Nope, the package shouldn’t be visible anymore.

I would start fresh, delete the /NoG folder and follow the instructions again, make sure the module shows up in Magisk Manager afterwards and don’t forget to reboot.

I just tried it, works fine for me, no more GSF :slightly_smiling_face:

Ok step by step.

I just switched to root as I have to type all the commands via root anyway.
adb shell su -
I was wondering why adb root is not working anymore which I could use on my FP2 – maybe a developer setting is missing, will check later on

  • checked the folder via adb:
ls -l /data/adb/modules/
total 3
drwxr-xr-x 3 root root 3488 1970-01-14 14:30 google_glide_lib

–> so everything is fine only glide lib module (which is not working ^^) is left
so I skipped deleting the module folder manually

  • you are right about the links under /system (not it is much more clear to me - thx)
ls -l /data/adb/modules/
total 3
drwxr-xr-x 3 root root 3488 1970-01-14 14:30 google_glide_lib
ls -la /system
total 60
drwxr-xr-x 12 root root   4096 2009-01-01 01:00 .
drwxr-xr-x 26 root root   4096 2009-01-01 01:00 ..
drwxr-xr-x  2 root root   4096 2009-01-01 01:00 apex
drwxr-xr-x 24 root root   4096 2009-01-01 01:00 app
drwxr-x--x  4 root shell  7960 1970-01-16 13:41 bin
-rw-------  1 root root   5462 2009-01-01 01:00 build.prop
drwxr-xr-x 16 root root   4096 2009-01-01 01:00 etc
drwxr-xr-x  2 root root   8192 2009-01-01 01:00 fonts
drwxr-xr-x  5 root root   4096 2009-01-01 01:00 framework
drwxr-xr-x  5 root root  12288 2009-01-01 01:00 lib
drwxr-xr-x  5 root root  11280 1970-01-16 13:41 lib64
drwxr-xr-x 39 root root   4096 2009-01-01 01:00 priv-app
lrw-r--r--  1 root root      8 2009-01-01 01:00 product -> /product
lrw-r--r--  1 root root     11 2009-01-01 01:00 system_ext -> /system_ext
drwxr-xr-x  7 root root   4096 2009-01-01 01:00 usr
lrw-r--r--  1 root root      7 2009-01-01 01:00 vendor -> /vendor
  • so the annoying package is still available under
ls -l /system/product/app/GsfProxy/
total 36
-rw-r--r-- 1 root root 29570 2009-01-01 01:00 GsfProxy.apk
drwxr-xr-x 3 root root  4096 2009-01-01 01:00 oat

also the package still available/visible via pm command

pm list packages -f gsf
package:/product/app/GsfProxy/GsfProxy.apk=com.google.android.gsf
  • let’s setup the overlay/hide module again:
mkdir /data/adb/modules/NoG
mkdir -p /data/adb/modules/NoG/system/product/app/GsfProxy
touch /data/adb/modules/NoG/system/product/app/GsfProxy/.replace

ls -la /data/adb/modules/NoG/system/product/app/GsfProxy/
total 6
drwxr-xr-x 2 root root 3488 2022-08-12 22:49 .
drwxr-xr-x 3 root root 3488 2022-08-12 22:48 ..
-rw-r--r-- 1 root root    0 2022-08-12 22:49 .replace

→ reboot

pm list packages -f gsf
... *nothing*
ls -l /system/product/app/GsfProxy/
total 0

So I assume there was a typo before or so. :man_shrugging:

So far so good.

Tried to install basic apk of Gcam-Services-Provider: Releases · lukaspieper/Gcam-Services-Provider · GitHub again. Just by taping on in in the file manager on the phone.
Result: "App not installed as package conflicts with an exiting package.” :roll_eyes:

Hi, ok new fp4 arrived, very stoked. Standard camera app looks to have improved judging by the initial complaints and my experiences so far.

I’d like to try gcam, what’s the latest and greatest version I can install alongside stock camera?

I just picked the newest one from the release page and it’s been working almost flawlessly, but I’ve only used it (and GCam in general) for a few days.

There are versions with different package names available, so you can test different mods at the same time, since they can differ in features quite heavily. I’m personally not at a point to recommend one over the other :man_shrugging:

Pick up a few, try them and if one offers the features you need and is stable, that’s the one :slightly_smiling_face:

1 Like

Alright, let’s get this finished.

Remove your NoG module and forget about gsf, that was a red herring.
I pushed the Gcam-Services-Provider basic package to /data/local/tmp, tried installing with pm install /data/local/tmp/app-basic-release.apk and can report it’s been gms that’s conflicting here. (This bug report served as great inspiration here)
Should have read the Calyx documentation more closely and tested for that earlier. When they write, disabled, they mean disabled, like in the package is just disabled, it’s still there :man_facepalming:

Rebuild your NoG module with /data/adb/modules/NoG/system/product/priv-app/GmsCore/ as the path, reboot and you can install Gcam Services Provider.
I’ve tried it and the three Gcam versions you wanted tested all work, the new MGC_8.5.300_A10_V6 I’m running however does not. I guess there’s been additional work done in microG since the provider was last released.
(Testing this did totally screw up my microG install, but getting it working was worth it :smirk: )

Oh I’m sorry I don’t wanted to put your setup into a risk. I should have explained earlier that I’m not that into taking pictures with the Smartphone I’m just curious if the Gcam really make such a big difference and of course I’m also a bit challenged by such little problems.

Also I was thinking if there is a way to check an APK (extract it or so) and find out which package it will be after installation. :thinking: I think I googled it already and it was a bit to difficult as it needed a whole Android development installation or so - don’t remember the details.

Ok, so gms it is. I don’t see in the issue (I read today as well) that this package is mentioned there, but I trust you as you dug into it very detailed (and nearly screwed up you phone :face_with_diagonal_mouth:).

So there is no installed GmsCore package, but the path exist. :thinking: How is this working?
Is it part of the disabled microg of Calyx?

adb shell su -c pm list packages -f | grep GmsCore
---

adb shell su -c ls -la /system/product/priv-app/GmsCore
total 60428
drwxr-xr-x  3 root root     4096 2009-01-01 01:00 .
drwxr-xr-x 12 root root     4096 2009-01-01 01:00 ..
-rw-r--r--  1 root root 61920568 2009-01-01 01:00 GmsCore.apk
drwxr-xr-x  3 root root     4096 2009-01-01 01:00 oat

Anyway, I will repeat the steps and report back. :wink:

No worries, I was fully aware this would happen, great time to check if the backup strategy is working :slightly_smiling_face:

You can for example use Apktool for that, but since this is opens source software you can just read the AndroidManifest.xml directly.

The issue isn’t directly related, but it had some great insights what to look for, especially installing through pm to get more verbose output.

They essentially run something akin to su -c pm disable com.google.android.gms I guess. Those packages still exist but are disabled and only show up under pm list packages -d (or -a).

:crossed_fingers: Good luck!

delete the old module - just needed if there were other attempts before like in my case.
→ see here - quite easy just delete in Magisk modules and reboot

  • setup the overlay/hide module again & finally correctly:
# Magisk modules path: /data/adb/modules/
# Just a name for the selfmade module: .../NoG 
# Path to the disabled package we need to hide: .../system/product/priv-app/GmsCore
adb shell su -c mkdir /data/adb/modules/NoG`
adb shell su -c mkdir -p /data/adb/modules/NoG/system/product/priv-app/GmsCore
adb shell su -c touch /data/adb/modules/NoG/system/product/priv-app/GmsCore/.` `replace`

## check if everything is really there:
adb shell su -c ls -la /data/adb/modules/NoG/system/product/priv-app/GmsCore`
total 6
drwxr-xr-x 2 root root 3488 2022-08-13 23:39 .
drwxr-xr-x 3 root root 3488 2022-08-13 23:39 ..
-rw-r--r-- 1 root root    0 2022-08-13 23:39 .replace

→ reboot

  • check if the path to the disabled Calyx microg package is really “overlayed”
adb shell su -c ls -l /system/product/priv-app/GmsCore 
total 0
# –> GmsCore is gone – check …

As already explained by others already the package names are differently so they can be installed in parallel. I like to use tags (KISS Launcher provides) in such cases to differ them.

At the beginning I tried the Wichaya and it worked fine at the first glance.

→ Have fun with Gcam on CalyxOS (without Google Services nor microg).

Just a summary, the credits have to go to @hirnsushi !!

4 Likes

Now that the GCam ports are generally working I played around a little bit.
I don’t have this detailed eye for colors and sharpness etc. that’s why I mostly use Open Camera (OC) and it feels totally ok for my needs.

The UI of GCam (ports - don’t know the original GCam, but I think it is more or less similar) feels much more modern than OC.

What I discovered apart from taking photos…
I like that iPhones can easily record SloMo videos and now realized that it is also available under video mode for the more feature rich Android camera apps (with options to 0,5x; 0,25x, 0,125x speed).

Unfortunately I get:

  • with OC: “Serious camera error” (have to use the back button or put OC in background … coming back it seems to still record something → hitting stop another error occurs: “Error, video file may be corrupted …” and nothing will be saved in the Gallary) - as you may ask: yes normal speed videos work
  • with GCam Wichaya (options 1/4; 1/8 speed): Screen stays black when switching to SlowMo Mode; normal video can be started and stopped but nothing is saved.
  • with GCam Nikita (same options as Wichaya): works more or less (SloMo [but only with 1/4 speed] and normal videos as expected)
  • with GCam BSG … basically the same behavior as Wichaya.

There are also other ports which work and I cannot really see differences

Both work more or less like the Nikita port (also in regards of SloMo videos).

Edit again: Just saw that the SloMo 1/8x speed doesn’t work (but 1/4x speed does) issue is already mentioned here. Even though for me (with Calyx OS) it does not work with Open Camera at all.

I know :point_down::smirk:

1 Like

Can one explain the difference between the different APKs for each Port?
In most cases threre is a:

  • normal one - without extension in the < name-version >
  • < name >_snap
  • serveral other apks like
    • Wichaya has:
      • < name >_SnapCam
      • < name >_Ruler
      • < name >_Scan3D
    • Nikita has:
      • < name >_samsung (probably for Samsung devices)
      • < name >_camera
    • BSG has others again …

Ah, I have to read more carefully. :wink:

Partially discussed above

1 Like

Different package names, so they don’t conflict with already installed ones, or in some cases to directly replace an installed one probably.

The website has this to say:

Some releases have more than one apk. When in doubt, install the first one.

I just picked random names for the ones I wanted to try, so I could install them all simultaneously.
Haven’t noticed any difference :man_shrugging:

2 Likes

Ruler e.g. seem to be something Samsung specific…

Searching results show an app called quick measure what is def related to Camera stuff

So most likely only a difference when you use such devicea

1 Like

I guess this could be similar to GCam Photos Preview needing to have the Google Photos package name?
There are probably shortcuts, like double press power, or some hardware capabilities that are only available to specific apps, so GCam has to fake the package name on those devices :thinking:

On the FP4 we just get the added benefit of having multiple installed :slightly_smiling_face:

2 Likes

This was posted in Telegram channel today: Google Camera Port: FAQ and Troubleshooting - What are package names (multiple apks in one release)?

Also interesting (included in that answer):

Package names are usually needed to access all cameras and/or to enable features like Google Lens.

Some brands (eg: OnePlus, Samsung, etc) restrict access to all cameras. They have a “whitelist” of apps (package names) that can access those cameras, so modders release their versions with package names that are on those lists.

So seems to be to be a practice to make it harder to use all cameras (so not only an FP4 issue - even though I would not expect this from Fairphone, but the module itself - the camera hardware - is probably also some specific chip etc. and so it might not be Fairphone’s “fault” only).

5 Likes