Crate gsk4

source ·
Expand description

§Rust GSK 4 bindings

The project website is here.

Rust bindings of GSK 4, part of gtk4-rs.

GSK is an intermediate layer that isolates GTK from the details of the OpenGL or Vulkan implementation.

§Minimum supported Rust version

Currently, the minimum supported Rust version is 1.70.



We recommend using crates from, as demonstrated here.

If you want to track the bleeding edge, use the git dependency instead:

gsk = { git = "", package = "gsk4" }

Avoid mixing versioned and git crates like this:

# This will not compile
gdk = {version = "0.1", package = "gdk4"}
gsk = { git = "", package = "gsk4" }


vulkanEnable vulkan Renderer. Only if GTK is compiled with Vulkan support
broadwayEnable broadway Renderer. Only if GTK is compiled with Broadway support
v4_14Enable the new APIs part of GTK 4.14
v4_10Enable the new APIs part of GTK 4.10
v4_6Enable the new APIs part of GTK 4.6
v4_4Enable the new APIs part of GTK 4.4
v4_2Enable the new APIs part of GTK 4.2

§See Also


The Rust bindings of gsk4 are available under the MIT License, please refer to it.





  • The blend modes available for render nodes.
  • The corner indices used by RoundedRect.
  • FillRule is used to select how paths are filled.
  • This defines the types of the uniforms that GskGLShaders declare.
  • LineCapv4_14
    Specifies how to render the start and end points of contours or dashes when stroking.
  • Specifies how to render the junction of two lines when stroking.
  • The mask modes available for mask nodes.
  • The values of the PathDirection enum are used to pick one of the four tangents at a given point on the path.
  • Path operations are used to describe the segments of a Path.
  • The type of a node determines what the node is rendering.
  • The filters used when scaling texture data.
  • Errors that can happen during (de)serialization.
  • The categories of matrices relevant for GSK and GTK.