<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Valve on Endemics blog</title><link>https://endemics.github.io/tags/valve/</link><description>Recent content in Valve on Endemics blog</description><generator>Hugo -- 0.164.0</generator><language>en-gbh</language><lastBuildDate>Sun, 19 Jul 2026 10:52:46 +0000</lastBuildDate><atom:link href="https://endemics.github.io/tags/valve/index.xml" rel="self" type="application/rss+xml"/><item><title>Reverse-Engineering the Steam Machine's LED Strip: From a Product Photo to a Kernel Module</title><link>https://endemics.github.io/posts/steam-machine-led-strip/</link><pubDate>Sun, 19 Jul 2026 10:52:46 +0000</pubDate><guid>https://endemics.github.io/posts/steam-machine-led-strip/</guid><description>&lt;p&gt;(Claude helped with both the project and this post)&lt;/p&gt;
&lt;p&gt;It started with a spec sheet and a dumb question: &lt;em&gt;how tightly packed are the LEDs in the Steam Machine&amp;rsquo;s front light bar?&lt;/em&gt; It ended with a cloned kernel driver, a strings dump of the Steam client itself, and a from-scratch Linux kernel module driving a WLED replica. This is the story of everything in between.&lt;/p&gt;
&lt;h2 id="act-1-what-can-you-learn-from-one-product-photo"&gt;Act 1: What can you learn from one product photo?&lt;/h2&gt;
&lt;p&gt;The Steam Machine&amp;rsquo;s spec sheet gives you two numbers: &lt;strong&gt;17 individually addressable RGB LEDs&lt;/strong&gt;, and a case that&amp;rsquo;s &lt;strong&gt;156mm wide&lt;/strong&gt;. Divide one by the other and you get a density - about 109 LEDs per meter, roughly one LED every 9mm. Simple enough, if you&amp;rsquo;re willing to assume the strip runs edge-to-edge with zero bezel. It doesn&amp;rsquo;t, of course. Nothing does. So the real question became: how much margin is there, actually, and can we figure it out without a teardown?&lt;/p&gt;</description></item></channel></rss>