DEV Community

Cover image for Go 1.26 Meets 2026 with a Professional Graphics Ecosystem
Andrey Kolkov
Andrey Kolkov

Posted on • Edited on

Go 1.26 Meets 2026 with a Professional Graphics Ecosystem

Last updated: 2026-01-05

Join the UI Discussion: We're designing an enterprise-grade GUI toolkit for Go. Your input matters! GitHub Discussions


Happy New Year, Gophers!

As 2025 draws to a close, I want to share something that makes me incredibly proud: Go is entering 2026 with its first professional graphics ecosystem.

A month ago, this was just an idea. Today, it's 249,000 lines of Pure Go code — a complete GPU computing stack that requires nothing but go build.

No CGO. No Rust. No C. Just Go.


What We Accomplished in 2025

Everything we planned for 2025 — we delivered.

The Numbers

Metric Value
Total Lines of Code 249K Pure Go
GPU Backends 5 (Vulkan, DX12, Metal, GLES, Software)
Shader Targets 4 (SPIR-V, MSL, GLSL, HLSL)
Platforms Windows, Linux (X11 + Wayland), macOS
CGO Required None

The Ecosystem

Project Description Version
gogpu/gg 2D Graphics (~104K LOC) v0.17.0
gogpu/wgpu Pure Go WebGPU (~87K LOC) v0.9.2
gogpu/naga Shader Compiler (~32K LOC) v0.8.3
gogpu/gogpu GPU Framework (~26K LOC) v0.9.2
gogpu/ui GUI Toolkit 2026 Focus

What's Working Right Now

Full Cross-Platform Support:

  • Windows — Win32 windowing, Vulkan + DX12 + GLES backends
  • Linux X11 — Pure Go X11 protocol, Vulkan + GLES backends
  • Linux Wayland — Pure Go Wayland protocol, Vulkan + GLES backends
  • macOS — Cocoa windowing, Metal backend

Complete Shader Pipeline:

  • WGSL source code
  • Compiles to SPIR-V (Vulkan), MSL (Metal), GLSL (OpenGL), HLSL (DirectX)
  • Vertex, fragment, and compute shaders
  • 50+ built-in functions, atomics, barriers

GPU-Accelerated 2D Graphics:

  • Scene graph with dirty region tracking
  • 29 blend modes (Porter-Duff + Advanced + HSL)
  • Layers, alpha masks, GPU text rendering
  • Sparse Strips algorithm (vello-inspired)

The Community Effect

Here's what I love most about open source: we're not alone.

When something doesn't work perfectly, we fix it together. In the past month alone:

  • Community testers helped identify Metal backend issues on M1/M4 Macs
  • Contributors suggested API improvements for Context naming
  • Real-world shader testing exposed edge cases in naga

Special thanks to our community:

And if something still doesn't work? The Go community and Go Team are here. We'll fix it. Together.


2026: The Year of Polish and GUI

The rapid development phase is ending. 2026 is about maturity.

Q1 2026: Stabilization

Focus Description
Benchmarks Comprehensive performance testing across all backends
Optimization Memory allocations, GPU submission batching, shader compilation
Documentation API references, tutorials, migration guides
Testing Edge cases, stress tests, real-world validation

Q2-Q3 2026: Enterprise GUI Toolkit

This is the big one. gogpu/ui — a professional GUI toolkit for Go.

What we're designing:

  • Signals-based reactivity — Fine-grained updates, O(affected) not O(n)
  • Tailwind-style API — Type-safe styling, AI-friendly, no context switching
  • Enterprise features — Docking, virtualization, accessibility (AccessKit)
  • Cross-platform — Desktop (gogpu), Web (WASM), Mobile (WebView)
// The API we're designing
Box(
Image(user.AvatarURL).Size(48, 48).Rounded(24),
Text(user.Name).Font(typography.Title).Color(theme.OnSurface),
).Padding(16).Gap(12).Background(theme.Surface).Rounded(12).Shadow(1)
Enter fullscreen mode Exit fullscreen mode

Your voice matters. We're actively discussing architecture decisions:


A Message to the Go Community

For years, the answer to "How do I do graphics in Go?" was:

"Just use Rust/C++."

That answer is no longer acceptable. Go deserves better.

Go 1.26 (February 2026) will bring us even more improvements. And now, Go finally has a graphics ecosystem to match its ambitions.


How You Can Help in 2026

Test on Your Hardware

git clone https://github.com/gogpu/gogpu
cd gogpu
go build -tags purego ./examples/triangle/
./triangle
Enter fullscreen mode Exit fullscreen mode

Report issues: github.com/gogpu/gogpu/issues

Join the UI Discussion

We're making architectural decisions right now. Before v1.0.0 freezes the API.

Contribute

What we need:

  • Cross-platform testing (especially macOS, Linux Wayland)
  • Documentation and tutorials
  • UI toolkit development (signals, widgets, layouts)
  • Real-world usage examples
  • Compute shader examples

Star the Repos


Looking Forward

2025 was about proving it's possible.

2026 is about making it excellent.

Together, we're building the GPU ecosystem Go has always deserved. Not because we have to — but because we can.

Happy New Year, Gophers. Let's make 2026 the year Go graphics goes mainstream.


The GoGPU Series

All articles documenting the GoGPU journey in 2025:

  1. GoGPU: A Pure Go Graphics Library for GPU Programming — The beginning
  2. GoGPU: From Idea to 100K Lines in Two Weeks — The rapid development story
  3. Building a Shader Compiler in Pure Go: naga — WGSL to SPIR-V/MSL/GLSL/HLSL
  4. Pure Go 2D Graphics Library with GPU Acceleration: Introducing gogpu/gg — 2D graphics API
  5. GPU Compute Shaders in Pure Go: gogpu/gg v0.15.3 — Sparse Strips GPU compute

Related Pure Go Projects

Building GoGPU led to creating supporting libraries — all Pure Go, all zero-CGO:


Links


Questions? Drop them in the comments or join the discussion.

Gophers of all lands, unite!

See you in 2026!

Top comments (6)

Collapse
 
andres36_f046592b42556601 profile image
ANDRES36

"The Go community and Go Team are here. We'll fix it. Together."
Why are you lying? What community? github.com/orgs/gogpu/discussions/...

You said: "We" = 1 human architect + AI tools. Same as most modern dev teams in 2025, just more honest about it.

You are not being honest here. Still waiting for that article about how you wrote 249,000 lines of Pure Go code in such a short amount of time.

Collapse
 
kolkov profile image
Andrey Kolkov

Hi! ANDRES36, everything in its time... I didn't promise to publish it immediately.
I said I'd publish it when I have the time to finish it. I hope that time will finally appear after the New Year.
And may I ask why this intrigued you so much, why you're so eager to learn more?

Collapse
 
andres36_f046592b42556601 profile image
ANDRES36

shouldn't take that long, just use AI as usual. I just want people to know that your repo is completely AI generated, nothing wrong with that, you are allow to do it, if it works (I doubt), great, just be honest.

Thread Thread
 
kolkov profile image
Andrey Kolkov • Edited

Well, I won't try to change your mind if you've already made up your mind... If all this is generated at the click of a button, you can immediately run your own project in parallel and see how LLMs can generate a project of this scale for you that actually works as intended... Then we'll compare the results.
I'm not claiming this is a 100% production-ready system right away, but I have no doubt that the community and the Go team will soon perfect it... Which is essentially the main point of this article, if you actually read it carefully!

Thread Thread
 
andres36_f046592b42556601 profile image
ANDRES36

You are delusional if you think people are going to come and fix that maintainability nightmare. are you unemployed? Are you trying to fool an employer? That would make sense.

Thread Thread
 
kolkov profile image
Andrey Kolkov

Okay, please provide a link to your repositories. Show us your portfolio.