# GLMakie error: cannot get context in Julia 1.11.\*, but works in Julia 1.10.\*

**URL:** <https://discourse.julialang.org/t/glmakie-error-cannot-get-context-in-julia-1-11-but-works-in-julia-1-10/124509>\
**Category:** General Usage\
**Tags:** question\
**Created:** [January 7, 2025, 6:56pm UTC](https://discourse.julialang.org/t/glmakie-error-cannot-get-context-in-julia-1-11-but-works-in-julia-1-10/124509 "2025-01-07T18:56:09Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![prittjam](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/prittjam/32/21267_2.png) [@prittjam](https://discourse.julialang.org/u/prittjam)\
**Post date:** [January 7, 2025, 6:56pm UTC](https://discourse.julialang.org/t/glmakie-error-cannot-get-context-in-julia-1-11-but-works-in-julia-1-10/124509/1 "2025-01-07T18:56:09Z")

</div>

Plotting with GLMakie causes a crash. I don’t understand what is missing:

> julia\> VERSION  
> v"1.11.2"

> glxinfo | grep “OpenGL version”  
> OpenGL version string: 4.6.0 NVIDIA 470.256.02

```julia
using Colors
using Distributions
using Random
using StatsBase
using StaticArrays
using StructArrays
using GLMakie

f = Figure()
ax = Axis(f[1,1],xlabel="brightness",ylabel="log exposure")

```

> ERROR: glGenBuffers returned invalid id. OpenGL Context active?  
> Stacktrace:  
> [1] error(s::String)  
> @ Base ./error.jl:35  
> [2] glGenBuffers(n::Int64)  
> @ GLMakie.GLAbstraction ~/.julia/packages/GLMakie/TH3rf/src/GLAbstraction/GLExtendedFunctions.jl:112  
> [3] glGenBuffers  
> @ ~/.julia/packages/GLMakie/TH3rf/src/GLAbstraction/GLExtendedFunctions.jl:108 [inlined]  
> [4] GLMakie.GLAbstraction.GLBuffer{Point{2, Float32}}(ptr::Ptr{Point{2, Float32}}, buff\_length::Int64, buffertype::UInt32, usage::UInt32)  
> @ GLMakie.GLAbstraction ~/.julia/packages/GLMakie/TH3rf/src/GLAbstraction/GLBuffer.jl:11  
> [5] #GLBuffer#13  
> @ ~/.julia/packages/GLMakie/TH3rf/src/GLAbstraction/GLBuffer.jl:57 [inlined]  
> [6] GLBuffer  
> @ ~/.julia/packages/GLMakie/TH3rf/src/GLAbstraction/GLBuffer.jl:52 [inlined]  
> [7] #\_#9  
> @ ~/.julia/packages/GLMakie/TH3rf/src/GLAbstraction/AbstractGPUArray.jl:194 [inlined]  
> [8] GPUArray  
> @ ~/.julia/packages/GLMakie/TH3rf/src/GLAbstraction/AbstractGPUArray.jl:193 [inlined]  
> [9] #gl\_convert#74  
> @ ~/.julia/packages/GLMakie/TH3rf/src/GLAbstraction/GLUniforms.jl:262 [inlined]  
> [10] gl\_convert(::Type{GLMakie.GLAbstraction.GLBuffer}, a::Observable{Vector{Point{2, Float32}}})  
> @ GLMakie.GLAbstraction ~/.julia/packages/GLMakie/TH3rf/src/GLAbstraction/GLUniforms.jl:259  
> [11] GLMakie.GLAbstraction.RenderObject(data::Dict{…}, program::GLMakie.GLVisualizeShader, pre::GLMakie.GLAbstraction.StandardPrerender, post::GLFW.Window, context::GLFW.Window)  
> @ GLMakie.GLAbstraction ~/.julia/packages/GLMakie/TH3rf/src/GLAbstraction/GLTypes.jl:373  
> [12] GLMakie.GLAbstraction.RenderObject(data::Dict{Symbol, Any}, program::GLMakie.GLVisualizeShader, pre::GLMakie.GLAbstraction.StandardPrerender, post::GLFW.Window)  
> @ GLMakie.GLAbstraction ~/.julia/packages/GLMakie/TH3rf/src/GLAbstraction/GLTypes.jl:346  
> [13] assemble\_shader(data::Dict{Symbol, Any})  
> @ GLMakie ~/.julia/packages/GLMakie/TH3rf/src/glshaders/visualize\_interface.jl:108  
> [14] draw\_mesh(screen::GLMakie.Screen{GLFW.Window}, data::Dict{Symbol, Any})  
> @ GLMakie ~/.julia/packages/GLMakie/TH3rf/src/glshaders/mesh.jl:72  
> [15] mesh\_inner(screen::GLMakie.Screen{…}, mesh::Observable{…}, transfunc::Observable{…}, gl\_attributes::Dict{…}, plot::Mesh{…}, space::Observable{…})  
> @ GLMakie ~/.julia/packages/GLMakie/TH3rf/src/drawing\_primitives.jl:776  
> [16] (::GLMakie.var"#315#316"{GLMakie.Screen{GLFW.Window}, Mesh{Tuple{GeometryBasics.Mesh{…}}}})(gl\_attributes::Dict{Symbol, Any})  
> @ GLMakie ~/.julia/packages/GLMakie/TH3rf/src/drawing\_primitives.jl:783  
> [17] (::GLMakie.var"#213#223"{GLMakie.var"#315#316"{GLMakie.Screen{…}, Mesh{…}}, GLMakie.Screen{GLFW.Window}, Scene, Mesh{Tuple{…}}})()  
> @ GLMakie ~/.julia/packages/GLMakie/TH3rf/src/drawing\_primitives.jl:337  
> [18] get!(default::GLMakie.var"#213#223"{GLMakie.var"#315#316"{…}, GLMakie.Screen{…}, Scene, Mesh{…}}, h::Dict{UInt64, GLMakie.GLAbstraction.RenderObject}, key::UInt64)  
> @ Base ./dict.jl:458  
> [19] cached\_robj!(robj\_func::GLMakie.var"#315#316"{GLMakie.Screen{…}, Mesh{…}}, screen::GLMakie.Screen{GLFW.Window}, scene::Scene, plot::Mesh{Tuple{…}})  
> @ GLMakie ~/.julia/packages/GLMakie/TH3rf/src/drawing\_primitives.jl:235  
> [20] draw\_atomic(screen::GLMakie.Screen{GLFW.Window}, scene::Scene, meshplot::Mesh{Tuple{GeometryBasics.Mesh{…}}})  
> @ GLMakie ~/.julia/packages/GLMakie/TH3rf/src/drawing\_primitives.jl:780  
> [21] insert!(screen::GLMakie.Screen{GLFW.Window}, scene::Scene, x::Plot)  
> @ GLMakie ~/.julia/packages/GLMakie/TH3rf/src/drawing\_primitives.jl:353  
> [22] #233  
> @ ~/.julia/packages/GLMakie/TH3rf/src/drawing\_primitives.jl:358 [inlined]  
> [23] foreach(f::GLMakie.var"#233#234"{GLMakie.Screen{GLFW.Window}, Scene}, itr::Vector{Plot})  
> @ Base ./abstractarray.jl:3187  
> [24] insert!(screen::GLMakie.Screen{GLFW.Window}, scene::Scene, x::Plot)  
> @ GLMakie ~/.julia/packages/GLMakie/TH3rf/src/drawing\_primitives.jl:355  
> [25] #invokelatest#2  
> @ ./essentials.jl:1055 [inlined]  
> [26] invokelatest  
> @ ./essentials.jl:1052 [inlined]  
> [27] push!(scene::Scene, plot::Plot)  
> @ Makie ~/.julia/packages/Makie/Y3ABD/src/scenes.jl:492  
> [28] plot!(scene::Scene, plot::Poly{Tuple{GeometryBasics.HyperRectangle{2, Int64}}})  
> @ Makie ~/.julia/packages/Makie/Y3ABD/src/interfaces.jl:413  
> [29] \_create\_plot!(F::Function, attributes::Dict{Symbol, Any}, scene::Scene, args::Observable{GeometryBasics.HyperRectangle{2, Int64}})  
> @ Makie ~/.julia/packages/Makie/Y3ABD/src/figureplotting.jl:391  
> [30] #poly!#65  
> @ ~/.julia/packages/MakieCore/EU17Y/src/recipes.jl:514 [inlined]  
> [31] poly!  
> @ ~/.julia/packages/MakieCore/EU17Y/src/recipes.jl:512 [inlined]  
> [32] initialize\_block!(ax::Axis; palette::Nothing)  
> @ Makie ~/.julia/packages/Makie/Y3ABD/src/makielayout/blocks/axis.jl:192  
> [33] initialize\_block!(ax::Axis)  
> @ Makie ~/.julia/packages/Makie/Y3ABD/src/makielayout/blocks/axis.jl:151  
> [34] \_block(T::Type{Axis}, fig\_or\_scene::Figure, args::Vector{Any}, kwdict::Dict{Symbol, Any}, bbox::Nothing; kwdict\_complete::Bool)  
> @ Makie ~/.julia/packages/Makie/Y3ABD/src/makielayout/blocks.jl:398  
> [35] \_block  
> @ ~/.julia/packages/Makie/Y3ABD/src/makielayout/blocks.jl:317 [inlined]  
> [36] #\_block#1442  
> @ ~/.julia/packages/Makie/Y3ABD/src/makielayout/blocks.jl:262 [inlined]  
> [37] \_block(::Type{Axis}, ::GridPosition; kwargs::@Kwargs{xlabel::String, ylabel::String})  
> @ Makie ~/.julia/packages/Makie/Y3ABD/src/makielayout/blocks.jl:256  
> [38] _block  
> @ ~/.julia/packages/Makie/Y3ABD/src/makielayout/blocks.jl:249 [inlined]  
> [39] #_#1440  
> @ ~/.julia/packages/Makie/Y3ABD/src/makielayout/blocks.jl:240 [inlined]  
> [40] top-level scope  
> @ REPL[21]:1  
> Some type information was truncated. Use `show(err)` to see complete types.

---

<div class="post-metadata">

**Author:** ![prittjam](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/prittjam/32/21267_2.png) [@prittjam](https://discourse.julialang.org/u/prittjam)\
**Post date:** [January 7, 2025, 7:34pm UTC](https://discourse.julialang.org/t/glmakie-error-cannot-get-context-in-julia-1-11-but-works-in-julia-1-10/124509/2 "2025-01-07T19:34:05Z")

</div>

I upgraded the NVIDIA driver, but the error persists:

> glxinfo | grep “OpenGL version”  
> OpenGL version string: 4.6.0 NVIDIA 565.77

---

<div class="post-metadata">

**Author:** ![prittjam](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/prittjam/32/21267_2.png) [@prittjam](https://discourse.julialang.org/u/prittjam)\
**Post date:** [January 7, 2025, 7:44pm UTC](https://discourse.julialang.org/t/glmakie-error-cannot-get-context-in-julia-1-11-but-works-in-julia-1-10/124509/3 "2025-01-07T19:44:53Z")

</div>

The code works with

```julia
julia> VERSION
v"1.10.7"

```

1.11.\* versions have broken GLMakie for me
