This article explains how to learn x86-64 assembly by creating a graphical interface from scratch.

gaultier.github.io/blog/x11_x64.html
Gaultier Blog homepage screenshot

About Gaultier Blog

This article teaches x86-64 assembly by building a simple GUI program that opens an X11 window and draws text. It uses the nasm assembler and connects to the X11 server directly over a socket without libX11 or libxcb, covering steps such as connecting, creating a window, mapping it, and handling server messages.

The examples use Linux system call values, with notes on changing them for other Unix systems. X11 authentication is skipped and covered in a separate article, and the macOS with XQuartz setup is described as untested.

Key features

  • Walks through opening a socket and connecting to X11 server
  • Explains stack use with a small assembly example
  • Shows creating a window, mapping it, and polling messages
  • Shows opening a font and drawing text
  • Includes full assembly code in an addendum
  • Uses Linux syscalls with notes on porting to other Unix systems
Best for: Beginners learning x86-64 assembly who want a practical GUI example from scratch.
Good for
  • Written to be approachable for beginners learning assembly and X11
  • Builds the GUI without external libraries using direct socket commands
  • Includes the full code and links to external discussions
Watch out for
  • Skips X11 authentication, which some servers such as XWayland require
  • Uses Linux system call values, so other systems need changed values
  • macOS with XQuartz setup is untested by the author

Gaultier Blog at a glance

Type
Website
Pricing
Not confirmed. Check the site
Platforms
Web
Open source
Not stated
Last checked
Oct 5, 2026 · Online when checked
Listed
Oct 5, 2026

Gaultier Blog alternatives

Tools and sites you could use instead, ranked by how closely they match.

All 24 alternatives

Scratch

scratch.mit.edu

Scratch lets people create interactive stories, games, and animations with a visual programming language and online community.

Popular in Learn to Code

Well-known listings from the same topic.

All 387

Gaultier Blog FAQ

What do I need to follow the article?
The nasm assembler and X11 on Linux, without additional libraries for the GUI part.
Does the example handle X11 authentication?
No. Authentication is skipped here and is handled in a separate article.
Will the code work on Wayland or macOS?
The author confirms it works with XWayland. Use on macOS with XQuartz is untested and needs nasm macho64 format and different linker handling.
Is something wrong or out of date?

Tell us and an editor will check it.

Own this website?

Claim the listing and suggest updates yourself. An editor checks every claim first.

Claim this listing