r/linux

I counted who wrote every change to xz, sudo, bash, tz and 19 other projects over the last year
▲ 1.1k r/linux+1 crossposts

I counted who wrote every change to xz, sudo, bash, tz and 19 other projects over the last year

Billions of phones and most of the servers on the internet run on code that one or two people look after, a lot of it unpaid. I went through a year of commits for 23 of these projects, and 11 of them came down to one or two people. xz is still basically Lasse Collin on his own after the 2024 backdoor, and the time zone file every phone reads is kept by a UCLA lecturer in his spare time. If I've got one of these wrong, tell me.

https://sheets.works/data-viz/holding-up-the-internet

u/Mastbubbles — 7 days ago
▲ 3.0k r/linux

In Brazil, elections are conducted using electronic voting machines that run on Linux!

u/dralencar — 9 days ago
🔥 Hot ▲ 5.1k r/linux+2 crossposts

Brazil election - 560K devices, the most fast e electronic election

u/Chester-Berkeley — 10 days ago
▲ 11 r/linux

What's a great FLAC audio player for Linux?

Looking for a good FLAC player that can ideally support an external DAC as well. I have wired passive speakers.

I'm mostly a vinyl listener, but recently started building my digital FLAC album collection.

Don't need advanced equalizer settings. Appreciate your recommendations!

reddit.com
u/Pleasant-Frame-5021 — 8 days ago
▲ 0 r/linux

Best distro for a mini pc server?

I've been running my home server from a raspberry pi. No complaints on the performance, it does what it can do well, but it is limited in what it can do because it's ARM. I bought a mini pc to replace it, but haven't decided what distro to go with. Ubuntu server would be fine, but I want a GUI and I'm not enthusiastic about Ubuntu desktop. I run Mint on my laptop and I love it, but it has limitations for my needs as a server.

What are your recommendations?

Thanks!

reddit.com
u/TheCoffeeWiz — 8 days ago
▲ 86 r/linux

I started reverse-engineering Intel Poulsbo's PowerVR SGX535 20 days ago now it can render Square And triangles

Got the first triangle working today, and now two indexed triangles are rendering as a square too.

This is running on the actual SGX535 in Intel Poulsbo/GMA 500 hardware from 2008.

Still nowhere near a complete Mesa driver, but 20 days ago I was staring at old PowerVR code trying to figure out how this thing worked 💀

Github: SGX535-reMESA

Video proof: https://youtu.be/\_xZdWWeneYQ?is=L5OF4JqxvMQZMWSU

u/Affectionate-Meat500 — 9 days ago
▲ 7 r/linux+1 crossposts

AdobeWine: I patched Wine so I could leave Windows and still use Photoshop, Illustrator, Premiere, Audition and Media Encoder. Sharing it, testers welcome

[supprimé]

reddit.com
u/birnes — 9 days ago
▲ 67 r/linux+2 crossposts

Status Report.

We are getting close to alpha release!

Alpha will be debian packages, before beta I will confirm it's also working on ubntu and fedora.

Let me go into detail as to what luxe provides.

  • luxepanel -> LXPanelPanel
  • pcmanager -> PCManFMFile op
  • luxeterm -> LXTerminalGTK4
  • luxesession -> LXSessionSession
  • luxeappearance -> LXAppearanceTheme
  • luxeappearance-obconf -> LXAppearance ObConf
  • luxehotkey -< LXHotkeyGlobal
  • luxeinput -> LXInputKeyboard
  • luxerandr ->LXRandRMulti-monitor
  • luxetask ->LXTaskProcess
  • luxepolkit ->LXPolkitPolicyKit
  • luxemenu-data =>LXMenu DataXDG

There is also quite a bit of non-de specific apps to make a complete desktop system.

  • matinee - video/music player powered by ffmpeg, new
  • frame - gtk image viewer with light editing tools, new
  • shotty - port of https://github.com/Tomaszal/simpleshot-gtk
  • luxenotify - notification system, new
  • luxup - update notifier, new
  • luxepower - power manager, mostly a frontend for TLP, new
  • luxesettings - hub for DE settings, new
  • debinstall - gtk4 frontend for gdebi-core, new
  • lucid - GTK4 port of gedit, no plugins but comes bundled with the best ones
  • luxurystore - gtk4 port of synaptic, with a lot of added features
  • luxedm - heavily updated for of slim ( debians version which was updated until 2024)

I have been using the system at home for weeks, squashing bugs when I find them. The last week has been bug free. Should be ready to release late this week barring anything crazy.

Everything is working great, I am installng fresh on an old chromebook I have around to make sure install is smooth.

Super happy to discuss anything or answer any questions.

u/BlokZNCR — 9 days ago
▲ 5 r/linux+1 crossposts

What is happening? Are these statistics reliable, or can they be faked? This makes no sense at all

[supprimé]

u/Hi7u7 — 8 days ago
▲ 41 r/linux

Shortcutting D-Bus for real-time inter-process communication

One of the core ideas of Unix is to build small components that do one thing well and compose them into larger systems.

I think this principle is still very relevant today, especially when designing software as multiple processes rather than one large application.

Once you split an application into several processes, however, you need some form of inter-process communication or RPC.

On Linux, D-Bus is a common choice. It provides a lot of useful functionality, but there are cases where its performance characteristics or latency are not suitable, particularly for real-time applications.

There have also been attempts to move the message-bus functionality closer to the kernel, such as kdbus and bus1, eventually leading to the current dbus-broker approach. However, with a traditional D-Bus architecture, messages still have to be processed by a separate broker process, which also means additional copying and context switches.

That's the motivation behind RTIPC.

RTIPC is essentially a single-producer, single-consumer, wait-free, zero-copy, bounded message queue mapped into shared memory. The goal is to provide a very small and predictable IPC mechanism for cases where the usual IPC/RPC abstractions introduce too much overhead or nondeterminism.

RTIPC has a small bootstrap protocol based on Unix domain sockets. D-Bus can also be used for the connection/bootstrap phase if desired. Once the channel is established, the actual messages are exchanged directly through shared memory.

There are currently implementations for C and Rust, with C++ and Python bindings, and other languages may follow.

For serialization, RTIPC can simply use C-compatible structs when all participants share the same ABI. Since communication happens through shared memory, there is no need to serialize and deserialize data just to cross a process boundary. Of course, this comes with the usual requirements around ABI compatibility, alignment, and endianness. And yes, it is possible to run 32-bit and 64-bit processes on the same system and make alignment/layout a problem.

For cross-language communication, however, serialization formats such as Protobuf, FlatBuffers, Cap'n Proto, or Thrift have another important advantage: they provide a schema as a single source of truth.

To address that use case, I also created rtipc-compiler, which takes an interface definition and generates code for different languages. The schema is also encoded into the generated interface so that the two endpoints can verify compatibility during channel initialization.

Admittedly, this is a fairly niche use case. The goal isn't to replace D-Bus or other general-purpose IPC mechanisms. Rather, I'm interested in the much narrower case where you want process isolation and modularity, but need IPC with very low overhead and predictable latency.

I'd be interested in feedback on which language bindings would be most useful next, whether you see other use cases beyond real-time applications and embedded Linux, and what you think would need to be changed or improved to make RTIPC more useful in those environments.

rtipc.github.io
u/maurersystems — 9 days ago
▲ 147 r/linux

OpenCourant: The community continuation of OpenRadioss

OpenCourant is an open-source finite element solver for crash, impact, and highly nonlinear dynamic simulation — carrying forward the OpenRadioss code base under the GNU AGPL, in the open, where it belongs.

A project of the Rocky Enterprise Software Foundation

opencourant.org
u/dbcoopernz — 10 days ago
▲ 0 r/linux

schema-init: a PID 1 written in C that boots Fedora 44 KDE. It imports your systemd units and keeps systemd in GRUB as a fallback (installer ISO)

I'm a plumber by trade. After I became disabled I started dabbling in code, and over the past few months that turned into schema-init, an init system (PID 1) written in C that I build and run on Fedora. To be upfront: I design it, run it on my own machines and break it on real hardware, and Claude fills the enormous gaps in my knowledge and writes much of the code. Every claim below is something I tested on my own hardware.

**Why: I kept running out of memory with only a few browser tabs open, on a machine with 16 GB of RAM. That's what started schema-init. Now, on the same hardware with no RAM upgrade, I can play Cyberpunk 2077 with 15–20 Helium tabs open and Claude running at the same time. Part of that is a smaller base system, and part is that schema-init watches memory pressure and freezes or reclaims background services before the kernel has to start killing things.

**It's not an anti-systemd project.** It reads systemd's own unit files and translates them, and the stock systemd boot entries stay in GRUB. If a schema-init boot ever fails, you pick the systemd entry and you're back on stock Fedora.

v0.4.5 is out, with an installer ISO you can try on a spare machine.

**What it is:** the Fedora 44 Everything netinst plus a kickstart. You get the normal Anaconda GUI. Pick your disk, make your user, install. After install:

- schema-init boots as PID 1 and brings up a full KDE Plasma Wayland desktop.

- The services Fedora enables by default (cron, firewalld, smartd, tuned, the systemd timers) are imported at install and run under schema-init.

- A first-boot wizard offers two optional switches, one reboot each: **schema-udev** (device manager) and **schema-dbus** (a broker for the system and session buses). Each one checks the box afterwards and rolls itself back if it isn't healthy.

- It's all RPMs from a COPR repo. `dnf upgrade` re-execs PID 1 in place, with every running service adopted and no reboot.

- When an RPM enables a systemd unit, a `systemctl` shim catches it and translates it to schema-init's service format. That covers timers, `EnvironmentFile=`, `ExecStartPre=`, socket activation, `Condition*` and forking daemons.

**My daily driver** runs it: a Ryzen 5 1600 with a GTX 1050 Ti on NVIDIA Wayland, and 89 logged boots since July. On its latest boot, userspace was up in 8.9 s and the login screen appeared 2.9 s after PID 1 started, with 53 services. PID 1 itself uses about 4 MB of RAM, and at idle it wakes up 0–5 times per 10 seconds.

**Numbers from an HP laptop** (Celeron, 5400 rpm HDD, Intel graphics, Wi-Fi; an older build, 3-boot medians, details in the README):

- Stock systemd vs schema-init: the desktop drew **4.4 s sooner**, idle RAM was **373 MB lower** (1477 → 1104 MB), and **54 fewer processes** were running.

- In a separate comparison on the same box, swapping dbus-daemon for schema-dbus took another **6.6 s** off desktop-ready.

It's a slow disk, so take the seconds with salt. The RAM and process counts are the solid part.

**Since the first ISO (v0.4.2):**

- Installs now get the services systemd would have run. v0.4.2 installs were missing cron, the firewall and the timers.

- udev runs supervised, so a crash gets respawned instead of leaving devices frozen until reboot.

- Fixed a udisks crash at boot on machines with a CD/DVD drive.

- `dnf upgrade` now repairs older installs in place.

Those were tested with fresh VM installs and a live upgrade on the HP laptop. The v0.4.2 ISO was the one fully installed on that laptop.

**EXPERIMENTAL.** Put it on a machine you can reinstall. Bug reports and "this broke on my hardware" are the most useful thing you can give me.

- Release + ISO: https://github.com/ajax80/schema-init/releases/latest

- Source (AGPL-3.0): https://github.com/ajax80/schema-init

Edit: A couple of things I should have said up front:

- The RAM numbers were taken with a few browser tabs and a game open, not on an idle desktop.

- I build with AI help. Every change gets tested in a VM, then on real hardware, before it ships. The tests and the code are public, so judge it by those.

u/apphat80 — 8 days ago
▲ 13 r/linux+1 crossposts

GNUstep monthly meeting (audio/(video) call) on Saturday, 10th of October 2026 — Reminder

The monthly GNUstep audio/(video) call takes place every second Saturday of a month at 15:00 GMT to 18:00 GMT. That is 11:00 AM - 2:00 PM EDT (US) or 17:00 to 20:00 CEST (Berlin time).

It's a Jitsi Meeting - Channel: GNUstepOfficial (Sorry, reddit don't let me post jitsi links here)

We usually just talk (who wants it might share video too) and occasionally share screens. Everybody (GNUstep developers and users) is welcome!

Also see https://mediawiki.gnustep.org/index.php/Monthly\_Meetings please

reddit.com
u/I00I-SqAR — 9 days ago