friendica.eskimo.com


Build Package with Qi.

Back in August 2024, I discovered a linux distro called Dragora GNU/Linux. Dragora has a unique package manager called qi. For package instalation, Qi feel like installpkg from Slackware. For building package, qi takes some similiar approaches from PKGBUILD (Archlinux) and APKBUILD (Alpine linux). Qi uses a recipe as alternative of PKGBUILD, APKBUILD or slackbuild file to build package. Qi seems universal to use across distros, I’ve been actively using it on Ubuntu, Dragora, and LFS.
2 1

Is there a question in here somewhere?

I believe Dragora is a Chinese-specific distro. Probably not going to find a lot of help for that here.

This entry was edited (44 minutes ago)
1

TIL Kitty terminal can show a dock panel on Linux desktops!

sw.kovidgoyal.net/kitty/kitten…
5

On one hand, kitty is doing a very aggressive job of advancing the terminal world.

  • Providing protocol extensions to permit terminal software to use more modifier keys than were available in the past, which is something that I really wanted to see.
  • Providing a newer graphics protocol than the ancient Sixel --- which kitty also supports. Terminal software can render images --- mpv can even (slowly) play movies in-terminal using said protocol.
  • It can leverage the GPU for acceleration.

On the other hand, it's got some things that I don't like:

  • By default, it phones home. I really do not like software doing this.
  • It keeps attracting new functionality at a very rapid rate, much of which is on by default, and many of which I don't know if I want. There are a bunch of modules ("kittens"), and a lot of functionality (including aiming to be tmux-like) that I don't know if I want in a virtual terminal program. This increases the attack surface, which is something I'm kind of sensitive about for a program that's intended to sandbox content from remote systems. xterm has a lot of cruft related to older protocols and features too, but at least that's pretty mature code...and it still has had a bit of a security history.
  • The startup time isn't great. urxvt can run a daemon, urxvtd. foot just starts up quickly on its own. Kitty can do kitty -1, which makes subsequent windows open quickly, but close all open terminal windows, and you're back to the window taking a noticeable amount of time to come up.
  • I'm not sure about the merits of another extension, its ability to render differently-sized fonts in-terminal. That seems like it might fragment terminal software into being able to run on a grid-based set of characters and not.

I spent a while using it and then went back to foot. There's just very little that I actually want to do and would take advantage of that foot can't do (though to be fair, I might make more use of the graphics protocol if tmux supported it --- the closest one can get graphics-wise there is a non-mainline tmux fork with experimental Sixel support).

If tmux supported the kitty graphics protocol and then some emacs packages also added support --- a lot of those have the ability to use graphics, but will only do so in a non-terminal environment --- that could take me back to kitty, though.

This entry was edited (3 hours ago)

This entry was edited (4 hours ago)
332 6
Some hero needs to be at the right airport before they manage it
5
Yes, those airports need throngs of people to defend those billionaires before they can slither away to safety. So many protectors.
This entry was edited (3 hours ago)
2

137 4
When they are out of sinking ships to scurry to.
1
People prefer to drown than pick option which is not corporate bullshit.
Bluesky won because it's centralized, and people don't have to decide over instance.
3

Why are you on Lemmy? Or, why do you think the decentralised model works here, but not on mastodon?

Or is it only working because there is no third party VC-backed reddit clone?

1

As a user of both Mastodon and Lemmy, I think there are inherit differences between the formats that make Lemmy easily a capable replacement for Reddit, but Mastodon not at all a replacement for Twitter.

To get into specifics, Lemmy is more meme and news based, and as long as there are a few thousand users using it and some percentage of those posting content...it largely scratches the same itch.

Twitter was very much an active global conversation forum. It was nicknamed the hell site for a reason because if someone took issue with or was very amused by something you posted and you became "the main character" of Twitter for even an instant (something I experienced only very slightly) it was electrifying and even sort of scary at times.

In addition, the people that were active on there were very active, and it felt at times like you could talk to anyone who had been twitterized...which was a lot of people including prominent politicians, celebrities, and even experts of certain fields.

It was just an entirely different thing altogether. Mastodon is like many of the Twitter alternatives that have popped up from time to time. It's largely kinda the same with regards to functionality (though not having quote tweets is completely ridiculous IMO) but the engagement of it is very low, and the place largely feels very inactive. It feels like you're talking to dead feeds posted in syndication and there's nobody on the other end.

It's not the same as Twitter, and I doubt that Bluesky will even be the same as Twitter. Honestly, maybe all of that's a good thing. But the virality and the engagement and the discovery and everything on Mastodon is way turned down versus Twitter. Twitter was like the crack cocaine of social media...fast, cheap, addictive, and terrible for you. Mastodon is like a cup of tea by comparison.

This entry was edited (3 hours ago)
1

I think it's "the algorithm", people basically just want to be force-fed "content" – look how successful TikTok is, largely because it has an algorithm that very quickly narrows down user habits and provides endless distraction.

Mastodon and fediverse alternatives by comparison have very simple feeds and ways to surface content, it simply doesn't "hook" people the same way, and that's competition.

On one hand we should probably be doing away with "the algorithm" for reasons not enumerated here for brevity, but on the other hand maybe the fediverse should build something to accommodate this demand, otherwise the non-fedi sites will.

This entry was edited (2 hours ago)

[SOLVED] Installing Linux distro without breaking Windows install

Solution:
When I formatted all my drives to install Linux on one and Windows on the other, I kept both connected and they share EFI boot partition as a result. Every time I reinstall Linux it formats the drive and therefore deletes the Windows's EFI Boot as well. One way is to fix this is to reinstall Windows while disconnecting the drive you have Linux on. Or you can move the boot files if you don't want to do that.

I used this guide:
forums.tomshardware.com/thread…

OP:


Currently dual booting as I need Windows for a few tasks and ganes Linux just won’t do. Since setting everything up I’ve reinstalled Linux twice, both times I’ve lost the ability to boot into windows and have needed to reinstall it.

Disk doesn’t show at all in Grub, tried all kinds of things but it just doesn’t show as a bootable OS. It doesn’t show in the boot options in the BIOS or the boot menu for my motherboard. Drive shows up and all the files are still on it. So my guess is the Windows bootloader somehow installs on the same disk that I have Linux on.

I run Linux(Fedora) and Windows on two separate drives.

Windows take forever to install. Anything I can do now to prevent this from happening if I need to reinstall Linux or if I wanna to some distro hopping?

Just to be clear, everything is working right now. But I want to prevent having to reinstall Windows every time I change distro or reinstall my Linux OS

This entry was edited (8 hours ago)
22 3
Do you have the os-prober package installed? I haven't used Fedora in over a decade, so I don't know if it's a default or not.
5

Yes that’s present and working.

Issue is that my BIOS doesn’t find it either. So something happens when I install a linux distro that breaks the Windows boot loader.

When I reinstall Windows, I can update the grub and it shows up. (It’s also back in the BIOS after reinstalling)

I was doing some quick research and saw someone suggest installing each OS with the other drive disconnected. That way you can first get each one working individually and there's no chance of one messing with the other's bootloader.

I was hoping to avoid that, but that’s gonna be my next move.

Unless I forget and break windows again.
Words can’t describe how tired I am of choosing the 37 different options during the install, updating the OS 4 times and installing my apps and deleting bloat. 😂
Windows 11 is great and all, but Microsoft loves to make it unbearable to use.

This entry was edited (9 hours ago)
1

I've had Windows and Linux installed on the SAME drive for decades and don't have this issue. Install Windows first because it WILL fuck up the EFI boot partition, that's inevitable because Windows sucks, then install Linux, use the manual partition option and simply select the existing EFI System partition for the EFI and DO NOT mark format, Linux will then install and leave the Windows boot loader in the EFI partition undisturbed.

Linux WILL overwrite the boot block to start grub instead of the Windows boot loader, but most Linux distros will automatically add a chain boot loader entry to the grub menu to allow you to boot Windows, at least Debian and Redhat derived distros will do this, probably a more manual process in Arch derived distros.

If it does become necessary to install Whendoze after Linux, you can use boot-repair to automatically fix the EFI System partition Windows fucked up or you can boot off of a flash drive, and fix it manually.


USB formatting on Bazzite (SOLVED)

Hello ladies and gentlemen as a brand new user (installed yesterday on new computer) of Linux in general and Bazzite specifically. I had a bootable USB I was going to use for a different distro before I decided on using Bazzite with another USB.

I decided to use the first one to move my meme collection to the new computer but when I deleted the partition and reallocated it with the highlighted option (the one that is not ms-dos I can not remember the specific name) the drive now seems to have disappeared. When I plug it in now it does not auto detect anything and for the life of me I can not find any drives through Dolphin.

If anyone can tell me how I fucked it up and/or how to find it/ fix it I would be grateful. I can always do it in Windows since I have to set up the old one to access the memes anyway but I would like to know how to do it here for the future. Thanks in advance.

This entry was edited (10 hours ago)
6

For me, it's going to be Fediverse or nothing

So I’ve tried Mastodon, Pixelfed and didn’t like them. Mastodon is nice if you wanna ”tweet”, but that’s not for me. Pixelfed was dead.

I quit Meta because of tech bro fascism, and hated Twitter even before it was X because, let’s face it - nobody has ever changed their opinion on anything because of a Twitter conversation (I know I’m exaggerating, to get my point across). I was in Reddit for a few weeks, and the conversations there seem mostly friendly and constructive, but I decided I don’t want to have anything to do with social media corporations. Besides, I noticed I could scroll endlessly. And that’s not good for me.

Lemmy seems nice. There are still some topics I’m interested in that don’t have active communities, and I’m still learning on how to have my feed from multiple instances. But still, this is the way to go for me.

Against algorithms, against fascism, for free internet. Thanks for coming to my boring Ted talk and have a nice day.

150 4
Pixelfed has more than 100,000 active users, about 5 times what it was 6 months ago, so I wouldn't really call it dead. And with the fediverse, pixelfed and mastodon can talk to each other, so even on less active platforms you can connect with millions of other people. Most of the accounts I follow on pixelfed are from mastodon.
1
Discovery in Pixelfed fed is absolute and utter shit, though. It doesn't matter if it's there if you can't find it...and mostly you can't find it.
This entry was edited (5 hours ago)
3

Weird stuttering on fresh Fedora 42 GNOME install

EDIT:
This has worked, thanks for help:
LD_PRELOAD="" VK_LOADER_LAYERS_ENABLE=VK_LAYER_MANGOHUD_overlay_x86_64 %command% --skip-launcher --vulkan

Hi, so I've been using Fedora 41 GNOME since release with no issues at all and I've decided to do a new fresh install of Fedora 42 yesterday.

Everything seemed to run well but I've encountered this issue in games that after around 30min I get this weird stutter. Until then everything runs smoothly.

As you can see in the video the stutter only occurs during mouse movement or during camera movement with keyboard. Once the camera moves on it's own and just tracks the character the frametimes are perfectly flat so it does not seem like the fault is on the game but somethings off with the system compositor?

This happens with or without VSync, I've tried with and without VRR, I've tried chaning game settings and also different Proton versions... only thing that helps is to restart the game but then I'll have to do it once again in about 30min.

My suspicion is on the new triple buffering in new GNOME 48 but I have no idea how to turn it off to test.

Any suggestions?

This entry was edited (8 hours ago)
24 2

Had the exact same stuttering on Arch Linux with BG3 - only when moving the mouse/camera after an hour or so of gameplay. Resolved it completely when I disabled the new Steam background recording feature and Steam overlay (on BG3 only). Not sure if it was just one of those things or both, but it hasn't happened since turning them off. Might be worth a try for you too~

Edit: Oh, also I have these launch options, I think the LD_PRELOAD="" might have been related to this issue too~

LD_PRELOAD="" VK_LOADER_LAYERS_ENABLE=VK_LAYER_MANGOHUD_overlay_x86_64 %command% --skip-launcher --vulkan
This entry was edited (10 hours ago)
2

Is this launching games through Steam? I had a similar issue launching games through Steam using gamescope and had to set some launch options. Unfortunately I am at work and can't remember what those launch options are but when I get back home I will add them.

Edit launch options:
LD_PRELOAD="" gamescope -ef -W 3840 -H 2160 -r 144 --hdr-enabled --adaptive-sync --mangoapp -- gamemoderun %command%

As others have mentioned I think it was the "LD_PRELOAD=" that actually fixed the issue

This entry was edited (6 hours ago)

[Solved, sort of] Keyboard doesn't work after logging in. Fedora

Update: Issue disappeared without doing anything. After just letting my computer sit turned off for a few hours I started it back up to troubleshoot. Now it works again. Something happened to break it and then to unfuck it again without any input from me. Something is unstable and I’m gonna try to figure it out.

Started my PC up today, logged in like normal, but my keyboard wont work after logging in.
Except for the calculator button. None of the keys will actually do anything. But logging in works normally.

Worked fine last night, no updates have run or anything. Where to start diagnosing this? In a way where I won’t need a keyboard?

Fedora 42 KDE

Edit: Keyboard works fine in a live environment on the USB I used to install yesterday. Tried a different keyboard on my main install, and that didn’t work either. So it’s not the keyboard itself at least

This entry was edited (9 hours ago)
15 1

Checked your accessibility menu and see if anything there may be turned on?

Also, can you drop to a straight terminal (ALT+F2) and the key card works fine?

This entry was edited (15 hours ago)
1 1

Tried turning stuff on, then off, then reset to default. Nothing.

Nothing, except function keys for volume etc. and the calculator keys work when I’m logged in. I can log out and write my password normally.

I can get to a console from the login screen, which tells me to login. But I get incorrect credentials even though they are correct.

This entry was edited (15 hours ago)

Decentralization Scoring System

🧮 Decentralization Scoring System (v1.0)


This scoring system evaluates how decentralized and self-hostable a platform is, based on four core metrics.

📊 Scoring Metrics (Total: 100 Points)


Top Provider User Share (30 points): Measures how many users are on the largest instance. Full points if <10%; 0 if >80%.
Top Provider Content Share (30 points): Measures how much content is hosted by the largest instance. Full points if <10%; 0 if >80%.
Ease of Self-Hosting: Server (20 points): Technical ease of running your own backend. Full points for Docker/simple setup with good docs.
Ease of Self-Hosting: User Interface (20 points): Availability and usability of clients. Full points for accessible, FOSS, multi-platform clients.


📋 Example Breakdown (Estimates)

📧 Email (2025)


  • Top Provider User Share: Apple ≈ 53.67% → Score: 4.5/30
  • Top Provider Content Share: Apple likely handles >50% of mail → Score: 4.5/30
  • Self-Hosting: Server: Easy (Leverage email hosting services) → Score: 18/20
  • Self-Hosting: Client: Easy (Thunderbird, K-9, etc.) → Score: 18/20

Total: 45/100


🐹 Lemmy (2025)


  • Top Provider User Share: lemmy.world ≈ 37.17% → Score: 12/30
  • Top Provider Content Share: lemmy.world likely hosts ~37% content → Score: 12/30
  • Self-Hosting: Server: Easy (Docker, low resource) → Score: 18/20
  • Self-Hosting: Client: Good FOSS apps, web UI → Score: 18/20

Total: 60/100


🐘 Mastodon (2025)


  • Top Provider User Share: mastodon.social ≈ 42.7% → Score: 11/30
  • Top Provider Content Share: mastodon.social ≈ 45–50% content → Score: 10/30
  • Self-Hosting: Server: Docker setup, moderate difficulty → Score: 15/20
  • Self-Hosting: Client: Strong ecosystem (Tusky, web, etc.) → Score: 19/20

Total: 55/100


🔵 Bluesky (2025)


  • Top Provider User Share: bsky.social ≈ ~90%+ (very centralized) → Score: 0/30
  • Top Provider Content Share: Nearly all content on bsky.social → Score: 0/30
  • Self-Hosting: Server: PDS hosting possible but very niche → Score: 4/20
  • Self-Hosting: Client: Mostly official client; some 3rd party → Score: 10/20

Total: 14/100


🟥 Reddit (2025)


  • Top Provider User Share: Reddit ≈ 48.4% → Score: 0/30
  • Top Provider Content Share: Reddit hosts a significant portion of user-generated content → Score: 0/30
  • Self-Hosting: Server: Not self-hostable (proprietary platform) → Score: 0/20
  • Self-Hosting: Client: Some unofficial clients available → Score: 3/20

Total: 3/100


How Scores are Calculated

🧑‍🤝‍🧑 How User/Content Share Scores Work


This measures how many users are on the largest provider (or instance).

  • 100% (one provider): If one provider has all the users, it gets 0 points.
  • No provider > 10%: If no provider has more than 10%, it gets full 30 points.
  • Between 10% and 80%: Anything in between is scored on a linear scale.
  • > 80%: If a provider has more than 80%, it gets 0 points.


📊 Formula:


Score = 30 × (1 - (TopProviderShare - 10%) / 70%)
…but only if TopProviderShare is between 10% and 80%.
If below 10%, full 30. If above 80%, zero.

📌 Example:


If one provider has 40% of all users:
Score = 30 × (1 - (40 - 10) / 70) = 30 × (1 - 0.43) = 17.1 points

🖥️ How Ease of Self-Hosting Scores Work


These scores measure how easy it is for individuals or communities to run their own servers or use clients.

This looks at how technically easy it is to run your own backend (e.g., email server, Mastodon server) or User Interface (e.g., web-interface or mobile-app)

  • Very Easy: One-command Docker, low resources, great documentation → 18–20 points
  • Moderate: Docker or manual setup, some config, active community support → 13–17 points
  • Hard: Complex setup, needs regular updates or custom config (e.g. DNS, spam) → 6–12 points
  • Very Hard or Proprietary: Little to no self-hosting support, undocumented → 0–5 points


PS.


This is Version 1.0 so there are likely flaws and mistakes in it, feel free to help create the best version we can I've put it on github.com/NoBadDays/decentral…

66 11
Are you saying Apple is a larger email provider than Google? I'd find that very surprising.
24

Based on my brief searches yes, but I haven't looked into the example data in great detail.

If you have a good data point for me I can update the examples.

2 3
No data I'm afraid but it just doesn't ring true to me, unless there are vast regional differences. It sticks out to me as much as if you'd said that Bing is the largest search engine; I've barely heard of Apple email but almost everyone I know uses Gmail except me, including Apple users I know.
This entry was edited (17 hours ago)
18
One metric you might want to add is the network effect: how much of a difference does it make to the user experience to join a large instance (or the same instance most of your friends are on) compared to a small or self-hosted one? (Or in other words—does the nature of the platform software potentially incentivize consolidation?)
This entry was edited (12 hours ago)
9

[Fedora KDE Plasma] weird issue when playing all 3D games

Every few minutes, when I'm playing 3d games (like minecraft or blue price) my fps drops to around 5-10, stays that way for about 10 seconds, and then returns to a normal framerate. This does not happen with 2D games. I don't play competitive games so it doesn't impact me a ton but I thought I'd report it here in case someone can solve the issue.

Specs:
Operating System: Fedora Linux 41
KDE Plasma Version: 6.3.4
KDE Frameworks Version: 6.13.0
Qt Version: 6.8.2
Kernel Version: 6.13.10-200.fc41.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 8 × 11th Gen Intel® Core™ i7-1165G7 @ 2.80GHz
Memory: 15.3 GiB of RAM
Graphics Processor: Intel® Iris® Xe Graphics
Manufacturer: Dell Inc.
Product Name: XPS 13 9305

This entry was edited (1 hour ago)
9 1
Need specs. Have you checked your free memory while games are running?
This entry was edited (18 hours ago)
7 1

[SOLVED] Power Profile not working on Arch with KDE. Tried everything.

My laptop does support this feature since it was working on Fedora KDE. But jumping over to arch, it seems not to work at all.

1. power-profiles-daemon.service is enabled and running.

● power-profiles-daemon.service - Power Profiles daemon
     Loaded: loaded (/usr/lib/systemd/system/power-profiles-daemon.service; enabled; preset: disabled)
     Active: active (running) since <time>; 12min ago
 Invocation: 4f20b3d144584a759b4a6c5ea14aa739
   Main PID: 608 (power-profiles-)
      Tasks: 4 (limit: 6850)
     Memory: 1.6M (peak: 2.8M)
        CPU: 81ms
     CGroup: /system.slice/power-profiles-daemon.service
             └─608 /usr/lib/power-profiles-daemon

Apr 18 11:14:52 berserk-arch systemd[1]: Starting Power Profiles daemon...
Apr 18 11:14:52 berserk-arch systemd[1]: Started Power Profiles daemon.

2. plasma-powerdevil.service is static and running.

● plasma-powerdevil.service - Powerdevil
     Loaded: loaded (/usr/lib/systemd/user/plasma-powerdevil.service; static)
     Active: active (running) since <time>; 12min ago
 Invocation: 7d72f24a0e5e4a74889a3895b91eb51c
   Main PID: 1074 (org_kde_powerde)
      Tasks: 9 (limit: 6850)
     Memory: 10.6M (peak: 11.4M)
        CPU: 1.391s
     CGroup: /user.slice/user-1000.slice/user@1000.service/background.slice/plasma-powerdevil.service
             └─1074 /usr/lib/org_kde_powerdevil

3. upower.service is enabled and running.

● upower.service - Daemon for power management
     Loaded: loaded (/usr/lib/systemd/system/upower.service; enabled; preset: disabled)
     Active: active (running) since <time>; 12min ago
 Invocation: 7aa43a43146346e383c961ce12cc9ded
       Docs: man:upowerd(8)
   Main PID: 540 (upowerd)
      Tasks: 4 (limit: 6850)
     Memory: 5.1M (peak: 5.9M)
        CPU: 251ms
     CGroup: /system.slice/upower.service
             └─540 /usr/lib/upowerd

I've already tried to to put
GRUB_CMDLINE_LINUX_DEFAULT="amd_pstate=active"

as a kernel argument that doesn't seem to do anything as well. I can't figure it out. The power management settings work tho. Any idea what's wrong? Thanks.
This entry was edited (18 hours ago)
31 2

TuneD is really cool, but a weird fix for that problem.

The lack of TuneD is one of the few things keeping me on Fedora and away from NixOS

1
After searching for it, I think it makes perfect sense since fedora people [switched to TuneD in Fedora 41] and that's what I was running.
1

Canonical Releases Ubuntu 25.04 Plucky Puffin | Canonical

23
I’ll be excited again when they give up on Snaps.
11 2

Snaps promise to do some really cool things. They just are a bitch to use and they are slow and tied too heavily to canonical.

Weren’t use supposed to be able to snap in and out a kernel by now? Like, not even needing a reboot?

This entry was edited (1 day ago)
5

aleq via Linux lemmy

Why do you use the distro you use?

Title is quite self-explanatory, reason I wonder is because every now and then I think to myself "maybe distro X is good, maybe I should try it at some point", but then I think a bit more and realise it kind of doesn't make a difference - the only thing I feel kinda matters is rolling vs non-rolling release patterns.

My guiding principles when choosing distro are that I run arch on my desktop because it's what I'm used to (and AUR is nice to have), and Debian on servers because some people said it's good and I the non-rolling release gives me peace of mind that I don't have to update very often. But I could switch both of these out and I really don't think it would make a difference at all.

122 6

Arch: I have the most up to date computer in the whole world, I have the AUR, no one can stop me

switches to Debian

Debian: My packages are so stable, nothing can break the eternal peace of my system's packages

switches back to Arch

This entry was edited (7 hours ago)
2
Debian/KDE because I like the way I can customize (1 panel on the left with everything) No features removed just as one gets used to them. (looking at you gnome) No breaking changes to the desktop gadget api every update (you gnome again) Nice big repo.
This entry was edited (30 minutes ago)

EU OS

16 3
Hosted on GitLab... the irony
This entry was edited (1 day ago)
3 2

Hi, I need in-person help from a computer whiz-can travel

Hello!

So, I live on a bus. We travel around, it's pretty great. I don't have a laptop or a mailing address that works, so getting certain things done is difficult, and I have two things I need help with.

I installed a solar system a while back, with an older charge controller a friend recommended. I more recently upgraded the batteries to lithium irons. So now this controller requires reprogramming, and to do so you have to plug an RJ45 (pretty sure that's the name) into it, and probably download some shitty chinese spyware program to fiddle with it. Their newer models bluetooth and require an app of course.

The other thing is either much trickier or impossible, and while I've booted up dumpstered laptops with thumbdrive linux before (and found the homemade blowjob video, heh) I've no idea how to even go about fiddling with this.

It's a (shitty chinese) dash/backup/security camera system. It's been referred to as a 'pizza box' system by someone who hates money. It might have a wifi chip onboard, but I can't figure out it does or not.

I'd like to flash it to run linux, if possible, and put some actually useable video monitoring/porting/editing maybe programs on there. The current UI is unusable even when it's cooperating. Like if there were an accident, I'd just basically be bluffing. Sure the data's probably there, but it's in a format that won't register on any device I've plugged the SD card into. I need it to export to filetype I can use with an ipad, which is the only computer we have aboard.

If any of this sounds like a fun or interesting challenge, I can throw some dollars at you. Or trade work! We do auto/diesel/bicycle mechanic work, welding, sewing, leather and general handy shit.

5 2

Sell it and get something with an existing FOSS firmware. And a laptop (dumpster ones work too). What you're asking for is $1000 upfront, at minimum, with no satisfaction guarantee.

If you're willing to do most of the work yourself, I'd suggest finding an official firmware update and running binwalk on it. Also take good photos of the PCB and look for datasheets of every chip. Then you'll be able to pose specific questions and maybe get decent help.

Still, it's probably best to set up ONVIF client software or something.

This entry was edited (1 day ago)
7

Canonical Releases Ubuntu 25.04 Plucky Puffin

Hardware enablement highlights
Canonical continues to enable Ubuntu across a broad range of hardware. The introduction of a new ARM64 Desktop ISO makes it easier for early adopters to install Ubuntu Desktop on ARM64 virtual machines and laptops.

Qualcomm Technologies is proud to collaborate with Canonical and is fully committed to enabling a seamless Ubuntu experience on devices powered by Snapdragon®. *Ubuntu’s new ARM64 ISO paves the way for future Snapdragon enablement, enabling us to drive AI innovation and adoption together.

Leendert van Doorn, SVP, Engineering at Qualcomm Technologies, Inc.*

This entry was edited (1 day ago)
32 2

[solved] What ports do I need to open for mDNS?

EDIT: The bad solution is to unblock UDP port 5353 but the port has to be source port, not destination port. (--sport flag) See the now modified rules. The issue is that this is very insecure (see this stackexchange question and comments) but obviously better than no firewall at all because at least I'm blocking TCP traffic.

The proper solution (other than using glibc and installing nss-mdns package) is to open a port with netcat (nc) in the background (using &) and then listen with dig on that port using the -b flag.

port="42069"
nc -l -p "$port" > /dev/null || exit 1 &
dig somehostname.local @224.0.0.241 -p 5353 -b "0.0.0.0#${port}"

Then we need to remember to kill the background process. The DNS reply will now be sent to port 42069, so we can just open it with this iptables rule:
-A INPUT -p udp -m udp --dport 42069 -j ACCEPT

---->END OF EDIT.

I want to setup iptables firewall but if I do that, it blocks multicast DNS which I need. I am using command

dig "somehostname.local" @224.0.0.251 -p 5353

to get the IP through mDNS and these are my iptables rules (from superuser.com):
*filter

# drop forwarded traffic. you only need it of you are running a router
:FORWARD DROP [0:0]

# Accept all outgoing traffic
:OUTPUT ACCEPT [623107326:1392470726908]


# Block all incoming traffic, all protocols (tcp, udp, icmp, ...) everything.
# This is the base rule we can define exceptions from.
:INPUT DROP [11486:513044]

# do not block already running connections (important for outgoing)
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# do not block localhost
-A INPUT -i lo -j ACCEPT

# do not block icmp for ping and network diagnostics. Remove if you do not want this
# note that -p icmp has no effect on ipv6, so we need an extra ipv6 rule
-4 -A INPUT -p icmp -j ACCEPT
-6 -A INPUT -p ipv6-icmp -j ACCEPT

# allow some incoming ports for services that should be public available
# -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
# -A INPUT -p udp -m udp --dport 5353 -j ACCEPT # does not help
-A OUTPUT -p udp -m udp --sport 5353 -j ACCEPT # SOLVES THE ISSUE BUT IS INSECURE - not recommended


# commit changes
COMMIT

Any help is welcome 😀
This entry was edited (17 hours ago)
11 2

As I said, I’m not sure about that.

Still, dig won’t be listening on port 5353 for the answer, it’ll open some random port, so the firewall rule for 5353 will not apply. And the conntrack rule, is my guess, also doesn’t apply, because what I think the conntrack module does is:

  • Remembers about the outgoing connection (i.e. when dig sends its udp packet out): source port, destination IP and port
  • Check incoming packets against this info, and lets them through if they appear to be an answer

Since the outgoing packet is going to multicast, and the incoming packet (I suspect) is coming from the IP of the machine that answers (a different IP therefore), conntrack wouldn’t be able to figure that out. The answer doesn’t match the outgoing packet that dig sends. Since this is just a hunch, I would try to confirm this by looking at the traffic in e.g. wireshark.

Edit 2: Actually dig picks a random port to send the mDNS request from and sends it to 224.0.0.251:5353 (multicast IP). The correct host then replies from port 5353 to the previously picked random port from dig. But I found that you can specify the port with dig -b IP#port so I think that should help. I kinda don't have the time to try it out currently though.

end of edit2.

well I randomly solved it by adding

-A OUTPUT -p udp -m udp --sport 5353 -j ACCEPT

Which basically means you are right. The destination port is just some randomly picked number (checked wireshark), so I have to filter based on source port, which is 5353.

Edit: Also thanks for your help!

This entry was edited (19 hours ago)
1

crc32sum - Calculate CRC32 for each file (Bash using 7z) - bugfix

Hi all. This is an update on my script extracting CRC32 checksum from the 7z commandline tool. The output should be similar to how the md5sum tool outputs, the checksum and the file name/path.

The initial version of this script was actually broken. It would not output all files if a directory was included (wrong counting of files through argument number). Also filenames that contained a space would only output the first part until the space character. All of this rookie mistakes are solved. Plus there is a progress bar showing what files are processed at the moment, instead showing a blank screen until command is finished. This is useful if there are a lot of files or some big files to process.

Yes, I'm aware there are other ways to accomplish this task. I would be happy to see your solution too. And if you encounter a problem, please report.

crc32sum:

(Note: Beehaw does not like the "less than" character and breaks the post completley. So replace the line cat %%EOF with or copy it from the Github Gist link below:)

\#!/usr/bin/env bash

if [[ "${#}" -eq 0 ]] || [[ "${1}" == '-h' ]]; then
    self="${0##*/}"
    cat %%EOF
usage: ${self} files...

Calculate CRC32 for each file.

positional arguments:
  file or dir       one or multiple file names or paths, if this is a directory
                    then traverse it recursively to find all files
EOF
    exit 0
fi

7z h -bsp2 -- "${@}" |
    \grep -v -E '^[ \t]+.*/' |
    \sed -n -e '/^-------- -------------  ------------$/,$p' |
    \sed '1d' |
    \grep --before-context "9999999" '^-------- -------------  ------------$' |
    \head -n -1 |
    \awk '$2=""; {print $0}'
This entry was edited (12 hours ago)
7

I was actually looking for something like this a few days ago. This is pretty useful as there's no crc32sum readily available on linux. Thanks for that!

I would personally change a few things, mostly small nitpicks to be fair.
1. Prefer [[ ]] over [ ] for tests. Source: shellcheck.net/wiki/SC2292
2. Use $0 instead of hardcoding crc32sum in the help messages. That way it will work even if someone names the script differently
3. You could exit 0 after the help and end the if there instead of having the whole work being done in an else.

As I said, nitpicks!

This entry was edited (1 day ago)
1

Agreed on your points and usually I do 2. (name) and 3. (exit instead else) sometimes. For the [[ over [, it usually matters only for word splitting and globbing behavior, if you do not enclose the variables between quotes I believe. But looking into the shellcheck entry, looks like there is no disadvantage. I may start doing this by default in the future too.

So thanks for the suggestions, I will update the script in a minute.

Edit: I always forget that Beehaw will break if I use the "lower than" character like in
, so I replaced it in the post with cat %%EOF which requires to change that line. And the example usage is gone for the moment.

Edit2 (21 hours later): I totally forgot to remove the indentation and else-branch. While doing so I also added a special option -h, in case someone tries that. Not a big deal, but thought this should be.

This entry was edited (12 hours ago)

Sharing some of my newest small Bash scripts using 7z

New version for toarchive: gist.github.com/thingsiplay/88…

(I have added a new version of the script. The old one is renamed to 'toarchive-old'. The new script has some guard rails and more checks. Also original files can be removed automatically on success, like gzip does. But an option -r must be explicitly given here, like toarchive zip -r file.txt. Directories can be removed too, but the option uppercase -R is required here, as in toarchive zip -R my_dir. Have in mind this will use rm -r system command. Although some guard rails are in place to prevent massive fail, you should be very careful. Note that no file is removed, if -r or -R are not used at all.)


I always write little scripts and aliases that help me from time to time. I just wanted to share some of my newest simple scripts. There are probably better or easier ways to do, but writing and testing them is fun too. Both make use of the 7z command, a commandline archive tool. Posting it here, so anyone can steal them. They are freshly written, so maybe there are edge cases.

crc32sum:

(Update April 17, 2025: Note this is a new version that addresses some issues. The old version I had posted was broken.)

\#!/usr/bin/env bash

# Calculate CRC32 for each file.
if [ "${#}" -eq 0 ]; then
    echo "crc32sum files..."
    echo "crc32sum *.smc"
else
    7z h -bsp2 -- "${@}" |
        \grep -v -E '^[ \t]+.*/' |
        \sed -n -e '/^-------- -------------  ------------$/,$p' |
        \sed '1d' |
        \grep --before-context "9999999" '^-------- -------------  ------------$' |
        \head -n -1 |
        awk '$2=""; {print $0}'
fi

toarchive:
\#!/usr/bin/env bash

# Create one archive for each file or folder.
if [ "${#}" -eq -1 ]; then
    echo "toarchive ext files..."
    echo "toarchive zip *.smc"
else
    ext="${1}"
    shift
    opt=()
    stop_parse=false

    for arg in "${@}"; do
        if [ ! "${stop_parse}" == true ]; then
            if [ "${arg}" == "--" ]; then
                stop_parse=true
                opt+=(--)
                continue
            elif [[ "${arg}" =~ ^- ]]; then
                opt+=("${arg}")
                continue
            fi
        fi
        file="${arg}"

        7z a "${opt[@]}" "${file}.${ext}" "${file}"
    done
fi
This entry was edited (1 day ago)

Is there an easy way to create blocklist of post or comment for other people?

I'll bring you straight into my mind: I was scrolling throught the n-th depressing post of the ~~day~~ hour and I thought "If I answer that post/comment by #negativity, will other people be able to filter out this content using my answer?" If not, how could we build some sort of blocklist for people to curate there experience on the fediverse.

I know I can block key word like "politics" "Trump" "Elon" but sometimes it doesn't have a precised word yet use human can categorise it easily.

11 2

I don’t agree with this particular usecase. Because I’ve personally experienced, people who shun “negativity” meaning they just completely ignore people’s suffering which often adds a devastating layer of invisibility to oppression. But probably hopefully this isn’t your case and it’s more about “doom and gloom” than people’s reality of suffering.

But anyways, I do agree that blocklists are probably a feature that lemmy needs.

This entry was edited (1 day ago)
5 2

Getting used to Helix

I'm leaving text editors like vscode/codium behind to learn something more modular, like Helix. I really wanna get used to. What advices can you give me to practice? I know that there is a :tutor command, I'm almost done with it. Do anyone know if there are exercices to practice? Im looking something similar to Ruby koans, a list of excersices to solve like "puzzles" but to Helix.
15 1

Not quite what you were asking for, but there is tomgroenwoldt.github.io/helix-…

It's quite good for letting you know about things you didn't know you could do, but sometimes it tells me I'm wrong because I'd do it a different way - e.g. I'd go to line 13 by :13 but it wants 13G.

Also, from within helix you can do space ? to get the list of commands and any bindings they're on.

2

USB Tethering from Android just stopped working [Fedora 42]

Upon upgrading from Fedora 41 to 42, I noticed that the USB tethering just doesn't work

networkctl recognizes the device as "wwan" now, instead of "ether". If I load up a previous kernel, USB tethering works normally.

This seems to be a change in the kernel, and probably won't be reverted in the future. What do I do?

More detail in this comment

You know what? Fuck this. I just backed my shit up and installed Debian. Still, please try to look into this, this could be a problem for many others

This entry was edited (1 day ago)
21 2
try to look up how to enable rndis in fedora manually and try it. Might work. Or you might need to download something too.
1 1

Below are the kernel logs for when I connect the USB on F42 (new kernel)

::: spoiler new(the one that doesn't work)

Apr 17 hh:mm:15 fedora kernel: usb 5-8: USB disconnect, device number 6
Apr 17 hh:mm:15 fedora kernel: rndis_host 5-8:1.0 wwp0s29f7u8: unregister 'rndis_host' usb-0000:00:1d.7-8, Mobile Broadband RNDIS device
Apr 17 hh:mm:15 fedora systemd-networkd[2818]: wwp0s29f7u8: Link DOWN
Apr 17 hh:mm:15 fedora avahi-daemon[1092]: Interface wwp0s29f7u8.IPv6 no longer relevant for mDNS.
Apr 17 hh:mm:15 fedora systemd-networkd[2818]: wwp0s29f7u8: Lost carrier
Apr 17 hh:mm:15 fedora avahi-daemon[1092]: Leaving mDNS multicast group on interface wwp0s29f7u8.IPv6 with address fe80::acfa:54ff:fee2:5884.
Apr 17 hh:mm:15 fedora avahi-daemon[1092]: Withdrawing address record for fe80::acfa:54ff:fee2:5884 on wwp0s29f7u8.
Apr 17 hh:mm:20 fedora kernel: usb 5-8: new high-speed USB device number 7 using ehci-pci
Apr 17 hh:mm:20 fedora kernel: usb 5-8: New USB device found, idVendor=2717, idProduct=ff88, bcdDevice= 4.19
Apr 17 hh:mm:20 fedora kernel: usb 5-8: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Apr 17 hh:mm:20 fedora kernel: usb 5-8: Product: Redmi Note 11
Apr 17 hh:mm:20 fedora kernel: usb 5-8: Manufacturer: Xiaomi
Apr 17 hh:mm:20 fedora kernel: usb 5-8: SerialNumber: 2ce0eff1
Apr 17 hh:mm:20 fedora kernel: rndis_host 5-8:1.0 wwan0: register 'rndis_host' at usb-0000:00:1d.7-8, Mobile Broadband RNDIS device, 7a:03:3c:1e:05:d2
Apr 17 hh:mm:20 fedora mtp-probe[3287]: checking bus 5, device 7: "/sys/devices/pci0000:00/0000:00:1d.7/usb5/5-8"
Apr 17 hh:mm:20 fedora mtp-probe[3287]: bus: 5, device: 7 was not an MTP device
Apr 17 hh:mm:20 fedora kernel: rndis_host 5-8:1.0 wwp0s29f7u8: renamed from wwan0
Apr 17 hh:mm:20 fedora systemd-networkd[2818]: wwan0: Interface name change detected, renamed to wwp0s29f7u8.
Apr 17 hh:mm:20 fedora mtp-probe[3291]: checking bus 5, device 7: "/sys/devices/pci0000:00/0000:00:1d.7/usb5/5-8"
Apr 17 hh:mm:20 fedora mtp-probe[3291]: bus: 5, device: 7 was not an MTP device
Apr 17 hh:mm:24 fedora ModemManager[1186]: <msg> [base-manager] couldn't check support for device '/sys/devices/pci0000:00/0000:00:1d.7/usb5/5-8': not supported by any plugin

:::

And these are the logs on the old kernel that still works:

::: spoiler old(the one that works)

Apr 17 hh:mm:15 fedora kernel: usb 5-8: new high-speed USB device number 5 using ehci-pci
Apr 17 hh:mm:15 fedora kernel: usb 5-8: New USB device found, idVendor=2717, idProduct=ff88, bcdDevice= 4.19
Apr 17 hh:mm:15 fedora kernel: usb 5-8: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Apr 17 hh:mm:15 fedora kernel: usb 5-8: Product: Redmi Note 11
Apr 17 hh:mm:15 fedora kernel: usb 5-8: Manufacturer: Xiaomi
Apr 17 hh:mm:15 fedora kernel: usb 5-8: SerialNumber: 2ce0eff1
Apr 17 hh:mm:15 fedora kernel: rndis_host 5-8:1.0 usb0: register 'rndis_host' at usb-0000:00:1d.7-8, RNDIS device, 82:1c:ae:65:4a:34
Apr 17 hh:mm:15 fedora NetworkManager[1495]: <info>  [1744877835.2127] manager: (usb0): new Ethernet device (/org/freedesktop/NetworkManager/Devices/7)
Apr 17 hh:mm:15 fedora mtp-probe[4001]: checking bus 5, device 5: "/sys/devices/pci0000:00/0000:00:1d.7/usb5/5-8"
Apr 17 hh:mm:15 fedora mtp-probe[4001]: bus: 5, device: 5 was not an MTP device
Apr 17 hh:mm:15 fedora kernel: rndis_host 5-8:1.0 enp0s29f7u8: renamed from usb0
Apr 17 hh:mm:15 fedora NetworkManager[1495]: <info>  [1744877835.2356] device (usb0): interface index 7 renamed iface from 'usb0' to 'enp0s29f7u8'
Apr 17 hh:mm:15 fedora NetworkManager[1495]: <info>  [1744877835.2456] device (enp0s29f7u8): state change: unmanaged -> unavailable (reason 'managed', managed-type: 'external')
Apr 17 hh:mm:15 fedora NetworkManager[1495]: <info>  [1744877835.2479] device (enp0s29f7u8): carrier: link connected
Apr 17 hh:mm:15 fedora NetworkManager[1495]: <info>  [1744877835.2484] device (enp0s29f7u8): state change: unavailable -> disconnected (reason 'carrier-changed', managed-type: 'full')
Apr 17 hh:mm:15 fedora NetworkManager[1495]: <info>  [1744877835.2497] policy: auto-activating connection 'Wired connection 2' (1cd60103-249a-3a35-b7e8-c2ac149f67ab)
Apr 17 hh:mm:15 fedora NetworkManager[1495]: <info>  [1744877835.2501] device (enp0s29f7u8): Activation: starting connection 'Wired connection 2' (1cd60103-249a-3a35-b7e8-c2ac149f67ab)
Apr 17 hh:mm:15 fedora NetworkManager[1495]: <info>  [1744877835.2502] device (enp0s29f7u8): state change: disconnected -> prepare (reason 'none', managed-type: 'full')
Apr 17 hh:mm:15 fedora NetworkManager[1495]: <info>  [1744877835.2505] device (enp0s29f7u8): state change: prepare -> config (reason 'none', managed-type: 'full')
Apr 17 hh:mm:15 fedora NetworkManager[1495]: <info>  [1744877835.2566] device (enp0s29f7u8): state change: config -> ip-config (reason 'none', managed-type: 'full')
Apr 17 hh:mm:15 fedora NetworkManager[1495]: <info>  [1744877835.2579] dhcp4 (enp0s29f7u8): activation: beginning transaction (timeout in 45 seconds)
Apr 17 hh:mm:15 fedora avahi-daemon[1380]: Joining mDNS multicast group on interface enp0s29f7u8.IPv6 with address fe80::78eb:ce85:f0d8:dda6.
Apr 17 hh:mm:15 fedora avahi-daemon[1380]: New relevant interface enp0s29f7u8.IPv6 for mDNS.
Apr 17 hh:mm:15 fedora avahi-daemon[1380]: Registering new address record for fe80::78eb:ce85:f0d8:dda6 on enp0s29f7u8.*.
Apr 17 hh:mm:15 fedora mtp-probe[4003]: checking bus 5, device 5: "/sys/devices/pci0000:00/0000:00:1d.7/usb5/5-8"
Apr 17 hh:mm:15 fedora mtp-probe[4003]: bus: 5, device: 5 was not an MTP device
Apr 17 hh:mm:17 fedora NetworkManager[1495]: <info>  [1744877837.2676] dhcp4 (enp0s29f7u8): state changed new lease, address=192.168.244.164, acd pending
Apr 17 hh:mm:17 fedora NetworkManager[1495]: <info>  [1744877837.4372] dhcp4 (enp0s29f7u8): state changed new lease, address=192.168.244.164
Apr 17 hh:mm:17 fedora avahi-daemon[1380]: Joining mDNS multicast group on interface enp0s29f7u8.IPv4 with address 192.168.244.164.
Apr 17 hh:mm:17 fedora avahi-daemon[1380]: New relevant interface enp0s29f7u8.IPv4 for mDNS.
Apr 17 hh:mm:17 fedora avahi-daemon[1380]: Registering new address record for 192.168.244.164 on enp0s29f7u8.IPv4.
Apr 17 hh:mm:17 fedora NetworkManager[1495]: <info>  [1744877837.4400] policy: set 'Wired connection 2' (enp0s29f7u8) as default for IPv4 routing and DNS
Apr 17 hh:mm:17 fedora systemd-resolved[1315]: enp0s29f7u8: Bus client set default route setting: no
Apr 17 hh:mm:17 fedora NetworkManager[1495]: <info>  [1744877837.4676] device (enp0s29f7u8): state change: ip-config -> ip-check (reason 'none', managed-type: 'full')
Apr 17 hh:mm:17 fedora NetworkManager[1495]: <info>  [1744877837.4739] device (enp0s29f7u8): state change: ip-check -> secondaries (reason 'none', managed-type: 'full')
Apr 17 hh:mm:17 fedora NetworkManager[1495]: <info>  [1744877837.4771] device (enp0s29f7u8): state change: secondaries -> activated (reason 'none', managed-type: 'full')
Apr 17 hh:mm:17 fedora NetworkManager[1495]: <info>  [1744877837.4790] device (enp0s29f7u8): Activation: successful, device activated.

:::

{clock details changed to hh:mm for privacy}

One thing I notice is the new upgrade trying to use ModemManager rather than NetworkManager. The device is also defined as "Mobile Broadband", instead of "Ethernet".

Loading the kernel module with modprobe, as another commenter suggested, didn't make any change.

Another thing: An excerpt from the kernel changelog at cdn.kernel.org/pub/linux/kerne…

rndis_host: Flag RNDIS modems as WWAN devices

[ Upstream commit 67d1a8956d2d62fe6b4c13ebabb57806098511d8 ]

Set FLAG_WWAN instead of FLAG_ETHERNET for RNDIS interfaces on Mobile
Broadband Modems, as opposed to regular Ethernet adapters.

Otherwise NetworkManager gets confused, misjudges the device type,
and wouldn't know it should connect a modem to get the device to work.
What would be the result depends on ModemManager version -- older
ModemManager would end up disconnecting a device after an unsuccessful
probe attempt (if it connected without needing to unlock a SIM), while
a newer one might spawn a separate PPP connection over a tty interface
instead, resulting in a general confusion and no end of chaos.

The only way to get this work reliably is to fix the device type
and have good enough version ModemManager (or equivalent).

I am so lost xD
This entry was edited (1 day ago)
newer older