Issues with SDK 8.1.x and glance on Fenix 6

I have issues with getting my glance to run with Fenix 6 on SDK 8.1.x.

On SDK 7.4.3 everything works as it should, code builds and glance is shown.

On SDK 8.1.0, I get the following error when building:

 *  Executing task: monkeyc: Building For Device 

java -Xms1g -Dfile.encoding=UTF-8 -Dapple.awt.UIElement=true -jar c:\Users\Robert\AppData\Roaming\Garmin\ConnectIQ\Sdks\connectiq-sdk-win-8.1.0-2025-03-04-7ae1ed1cb\bin\monkeybrains.jar -o bin\evccgarmin.prg -f d:\Projects\evcc-garmin\evcc-garmin\monkey.jungle -y d:\Projects\evcc-garmin\ciq-developer-key\developer_key -d fenix6_sim -w

ERROR: null

On SDK 8.1.1 the build works again, but getGlanceView() is not called, instead it goes directly into getInitialView(). Glance Launch Mode is set to Launch in Glance Mode.

If I run the same configuration on a Fenix 6 Pro, the glance works with all three SDK versions.

What do you guys think, is this a bug, or am I missing something else?

  • Unfortunately I do not have a physical Fenix 6, so the decisive question is also: is this a simulator issue, or do I need to compile my project with SDK 7.x to get the glance to work on a Fenix 6.

  • To me it looks like a simulator bug. If that's the case you might be able to confirm it by looking at the differences between the simulator.json of fenix7 and fenix6pro. If you find the seemingly relevant difference, then editing fenix6's file and restarting the simulator should fix it. In this case I would open the bug as a simulator bug. Of course in theory it's possible that the real f6 and f6pro behave differently (and the simulator reflects that) but it's highly unlikely and in that case it would be at least a missing documentation bug, but more likely a firmware bug.

    Unfortunately I managed to kill my fenix6 Soni can't test it on a real device either.

  • I was able to reproduce your findings with your code at https://github.com/TheNinth7/evcc-garmin/tree/PerformanceRefactoring.

    Indeed:

    - in the  7.4.3 simulator, the glance is shown

    - in the  8.1.1 simulator, the glance is not shown (getGlanceView is not even called)

    It seems like a bug to me, but I would also like to see if I can recreate it with a simpler example.

    Note there is a glance-related simulator bug in 8.1.0 - I wonder if a possible fix for that might have something to do this with a possible bug in 8.1.1. Either that or it's just a similar / related bug.

    https://forums.garmin.com/developer/connect-iq/i/bug-reports/bug-report-with-connect-iq-sdk-8-1-0-widget-builds-for-instinct-2-like-devices-are-no-longer-launched-in-glance-mode-in-simulator

  • Unfortunately I do not have a physical Fenix 6, so the decisive question is also: is this a simulator issue, or do I need to compile my project with SDK 7.x to get the glance to work on a Fenix 6.

    I built your app with 8.1.1 but ran it in the 7.4.3 sim and it worked fine (the glance was shown). But when I built it with 7.4.3 and ran it in the 8.1.1 sim, the bug occurred (the app ran in full-screen widget mode).

    So I think it's probably safe to say it's a sim bug.

    You can easily run an app with a different sim version than compiler version with by selecting one SDK version, running the app (which opens the sim), then selecting a different SDK version without closing the sim.

    e.g.

    - Build with 8.1.1

    - Run app (8.1.1 sim opens)

    - Switch to SDK 7.4.3 (do not close sim)

    - Build and run app with 7.4.3 compiler (app runs in 8.1.1 sim)

  • Seems to be the sim.  You also don't see the glance on the instinct2.  Seems to be devices with liveUpdates: false for glances where WatchUI.request is often ignored with a glance

    See https://developer.garmin.com/connect-iq/core-topics/glances/ and Live UI Updates/Background UI Updates

    I mentioned the Instinct2, as glances work fine on the real device.  It's a bug in the sim or the device configs.

    The difference between the f6 and f6 pro devices as far as glances, is the pro devices support liveUpdates and the non-pro don't.  I know the I2 doesn't, it was stilling here all charged up on my desk.

    The Error: null is something else.  I don't see that (win11), but I know others have reported that for different apps

  • You can easily run an app with a different sim version than compiler version with by selecting one SDK version, running the app (which opens the sim), then selecting a different SDK version without closing the sim.

    Thank you for taking the time to dig into this - I hadn’t considered mixing different compiler and SDK versions for testing (or even realized that was possible).

    I’ve submitted a bug report and cross-referenced it with the other issue you mentioned.

    forums.garmin.com/.../issues-with-sdk-8-1-x-and-glance-on-fenix-6

  • If that's the case you might be able to confirm it by looking at the differences between the simulator.json of fenix7 and fenix6pro.
    Seems to be devices with liveUpdates: false for glances where WatchUI.request is often ignored with a glance

    Yes, that could be the difference. The Fenix6 has "liveUpdates": false, while Fenix6Pro has "liveUpdates": true and additionally "cacheUpdate": false.

  • Yeah except manually editing simulator.json to change liveUpdates to true doesn't "fix" the bug. Ofc there could still be a correlation.

  • As the json is undocumented, and this is only the recent SDKs. I wouldn't be surprised if there's something else you need to hack, which I wouldn't do without understanding any impacts.. .I'd wait for updated device configs, knowing things work on the real device.  There are only a small number of devices where this broke in the sim.

  • As the json is undocumented, and this is only the recent SDKs. I wouldn't be surprised if there's something else you need to hack, which I wouldn't do without understanding any impacts.. .I'd wait for updated device configs, knowing things work on the real device.  There are only a small number of devices where this broke in the sim.

    I wasn't claiming that hacking the device file is a solution or a workaround. Only that the problem isn't directly related to liveUpdates. I did say there could be a correlation.

    I also disagree that the fix will come in the form of device updates. It's already been established that this is probably a simulator bug that happens in newer SDKs and not older SDKs, so the fix would likely come in the form of a new simulator in a new SDK. (Same with the other Instinct 2 bug that was linked.) I guess anything is possible though.