Everything wrong with the software of my Librem 5

I was really looking forward to this phone. I hoped by the time it finally arrived, after years of waiting, the software issues would be fixed. Some things, like how well Firefox worked on a touch screen, pleasantly surprised me, but a lot of others have left me very disappointed.

  • The keyboard is barely usable. Although I was able to at least get a layout fairly close to Hacker’s Keyboard full 5-row by making a custom one, a lot of the hot keys like Alt and Shift are outright broken no matter what layout I use. Alt+W to copy in Emacs? Impossible. Shift+Ctrl+C? Also doesn’t work because shift is not registered as a hotkey apparently. Holding to copy-paste in the terminal doesn’t work either. Did they not test this at all? Copy-pasting in the terminal should be some of the most basic functionality on a Linux phone, since Linux terminal usage is one of the few things it should be really good for, yet that does not work. My Android phones do better, which is just nuts!
  • Plugging the phone into my LG DualUp monitor for convergence also doesn’t work, for unknown reasons. This, again, should be one of the main things this phone does well compared to my other phones, but it also does not work.
  • Scaling is utterly horrible. Firefox is too cramped at 200% scaling, but on 100% scaling, everything else is too small. This phone really needs per-app scaling settings (or for mobile apps to be more usable on 100% scaling). The one thing I find myself consistently using this phone for over my other two phones is browsing the web, but when using it like this all the other elements do not fit well because apparently they simply did not think of this use case. Also, the keyboard scaling is super wonky as well both in config and how it adapts to different scaling percentages.
  • Also, whenever opening things like the NoScript popup in Firefox, it flickers like crazy and isn’t really usable.
  • The camera lacks settings like exposure time, lacks exposure bracketing, and the auto-focus is really bad. If I could just select which area to focus on instead of having the phone try to base it on the entire image, I would probably find myself using this phone for pictures over my OnePlus One, since both share the exact same sensor. In practice, I have to manually dial it in on a screen that is too low-resolution to see the focus better, resulting in less sharp images than my OnePlus One with more time taken to take them. I really wish this phone could replace my OPO because after LineageOS 18.1 the exposure is no longer working properly, but at the moment, my OPO is still more reliable than my L5. It would be really, really amazing if the Librem 5 could have as much functionality as OpenCamera. If it did, I would probably end up using it as my primary camera until I am able to get an expensive DLSR.
  • Texts keep not going through and I keep having to run that mmcli command to fix it. This, again, should be one of the most important and basic functionalities of the phone, yet it is not reliable.
  • On a less critical note for me at least (since I use one of my other phones for this), navigation is also hardly functional at all. Edit: Upon re-testing, GPS works much better now as it is able to get a fix not on the other side of the world and consistently in the right spot. Still need a good GPS app, but I don’t really blame them for not having one as that is a bit complicated and not core OS functionality.
  • Upon trying to update today, the updator kept loading and loading without doing anything. After a restart and some other finicking I was able to get it to finally update, but shouldn’t the app be a bit more reliable/responsive?
  • Also, there doesn’t seem to be call recording functionality available.

So many different usability issues. I wish I could spend a couple weeks just fixing everything myself – particularly the keyboard, camera, scaling, and weird flickering issue in Firefox. Maybe someday.

2 Likes

While you can’t double-tap to select text in the default terminal app, you can tap and drag to select text. If you tap the function key and then the Menu key, there is a popup menu with buttons for Copy, Paste, and Select All. If you don’t need to copy, you can just tap+hold on the terminal to reveal the popup menu containing the Paste and Select All options.

I can’t really help you here except to point out that you need to use a docking station like the one on Purism’s shop. If you are already using a docking station, I don’t know why it wouldn’t work with pretty much any external display. Maybe @dos can help you troubleshoot this.

For Firefox extensions, you need to put them in the Widget Overflow Menu (≫). You can tap to open the Overflow Menu and then tap whichever extension you want, and its popup will open within the Overflow Menu. This prevents the flickering that you described. If part of the extension popup is cutoff in the Overflow Menu, you can use two fingers to zoom in (the opposite of pinch to zoom out). Once zoomed in, you can use one finger to move around. I think that the next major Firefox-ESR version will move all extensions to a dedicated menu item for extensions, replacing the Overflow Menu. I don’t know how that will affect things on the Librem 5.

As for the flickering for other Firefox elements, like the Bookmarks Menu (☆), App Menu (≡), or Tab Menu (v), these can be fixed with CSS code. By default, the Librem 5 is using the mobile-config-firefox CSS code by the postmarketOS developers.

You might be interested in my customizations, which eliminate all of the flickering and add some unique styling options:

Check my most recent comments in that post, which include updates.

5 Likes

You need to link to the product (make and model) or give us specifications, and tell us what kind of video port you are connecting to on the monitor (HDMI / DisplayPort / USB-C), and tell us what intervening devices, if any, there are between the phone and the monitor (such as a dock or a USB-C to HDMI converter).

Do you have more than one monitor to test with? That is, can you fault isolate as to whether you have no success? or just lack of success with that one LG monitor?

What does “doesn’t work” mean? No video displayed on external monitor? Video displayed on external monitor but doesn’t recognise that it is docked / convergence?

FWIW, I plugged my Librem 5 into two monitors that I had kicking around and video displayed on the external monitor in both cases, out-of-the-box. One of them has a USB-C port (hence only need USB-C cable to connect) and one of them has a conventional HDMI port (hence need USB-C to HDMI converter). The only limitation to that information is that both monitors are only FHD (1920x1080) - so not very demanding from a video point of view.

The starting point for diagnosis is output from lsusb before and after you plug in the monitor. Does anything show up? You may also want to look at system logging to see whether anything is recognised and/or any error messages.

Maybe it was your expectation that it would “just work” - and that is a semi-reasonable generic expectation but the reality is that no one can possibly test every make and model of monitor that anyone in the world might have - and standards never quite work well enough to guarantee that everything just works.

2 Likes

The monitor is the LG 28MQ780-B, the only monitor that currently goes under the name of DualUp. I attempted to use it over USB-C, as it is the only USB-C monitor I have available and my Librem 5 is the only device I have available that can output over USB-C. By “doesn’t work” I mean that I was not able to get the phone to visibly recognise it as a display output; when plugging it in, the monitor says “No signal”. I wish I knew a command to debug what types of display it’s connected to – I have no idea what type of protocol this monitor uses, just that is supports “USB-C” and has a port and input for it. I think that the most likely reason it does not work is either that the monitor uses a protocol the phone does not support, or because it has a very tall and uncommon resolution of 2560x2880. lsusb output (screenshot at 150% scaling):


The dmesg output is pretty interesting. It has many messages about enabling and disabling the OTG pin, and within that wall of text includes:

[14049.918484] usb 3-1: new high-speed USB device number 2 using xhci-hcd
[14050.089429] usb 3-1: New USB device found, idVendor=0bda, idProduct=5411, bcdDevice= 2.03
[14050.089455] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[14050.089461] usb 3-1: Product: USB2.1 Hub
[14050.089466] usb 3-1: Manufacturer: Generic
[14050.089916] usb 3-1: Device is not authorized for usage
[14050.147596] hub 3-1:1.0: USB hub found
[14050.148779] hub 3-1:1.0: 5 ports detected
[14050.213105] usb 3-1: authorized to connect
[14050.351626] bq25890-charger 3-006a: Upstream supply changed: 1.
[14050.351656] bq25890-charger 3-006a: Disabling OTG_EN pin
[14050.494221] bq25890-charger 3-006a: NTC state UNKNOWN
[14050.503936] usb 3-1.3: new full-speed USB device number 3 using xhci-hcd
[14050.553836] bq25890-charger 3-006a: NTC state normal
[14050.607689] usb 3-1.3: New USB device found, idVendor=043e, idProduct=9a39, bcdDevice= 4.18
[14050.607713] usb 3-1.3: New USB device strings: Mfr=1, Product=3, SerialNumber=4
[14050.607719] usb 3-1.3: Product: LG Monitor Controls
[14050.607724] usb 3-1.3: Manufacturer: LG Electronics Inc.
[14050.607729] usb 3-1.3: SerialNumber: 210NTTQ4H481
[14050.608185] usb 3-1.3: Device is not authorized for usage
[14050.621624] bq25890-charger 3-006a: NTC state UNKNOWN
[14050.629987] bq25890-charger 3-006a: NTC state normal
[14050.633183] bq25890-charger 3-006a: Upstream supply changed: 1.
[14050.633205] bq25890-charger 3-006a: Disabling OTG_EN pin
[14050.691062] usb 3-1.3: authorized to connect
[14050.702513] usb 3-1.4: new full-speed USB device number 4 using xhci-hcd
[14050.743282] bq25890-charger 3-006a: Upstream supply changed: 1.
[14050.743309] bq25890-charger 3-006a: Disabling OTG_EN pin
[14050.754034] hid-generic 0003:043E:9A39.0001: hiddev96,hidraw0: USB HID v1.11 Device [LG Electronics Inc. LG Monitor Controls] on usb-xhci-hcd.5.auto-1.3/input0
[14050.757092] usbcore: registered new interface driver usbhid
[14050.757111] usbhid: USB HID core driver
[14050.804960] usb 3-1.4: not running at top speed; connect to a high speed hub
[14050.808081] usb 3-1.4: New USB device found, idVendor=043e, idProduct=9c09, bcdDevice= 0.0a
[14050.808106] usb 3-1.4: New USB device strings: Mfr=17, Product=18, SerialNumber=19
[14050.808113] usb 3-1.4: Product: BillBoard Device
[14050.808118] usb 3-1.4: Manufacturer: Realtek
[14050.808123] usb 3-1.4: SerialNumber: 123456789ABCDEFGH
[14050.808601] usb 3-1.4: Device is not authorized for usage
[14050.823377] usb 3-1.4: authorized to connect
[14051.684742] bq25890-charger 3-006a: Upstream supply changed: 1.
[14051.684773] bq25890-charger 3-006a: Disabling OTG_EN pin
[14051.817637] bq25890-charger 3-006a: NTC state UNKNOWN
[14051.873963] bq25890-charger 3-006a: NTC state normal
[14051.950305] bq25890-charger 3-006a: NTC state UNKNOWN
[14051.958247] bq25890-charger 3-006a: NTC state normal
[14051.964952] bq25890-charger 3-006a: Upstream supply changed: 1.
[14051.964977] bq25890-charger 3-006a: Disabling OTG_EN pin

And after many more messages enabling and disabling OTG:

[14449.834830] tps6598x 0-003f: The interrupt is masked , how did it fire ?? 380100a
[14449.843169] bq25890-charger 3-006a: Upstream supply changed: 0.
[14449.843190] bq25890-charger 3-006a: Disabling OTG_EN pin
[14449.846631] bq25890-charger 3-006a: Upstream supply changed: 0.
[14449.846651] bq25890-charger 3-006a: Disabling OTG_EN pin
[14449.862579] xhci-hcd xhci-hcd.5.auto: xHCI Host Controller
[14449.862612] xhci-hcd xhci-hcd.5.auto: new USB bus registered, assigned bus number 3
[14449.862725] xhci-hcd xhci-hcd.5.auto: hcc params 0x0220fe6c hci version 0x110 quirks 0x0000000000010010
[14449.862769] xhci-hcd xhci-hcd.5.auto: irq 207, io mem 0x38100000
[14449.862893] xhci-hcd xhci-hcd.5.auto: xHCI Host Controller
[14449.862904] xhci-hcd xhci-hcd.5.auto: new USB bus registered, assigned bus number 4
[14449.862915] xhci-hcd xhci-hcd.5.auto: Host supports USB 3.0 SuperSpeed
[14449.863000] bq25890-charger 3-006a: Upstream supply changed: 0.
[14449.863011] bq25890-charger 3-006a: Disabling OTG_EN pin
[14449.863199] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.03
[14449.863208] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[14449.863214] usb usb3: Product: xHCI Host Controller
[14449.863220] usb usb3: Manufacturer: Linux 6.3.0-1-librem5 xhci-hcd
[14449.863225] usb usb3: SerialNumber: xhci-hcd.5.auto
[14449.863846] hub 3-0:1.0: USB hub found
[14449.863895] hub 3-0:1.0: 1 port detected
[14449.864261] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
[14449.864406] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.03
[14449.864415] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[14449.864422] usb usb4: Product: xHCI Host Controller
[14449.864427] usb usb4: Manufacturer: Linux 6.3.0-1-librem5 xhci-hcd
[14449.864433] usb usb4: SerialNumber: xhci-hcd.5.auto
[14449.864948] hub 4-0:1.0: USB hub found
[14449.864994] hub 4-0:1.0: 1 port detected
[14449.865443] xhci-hcd xhci-hcd.5.auto: remove, state 1
[14449.865458] usb usb4: USB disconnect, device number 1
[14449.866116] bq25890-charger 3-006a: Upstream supply changed: 0.
[14449.866149] bq25890-charger 3-006a: Disabling OTG_EN pin
[14449.869753] xhci-hcd xhci-hcd.5.auto: USB bus 4 deregistered
[14449.869787] xhci-hcd xhci-hcd.5.auto: remove, state 1
[14449.869802] usb usb3: USB disconnect, device number 1
[14449.881177] xhci-hcd xhci-hcd.5.auto: USB bus 3 deregistered
[14449.904983] bq25890-charger 3-006a: NTC state UNKNOWN
[14449.935814] bq25890-charger 3-006a: Upstream supply changed: 1.
[14449.935938] bq25890-charger 3-006a: Disabling OTG_EN pin
[14449.938773] bq25890-charger 3-006a: Upstream supply changed: 1.
[14449.938797] bq25890-charger 3-006a: Disabling OTG_EN pin
[14449.945649] bq25890-charger 3-006a: Upstream supply changed: 1.
[14449.945673] bq25890-charger 3-006a: Disabling OTG_EN pin
[14449.947735] bq25890-charger 3-006a: NTC state normal
[14449.986516] bq25890-charger 3-006a: Upstream supply changed: 1.
[14449.986539] bq25890-charger 3-006a: Disabling OTG_EN pin
[14450.142365] bq25890-charger 3-006a: Upstream supply changed: 1.
[14450.142391] bq25890-charger 3-006a: Disabling OTG_EN pin
[14450.148118] bq25890-charger 3-006a: Upstream supply changed: 1.
[14450.148148] bq25890-charger 3-006a: Disabling OTG_EN pin
[14450.221238] bq25890-charger 3-006a: NTC state UNKNOWN
[14450.232793] bq25890-charger 3-006a: NTC state normal
[14450.242962] bq25890-charger 3-006a: NTC state UNKNOWN
[14450.253707] bq25890-charger 3-006a: Upstream supply changed: 1.
[14450.253732] bq25890-charger 3-006a: Disabling OTG_EN pin
[14450.297884] bq25890-charger 3-006a: NTC state normal
[14450.551337] bq25890-charger 3-006a: Upstream supply changed: 1.
[14450.551367] bq25890-charger 3-006a: Disabling OTG_EN pin
[14450.670577] xhci-hcd xhci-hcd.5.auto: xHCI Host Controller
[14450.670610] xhci-hcd xhci-hcd.5.auto: new USB bus registered, assigned bus number 3
[14450.670728] xhci-hcd xhci-hcd.5.auto: hcc params 0x0220fe6c hci version 0x110 quirks 0x0000000000010010
[14450.670771] xhci-hcd xhci-hcd.5.auto: irq 207, io mem 0x38100000
[14450.670889] xhci-hcd xhci-hcd.5.auto: xHCI Host Controller
[14450.670902] xhci-hcd xhci-hcd.5.auto: new USB bus registered, assigned bus number 4
[14450.670913] xhci-hcd xhci-hcd.5.auto: Host supports USB 3.0 SuperSpeed
[14450.670996] bq25890-charger 3-006a: Upstream supply changed: 1.
[14450.671005] bq25890-charger 3-006a: Disabling OTG_EN pin
[14450.671139] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.03
[14450.671148] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[14450.671155] usb usb3: Product: xHCI Host Controller
[14450.671160] usb usb3: Manufacturer: Linux 6.3.0-1-librem5 xhci-hcd
[14450.671164] usb usb3: SerialNumber: xhci-hcd.5.auto
[14450.676607] hub 3-0:1.0: USB hub found
[14450.676657] hub 3-0:1.0: 1 port detected
[14450.679470] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
[14450.679646] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.03
[14450.679657] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[14450.679663] usb usb4: Product: xHCI Host Controller
[14450.679669] usb usb4: Manufacturer: Linux 6.3.0-1-librem5 xhci-hcd
[14450.679673] usb usb4: SerialNumber: xhci-hcd.5.auto
[14450.681310] hub 4-0:1.0: USB hub found
[14450.681354] hub 4-0:1.0: 1 port detected
[14450.682843] bq25890-charger 3-006a: Upstream supply changed: 1.
[14450.682865] bq25890-charger 3-006a: Disabling OTG_EN pin
[14451.018483] usb 4-1: new SuperSpeed USB device number 2 using xhci-hcd
[14451.048688] usb 4-1: New USB device found, idVendor=0bda, idProduct=0411, bcdDevice= 2.03
[14451.048710] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[14451.048717] usb 4-1: Product: USB3.2 Hub
[14451.048722] usb 4-1: Manufacturer: Generic
[14451.049134] usb 4-1: Device is not authorized for usage
[14451.088048] hub 4-1:1.0: USB hub found
[14451.089464] hub 4-1:1.0: 2 ports detected
[14451.094552] usb 4-1: authorized to connect
[14451.195237] bq25890-charger 3-006a: Upstream supply changed: 1.
[14451.195263] bq25890-charger 3-006a: Disabling OTG_EN pin
[14451.338096] bq25890-charger 3-006a: NTC state UNKNOWN
[14451.386309] bq25890-charger 3-006a: NTC state normal
[14451.471020] bq25890-charger 3-006a: NTC state UNKNOWN
[14451.479668] bq25890-charger 3-006a: Upstream supply changed: 1.
[14451.479696] bq25890-charger 3-006a: Disabling OTG_EN pin
[14451.488123] bq25890-charger 3-006a: NTC state normal
[14451.493369] bq25890-charger 3-006a: NTC state UNKNOWN
[14451.544695] bq25890-charger 3-006a: NTC state normal
[14451.586562] bq25890-charger 3-006a: Upstream supply changed: 1.
[14451.586590] bq25890-charger 3-006a: Disabling OTG_EN pin

I think it makes sense that a lot of things would not “just work” for such an innovative phone from a small company that runs GNU/Linux. Nevertheless, I’m starting to get pretty frustrated at just how many relatively basic, mission-critical things do not work, especially for use cases like convergence that are one of the main selling points of this phone over others. No working maps or Android apps is fine, but at the very least terminal usage should be very good as that is where Linux usually excels the most and has the least amount of usability issues. I would be a lot happier if there were updates addressing some of these issues, but I am not seeing much progress at all.

2 Likes

Thanks for the pointer to the CSS customization thread!

You can tap to open the Overflow Menu and then tap whichever extension you want, and its popup will open within the Overflow Menu.

That’s correct. However, the Overflow menu itself flickers in portrait mode so I can’t access the extensions unless switching orientation.
Going to try out CSS customizations to see if that helps.

1 Like

In addition, the emacs issue can be worked around by using esc instead of alt.

Pinching to zoom does not appear to work for NoScript in the overflow menu. It seems to work even worse than normal, since without the overflow window the permissions for the main site are in the non-flickering part, but with the overflow window they are pushed down to the flickering part.

Can it also fix the issue with the text context menu (that copy and paste is in)? I tried to use some about:config tweaks to fix the flickering before but it did not work, so I would be extremely interested in a working solution. To properly fix this issue witthout needing to use annoying workarounds to do anything would be a huge improvement.

1 Like

From the logs, I think the Librem 5 sort of did see that there is a monitor there. Have you looked in Settings to see whether a second display appeared?

From your link, that monitor appears to be (effectively) two FHD monitors stacked one on top of the other. (I think your link is suggesting that if you have a computer that supports two external displays then you can connect both of the video inputs of the monitor to that one computer and thereby have both external displays on the same physical monitor. However the Librem 5 does not support two external displays.)

Another thing to test is … if you connect e.g. a keyboard to one of the USB (“downstream”) ports of the monitor, and connect the monitor via USB-C to the Librem 5 … does the keyboard show up on the Librem 5 and the keyboard can be used successfully on the Librem 5 to type something?

If you don’t make progress with this setup and if you don’t mind investing in more hardware, I would try connecting that monitor either through a dock with HDMI output or through a USB-C to HDMI converter … and hence using one or other of the two HDMI inputs on the monitor (but the monitor also offers DisplayPort as an alternative to HDMI if that happens to suit better what hardware you already have available).

Sorry about the issues you are facing. I hope to comment later on with more suggestions (a lot has been explained/work-arounded in other threads), but here’s the one I can help with most, since I also own that monitor and a Librem 5:

It gets recognized on mine (currently I am on 6.4.0-1-librem5), but it has worked half a year ago, too, so the exact kernel should not matter that much. There are two key issues that make the display not work in a plug and play fashion:

  • it’s not being properly recognized (old EDID data, I guess, Byzantium is Debian 11 and not very new - which might be the issue)
  • the Librem 5 does not support its fuhttps://forums.puri.sm/ll resolution, despite supporting 4K displays - 2560 and 2880 are both more than 2160px, which makes it not work.

You can however, install wlr-randr (sudo apt install wlr-randr), and just run this:

wlr-randr --output DP-1 --custom-mode 1920x2160

I’ve been procrastinating working on a plug and play solution, as a dumb little script (https://github.com/1peter10/linuxphone-tweaks/blob/main/dualup.sh) has been convenient enough for me.

1 Like

It is the same resolution as two QHD displays stacked on top of each other, which is an even larger resolution than two FHD displays. It could also be interpreted as half of a 5K monitor.

It does NOT need two separate video inputs to run, though (otherwise I would have returned it, having bought it as an upgrade from 1280x1024). Both HDMI and DisplayPort show it as one huge 2560x2880 display, not two 1440p ones.

xrandr on my desktop computer:

DisplayPort-1 connected 2560x2880+1280+0 (normal left inverted right x axis y axis) 465mm x 523mm
   2560x2880     59.98*+
   1920x1200     59.98
   1920x1080     60.00    60.00    50.00    59.94    30.00    29.97
   1600x1200     59.98
   1680x1050     59.98
   1280x1024     59.98
   1440x900      59.98
   1280x800      59.98
   1280x720      60.00    50.00    59.94
   1024x768      60.00
   800x600       60.32
   720x576       50.00
   720x480       60.00    59.94
   640x480       60.00    59.94

If I plug my keyboard into it then tell the monitor to use USB-C as USB downtream even when showing the DisplayPort display input, it does indeed let me use my keyboard and mouse on the Librem 5! I’m pleasantly surprised about that, since I remember trying that before and not getting input (probably because I did not do the step of changing the USB downstream to the USB-C port).

I have been planning for quite a while on getting a dock that supports HDMI and DisplayPort eventually. I unfortunately won’t have the budget for this for a few months though – I am not doing that well time and money wise right now, otherwise I would spend some extra time to look through the code of the keyboard and fix it, then the camera, then the scaling, etc. Whenever I do get that it will be very useful to see whether the phone might be rejecting the monitor due to its very high resolution. That would be a very disappointing revaluation if true.

I’m shocked and really happy that someone else has both this obscure phone and this obscure monitor \=(^ヮ^)=/ ! I did not expect that at all.

Thank you so much for letting me know about this utility! Are you plugging it in via USB-C or an adapter? It does not show a DP-1 for me:

Worst fear confirmed! I wonder if this is a hard-coded constraint in hardware, or if a software or driver update could possibly fix it. Is supporting 4K something you find by testing, or is there some documentation I could look at that may lead to figuring out where the code is that controls the display output?

I am on only 6.3.0-1-librem5. Which method did you use to update the kernel?

I am plugging it in via the monitors USB-C connection (no further docks, nothing). Today, when I connected it, I needed to reboot my Librem 5 (it had an uptime of 5 days and I use it with suspend enabled), to make it work.

I installed that kernel manually (apt search should help find the package name), but I am pretty sure it worked with 6.3.*, even 6.1.0, too.

Regarding the hardware constraint: What I wrote is just an assumption. That said, I find the Dual Up way more useful at the resolution I am using it at, as it’s readable without fractional scaling, which would affect performance negatively. (I have to attend my day job now, will be back later.)

Whoops, my bad. You are right. It’s not two FHD displays. It is somewhat larger than two FHD displays, as you say.

Does that remain true if you plug in two computers? i.e. you use two of the inputs of the monitor?

Anyway, as another user has the exact hardware, you will get better info there. I will leave you to it.

Firefox has per site scaling!

PureMaps works very well for me, much better than GoogleMaps on a SpyDroid – a couple of GUI quirks, and OSM doesn’t search actual addresses very well, but no deal-killers. The interface is a breath of fresh air and the GPS itself locks quickly and tracks well.

I am looking to scale the UI, not just the sites. Particularly important for Tree Style Tabs and other addons.

Where were you able to get PureMaps? It does not seem to show up in the PureOS store. The phone has GNOME Maps installed by default, which in addition to not being able to find any addresses, has wonky UI that goes off-screen and does not seem to be optimised for driving at all.

After re-testing the maps I have now realised it is much better than the previous times I tried it though, where the GPS fix would put me on the other side of the world. Now it puts it in the right place, which is a huge improvement. It could actually work (perhaps for those days when my main navigation phone is overheating in the hot weather and killing the GPS app with its overzealous overheating protection) if only I knew a native or web-based GPS application that would get addresses right and was optimised for driving rather than printing out directions beforehand. In addition to GNOME Maps now working, the web version of Google Maps also works much better now, but does not have the same driving-optimised turn-by-turn directions as in the Android app.

Same here with Viewsonic. Not every thing that has a display and an usb-c does work, because there are different standards running all over an usb-c port.

You can find some more information here: https://source.puri.sm/Librem5/community-wiki/-/wikis/Troubleshooting/Docked-mode

The height of the Widget Overflow Menu needs to be increased in order to work properly for extension popups.

In my customizations thread, the code for the Widget Overflow Menu height is located at the bottom of the popups.css file. There is also code for its position in the browser.css and alt-browser.css files.

Be sure to use the updated versions of these files in the Updates comment on that thread. Also note that this comment has some minor updates to some of my other customizations. (I am unable to edit my original post in that thread, thus the comments)

Are you talking about the popup when you tap+hold on an active/selected text field? I just checked, and there was no flickering, however I usually just use the touchscreen keyboard to CTRL+C and CTRL+V since I have those buttons permanently on my keyboard. My keyboard customizations are in this comment in my customization thread.

With that said, there still might be things that I missed. Anyone that finds something should leave a comment in the customization thread so I or others can see it and look into fixing it.

PureMaps Flatpak in the FlatHub repo.

If you’re not against using a web browser for maps, I have a better option:

Use Duckduckgo as a proxy for Apple Maps (requires javascript).

If you do a Duckduckgo search with javascript disabled, it will redirect you to one of the lite versions of Duckduckgo. But if you allow the Duckduckgo site to use javascript, the search results page will have additional options that the lite versions do not. Besides the Images, Videos, and News search tabs, there is now a Maps search tab.

The Maps search on Duckduckgo uses Apple Maps but proxies all connections through Duckduckgo. This means that you will not need to allow Apple domains to use javascript, and you will not directly connect to Apple domains at all.

Here is a quick link to go directly to the Duckduckgo Maps search tab:

https://duckduckgo.com/?q=.&ia=web&iaxm=start

Note that I used a single period character as the search term. You can use whatever you want, but using special characters like period will load a clean Maps page without any searches. Instead it shows the “home” page for the Maps search, which includes quick buttons for searching the currently displayed area of the map for various things (Restaurants, Hotels, Bars, Groceries, Banks, Parking, Coffee, and Parks).

I don’t currently need maps, so I’m waiting for the default Gnome Maps app to support offline maps and GPS navigation (I couldn’t get GPS to work yet).

3 Likes

Time to do what I promised:

You may want to look into Sxmo and their wvkbd, it seems to very close to what you seem to want in terms of layout. If you are considering to make this keyboard work with Phosh, … I have not come across a success story about that. Here’s a pointer on how to start: How to use a different keyboard?

Regarding the Firefox issues: Purism’s fork of mobile-config-firefox has its issues, I find the upstream variant to work better. Remember to adjust the firefox dir in the makefile before trying it out, IIRC it’s firefox-esr instead of firefox on PureOS. If you have patches, I am sure the project is happy to discuss them (please don’t make people copy stuff out of forums like in another thread :slight_smile:

Regarding the Camera: When I got my first Librem 5 in early 2021, it did not work at all. At the beginning of this year, it still was pretty much: You have to move these sliders manually, good luck with that. I am sure more progress is possible, and contributions are welcome. This is the project for the Librem 5 camera: Librem5 / millipixels · GitLab

Regarding scaling and apps: There’s this project I am involved with called LinuxPhoneApps.org. I need to spend more time on it, but I hope it’s still somewhat helpful to save time on figuring out which apps work.

3 Likes

Flathub.

10 chars…

Since I have a second, newer Librem 5 mostly sitting in its box, I decided to try it with my Dual Up (USB-C connection, again), and it does not work, neither with the 6.3. or 6.4. kernel across multiple reboots.

I checked for differences in relevant firmware, and this might suggest a solution:

$ sudo cat /sys/kernel/debug/tps6598x/0-003f/customer_use

returns 0x4c35445000000101 for my older, working Librem 5, and 0x4c35445000000200 for my newer Librem 5, that does not work with the Dual Up.

Update/edit:

The three digits at the end are the version, so 200 is 0.2.0, 201 is 0.2.1 (also did not work for me with the Dual Up), and I guessed that 101 is 0.1.1. I have now flashed this file tps65982-librem5-dp-alt-mode.bin · 11d67f2b1b62aa75a6b6ff353be70811c7a14a94 · Librem5 / firmware-tps6598x-nonfree · GitLab to my newer Librem 5 and it now works with the Dual Up - it even works OOTB in “split-screen mode”.

3 Likes

That is the firmware for the USB PD controller. I made a post listing upgradeable firmware, but I can no longer edit it due to its age; I would add the touchscreen firmware to the list if I could.

2 Likes