HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

2021: Year of the Linux Gaming Desktop - Andrew Kelley

Zig SHOWTIME2 HN recommenders · recommended in 2 months, 2021-2024
YouTube
15K views · 5 years ago · talk · evergreen

Andrew Kelley's Zig SHOWTIME talk on an experiment to ship static Linux executables that can do graphics and gaming, followed by an interview. It covers the problems of Linux binary stability, dynamic linking and the graphics ABI.

HN cites it in threads on Linux desktop application distribution as a clear treatment of why binary compatibility and static linking are hard.

Linux & open-source ecosystemsC, C++, Rust, Go & systems languagesGame programming & engines#staticlinking#zig#linuxgaming#abistability#graphicsdrivers

5 comments from Hacker News

@AndyKelley2024 · in “Why Linux is not ready for the desktop, the final edition”

> Linux is not an operating system It is though. Go ahead and find me any distribution of Linux on which this binary of the Zig compiler does not work: link You can't, because it's a static executable whose only runtime dependencies are a file system. And if kernel devs would bless us with a stable graphics ABI, then we could do this for games, too. Unfortunately, the way drivers work currently relies on dynamic linking in a way that drags in a dependency on differences in distributions, which is completely unnecessary and maddening. Related: ▶ this video P.S. Just bought my wife a steam deck for christmas and she loves it.

CitesView on HN
@AndyKelley2024 · in “Zed on Linux Is Here”

My interest is not in using this text editor as a consumer, but in guiding software development culture in general, particularly when it comes to installation of Linux applications. Some talks I have given on this topic: ▶ this video link So, I think "entitled" is the wrong insult. "arrogant" would be more accurate.

CitesView on HN
@Cloudef2024 · in “Building the DirectX shader compiler better than Microsoft?”

That mesa issue reminded me of wayland issue thats been open for 3 years now where apps crash if theres even a slight stall due to the wayland socket becoming full. Instead of providing quick fix for actual app devs and users who are affected most, they have been designing this perfect solution for apps and compositor to agree on the socket size for 3 years now. Its similar crap with the server size decorations where they finally had to admit people want them and merged the protocol but don't implement it in gnome compositor :) I'd say wayland really was barebones when it was being pushed and major contributions to actually get it usable on desktop was from outsiders. I'd say win32/flatpak/libretro are the only sane way for games to target linux right now. The fact that linux doesn't have real "runtime" and major components required by games link against libc is what makes linux really unstable for anything that needs to open window, draw stuff using GPU and play audio. It's possible to create static binaries for linux that work for eternity, thanks to kernel being actually stable. But link against something in /usr/lib and it all goes to hell. If the GPU drivers and libs that provided basic window / audio did not depend on libc and were standalone, the situation would be much better. Here's good video about this problem space btw ▶ this video

RecommendsView on HN
@AndyKelley2023 · in “Fedora 38 LLVM vs. Team Fortress 2”

related: this talk that I made 2 years ago about an experiment to ship static executables on linux that could do graphics: ▶ this video

CitesView on HN
@ndesaulniers2021 · in “A proposal to start “llvm-libc” (2020)”

Andrew Kelley makes an interesting point in: ▶ this video about the PT_INTERP being hard-coded. That seems like a long ago assumption baked that binaries should only have one program interpreter per system. I don't know enough about configuring a system and the historical decisions around PT_INTERP, but I suspect Andrew is on to something.

RecommendsView on HN
Zig Roadmap 2023 - Andrew Kelley43:20

Zig Roadmap 2023 - Andrew Kelley

Zig SHOWTIME
77K views • 4 years ago
[#36] Zig Roadmap 2024 - Andrew Kelley1:00:23

[#36] Zig Roadmap 2024 - Andrew Kelley

Zig SHOWTIME
66K views • 2 years ago
The Road to Zig 1.0 - Andrew Kelley59:48

The Road to Zig 1.0 - Andrew Kelley

ChariotSolutions
168K views • 7 years ago
Writing a Wayland Compositor in Zig - Isaac Freund42:20

Writing a Wayland Compositor in Zig - Isaac Freund

Zig SHOWTIME
26K views • 6 years ago
Zig: A programming language designed for robustness, optimality, and clarity –  Andrew Kelley54:14

Zig: A programming language designed for robustness, optimality, and clarity –  Andrew Kelley

Recurse Center
75K views • 8 years ago
CppCon 2014: Jeff Preshing "How Ubisoft Develops Games for Multicore - Before and After C++11"1:04:33

CppCon 2014: Jeff Preshing "How Ubisoft Develops Games for Multicore - Before and After C++11"

CppCon
53K views • 12 years ago
Andrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)46:40

Andrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)

ChimiChanga
415K views • 2 years ago
RIP Windows: Linux GPU Gaming Benchmarks on Bazzite48:13

RIP Windows: Linux GPU Gaming Benchmarks on Bazzite

Gamers Nexus
1.1M views • 11 months ago
Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains1:13:11

Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains

JetBrains
979K views • 5 months ago
What's a Memory Allocator Anyway? - Benjamin Feng48:30

What's a Memory Allocator Anyway? - Benjamin Feng

Zig SHOWTIME
89K views • 6 years ago
C++ Weekly - Ep 19 C++14 For The Commodore 6417:13

C++ Weekly - Ep 19 C++14 For The Commodore 64

C++ Weekly With Jason Turner
25K views • 10 years ago
Modeling Data Concurrency w/ Asynchronous I/O in Zig - RedisConf 202049:20

Modeling Data Concurrency w/ Asynchronous I/O in Zig - RedisConf 2020

Redis
11K views • 6 years ago
Makepad: Designing modern UIs with Rust - Rik Arends - RustNL 202355:20

Makepad: Designing modern UIs with Rust - Rik Arends - RustNL 2023

RustNL
60K views • 3 years ago
ElixirConf 2021 - Isaac Yonemoto - Zig (heart) Elixir48:11

ElixirConf 2021 - Isaac Yonemoto - Zig (heart) Elixir

ElixirConf
4K views • 5 years ago
CppCon 2016: Jason Turner “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17”1:19:52

CppCon 2016: Jason Turner “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17”

CppCon
264K views • 10 years ago
Crust of Rust: async/await2:34:01

Crust of Rust: async/await

Jon Gjengset
246K views • 5 years ago
Data Oriented GUI in Rust by Raph Levien - Bay Area Rust Meetup1:05:59

Data Oriented GUI in Rust by Raph Levien - Bay Area Rust Meetup

Rust Programming Language
83K views • 8 years ago
Interfacing D To Legacy C++ Code1:21:23

Interfacing D To Legacy C++ Code

NWCPP - Northwest C++ Users Group
5K views • 11 years ago
RustConf 2017 - Closing Keynote: Safe Systems Software and the Future of Computing by Joe Duffy42:45

RustConf 2017 - Closing Keynote: Safe Systems Software and the Future of Computing by Joe Duffy

Confreaks
2K views • 9 years ago
Carbon Language Successor Strategy: From C++ Interop to Memory Safety - Chandler Carruth - CppNow 231:38:57

Carbon Language Successor Strategy: From C++ Interop to Memory Safety - Chandler Carruth - CppNow 23

CppNow
24K views • 3 years ago