2
<p>System76 COSMIC Alpha 5 is here with a new media player, VRR improvements and lots of fixes <a href="https://www.gamingonlinux.com/2025/01/system76-cosmic-alpha-5-is-here-with-a-new-media-player-vrr-improvements-and-lots-of-fixes/" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://www.</span><span class="ellipsis">gamingonlinux.com/2025/01/syst</span><span class="invisible">em76-cosmic-alpha-5-is-here-with-a-new-media-player-vrr-improvements-and-lots-of-fixes/</span></a></p><p><a href="https://mastodon.social/tags/COSMIC" class="mention hashtag" rel="tag">#<span>COSMIC</span></a> <a href="https://mastodon.social/tags/Linux" class="mention hashtag" rel="tag">#<span>Linux</span></a> <a href="https://mastodon.social/tags/OpenSource" class="mention hashtag" rel="tag">#<span>OpenSource</span></a></p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@gamingonlinux" class="u-url mention">@<span>gamingonlinux</span></a></span> <span class="h-card" translate="no"><a href="https://fosstodon.org/@soller" class="u-url mention">@<span>soller</span></a></span> and RSS still does not work properly</p>
<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@soller" class="u-url mention">@<span>soller</span></a></span> ya know that post doesn&#39;t actually appear on the blog page right? <a href="https://blog.system76.com/" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="">blog.system76.com/</span><span class="invisible"></span></a></p>
<p>For anyone looking for a concrete example of how dropping support for legacy features in an architecture can improve things:</p><p>The 8086 and 8086 were very simple designs (even add was a microcoded instruction). On these systems, you could store and overwrite an instruction that you were just about to execute and everything was fine. The fetch would see the result. And, because you could, some people did. Some DOS programs depended on this.</p><p>Modern x86 chips are (modulo bugs) 100% backwards compatible. These same DOS programs ran on the 80286, 386, and so on up to modern Intel and AMD CPUs.</p><p>Preserving this behaviour became more complex. A modern CPU has hundreds of instructions in flight at a time. The notion of a 'current' instruction is an abstraction that doesn't really exist. If a store instruction overwrites an instruction just after it in the instruction stream, the instruction that it's overwritten may already have been (speculatively) executed. The hardware needs to determine that the store overwrote this instruction and then cancel everything in the pipeline after the modified instruction.</p><p>The core needs to track all of the state that's required for this. Actually cancelling the instructions can be simple: treat it as if the store trapped and then re-execute any instructions between the store and the modified instruction. The book-keeping is consuming power and area all of the time, irrespective of whether this is ever used.</p><p>If you run x86 code on, say, an Arm core, it will typically just mark the pages containing code read only. When it runs software that does this kind of trick, the CPU will trap, the kernel will deliver a signal to userspace, and the emulator will then trap invalidate cached translations and run the instruction again.</p><p>This is slow, but most of the code that does this was written for a 4.77 MHz or 8 MHz single-issue CPU that executed one instruction every few cycles, so running a 2 GHz CPU that executes multiple instructions per cycle at a fraction of its peak speed is fine.</p><p>Running this legacy DOS code on a modern Arm core under emulation will be much slower than running it on a modern AMD or Intel chip. On the other hand, the Arm core doesn't have to spend transistors and power budget to handle this painful corner case and so can devote them to things that make more modern software fast instead.</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@gamingonlinux" class="u-url mention">@<span>gamingonlinux</span></a></span> wow that&#39;s great</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@gamingonlinux" class="u-url mention">@<span>gamingonlinux</span></a></span> Ahh. <br />So it&#39;s meant to credit the writer and not necessarily GoL. <br />Understood.</p>
<p><span class="h-card" translate="no"><a href="https://corteximplant.com/@keyboard" class="u-url mention">@<span>keyboard</span></a></span> <span class="h-card" translate="no"><a href="https://mastodon.social/@ThePlant" class="u-url mention">@<span>ThePlant</span></a></span> (anyone who writes can have it link to them)</p>
<p>Terry Cavanagh dev of VVVVVV / Super Hexagon announced a collection of experimental games <a href="https://www.gamingonlinux.com/2025/01/terry-cavanagh-dev-of-vvvvvv-super-hexagon-announced-a-collection-of-experimental-games/" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://www.</span><span class="ellipsis">gamingonlinux.com/2025/01/terr</span><span class="invisible">y-cavanagh-dev-of-vvvvvv-super-hexagon-announced-a-collection-of-experimental-games/</span></a></p><p><a href="https://mastodon.social/tags/IndieGames" class="mention hashtag" rel="tag">#<span>IndieGames</span></a> <a href="https://mastodon.social/tags/PCGaming" class="mention hashtag" rel="tag">#<span>PCGaming</span></a> <a href="https://mastodon.social/tags/TerryCavanagh" class="mention hashtag" rel="tag">#<span>TerryCavanagh</span></a></p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@gamingonlinux" class="u-url mention">@<span>gamingonlinux</span></a></span> Yes because of course The Linux Foundation would</p>