From 4596998544f557aef9c65701ba6d046811fda8e9 Mon Sep 17 00:00:00 2001 From: Torstein EIde <1884894+Torstein-Eide@users.noreply.github.com> Date: Sun, 15 Feb 2026 14:44:26 +0100 Subject: [PATCH 1/4] Major rewrite of the Frameo installation instructions --- docs/docs/getting-started/apps.md | 214 +++++++++++++++++++----------- 1 file changed, 135 insertions(+), 79 deletions(-) diff --git a/docs/docs/getting-started/apps.md b/docs/docs/getting-started/apps.md index 87863cb3..e2fb4e1b 100644 --- a/docs/docs/getting-started/apps.md +++ b/docs/docs/getting-started/apps.md @@ -72,94 +72,150 @@ curl "http://192.168.0.136:53287/brightness?value=0.5" ``` ### Frameo -ImmichFrame can be run on inexpensive Frameo digital photo frames with some additional effort. You can typically find these for ~$40 USD. These devices are low powered and run a very old Android version, so they cannot run the full WebView version of the app (however most of the main features are still supported except SplitView). We have found a method to update the WebView, but it is not without risks, see Frameo Webview Update below. - If you have not already, you will need to install ADB on your PC ([ADB instructions][ADB-link]). -ADB is often enabled on these devices by default, if it is not go to Frameo Settings-About-Enable Beta Program. Toggle ADB Access On-Off-On. Use the ADB commands below to sideload [ImmichFrame APK][github-android-releases], configure it to your liking, then disable the Frameo app to to set ImmichFrame as default Home app: - - Sideload ImmichFrame: - ```bash - adb install /path/to/ImmichFrame_vXX.apk - ``` - - Update existing ImmichFrame: - ```bash - adb install -r /path/to/ImmichFrame_vXX.apk - ``` - - Start ImmichFrame: - ```bash - adb shell am start com.immichframe.immichframe/.MainActivity - ``` - - Swipe down to enter ImmichFrame Settings - - Configure URL and Authorization Secret (optional) - - Disable WebView - - Set as default HOME app - - On first reboot after install you will be asked to select default Launcher, select ImmichFrame - - Alternatively you can disable Frameo +ImmichFrame can be run on inexpensive Frameo digital photo frames with some additional effort. You can typically find these for ~$40 USD. + +Frameo digital photo frames are low powered and run a very old Android version, so they cannot run the full WebView version of the app (however most of the main features are still supported except SplitView). + +> [!note] +> We have found a method to update the WebView, but it is not without risks, see Frameo Webview Update below. + + 1. you will need to install ADB on your PC ([ADB instructions][ADB-link]). + + 2. Enable ADB on the Frameo device. ADB is often enabled on these devices by default, if it is not go to Frameo Settings-About-Enable Beta Program. Toggle ADB Access On-Off-On. + + 3. Connect via USB. Next to the power port on the Frameo device there is a USB port, connect this to your PC with a USB cable. + + 4. verify connection with `adb devices` command, you should see your device listed. If not, try unplugging and re-plugging the usb cable, or restarting the device while connected via usb. + + 5. Download the latest ImmichFrame APK from the [GitHub Releases][github-android-releases] page to your PC. + + For linux or mac you can run the following command to download the latest release directly to your current directory: + + ```bash + curl -L -o ImmichFrame.apk $(curl -s https://api.github.com/repos/immichFrame/ImmichFrame_Android/releases/latest | grep "browser_download_url.*apk" | cut -d : -f 2,3 | tr -d \") + ``` + + For windows you can run the following command in powershell to download the latest release directly to your current directory: + ```powershell + Invoke-WebRequest -Uri (Invoke-RestMethod -Uri https://api.github.com/repos/immichFrame/ImmichFrame_Android/releases/latest).assets | Where-Object { $_.name -like "*.apk" } | Select-Object -First 1 -ExpandProperty browser_download_url | Invoke-WebRequest -OutFile ImmichFrame.apk + ``` + + 6. Sideload ImmichFrame: + ```bash + adb install /path/to/ImmichFrame_vXX.apk + ``` + + **Update/reinstall existing ImmichFrame:** + ```bash + adb install -r /path/to/ImmichFrame_vXX.apk + ``` + 7. Start ImmichFrame: + ```bash + adb shell am start com.immichframe.immichframe/. MainActivity + ``` + 8. Configure and disable WebView: + 1. Swipe down to enter ImmichFrame Settings + 2. Configure URL and Authorization Secret (optional) + 3. Disable WebView + + 9. Set as default HOME app: + + On first reboot after install you will be asked to select default Launcher, select `ImmichFrame` and select "Always" + + 10. Then disable the Frameo app to to set ImmichFrame as only Home app: + + > [!NOTE] + > This is not possible with latest app version (< 1.29) so uninstalling updates (to 1.24) is required to get the overwriting of defualt home app to work. If you have already updated the Frameo app, you can uninstall updates by going to Android Settings-Apps-Frameo-Uninstall Updates. + ```bash adb shell su pm disable net.frameo.frame exit - ``` - If this doesn't stick on reboot, repeat the commands but power cycle after exit command - - Some other useful ADB commands: - - Reboot: - ```bash adb reboot - ``` - - You can also reboot or shutdown by holding down power button - - Access Android Settings: - ```bash - adb shell am start -a android.settings.SETTINGS - ``` - - Re-enable Frameo: repeat disable commands above but replace "disable" with "enable" - - Start Frameo app: - ```bash - adb shell am start net.frameo.frame - ``` - - Uninstall ImmichFrame: - ``` - adb uninstall com.immichframe.immichframe ``` + If this doesn't stick on reboot, repeat the commands but power cycle after exit command + + + +#### Some other useful ADB commands: + +**Reboot:** + +```bash +adb reboot +``` + +> [!NOTE] +> You can also reboot or shutdown by holding down power button + +**Access Android Settings:** + +```bash +adb shell am start -a android.settings.SETTINGS +``` + +#### Re-enable Frameo + +1. Enable Frameo again with ADB command: + ```bash + adb shell su + pm enable net.frameo.frame + exit + ``` + +2. Start Frameo app: + ```bash + adb shell am start net.frameo.frame + ``` + +3. Uninstall ImmichFrame: + ``` + adb uninstall com.immichframe.immichframe + ``` ### Frameo WebView Update -Follow instructions below to update WebView to 106. This has been tested and working on Android 6.01 10.1" Frameo devices: -- Download WebView 106 to PC: - [Lineage OS WebView 106-0-5249-126-12][webview-update] -- Push new apk to sdcard - ```shell - adb push /path/to/your/new/webview.apk /sdcard/ - ``` -- Enter shell and switch to the root user - ```shell - adb shell - ``` - then inside the shell - ```shell - su - ``` -- Backup original WebView APK - ```shell - mount -o rw,remount /system && cp /system/app/webview/webview.apk /system/app/webview/webview.apk.bak - ``` -- Delete the oat folder recursively - ```shell - mount -o rw,remount /system && rm -rf /system/app/webview/oat - ``` -- Copy new WebView to system - ```shell - mount -o rw,remount /system && cp /sdcard/webview.apk /system/app/webview/webview.apk - ``` -- exit root - ```shell - exit - ``` -- Reboot device - ```shell - adb reboot - ``` +Follow instructions below to update WebView to 106. + +This has been tested and working on Android 6.01 10.1" Frameo devices. + +1. Download WebView 106 to PC: + + [Lineage OS WebView 106-0-5249-126-12 (arm64-v8a + arm-v7a) (Android 6.0+)][webview-update] + +2. Push new apk to sdcard + > [!NOTE] + > Android does not have auto complete so you will save time if the new file is /sdcard/webview.apk, so you can just run `adb push /path/to/webview.apk /sdcard/webview.apk` and it will be named webview.apk on the device. + ```shell + adb push /path/to/your/new/webview.apk /sdcard/webview.apk + ``` +3. Enter shell and switch to the root user + ```shell + adb shell su + ``` +4. Backup original WebView APK + ```shell + mount -o rw,remount /system && cp /system/app/webview/webview.apk /system/app/webview/webview.apk.bak + ``` +5. Delete the oat folder recursively + ```shell + mount -o rw,remount /system && rm -rf /system/app/webview/oat + ``` +6. Copy new WebView to system + ```shell + mount -o rw,remount /system && cp /sdcard/webview.apk /system/app/webview/webview.apk + ``` +7. Reboot device + ```shell + adb reboot + ``` + After reboot, you should se a "installing new app" notification, and then you can verify the new WebView version by going to Android `Settings-Apps`, top right corner tripel dot meny `show system`, Android System WebView. + +> [!NOTE] +> Depending on the device or Android version, the location to the webview apk may be different for you. You can locate it with: +> ```shell +> adb shell pm path com.android.webview +> ``` -Depending on the device or Android version, the location to the webview apk may be different for you. You can locate it with -```shell -adb shell pm path com.android.webview -``` #### Alternative WebView Method If the above method does not work, or you receive permissions issue, try this [Alternative Method][alternate-webview-method] From c3ccf0a9f5d80d59e3c5038fb7eadbad6ca008f0 Mon Sep 17 00:00:00 2001 From: Torstein EIde <1884894+Torstein-Eide@users.noreply.github.com> Date: Sun, 15 Feb 2026 15:03:02 +0100 Subject: [PATCH 2/4] mirror fixes --- docs/docs/getting-started/apps.md | 46 +++++++++++++++++++------------ 1 file changed, 29 insertions(+), 17 deletions(-) diff --git a/docs/docs/getting-started/apps.md b/docs/docs/getting-started/apps.md index e2fb4e1b..e50b8953 100644 --- a/docs/docs/getting-started/apps.md +++ b/docs/docs/getting-started/apps.md @@ -76,16 +76,24 @@ ImmichFrame can be run on inexpensive Frameo digital photo frames with some addi Frameo digital photo frames are low powered and run a very old Android version, so they cannot run the full WebView version of the app (however most of the main features are still supported except SplitView). -> [!note] -> We have found a method to update the WebView, but it is not without risks, see Frameo Webview Update below. - - 1. you will need to install ADB on your PC ([ADB instructions][ADB-link]). +> [!NOTE] +> We have found a method to update the WebView, but it is not without risks, see Frameo Webview Update below. +> +> Webview provieds the following features that are not available without it: +> - SplitView +> - Some image formats (HEIC) +> - Video playback (experimenta) +> - Better text rendering +> - Show Tag, desc, and album info from Immich. +> - Configurable layout, (size, background and overlay colors, and blur effects, etc). + + 1. You will need to install ADB on your PC ([ADB instructions][ADB-link]). 2. Enable ADB on the Frameo device. ADB is often enabled on these devices by default, if it is not go to Frameo Settings-About-Enable Beta Program. Toggle ADB Access On-Off-On. 3. Connect via USB. Next to the power port on the Frameo device there is a USB port, connect this to your PC with a USB cable. - 4. verify connection with `adb devices` command, you should see your device listed. If not, try unplugging and re-plugging the usb cable, or restarting the device while connected via usb. + 4. Verify connection with `adb devices` command, you should see your device listed. If not, try unplugging and re-plugging the usb cable, or restarting the device while connected via usb. 5. Download the latest ImmichFrame APK from the [GitHub Releases][github-android-releases] page to your PC. @@ -111,7 +119,7 @@ Frameo digital photo frames are low powered and run a very old Android version, ``` 7. Start ImmichFrame: ```bash - adb shell am start com.immichframe.immichframe/. MainActivity + adb shell am start com.immichframe.immichframe/.MainActivity ``` 8. Configure and disable WebView: 1. Swipe down to enter ImmichFrame Settings @@ -121,18 +129,20 @@ Frameo digital photo frames are low powered and run a very old Android version, 9. Set as default HOME app: On first reboot after install you will be asked to select default Launcher, select `ImmichFrame` and select "Always" - - 10. Then disable the Frameo app to to set ImmichFrame as only Home app: + + ![](Frameo_digital_photo_frames_default_app.png) - > [!NOTE] - > This is not possible with latest app version (< 1.29) so uninstalling updates (to 1.24) is required to get the overwriting of defualt home app to work. If you have already updated the Frameo app, you can uninstall updates by going to Android Settings-Apps-Frameo-Uninstall Updates. + 10. Then disable the Frameo app to set ImmichFrame as only Home app: - ```bash - adb shell su - pm disable net.frameo.frame - exit - adb reboot - ``` + > [!NOTE] + > This is not possible with latest app version (< 1.29) so uninstalling updates (to 1.24) is required to get the overwriting of default home app to work. If you have already updated the Frameo app, you can uninstall updates by going to Android Settings-Apps-Frameo-Uninstall Updates. + + ```bash + adb shell su + pm disable net.frameo.frame + exit + adb reboot + ``` If this doesn't stick on reboot, repeat the commands but power cycle after exit command @@ -208,7 +218,9 @@ This has been tested and working on Android 6.01 10.1" Frameo devices. ```shell adb reboot ``` - After reboot, you should se a "installing new app" notification, and then you can verify the new WebView version by going to Android `Settings-Apps`, top right corner tripel dot meny `show system`, Android System WebView. + After reboot, you should see a "installing new app" notification, and then you can verify the new WebView version by going to Android `Settings-Apps`, top right corner triple dot menu `show system`, Android System WebView. + + ![](Frameo_digital_photo_frames_webview.png) > [!NOTE] > Depending on the device or Android version, the location to the webview apk may be different for you. You can locate it with: From 857f81c57bc02f9dc6705a4347e8d724b2654347 Mon Sep 17 00:00:00 2001 From: Torstein EIde <1884894+Torstein-Eide@users.noreply.github.com> Date: Sun, 15 Feb 2026 15:05:19 +0100 Subject: [PATCH 3/4] add images --- .../Frameo_digital_photo_frames_default_app.png | Bin 0 -> 11395 bytes .../Frameo_digital_photo_frames_webview.png | Bin 0 -> 14791 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/docs/getting-started/Frameo_digital_photo_frames_default_app.png create mode 100644 docs/docs/getting-started/Frameo_digital_photo_frames_webview.png diff --git a/docs/docs/getting-started/Frameo_digital_photo_frames_default_app.png b/docs/docs/getting-started/Frameo_digital_photo_frames_default_app.png new file mode 100644 index 0000000000000000000000000000000000000000..809dfc436244e8c249cedb95e825794c3df68574 GIT binary patch literal 11395 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 literal 0 HcmV?d00001 diff --git a/docs/docs/getting-started/Frameo_digital_photo_frames_webview.png b/docs/docs/getting-started/Frameo_digital_photo_frames_webview.png new file mode 100644 index 0000000000000000000000000000000000000000..a3bf09d295c0f8f3d08cd752700b0e51a812f027 GIT binary patch literal 14791 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 Date: Sun, 15 Feb 2026 15:16:07 +0100 Subject: [PATCH 4/4] Revise ImmichFrame default app setup instructions Updated instructions for setting ImmichFrame as the default HOME app and clarified the note regarding Frameo app updates. --- docs/docs/getting-started/apps.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/docs/getting-started/apps.md b/docs/docs/getting-started/apps.md index e50b8953..4ec2f676 100644 --- a/docs/docs/getting-started/apps.md +++ b/docs/docs/getting-started/apps.md @@ -126,16 +126,13 @@ Frameo digital photo frames are low powered and run a very old Android version, 2. Configure URL and Authorization Secret (optional) 3. Disable WebView - 9. Set as default HOME app: + 9. Set as default HOME app: On first reboot after install you will be asked to select default Launcher, select `ImmichFrame` and select "Always" ![](Frameo_digital_photo_frames_default_app.png) - 10. Then disable the Frameo app to set ImmichFrame as only Home app: - - > [!NOTE] - > This is not possible with latest app version (< 1.29) so uninstalling updates (to 1.24) is required to get the overwriting of default home app to work. If you have already updated the Frameo app, you can uninstall updates by going to Android Settings-Apps-Frameo-Uninstall Updates. + 10. Then disable the Frameo app to set ImmichFrame as only Home app: ```bash adb shell su @@ -145,7 +142,10 @@ Frameo digital photo frames are low powered and run a very old Android version, ``` If this doesn't stick on reboot, repeat the commands but power cycle after exit command - +> [!NOTE] +> This is not possible with latest app version (< 1.29) so uninstalling updates (to 1.24) is required to get the overwriting of default home app to work. If you have already updated the Frameo app, you can uninstall updates by going to Android Settings-Apps-Frameo-Uninstall Updates. + + #### Some other useful ADB commands: