• 0 Posts
  • 216 Comments
Joined 1 year ago
cake
Cake day: June 10th, 2024

help-circle
  • I think if you have some use-case that Wayland doesn’t fulfill, it’s totally fine to just pin some version of Plasma and stick with it. Maybe even switch to Trinity. Chances are it will keep working for like a decade or more.

    I still use kdenlive 18.08, because I know how to use that version, and it does what I need it to do perfectly well. They broke something I needed in 19.whatever (I don’t remember what it was anymore), so I just pinned it and kept using it ever since. Maybe one day I’ll try to figure out the latest version, but there’s no real incentive for me to do so.


  • I guess we have vastly different expectations from our phones, then. At a minimum, I need to:

    1. Have reliable, snappy maps with precise GPS (for trekking)
    2. Be able to interact with my bank on the go, at least via a web app
    3. Be able to chat with people via Matrix
    4. Get transit routing via a web app

    And in my experience, Librem5 just doesn’t have enough processing power and RAM to do any of those quickly and reliably. It was not comfortable at all, e.g. the browser kept filling up RAM and locking up the device with constant swapping, and finally OOMing. GPS took 5-10 minutes to get a lock, even with AGPS, and after that wouldn’t reliably keep it. Both Nheko and NeoChat were slow and laggy. It also died after 4-5 hours of suspend with a modem on, unacceptable for a reliable daily.

    OnePlus6 is a rocketship in comparison, and performs all those tasks with ease. The battery also lasts for an entire day with conservative suspend settings (but with the modem on), and for a couple days in airplane mode (e.g. while hiking in the mountains).



  • I understand Unicode and its various encodings (UTF-8, UTF-16, UTF-32) fairly well. UTF-8 is backwards-compatible with ASCII and only takes up the extra bytes if you are using characters outside of the 0x00-0x7F range. E.g. this comment I’m writing is simultaneously valid UTF-8 and valid ASCII.

    I’d like to see some good evidence for the claim that Unicode support increases memory usage so drastically. Especially given that most data in RAM is typically things other than encoded text (e.g. videos, photos, internal state of software).



  • I own a Librem5, and let me tell ya, it’s not a daily phone, hardware is just way too slow. Even with sxmo it lags a lot, opening a browser is a whole ordeal for it. Meanwhile when I tried my friend’s PinePhone Pro, it felt a lot better. Oh, and for context, I’m currently semi-dailying a OnePlus 6 with NixOS.


    • Connected standby is already somewhat possible (it’s actually done on the hardware/firmware side on most phones), it can work with something like ntfy with a fairly simple script IIRC
    • We have sandboxing and permissions figured out pretty well with Flatpak (there are improvements to be had for sure, but all the basics are there)

    The one main remaining barrier (apart from thousands of paper cuts everywhere and lack of apps), is indeed process lifecycle management. It’s the most complicated one to do, because in order to work well it requires apps to cooperate in some way, either by completely and honestly shutting down when not doing any work, or by providing ways to check if there’s any work to be done without running the rest of the app, or both ideally. None of the apps currently do that, so the only options are (1) just let apps do whatever they want, draining the battery, or (2) send SIGSTP to apps that are not in the foreground, losing background notifications and such.


  • I’m sure you are already aware, but just in case, there’s a lot of prior work in getting a truly Linux mobile phone.

    There are ready-made devices like PinePhone (the PinePhone Pro looks the most promising one of the bunch), Librem 5, and Liberux Nexx. I think at least some of those companies publish schematics for their boards, you should probably check those out if you want to design your own.

    There is also another direction, taken by postmarketOS and the like, to install Linux on a phone that shipped with Android out of the box.

    It should be easy enough to install postmarketOS on your device, since it seems to have support for raspberry pi. The benefit of postmarketOS here is that it makes it really easy to install mobile Linux UI shells, like phosh, gnome-mobile, plasma-mobile, or sxmo. This will let you try all of them out and maybe pick one as a starting point for your software stack.


  • How about this:

    1. Add ability to make custom “servers” (which can be just rooms on your proprietary server) with no anti-cheat at all, just fool around with your friends and do whatever you want, mods/hacks/cheats/etc.
    2. At least for casual play modes, make protocols that are less reliant on clients to do the right thing and instead only tell the clients more or less what the player should know already. This might leave some room for sweaty tryhard cheaters to consistently beat other people, but in a casual game which is mostly just for fun this doesn’t really matter.

    There may be some places where a protocol-level solution is not feasible. In that case yeah, require your anti-cheat, but only for competitive game modes. I wouldn’t even be pissed if they didn’t allow it to run on Linux, Linux makes it easy to do whatever the fuck you want with your computer and so a determined cheater will find a way to cheat. It sucks, but I feel like a lot of people don’t really care that much about sweaty competitive game modes anyway. Just give me a way to fool around with friends, it’s not that serious FFS.


  • For context, I’m using NixOS, not Arch, but it’s a similar enough idea. I have a tiling/tabbed WM configured just the way I like it, and a window switcher thingy, and it makes juggling hundreds of windows really easy and quick. Combined with a terminal-based editor, a custom setup for my shell, and direnv for easy environment switching, I can be switching between a dozen different projects within a single day (sadly a requirement for my work right now).

    Whenever I look at how my colleagues with KDE/Gnome are managing their workflows, it makes me appreciate the work I put into my setup a lot.

    Also, I have a whole bunch of shell aliases and scripts for tasks I do often.

    Sure, you can configure any distro to do that, but things like Ubuntu or Fedora would get in the way. At some point, when you want to choose (or even write) every component of the system and configure it yourself, it’s easier to just build from scratch rather than start with a lot of pre-configured software and remove parts.




  • Is it shown that there are significant performance benefits to installing daemons and utilities à la carte?

    No, not really.

    Is it because arch users are enthusiasts that enjoy trying to optimize their system?

    This is IMHO the most important aspect. The thing they’re trying to optimize isn’t performance, though, it’s more “usability”, i.e. making the system work for you. When you get down to it and understand all the components of the OS, and all the moving parts within, you can set it up however you prefer and then combine them in novel ways to solve your tasks more quickly.


  • Yeah, agreed, for now it is the case.

    BTW at $DAYJOB I am currently working on software & documentation that would allow you to set up a complete source code mirror for all software in Nixpkgs. If you would be ready to maintain that kind of architecture (hundreds of TBs of storage, plus some compute to keep it up to date), it would allow you to be resilient to total internet failure (as long as you still have the electricity+compute to rebuild from source, of course).


  • The main US dependence is actually GitHub. You don’t have to depend on any of the NixOS Foundation-run infra, since Nix is source-based-first. You can just rebuild everything you need by yourself, provided you have a beefy enough machine (a modern developer desktop machine will probably suffice). The issue then becomes source availability, both for Nixpkgs itself (the main hosting is on GitHub, and there’s no official mirror anywhere else) and for all the software packaged therein. A lot of software, including some really critical stuff, is hosted on GitHub nowadays, so if it goes down/becomes (even more) hostile, then that’s an issue.





  • To this day i still plug my wh-mx10004 … (Or whatever their stupid number is cause sony thinks a ten digit alphanumeric code is the catchiest name for their products…) b/c every time they connect by bt they will ONLY do ‘handsfree’ codec, yknow, the one that sounds like shit for phone calls. I have done everything… pavucontrol, pipewire, wireplumber, blueman, cli system level shit and yes i can force it to proper high def audio after some really annoying steps… but then ill start up a game or something and it suddenly goes “nope! This calls cor handset audio!” And switches itself back.

    If you’re talking about WH-1000XM4, they work for me. Sometimes on first connect they only have mSBC codec for me too, but if I just disconnect/reconnect them then all other codecs appear. If I switch to SBC-XQ or LDAC they then work fine until I turn them off (which can be hours and many different playback streams). I’m on pipewire+pipewire-pulse.


  • I’ve heard about Linux being highly customizable and decentralized OS, and suddenly I can’t define my own shortcuts because there is a list of un-features?

    You can customize it to do whatever you want. Heck, you can write your own terminal emulator that does exactly what you need. But some things can be harder to do than others and require skills and experience. Once someone implements those harder things, they become a “feature”. Before then, therefore, they are an “un-feature”. See https://xkcd.com/1349/

    E.g. it is probably possible to set up your shell to use shift-selection for the command you’re currently editing, but shift-selection for the output of a previous command will require terminal support. You will have to make sure that the two don’t interfere with each other, which can be quite complicated.

    I already have my workflow and I’m trying to transfer it to Linux

    Linux is a different OS that, by default, does things differently from others. You can configure it to emulate some other UX, but it won’t necessarily be easy. In the meantime, you can install the micro editor, set EDITOR=micro, and then Ctrl+x Ctrl+e in bash to edit the command in a more familiar setting.