# Makie Texture Atlas Caching

**URL:** <https://discourse.julialang.org/t/makie-texture-atlas-caching/134131>\
**Category:** General Usage\
**Tags:** makie, artifacts\
**Created:** [November 26, 2025, 2:21am UTC](https://discourse.julialang.org/t/makie-texture-atlas-caching/134131 "2025-11-26T02:21:08Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Chrysoberyl](https://avatars.discourse-cdn.com/v4/letter/c/ed655f/32.png) [@Chrysoberyl](https://discourse.julialang.org/u/Chrysoberyl)\
**Post date:** [November 26, 2025, 2:21am UTC](https://discourse.julialang.org/t/makie-texture-atlas-caching/134131/1 "2025-11-26T02:21:08Z")

</div>

When using Makie offline, I got this warning:

```plaintext
Warning: downloading texture atlas failed, need to re-create from scratch.
exception =
RequestError: Could not resolve host: github.com while requesting https://github.com/MakieOrg/Makie.jl/releases/download/v0.21.0/v7_texture_atlas_2048_64.bin

```

and later

```plaintext
Warning: Makie is caching fonts, this may take a while. This should usually not happen, unless you're getting your own texture atlas or are without internet!

```

This is for offline deployment to a computing cluster. Is there a way to download the atlas on a build machine and then copy it to the computing machines so Makie doesn’t need to spend time on the texture atlas and fonts?

---

<div class="post-metadata">

**Author:** ![sdanisch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sdanisch/32/1406_2.png) [@sdanisch](https://discourse.julialang.org/u/sdanisch)\
**Post date:** [November 26, 2025, 12:07pm UTC](https://discourse.julialang.org/t/makie-texture-atlas-caching/134131/2 "2025-11-26T12:07:04Z")

</div>

You can get the urls and paths Makie expect the texture atlas from this function:

> <https://github.com/MakieOrg/Makie.jl/blob/master/Makie/src/utilities/texture_atlas.jl#L147-L170>

This should allow you to ship it I suppose.  
The clean way would be to ship it as an artifact, if you have time for a PR 😉  
We already have an artifact for other assets:  
[Makie.jl/Makie/Artifacts.toml at master · MakieOrg/Makie.jl · GitHub](https://github.com/MakieOrg/Makie.jl/blob/master/Makie/Artifacts.toml)  
Which was generated with this helper script:  
[Makie.jl/tooling/create-artifacts.jl at 46d9c5e3cb7adacdd0dbe364005baa9a6c656f97 · MakieOrg/Makie.jl · GitHub](https://github.com/MakieOrg/Makie.jl/blob/46d9c5e3cb7adacdd0dbe364005baa9a6c656f97/tooling/create-artifacts.jl#L4)

---

<div class="post-metadata">

**Author:** ![Chrysoberyl](https://avatars.discourse-cdn.com/v4/letter/c/ed655f/32.png) [@Chrysoberyl](https://discourse.julialang.org/u/Chrysoberyl)\
**Post date:** [November 26, 2025, 11:07pm UTC](https://discourse.julialang.org/t/makie-texture-atlas-caching/134131/3 "2025-11-26T23:07:13Z")

</div>

It seems like there are many texture atlases depending on resolution. How could an artifact-based solution work?

---

<div class="post-metadata">

**Author:** ![sdanisch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sdanisch/32/1406_2.png) [@sdanisch](https://discourse.julialang.org/u/sdanisch)\
**Post date:** [November 27, 2025, 9:39am UTC](https://discourse.julialang.org/t/makie-texture-atlas-caching/134131/4 "2025-11-27T09:39:12Z")

</div>

in Theory, yes, but actually we only use one resolution. we used two previously, but now all backends use the same.  
So only get\_texture\_atlas(2048, 64) should be used!  
And like previously, if we don’t have an artifact for a combination we’d generate it
