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

help-circle
  • 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.


  • Last time I ordered a phone battery from AliExpress I got it in two weeks flat. If you notice that your battery doesn’t hold as long, just order a new one, it will arrive long before the device dies. There are also local battery shops, but they will charge a premium for quicker delivery.

    Doing this once every few years is nothing compared to the hassle of taking out the batteries every time you want to charge them.




  • If it’s a popular enough device, Chinese manufacturers will copy its batteries for more than the lifetime of the device itself. I’ve bought new replacement batteries for a smartphone over 10 years old off AliExpress.

    If it’s not, chances are it’s using one of the standard pouch battery sizes (yes, that’s very much a thing, AA is not the only battery standard out there), which Chinese manufacturers will keep producing for longer than the lifetime of the universe.

    The only tangible benefit is the hot-swap feature.

    To me it doesn’t outweigh all the drawbacks of having to charge batteries separately. For a controller like this it literally doesn’t matter, you can just plug it in to charge while playing.

    For VR controllers it does matter more, but I would still much prefer some explicitly rechargeable standard size, e.g. 14650, with a way for the controller to also be a charger still.






  • There are like 3 or 4 different types. NiCd and NiMH have slightly different voltages and vastly different voltage curves, and it’s a gamble whether your device will work with either of them and how long they will last. Li-Ion (with a voltage regulator and charge controller) are quite expensive (compared to a pouch battery of the same capacity) and you won’t be able to buy them in the nearest grocery shop. Also, it’s not safe for the controller to even attempt to charge any of them, so you will need a separate charger, and you’ll have to take the batteries out of the controller, put them in a charger, and then put them back every time they go flat. At that point it’s just so much easier and more convenient to have a pouch-style battery that the controller charges by itself, and you can very easily replace every 5 years or so by just removing a couple screws and slapping a new AliExpress special in there. The key here is to make batteries easily replaceable, of course, ideally without any tool, but a standard philips screwdriver is acceptable too.


  • AA batteries are horrible for the environment if something goes wrong during the disposal process (e.g. you accidentally throw them in the trash). Also it’s yet another thing you have to buy like weekly if you’re going to use the thing. A rechargeable cell that is easy to replace is the perfect sweetspot, and from the videos I’ve seen of the controller it will be very easy to replace the bat. Just unscrew some screws, unplug the battery, plug a new one back in, screw some screws back in (optional). You’ll only have to do this once every 5 years or so if the BMS is good. You’ll be able to get a new bat from AliExpress for very cheap, probably like $10-20 or something, way way cheaper than getting new AAs for those entire 5 years.



  • At the point of first contact IRL, I avoid mentioning anything even vaguely inflammatory: that I’m an immigrant (that one is hard to hide because my pronunciation of the local language is still quite terrible), vegan, atheist, hold anarchist, marxist, and generally anti-capitalist views. If the relationship lasts longer than just a single contact, as I build up trust and goodwill I slowly start seeping out that info, usually in the order that I listed it in.


  • 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.