Conformant OpenGL 4.6 on the M1

Open-source developers have achieved a fully conformant OpenGL 4.6 implementation on Apple’s M1 GPU under Linux, surpassing Apple’s own non‑conformant 4.1 drivers and enabling better compatibility with modern OpenGL applications like Blender and emulators. Commenters weigh what this means for Apple Silicon as a Linux platform, contrasting Metal’s performance and design with the portability of OpenGL and Vulkan and noting remaining gaps in Linux hardware support and power management. The conversation broadens into how modern low‑level APIs such as Vulkan and Metal compare to OpenGL in usability, performance, and long‑term relevance, especially for indie developers and cross‑platform game engines.

General reaction

  • Many readers enjoyed the writeup but found the deep GPU/driver details hard to follow.
  • Several express strong admiration for the engineering effort and educational value of the blog series.

Porting to macOS / using Metal

  • Some ask whether similar OpenGL 4.6 support could come to macOS.
  • Obstacles mentioned:
    • Apple’s lack of a stable public kernel API and restrictions on third‑party kernel drivers.
    • Need to interface with Apple’s GPU command submission from user space and integrate with macOS compositing.
  • Others argue that on macOS, a GL‑on‑Metal layer is more sensible than a full custom driver, but question why to invest heavily in a “legacy” API.
  • Counterpoint: a lot of software still depends on OpenGL; some see a moral duty for Apple to support it properly.

Asahi Linux on Apple Silicon

  • The new conformant OpenGL stack is seen as a major milestone; some claim Apple Silicon is now “best Linux hardware.”
  • Pushback:
    • macOS/Metal still offers better performance for specific workloads like Blender.
    • Asahi is not yet feature‑complete: microphones, some power‑saving features, and hardware video decoding are incomplete, though work is ongoing.
    • Daily‑driver suitability is disputed: some say “not ready,” others report using it full‑time successfully.

Technical approach and performance

  • Main accomplishment: achieving OpenGL 4.6 conformance on hardware that natively maps only to roughly OpenGL ES 3.1.
  • Missing features (geometry shaders, tessellation, transform feedback, etc.) are emulated via compute shaders and shader tricks.
  • Commenters compare this to Zink (OpenGL on Vulkan), and wonder how reusable these “features-on-features” techniques are.
  • Performance impact vs Metal is acknowledged as “it depends” and not fully clear from the thread, though some note that even “hardware” features are often implemented in microcode, so performance can be similar.

OpenGL vs Vulkan/Metal and API design

  • Debate over why target OpenGL first instead of Vulkan:
    • Pro‑GL: easier incremental path from earlier work, immediately useful for desktops/compositors, and the developers already have GL‑driver experience.
    • Pro‑Vulkan: Vulkan is the modern target and already has GL layers, but those still require the same feature work underneath.
  • OpenGL vs Vulkan ease‑of‑use:
    • Many say OpenGL is far easier for beginners and small/indie projects; Vulkan’s boilerplate and explicit synchronization are daunting.
    • Others argue much Vulkan “pain” is one‑time setup and can be wrapped in libraries; for experienced graphics programmers Vulkan is preferred.
    • Some see Metal as cleaner and easier than both on Apple platforms.

History and ecosystem

  • Discussion of how Quake and related games helped push OpenGL beyond CAD into mainstream PC gaming, counterbalanced by the rise of Direct3D.
  • Mixed views:
    • Some say Direct3D’s API evolution, tools, and cooperation with GPU vendors ultimately “won” on PC.
    • Others highlight Microsoft’s past attempts to sideline OpenGL and note that Direct3D’s Windows/Xbox lock‑in prevents it from being a true cross‑platform standard.

Future of OpenGL and cross‑platform graphics

  • Consensus that OpenGL is effectively stagnant: 4.6 is the last version, deprecated on Apple platforms, and increasingly layered over Vulkan/Direct3D in drivers.
  • Nonetheless, many still see OpenGL as:
    • The most practical cross‑platform API to write against directly today.
    • Adequate and simpler for many non‑AAA use cases, even if suboptimal for cutting‑edge performance.
  • Some expect higher‑level, OpenGL‑like APIs (e.g., on top of Vulkan or via projects like wgpu or Zink) to remain important for accessibility.