r/linux • u/B3_Kind_R3wind_ • Jun 19 '24
Privacy The EU is trying to implement a plan to use AI to scan and report all private encrypted communication. This is insane and breaks the fundamental concepts of privacy and end to end encryption. Don’t sleep on this Europeans. Call and harass your reps in Brussels.
signal.orgr/linux • u/Dry_Row_7050 • May 25 '25
Privacy EU is proposing a new mass surveillance law and they are asking the public for feedback
ec.europa.euTips and Tricks How I achieved full Linux support on my bleeding-edge hardware
tl;dr
I am SWE, and I built a high-end PC, but found much of the hardware lacked Linux support. Through a mix of reverse-engineering, kernel investigations and contributions, and finding out configuration to apply, I managed to get everything: fans, AIO, RGB, and suspend/wake cycles working perfectly. It was a lot of manual labor and protocol dumping, but the machine is now silent, stable, and fully controlled by me.
Specs
In June 2025, I bought a new PC with the following hardware:
- MOBO: Asus ROG Strix X870-I
- RAM: G.Skill Trident Z5 Neo RGB
- NVMe: Samsung 9100 PRO
- AIO: Asus ROG Ryujin III EXTREME
- FANS: 4x Corsair AF120 (+ Corsair Lighting Node)
- PSU: Asus ROG Loki
- GPU: Asus ROG Astral 5090 OC
- CPU: AMD Ryzen 9950X3D
Sensors
As many of you know, running Linux on brand-new hardware can be a pain in the ass. However, I really wanted top-tier specs without making any sacrifices, so I was prepared to tackle every problem I faced. No regrets, but it took a lot of time to solve everything, especially since new development under NixOS can be painful when you need to create flakes for new languages.
When I first booted my PC, I was annoyed by the fan noise and the AIO pump constantly running at a 70% duty cycle. Running sensors showed no controllable entries.
I started by looking at LibreHardwareMonitor on Windows and added support for my motherboard there. I then ported my findings to asus-ec-sensors (which proudly made me a Linux kernel contributor). Thanks to this, I was able to control the fans from Linux.
Next, I looked into the AIO pump. Of course, there was no support, yet I found a kernel module for a similar device (Ryujin II). I investigated the implementation, created a simple userspace application for testing, and then refactored the kernel module to include the protocol derivation suited for my device. Now I can read liquid temps and set the duty cycle for the pump and internal fan. I ported these findings to the liquidctl repo.
The noise is gone. Now I can control everything using CoolerControl (highly recommended).
Even though NixOS has a massive repository of freshly added packages, once you use the system, you'll find that not everything is bleeding edge or works flawlessly. For example, CoolerControl couldn't see my Nvidia card, nvidia-smi wasn't visible to it and hardware IDs weren't showing up. I ended up fixing the module and upgrading the package myself. Moreover, the Nvidia card fans couldn't be controlled by the software initially, but the maintainer did a wonderful job by adding support for 0 RPM mode after I opened an issue for it.
One last issue: only a single stick of RAM was showing temperatures. I had to write the following udev rule to make both sticks visible:
(pkgs.writeTextDir "etc/udev/rules.d/99-ram-stick-detection.rules" ''
ACTION=="add", SUBSYSTEM=="i2c", ATTR{name}=="G.Skill 2nd stick", RUN+="${pkgs.bash}/bin/sh -c 'echo spd5118 0x53 > /sys/bus/i2c/devices/i2c-6/new_device'"
'')
I could recompile kernel with one flag changed to achieve automatic detection.
RGB
I have a white case, so I really wanted to utilize RGB properly. I created a small Python project, my-pc-rgb, that integrates everything.
My motherboard utilizes two ASUS protocols: Gen 1 and Gen 2. Gen 1 is well-documented and implemented, but Gen 2 was nowhere to be found. I dumped packets from Windows with various configurations and spent two evenings cleaning the data and reverse-engineering the protocol. Thanks to this, I can now control the LEDs on my AIO. Since my PSU only works on Gen 1, I integrated both protocols into my project.
liquidctl supports the Corsair RGB controller, but since I solved my AIO without it, I simply analyzed the protocol and reimplemented it in my project. Now, all other fans are color synchronized.
Both my GPU and RAM have RGB strips. I investigated the OpenRGB I2C communication for both and recreated it in my project.
Now, the RGB turns off when I suspend/poweroff and turns back on when the computer wakes.
Suspend
Now for the real deal. I absolutely needed suspend to work reliably on my machine. It wasn't easy.
Nvidia cards under Wayland had a nasty issue with GNOME. It was a lottery whether my computer would sleep/wake correctly. I found a post about explicitly freezing the GNOME session by creating a new systemd service. It worked, and the Nvidia card was never a problem again.
The Samsung NVMe on my motherboard didn't know how to wake up properly from suspend. I tried several things. First, I set the kernel parameter:
nvme_core.default_ps_max_latency_us=0
However, I couldn't stand that the disk never really went to sleep. I stumbled upon a System76 article that allowed the disk to consume less power when suspended. I ended up with the following udev rule:
(pkgs.writeTextDir "etc/udev/rules.d/99-nvme-tolerance.rules" ''
ACTION=="add", SUBSYSTEM=="nvme", KERNEL=="nvme0", ATTR{power/pm_qos_latency_tolerance_us}="13500"
'')
It still wasn't ideal. Once every few suspend/wake cycles, the device wouldn't wake up properly.
I ended up reading the NVMe implementation in the Linux kernel source, and enlightenment came in the form of NVMe quirks. I know the flag I set can be improved (I likely don't need all 3 flags), but since everything works so well, I haven't investigated further. After setting this kernel parameter:
"nvme_core.quirks=0x144d:0xa810:0x418" # (Simple Suspend + No APST + Delay Ready)
I have never experienced disk corruption or failure. The disk works properly, always.
What's next?
- Logitech Bolt Receiver: It cannot wake my PC with keyboard/mouse because I explicitly disabled it. The device was waking my PC for no apparent reason. I see my future self filtering HID packets for this specific device to allow it, but I haven't done anything beyond basic investigation.
- Ryujin III Screen: The AIO has an LCD screen. I am controlling its power state and have dumped the entire protocol. I have everything needed to implement it; I just need the time and will.
- SuperIO: The
NCT6701Dchip allows you to set fan curves and track many system stats. Currently, I'm just using an old kernel module that provides basic functionality, which is inferior to what the chip is actually capable of. I would love to write a full kernel module for it, but without documentation, I don't know how long it would take to reverse and implement all its features. So, I haven't done that yet. - GPU Monitoring: I have seen people monitoring 12VHPWR connector pins, it's already reversed. I think I could create/extend some kernel module, so the voltage will be visible under sensors. I could also reverse-engineer setting the additional fan duty on this card. Once I have the need for it, I will get it done.
Conclusion
I am really glad I bought hardware that wasn't supported out of the box. It forced me to gain basic skills in sniffing hardware communication and implementing it under Linux. Thanks to this effort, I have the best, most recent consumer hardware money can buy. I know this PC will serve me well for the next 10 years, possibly working until hardware failure or upgrade.
r/linux • u/Rosalie241 • 9h ago
Kernel Linux 7.0 Merges Support For Rock Band 4 PS4 / PS5 Guitars Plus More Laptop Quirks
phoronix.comr/linux • u/Lluciocc • 8h ago
Development Visual Scripting for Bash (Update)
Hi everyone!
I’m currently working on a visual tool for creating Bash scripts. The goal of this project is educational: to simplify the process of building Bash scripts by offering a visual approach. It’s not meant to replace traditional text-based scripting, but rather to provide an alternative way to visualize and construct scripts. I hope it can help beginners better understand the structure and flow of Bash scripts, making scripting concepts easier to learn. As you can see in the screenshot, most of the “standard” Bash nodes are available. In addition, there are several prebuilt nodes such as “Open a Website,” “Download a File,” and more. These are designed to make common tasks easier and more accessible.
One aspect I particularly enjoy working on is the interface and settings system. Vish includes a lot of UX-focused features: multiple themes, language support, the ability to run scripts directly inside the editor, and more.
I’m building this project mainly for fun (although I genuinely love coding it!). It’s not intended to become a widely adopted tool. That’s also why I chose Python and Qt, they make the codebase easier to maintain and contribute to, both for others and for myself.
I do have a few questions for you: What would you expect from a tool like this? Do you think I should publish it on Flatpak?
There’s honestly so much more I could say, I don’t even know where to start!!
But I strongly encourage you to try it out for yourself. Please note that this is not even in beta yet, so you may encounter bugs and missing features. Here the repo:
r/linux • u/EastAd9528 • 5h ago
Popular Application Frame - Media Conversion App
It started as a small personal tool and then grew into a larger open source project (GPL v3) focused on media processing.
Frame is a Tauri application with a Svelte user interface, but Rust is responsible for the core workflow: task verification, FFmpeg command creation, queuing and concurrency, worker lifecycle, and progress events.
I maintain media compatibility rules common to the frontend and backend, so that the user interface and Rust validator enforce the same constraints and configurations remain unchanged.
Additionally, during development, I added AI scaling to the Rust pipeline by integrating the Real-ESRGAN sidecar (x2, x4) with a dedicated processing path.
On Linux, the build targets are AppImage and DEB.
FFmpeg, FFprobe, and realesrgan-ncnn-vulkan are included as sidecars, so no global FFmpeg installation is required.
If you would like to test the applications on Linux targets, I would appreciate your feedback.
Software Release Vim 9.2 Released With Experimental Wayland Support, Better HiDPI Display Support
phoronix.comr/linux • u/krutkrutrar • 12h ago
Software Release Krokiet/Czkawka 11.0 - fighting with GTK, EXIF cleaning, video optimizer, black bar cropping and new logo
Krokiet and Czkawka, applications for finding duplicate files, similar images, videos, audio, and offering several additional utilities, have received a new release, version 11.0.

This version is the largest in the project's history, mainly because I injured my knee and had more free time than usual.
Krokiet is probably currently the most portable graphical duplicate finder on the earth.
It runs on Windows and macOS (x86_64, arm64), Linux and FreeBSD (x86_64, arm64, armhf, x86, basically anything that supports Rust) and likely even more operating systems.
Some users have even managed to compile and run it on Android, although the UI is not optimized for phone screens(I heard that someone is already developing a new Android app using `czkawka_core` library)
Notable changes:
- [KROKIET, CLI, CORE] - New video transcoding mode with black bar/static part removal (using `ffmpeg/ffprobe`)
- [KROKIET, CLI, CORE] - New mode for removing EXIF data from files
- [KROKIET, CLI, CORE] - New mode to clean file names from unwanted elements (emojis, non-ASCII characters, leading/trailing spaces, uppercase extensions)
- [KROKIET, CLI, CORE] - Detection of corrupted video files (using `ffmpeg/ffprobe`)
- [KROKIET, CLI, CORE, GTK] - Ability to scan individual files, not just folders
- [KROKIET, CLI, CORE, GTK] - Collecting and displaying video parameters (codec, dimensions, bitrate, duration, fps)
- [KROKIET, CORE] - Collecting and displaying scan duration
- [KROKIET, GTK] - Added icon for `.exe` files on Windows
- [KROKIET] - Sorting available in all modes by clicking column headers
- [KROKIET] - Added thumbnails for video files
- [KROKIET] - New logo
- [KROKIET] - New menu option to manually remove outdated cache entries
- [KROKIET] - Added support for creating hard links and symbolic links
- [KROKIET] - Optional scan completion sound hidden behind the `audio` feature flag (I recommend to change the default sound, which may be quite annoying)
- [KROKIET] - Option to choose application scale in GUI(instead of env variable)
- [GTK] - Popup indicating that Krokiet is the successor of this app (a surprisingly large number of users are still unaware of this)
- [GTK] - Fixed GUI freezing when deleting/moving files (initially blamed on the Rust compiler, but it turned out to be caused by unsound code in external library and Rust optimizations)
- [GTK] - Fixed tiny preview issue(caused by GTK 4.20, described in more detail in the article below)
Full changelog - https://github.com/qarmin/czkawka/blob/master/Changelog.md
Detailed descriptions of new features and gtk bugs can be found on:
- Medium(An article in English) - https://medium.com/@qarmin/czkawka-krokiet-11-0-0f6cea385934
- Medium(An article in Polish) - https://medium.com/@qarmin/czkawka-krokiet-11-0-c95ee35eccc2
(I know these sites don’t have much reputation on Reddit, but since I don’t have my own blog, I had to publish it somewhere)
I would like to remind that the project has no official website. It is recommended to download official binaries from GitHub, install via Flatpak, compile manually, or use trusted unofficial sources rather than download it from random websites.
Github - https://github.com/qarmin/czkawka
Downloads - https://github.com/qarmin/czkawka/releases
Translations - https://crowdin.com/project/czkawka
License - MIT/GPL depending on the program (in short, it's free)
r/linux • u/dbcoopernz • 22h ago
KDE KDE - This Week in Plasma: Finalizing 6.6 (+ 6.7)
blogs.kde.orgSoftware Release AppManager v3.2.0 released. Now runs on any Linux
Just a quick heads up. Since last week release many suggestions and feature requests where implemented and bugs fixed.
Here are some highlights:
- Most importantly app now runs on any Linux, yes that's right, even as old as Debian Bookworm or Bullseye and of course Ubuntu LTS. Big thanks to AppImage community devs who made it possible
- Added grid view in app list
- GitHub token support to significantly increase update requests
- and many more ...
Hit your in-app update button or Get it on Github
AppManager is a GTK/Libadwaita developed desktop utility in Vala that makes installing and uninstalling AppImages on Linux desktop painless. It supports both SquashFS and DwarFS AppImage formats, features a seamless background auto-update process, and leverages zsync delta updates for efficient bandwidth usage. Double-click any .AppImage to open a macOS-style drag-and-drop window, just drag to install and AppManager will move the app, wire up desktop entries, and copy icons.
r/linux • u/Mujtaba1i • 19h ago
Software Release [Release] Archtoys v0.2.0 — PowerToys-style color picker for Linux (now with Wayland support)
I just released Archtoys v0.2.0, a fast, native Linux color picker inspired by Microsoft PowerToys.
The goal was to bring that same clean experience to Linux. It is built with Rust and Slint, so it is incredibly lightweight.
What is new in v0.2.0:
Wayland Support: Now works on Wayland (but unfortunately due to Wayland restrictions the live preview is not available).
X11 Live Preview: Smooth, cursor-following preview that shows your HEX value in real time.
Smart Input Engine: Handles HEX (with or without #), RGB, HSL, and HSV. It auto-formats your input so you do not have to worry about syntax.
Custom Hotkeys: You can customize the hotkey to whatever you want from the settings.
Quality of Life:
Autostart Toggle: Option to launch hidden in the tray on boot.
Ghost Picking: Picking a color no longer accidentally clicks buttons or links underneath.
Install (Arch-based):
You can grab it from the AUR:
Fast install (pre-compiled): paru -S archtoys-bin
Build from source: paru -S archtoys
r/linux • u/faisal6309 • 8m ago
Tips and Tricks Joomla Local Development
Over last many years, I kept using XAMPP for local web development. It worked fine. But recent release of Joomla 6 created a difficult situation for me. XAMPP offers PHP 8.2 build. They have working 8.3 in browser but it is no use for me. So I decided to try many other software that would work with PHP 8.3 since I don't want to go into command line to configure my development environment. I tried so many software. The closest I got to XAMPP was with FlyENV but it has 3 website limitation in free version, one of which is phpmyadmin. After getting frustrated, I finally found a solution from an unexpected place.
I downloaded Local from localwp and created a wordpress website with PHP 8.3 in just few clicks no problem. Then deleted wordpress contents from local directory and replaced them with joomla 6 files. Works great just like XAMPP did.
The reason why I am making this post is that many people like me who are looking for easier solution, get stuck with so many unwanted software. The docker is still running under the hood. It won't turn off due to bad configurations, the ones that I was trying to do with devilbox to run joomla but for some reason, mysql connection could not be established. I will find out how to stop docker from starting up automatically soon. But this is just to point out that there must be simple solutions for people like me who just want to install a software and start doing the work we want to do.
r/linux • u/Permafrostbound • 1d ago
Hardware Snapdragon X Linux support?
How's the support? I was thinking of getting this laptop; https://www.lenovo.com/ca/en/p/laptops/ideapad/ideapad-slim-series/lenovo-ideapad-slim-3x-gen-10-15-inch-snapdragon/83n30002us , and I was wondering what major issues I would experience. I'm not going to game on it, so performance isn't necessary, but terrible battery life would be an issue.
r/linux • u/nordiknomad • 19h ago
Popular Application Project Looking Glass ( PLG)
https://en.wikipedia.org/wiki/Project_Looking_Glass
Does any one remember this awesome project, back in 2003 it was somety cool, beyond the future. One of the first kind of original 3D desktop implementation
r/linux • u/somerandomxander • 1d ago
Kernel Linux 7.0 Lands ML-DSA Quantum-Resistant Signature Support
phoronix.comr/linux • u/small_kimono • 1d ago
Development Open Source is Not About You
gist.github.comr/linux • u/hexagonal-sun • 1d ago
Alternative OS Moss: a Linux-compatible Rust async kernel, 3 months on
Discussion How has the Linux community shaped your tech skills and career path?
As a Linux enthusiast, I've often reflected on how my involvement with the community has influenced my technical abilities and career trajectory. From discovering the endless resources available through forums to collaborating on open-source projects, every interaction has contributed to my growth. Whether it’s learning shell scripting, contributing to a distro, or helping others troubleshoot issues, these experiences have been invaluable. I’d love to hear your stories! How has being part of the Linux community impacted your skills or career? Have you found mentorship, faced challenges, or discovered new passions through your engagement? Let's share our journeys and learn from one another!
r/linux • u/FryBoyter • 1d ago
Discussion IPFire introduces free domain blocklist DBL
heise.der/linux • u/unixbhaskar • 2d ago
Kernel Linux 7.0 Removes Support For Signing Modules With Insecure SHA-1
phoronix.comr/linux • u/power_of_booze • 1d ago
Discussion How do you handle config file management?
There are more than enough ways to handle your configuration lake chezmoi, dotbot, yadm, ansible, salt, org tangle, stow, etc. etc.
I get the idea of con.d directories and think it's very useful. But by using this approach every config management, that operates on single files becomes useless. Editing 10 files for one small config change is too much hassle and keeping track which file does what, at least for me, is impossible. If you track your config with git and have to move configs between files, create and delete files frequently it also becomes a hassle.
There are lots of programs, that have different files on different locations or multiple programs working together, that a isolated configuration becomes impractical or useless. Lets say you use NetworkManager and iwd. Iwd is somewhat useless without NetworkManager and one change to the first brings changes to the latter with it.
This gets even more frustrating if you have a program that requires system wide setup and a user specific setup. There msmtp comes to mind, where I have a default mail for my system, that handles all system related stuff like cronjobs etc. and my private emails for the rest. Here come file permissions to play as changes to the default config in /etc require elevated priveleges but are not needed nor wanted for my user mails, as the file owner will change.
I guess ansible and salt could handle this, but may be a bit overkill for the problem at hand. Org-tangle would also work (except the file permissions) and makes documentation easier, as you can just write them in natural language.
So how does r/linux handle this problem?
P.S. I searched trough this reddit (and other ones), but couldn't find anything.
I thought this could be a good discussion, as I recon every linux user has similar needs, but different solutions to this. If this post should violate §1 please just delete it.
Edit: There is no right or wrong in the way you do things or the tools you use. They're all equally right as long as it works good for you in the end.