|
3196 | 3196 | </span> |
3197 | 3197 | </a> |
3198 | 3198 |
|
| 3199 | +</li> |
| 3200 | + |
| 3201 | + <li class="md-nav__item"> |
| 3202 | + <a href="#headless-linux-build" class="md-nav__link"> |
| 3203 | + <span class="md-ellipsis"> |
| 3204 | + |
| 3205 | + Headless Linux build |
| 3206 | + |
| 3207 | + </span> |
| 3208 | + </a> |
| 3209 | + |
3199 | 3210 | </li> |
3200 | 3211 |
|
3201 | 3212 | <li class="md-nav__item"> |
|
5108 | 5119 | </span> |
5109 | 5120 | </a> |
5110 | 5121 |
|
| 5122 | +</li> |
| 5123 | + |
| 5124 | + <li class="md-nav__item"> |
| 5125 | + <a href="#headless-linux-build" class="md-nav__link"> |
| 5126 | + <span class="md-ellipsis"> |
| 5127 | + |
| 5128 | + Headless Linux build |
| 5129 | + |
| 5130 | + </span> |
| 5131 | + </a> |
| 5132 | + |
5111 | 5133 | </li> |
5112 | 5134 |
|
5113 | 5135 | <li class="md-nav__item"> |
@@ -5232,10 +5254,25 @@ <h3 id="mcu-environments">MCU Environments<a class="headerlink" href="#mcu-envir |
5232 | 5254 | <p><img alt="Build All" src="../images/build_all.png" /></p> |
5233 | 5255 | <p>You can now run "Build" or "Build All" in PlatformIO to compile (all) the firmware.</p> |
5234 | 5256 | <h3 id="native-linux-build">Native Linux build<a class="headerlink" href="#native-linux-build" title="Permanent link">~</a></h3> |
5235 | | -<p>For native linux_sdl builds, you also need: |
| 5257 | +<p>For native <code>linux_sdl</code> builds (with GUI window), you also need: |
5236 | 5258 | <div class="highlight"><pre><span></span><code>sudo apt update |
5237 | 5259 | sudo apt install build-essential libsdl2-dev |
5238 | 5260 | </code></pre></div></p> |
| 5261 | +<h3 id="headless-linux-build">Headless Linux build<a class="headerlink" href="#headless-linux-build" title="Permanent link">~</a></h3> |
| 5262 | +<p>The <code>linux_headless</code> build runs without any display server or SDL2 dependency. It uses a null display driver with an in-memory framebuffer, making it ideal for CI/CD pipelines, Docker containers, and headless servers. Screenshots are captured via MQTT.</p> |
| 5263 | +<p>No extra system packages are needed beyond a C++ compiler: |
| 5264 | +<div class="highlight"><pre><span></span><code>sudo apt update |
| 5265 | +sudo apt install build-essential |
| 5266 | +</code></pre></div></p> |
| 5267 | +<p>Uncomment <code>user_setups/linux/*.ini</code> in your <code>platformio_override.ini</code>, then: |
| 5268 | +<div class="highlight"><pre><span></span><code>pio run -e linux_headless |
| 5269 | +</code></pre></div></p> |
| 5270 | +<p>Run the headless binary: |
| 5271 | +<div class="highlight"><pre><span></span><code>./program -c /path/to/config |
| 5272 | +</code></pre></div></p> |
| 5273 | +<p>Take a screenshot via MQTT: |
| 5274 | +<div class="highlight"><pre><span></span><code>mosquitto_pub -t "hasp/<plate>/command/screenshot" -m "/path/to/screenshot.bmp" |
| 5275 | +</code></pre></div></p> |
5239 | 5276 | <h3 id="native-macos-build">Native MacOS build<a class="headerlink" href="#native-macos-build" title="Permanent link">~</a></h3> |
5240 | 5277 | <p>For native darwin_sdl builds, you also need <a href="https://brew.sh">Homebrew</a>:</p> |
5241 | 5278 | <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code>brew<span class="w"> </span>install<span class="w"> </span>gcc<span class="w"> </span>sdl2 |
|
0 commit comments