How to find out colors supported by e.g. Fenix 7 ?

Hello,

As far as I remember Fenix 7 supports 256 colors, however unlike e.g. the Fenix 6 - which has its colors spelled out in the 'palette' section of its compiler.json - the Fenix 7 does not have a 'palette' section in is compiler.json.

And so how can one find out what colors a given device supports if they are not specified in its compiler.json ?

Top Replies

All Replies

  • So try it and point out things you see.

  • Fenix7 also has bitsPerPixel: 8

    Also if I remember correctly then there are 2 types of palette64, with 62 or 63 colors being identical and have 1 color difference. At least that's what I found from compiler.json or simulator.json about a year ago.

    And regarding the "have tested and saw": how exactly? If I remember correctly then you can use a color that is not in the palette and it's changed to a "close" color. Easiest to see on 8-color devices, like fr55.

  • Fenix7 also has bitsPerPixel: 8

    Good point I'll edit my post.

    Also if I remember correctly then there are 2 types of palette64, with 62 or 63 colors being identical and have 1 color difference. At least that's what I found from compiler.json or simulator.json about a year ago.

    To be fair, it seems like all the 64-color palettes explicitly specified in compiler.json are identical.

    I used jq to dump the length of the palette.colors array for all compiler.json files in the device library, then I compared all of those arrays.

    51 devices (excluding preview devices) have exactly 64 colors, and they all have the same palette.

    Additionally, fenixchronos has 66 colors, but 2 of them are simply just the string "TRANSPARENT" (which doesn't appear in any other palette), and the other 64 are the same as the other 51 devices (but in a slightly different order.)

    (fenixchronos lists the "standard" 14-color palette first, in the same order as 14-color devices such as f235, followed by "TRANSPARENT" twice, followed by the other 50 colors in alphabetical order. The 64-color devices just list the colors in alphabetical order)

    Ofc that doesn't tell us anything about the devices which don't have palette.colors[] in compiler.json.

    And regarding the "have tested and saw": how exactly? If I remember correctly then you can use a color that is not in the palette and it's changed to a "close" color. Easiest to see on 8-color devices, like fr55.

    Yeah, my thoughts exactly.

    To do a proper test you'd either have to:

    - try all devices (or groups of devices) in the sim (hoping of course that the sim is accurate in this regard), take screenshots and analyze the colors

    or

    - try the real devices, take pictures (under identical lighting conditions) and analyze the colors

    Ofc both of those approaches could be used to check whether a given device supports some baseline palette (that most or all are assumed to share.) It might be a bit trickier if you want to identify the actual colors that are supported (I guess it wouldn't be so bad with the sim.)

    As matter of fact, when the 256 color error was still in the reference guide for Fenix 7, some ppl in the Fenix 7 boards had the exact same question ("how many colors does Fenix 7 support and which colors are they.") They tried various approaches like using a 256 color bitmap as a Face-It background.

    This goes back to how incorrect or missing information in the docs can actually be a real problem. (Except ofc in those cases when an omniscient forum poster has all the answers.)

    Can't wait til this thread is bumped again in 2026, when we'll go through the exact same discussion again.

    "What colors are supported in Fenix 7? The docs don't say."

    "Open the docs and search for color 'palette'"

  • fenixchronos:

    000000,000055,0000AA,0000FF,005500,005555,0055AA,0055FF,00AA00,00AA55,00AAAA,00AAFF,00FF00,00FF55,00FFAA,00FFFF,550000,550055,5500AA,5500FF,555500,555555,5555AA,5555FF,55AA00,55AA55,55AAAA,55AAFF,55FF00,55FF55,55FFAA,55FFFF,AA0000,AA0055,AA00AA,AA00FF,AA5500,AA5555,AA55AA,AA55FF,AAAA00,AAAA55,AAAAAA,AAAAFF,AAFF00,AAFF55,AAFFAA,AAFFFF,FF0000,FF0055,FF00AA,FF00FF,FF5500,FF5555,FF55AA,FF55FF,FFAA00,FFAA55,FFAAAA,FFAAFF,FFFF00,FFFF55,FFFFAA,FFFFFF,TRANSPARENT,TRANSPARENT

    all the rest: same, except the 2 TRANSPARENT Slight smile

    The difference I remembered is in the 14-color devices:

    000000,0000FF,00AA00,00AAFF,00FF00,5500AA,555555,AA0000,AAAAAA,FF0000,FF00FF,FF5500,FFAA00,FFFFFF

    vs

    000000,0000FF,00AA00,00AAFF,00FF00,555555,AA0000,AA00FF,AAAAAA,FF0000,FF00FF,FF5500,FFAA00,FFFFFF,

    Regarding the given-hex-color to actual-palette-color conversion: I think that one could draw the screen full of different colors in each pixel, take a screenshot, then analyze each pixel's actual color. I guess it might work differently in real device and the simulator...

    I tend to use the 8 colors of the fr55 where I can, and if that's not enough then I continue with the rest of the colors that the 14-color devices have in common, then continue with the rest of the 64-color palette... To be fair, in most cases 8 was enough, and I think I only have 2 apps where I needed more than that.

  • fenixchronos:

    000000,000055,0000AA,0000FF,005500,005555,0055AA,0055FF,00AA00,00AA55,00AAAA,00AAFF,00FF00,00FF55,00FFAA,00FFFF,550000,550055,5500AA,5500FF,555500,555555,5555AA,5555FF,55AA00,55AA55,55AAAA,55AAFF,55FF00,55FF55,55FFAA,55FFFF,AA0000,AA0055,AA00AA,AA00FF,AA5500,AA5555,AA55AA,AA55FF,AAAA00,AAAA55,AAAAAA,AAAAFF,AAFF00,AAFF55,AAFFAA,AAFFFF,FF0000,FF0055,FF00AA,FF00FF,FF5500,FF5555,FF55AA,FF55FF,FFAA00,FFAA55,FFAAAA,FFAAFF,FFFF00,FFFF55,FFFFAA,FFFFFF,TRANSPARENT,TRANSPARENT

    all the rest: same, except the 2 TRANSPARENT

    Thanks - I already mentioned that:

    Additionally, fenixchronos has 66 colors, but 2 of them are simply just the string "TRANSPARENT" (which doesn't appear in any other palette), and the other 64 are the same as the other 51 devices (but in a slightly different order.)

    (fenixchronos lists the "standard" 14-color palette first, in the same order as 14-color devices such as f235, followed by "TRANSPARENT" twice, followed by the other 50 colors in alphabetical order. The 64-color devices just list the colors in alphabetical order)

    Regarding the given-hex-color to actual-palette-color conversion: I think that one could draw the screen full of different colors in each pixel, take a screenshot, then analyze each pixel's actual color. I guess it might work differently in real device and the simulator...

    Yeah, I also suggested that above (not in so many words tho). But as you pointed out we have to trust that the sim follows the devices in this regard (not so unreasonable, but otoh we're always told that testing on a real device is better.)

    The difference I remembered is in the 14-color devices:

    000000,0000FF,00AA00,00AAFF,00FF00,5500AA,555555,AA0000,AAAAAA,FF0000,FF00FF,FF5500,FFAA00,FFFFFF

    vs

    000000,0000FF,00AA00,00AAFF,00FF00,555555,AA0000,AA00FF,AAAAAA,FF0000,FF00FF,FF5500,FFAA00,FFFFFF,

    Good catch!

    All of that stuff aside, I don't understand why this can't be documented? Instead we have to rely on knowledge that's in the head of literally 1 forum poster.

    Again, if there's a good reason why the palette isn't listed in the docs for 64-color CIQ 4+ devices, that reason could be documented instead. I assume it's related to the reason that palettes aren't listed for those devices in compiler.json.

  • Thank you. I see now that Fenix 7 does not have it, but it looks like all 64 colors devices have the same. I will use some other device color palette.

  • I did read this post and I was looking for Fenix 7 in the link from this post but could not find. Also post was not very clear what is it all about, or is is about number of supported colors or about specific list of supported colors. Only now I realised that all 64 colors devices have the same color palette.
    P.S. I hoped it was fixed since 2022 :)