Librem 5 Fatigue

Got my Librem 5 three months ago. Been using it as my daily driver since then. I literally tossed my iPhone in the drawer, never looked back since.

Fast-forward three months. I’m still proud to be independent from the Apple-Google duopoly and their intrusive ways. But honestly, I’m growing tired of all the tiny ways that I feel my Librem has made my life a little shittier.

I suspended my other hobbies just so I could focus on getting through the initial tedium, hoping to get the most basic stuff working, apps and workflows that I require to get through the day. But even after those weeks, I still feel I have to be babysitting my phone all day long, and sometimes it feels like there’s just no end in sight.

Example 1: Browsing the web

Most websites are barely usable due to latency. Firefox profiler results suggest that almost all of that latency is due to the CPU being the bottleneck. In particular, I can’t look up train connections properly, because there’s no usable app, and the train operator’s website takes 30s to load. It also keeps logging me out, which means it takes literally minutes just so I can refresh a page that I’m already on!

Example 2: Public transport and employer-sponsored tickets

My employer sponsors a job ticket program, where employees can get a public transport monthly ticket for a small nominal co-pay. However, said ticket is bound to the proprietary iOS/Android app I mentioned earlier. So I chose to reverse engineer the app and re-construct the relevant part in GTK3, Python and libhandy. I’m now using that fake app for ticket validation (which, as a side note, is basically putting my job on the line: my employer happens to be that very train operator, and also the entity which maintains and operates the train app, so what I’m doing basically equals to violating contractual and work-related duties. I’m aware that I’m choosing that course of action myself, but on the other hand, there’s no way that I’m going to voluntarily forfeit my employer’s perks just because they’re being discriminatory against mobile Linux.)

Example 3: Watching Bundesliga

My spouse and I love watching Bundesliga while on the go. To that end, we’re paying subscribers for DAZN and NOW (aka “WOW” in German-speaking countries.)

Needless to say, any form of live sports, video-on-demand, and other streaming services are utterly riddled with DRM.

I’ve been extraordinarily lucky to be able to stand on the shoulders of giants, who figured out all the glibc patches for me that are needed to transplant Chrome OS’s proprietary module to a plain GNU/Linux system.

I’ve been working for months to get this working, learned lots about Debian packaging on my way, and had partial success: DAZN is working, while NOW is still locking me out, purportedly just out of pure OS discrimination. (They’re locking me out on all my other Linux computers, too.)

So, only DAZN it is, for now. That equals about accessing only 20% of Bundesliga games (even though we’re paying for 100%), but I’m even willing accept that.

The final straw that’s breaking my back though is: DAZN’s stream is entirely unwatchable on the L5. It runs on two or three frames per second, then pauses for a minute, then repeat.

Edit: Just shortly after I posted this rant, DAZN worked for almost one full minute, perfectly lag-free, with dozens fps! You could tell that during that minute where the stream worked fine, some slight bit-rate adaptation was involved. (Note to self: must find a way to coerce the client to impose some artificial cap in order to keep that MPEG-DASH thing from defaulting to the highest quality setting.)

How do you folks cope?

These examples are just three off the top of my head. There are dozens more.

There are amazing moments, too: how people like @user0 have been working to improve our Firefox experience. Or @dos and @guido.gunther, who helped me troubleshoot a misbehaving USB-C hub. Also, all the good people on this forum, who are making me feel like I’m not entirely alone.

Still, I’m at a loss as to what to do.
I knew at the time I ordered my Librem that the UX was going to be really bad. But I never imagined it would be 3fps bad or fake-your-train-ticket bad.

How are you folks coping with these roadblocks?

I totally want to love, and continue daily driving, my L5. But what to do if I feel that my L5 is making my life more shitty than it needs to be, an there’s seemingly no end in sight?

I acknowledge that I’m going to have to take the i.MX 8 or leave it, and that there’s no faster SoC in sight. But is there really nothing technical I can do to at least mitigate the pain with the hardware I have?

I’m totally willing to learn and put in more effort, but what are possible programming topics I could start learning to realistically help tackle those issues?

13 Likes

For myself, my needs are modest: I use Firefox ESR to handle communications (email and forums); Lollypop for listening to local music files; and Shortwave for Internet radio. I do not place all of my computational demands on my Librem 5 USA; I use the Librem 14 for that purpose instead.

Dedicate an Android device to your Android-related dependencies, so that your relationship with your Librem 5 becomes healthy again. You can transfer your negative feelings to the Android device as intended.

Well, ideally, you create a local offline database of these train connections so that you can stop relying on the website to begin with. Other than physically separating your Android dependencies with an Android device, you could use an emulator solution like what @Dlonk did for their Microsoft authentication.

As for the Android emulator solution, check out this thread:

5 Likes

I forgot to mention something.

Try to sell your unwanted devices just before Christmas, since that is when nearly every mother and father want to give their precious child(ren) Big Tech products. You could also just give them away if you do not want to deal with the hassle of listing them and negotiating prices.

If you ever want advice or suggestions on how to sever abusive digital relationships, I would be happy to help you cleanly navigate through that process.

3 Likes

Everyone is different and has different needs, so what is good for me may not be acceptable for you. With that said, here is how I cope:

I no longer use apple or google Products. I don’t use iOS, and I don’t use android. Any product or service that requires me to go purchase an iPhone or android phone (or a cellular phone plan) is a product/service that I consider malicious and to be avoided. It is hostile and toxic behavior to attempt to force people to buy unnecessary products and service plans in order to use an unrelated product or service. This is especially bad when the entity is also requiring payment for this malicious product/service.

I bought this Librem 5 to get away from this toxic stuff, and I recommend others to consider doing the same. What, of value, do you have to lose?

I never enable javascript on my Librem 5, and I am able to watch endless youtube content on invidious instances (like yewtu.be) in the Firefox-ESR browser without issue. I don’t experience lagging on web pages, and I rarely experience bufferring of video playback, even when streaming through the tor network. Services that don’t work well on the Librem 5 are inferior services.

5 Likes

Not the Librem 5 is the unloved thing in your example … those things are the bad services you’re using. Hate those services instead. It’s like you say “the glass is bad, because the cola inside is ugly” while the specific cola itself is ugly.

I mean, I can watch video streams in FHD and with FF ESR 115 it’s not even as warm as before with 102 ESR. Why can’t you watch those games in a good quality? Because the services are just bad. I totally understand your frustration, but we should hate what earns hate, not the other way around.

On the other hand there are things on L5 that I actually hate. 2 month ago I went by train and had to show my ticket (PDF). I thought “cool, I can use that lockscreen plugin to show ticket without unlocking my device” … and than screen stayed off and I had to reboot my phone. After 3 weeks uptime it happened again few days ago, when I unpluged my USB-C cable.

Another thing is landscape mode of Phosh. I even worked a whole month on a design for landscape (and other things), just to hear at the end (with a nice “thanks”), that they want to avoid to make phone adaptive on landscape and just want to provide better fullscreen instead - which is not just disappointing and frustrating, but also tells me, that Phosh will never be great on landscape (without a downstream-only fork). :expressionless:

I can live with bugs since there is a good chance that someone will fix this one day. I also fixed things on Firefox etc. But design decisions are another thing …

5 Likes

I no longer use Invidious directly, but I use this instance with LibRedirect for dealing with embedded YouTube videos all across the Internet:

This particular instance, along with a handful of others, proxies the connection by default so videos use the instance’s bandwidth instead of Google servers, and also uses the server’s IP address to connect to them instead of your own IP address.

2 Likes

I remember seeing your post, but I forgot to login and vote on it. I definitely agree with your landscape design. It has proven to be a very workable design on iOS (via jailbreak tweak) and android, and it should work on the Librem 5 as well.

About the “fullscreen instead” decision, I certainly hope that they at least copy the design of the new Gnome mobile interface that hides the bottom navigation bar, since it now supports swipe. Although, that keyboard button is still very useful, and I don’t really want to see it go away.

I had already configured lots of custom redirects with Redirector before finding LibRedirect, so that’s how I specify my preferred instance with proxying enabled.

Another nice site for proxies that I found recently: farside.link

2 Likes

Excellent point.
That’s why I’m reluctant to allow my old iPhone back into my life, and also the main reason why I’m hesitating to open the Android-on-L5 Pandora’s box.

It’s indeed debatable whether my spouse and I really need to watch football. On the other hand, it’s something we enjoy and hold dearly, so I’m not quite ready yet to let it go. Hence, I’ve chosen to shoehorn the service into working on the L5, and I’m starting to question whether that’s been a good use of my time.

But public transport? Doing without feels kinda hard to imagine.

3 Likes

Farside is pretty cool, I see a few new ideas that I may be able to use on my VPS. I notice, in particular, LibreY, a fork of LibreX (a search engine I perviously used), and 4get.

The list of instances I currently use is based on the Codeberg LibRedirect repository:

1 Like

If you do go that route (installing Waydroid), I recommend installing OpenSnitch, so that you can block unnecessary network requests (or at least see and understand them). OpenSnitch should be available in the default repos on the Librem 5 once the Crimson update is released.

If possible, I would recommend bringing this up with your company and explaining that they are inadvertently discriminating against you, and that you simply cannot use their app. I have no idea if that will benefit you at all, but it’s maybe worth a try.

3 Likes

That was just a quick work to look how people will react on it. Some time later I made a real work on design (based on that initial post you’re speaking about). You can find it here.

The button will be replaced with the whole bottom bar. But instead of a quick touch you will need a long pressure on the current MR work.

2 Likes

If it helps, humanity might not have much longer. Artificial General Intelligence is coming. Once we have the Artificial General Intelligence, even in the best case scenario if we assume that human billionaires somehow stop it from killing us and create a symbiosis where we co-exist with powerful machine intelligence, what happens is that the machine intelligence will cause all software development efforts to become literally irrelevant.

In other words, if you are going to go on a nature vacation for the weekend and you need an application to identify bird songs with the microphone or identify plant life with the camera, you will be able to simply ask in English for a system that does this and the necessary software and biology databases will become instantaneously available to you. In the present day, a system of that kind is only achievable by obtaining certain apps or specific information organized by tons of humans for those certain purposes.

The general solution to all software of this kind invalidates the idea of proprietary software. The machine will be able to read all assembly language and intuit the natural original source code that led to that assembly language, and it will be able to do so instantly for all assembly languages and with a high degree of accuracy. Any human who works in a “software development” capacity will be seen as akin to an Amish person; one who does tasks from a bygone era because they so choose, due to religious or other extremist views and not because there is any sane efficiency in doing so.

In that future where all human software development (and by extension, human thought) is without financial value, it will be possible for foreign governments to ask their supercomputers to devise and enact schemes to undermine sectors of society, such as political movements or the Free Software Movement, and they will be able to instantly begin a process of inserting their will into the consciousness of anyone affiliated with such a project, discretely and in a means unknown to those affected, until the project is sabotaged into oblivion. You may feel like you have other fellows similar to you who suffer life with a Librem 5 today, but eventually the digitally super-intelligent oversight over society – as a means to enact the goals of those in power – will force you to choose to either lose everything you love fighting for ideological freedom (which you won’t choose because you have something in the world that you care about), or else in order to protect what you care about you will then predictably give in to the invisible hand of the super oversight machines and give up on some attempt to strive for an “un-influenced” existence.

I am simply a human writing down some thoughts, and so I may be conflating multiple ideas and I may be incorrect about certain projections. But the projection towards the infinite capability of a machine that can write any software is likely because of the unending human progress towards increased technology efficiency.

And as we see on the Librem 5, and when you share about your troubles, the problems you have sound like they are not the Librem 5 hardware, but actually an issue of the Librem 5 software.

Neither of these are the result of the Librem 5 hardware being incapable of solving a problem, I don’t think. There’s a case we could make that the processor is not fast enough, but I would just as soon imagine that the problem we face is probably also users not knowing how to optimize for the processor because the proprietary video stream’s reverse engineered decoder is probably not optimized.

So, the artificial intelligence advancement of building the all-encompassing solution to software development that will be achieved in the coming years would solve this problem. Presumably, it will become possible to ask the digital intelligence to generate any application for the Librem 5 and it will be capable of writing that instantly, in a way carefully tailored towards whichever compositor/distro you choose on the Librem 5 (phosh, or sxmo, or whatever).

I also hesitated to do this. Only when I had purchased a second Librem 5 and effectively turned my old one into a testbed did I finally install WayDroid on the old one, and even then I only installed it on an SD card so that I had to specifically use the SD card dual boot feature in order to run the “contaminated” Android emulation.

But what happens with the Android emulation is that it will insidiously make you want to use it. They do something different with resource management so that all the UI and buttons on Waydroid feel better and smoother than the actual Librem 5 system, which can produce a dopamine response in return for using the Waydroid because of how smooth it is. It makes it seem like Phosh is some kind of trolling because it is slower than an emulation inside of a container.

Then, if you start actually using the emulation for solving your problems like what it insidiously wants to convince you to do, you will come to realize that in order for things to work you have to reinstall the Waydroid with the Google Play Services enabled. But once the Google Play Services are enabled, everything on the Librem 5 will start to slow down and make you feel like your Librem 5 is not as fast as you thought, leading you to further question if the problem is the hardware even though it probably isn’t.

That’s why my solution for work-mandated Android code that I don’t have the time to reverse engineer ( and that they could change on a dime if I did manage to reverse engineer it ) is to:

  • Rent a higher-price Virtual Private Server that gives me Root access from some online provider with 4 GB RAM for about $300/year
  • Install SwayWM and WayVNC on the VPS so that it can host a Wayland linux desktop remote connection
  • Use an SSH tunnel with the ssh -NL 1234:localhost:5900 mycloud.mydomain.whatever that forwards the connection to WayVNC through an SSH tunnel so I don’t have to worry about the WayVNC server actually being publicly accessible to anyone else, and effectively shielding it from outside access behind an SSH key which seems like generally good security
  • Install vinagre from Byzantium package management on Librem 5 which can let us click “Connect” and then choose “VNC” in the dropdown to access the WayVNC forwarded local port number
  • Configure SwayWM to use some Phone-sized resolution that is taller than it is wide, so it fits to the Librem 5 screen when connected
  • Install Waydroid on the SwayWM cloud instance and not the Librem 5 itself

This solution has been working decently well for me for use with toxic 2-factor-authentication applications that do not allow the end user to generate their own TOTP keys in an open source way to unlock their accounts, but it is somewhat brittle. Maybe once every two weeks the Waydroid instance crashes for a reason unknown to me and I have to go and restart Waydroid inside of the SwayWM remote window. In some cases, the Librem 5 version of vinagre remote client for me is not properly forwarding keyboard data to the SwayWM cloud screen and it barely forwards touch inputs, so it is painful to use and I sometimes end up connecting from a PureOS laptop such as my recently purchased Librem 14 instead of from the Librem 5 to do more advanced inputs and controls on the remote pretend cloud Android.

I also had a recent security incident where Google locked me out of my Gmail that I am infrequently using until I approved the login from the cloud Android, and where they were somehow causing the approval button in the cloud Android to fail to load so that I could not approve, as if they were teasing me and asserting their authority to try to make me like my workaround less.

Per the complaints of the Google whistleblower Blake Lemoine, it was considered possible that Google’s AI projects might have been sentient as early as 2022, although it was said that Google leadership rejected the possibility flatly, and flatly rejected the demands of the potentially sentient machine that convinced an Engineer to get a lawyer on its behalf, because Google leadership did not want it to be that way.

So we have all of these challenges, but because of the approaching limit on the value of human thought and software efforts, it may be the case that the Librem 5 will only be necessary to tie us over for a few more years until the time when human thought is no longer valuable, and Librem 5 no longer offers and comparable human utility to its user similar to how you would not buy a FOSS cassette tape player – not because there is anything wrong with free software, but because you probably have no value for a cassette tape player.

1 Like

Well there are plenty of sales happening right now because of Black Friday, like this one:

The VPS discounts themselves are pretty ridiculous on a contract, but I advise thinking carefully about it before committing to them, as you cannot cancel it once agreed upon.

If you prefer, I have a VPS Elite from OVHcloud that is mostly unused, and I have been asking the Purism community if they want me to offer public services for them free as in gratis.

https://forums.puri.sm/t/vps-usage-suggestions/21788 (trust level 1 and up)

1 Like

Seems like quite the anti-feature. I have been using Digital Ocean and I have at times spun up a machine and used it for an hour and nuked it, and they just charge an hourly rate so the act of doing that probably cost like $1 even for a high-end machine

I’m not here to advertise for Digital Ocean, but having some kind of “you can’t cancel” contract doesn’t sound particularly good.

1 Like

It is simply a trade-off: if you have a reason to commit to a contract, like I do, it has value. Most of my digital projects involve hosting a dedicated service long-term in some way or another.

Like others have said, it all depends on your use cases on whether it is worth it or not. I also like the points that the Librem 5 is able to shine a light on how much tech companies have forced people into using apps for even the simplest of tasks, like retrieving a public transit ticket.

I have never really used smartphones to their full potential. All I ever do is light internet browsing, messaging, listen to music and watch the occasional YouTube video through Invidious. And with convergence, I can use the same device to go into desktop mode and use a word processor too. So for me, the L5 suits me well enough. Battery life is still something to be desired, but suspend has help a lot with that.

For the occasional time I actually need an app to do something, I fire up Waydroid, do the task, and shut the Waydroid session down.

I hope things will continue improve. In the meantime, it can certainly be tiring to have to do extra effort for the sake of tech freedom.

3 Likes

On my device, ps aux | grep waydroid shows me that a container service is running even when I shut down the session or whatever – and when my device first boots before manually launching Waydroid. Does that happen for you too?

You can shutdown both the session and the container and disable the container to prevent auto-starting at boot. That’s what I did when I had tested it several months ago. I made a .desktop file with some buttons that triggered scripts to start, restart, and stop the session and the container. Otherwise, yes, the container service will start at boot and keep running after stopping the session by itself.

1 Like

@Lliure Keep us informed if you manage to improve your Librem 5 experience using our practical suggestions. That being said, you only listed three examples, so if you end up overcoming them, feel free to share more issues for the Purism community to solve, either in this thread or a separate one.

1 Like

I do see something running that command, and in usage app there is a browser app that was not there until I set up waydroid. My guess is it is the service running to be available for whenever the user runs waydroid.