UPERFECT X Mini lapdock works with Librem 5

Like a lot of other lapdocks this accepts HDMI input and comes with cables so you can connect devices like Raspberry Pis to it.

I always use phosh. It is designed to be a convergent DE and some folks internally do use it on their desktop computers as well. It uses relatively standard keyboard bindings that behave like you would expect in desktop mode and is featureful enough for me, while still being lightweight.

I used to be incredibly opinionated and picky about DE features, but that was two decades ago when I was using things like enlightenment and fluxbox. I used to very carefully place windows in specific locations and use those window managers’ window memory features to restore those precise locations. Once it became clear that most modern shells weren’t going to support window memory, and I switched to one, I found that my real needs were actually pretty simple. Ultimately these days what I need out of a DE is a way to launch applications with a keybinding (super->a or super->s in phosh), tile and maximize windows with a keybinding (super->right/left-up in phosh), and alt-tab through open windows. Phosh also has a keybinding that lets you move windows between screens (shift->super->left/right) which is handy when docked.


It’s not too time-consuming to set up a basic test, so I just started a new one similar one from last time only focused more on real use for someone concerned about battery life, without going to extremes. So in this case the modem is off, cameras/mic are off (like I normally do) but wifi is on, and I set the lapdock backlight brightness to 50%. I must say the screen still seems nice and bright even at 50% backlight. I could probably get away with much lower brightness, but I’ll do that in a future test.


So we are now at 2 hours, 14 minutes uptime, similar to the previous test. Here were the results from the previous 100% backlight, full hardware on:

With this current test I only had WiFi on, and backlight was set to 50%. The Librem 5 is at 95% charge, and the X Mini is at 58%. I will try to check this more frequently and update this when it gets to 50% so we can extrapolate easier from there.

[Update from original post] OK so the X Mini is at 50% charge at 2 hours, 36 minutes. The Librem 5 is at 94% charge. So presumably we’d get 5 hours of battery life in this mode.

I think for the next test I will see how long the X Mini lasts at 50% brightness without it charging the Librem 5.


So there is a way to control whether it is charging the L5?

Do you know if the Nextdock 360 can also toggle such a thing?

I’ve already ordered a X Mini, because I think the form factor is MUCH more my speed. Being able to control charging on any of these laptop docks would be a nice feature regardless.

Yes the X Mini has a hot key (and an on-screen GUI you can trigger) that lets you control that. The Nexdock does it via an on-screen GUI that lets you tweak other settings.


I also ended up getting a USB-C -> 12V barrel adapter that is working well, so I can use existing USB-C charging infrastructure: https://www.amazon.com/dp/B0B9QVLSBT

Hah. I had a somewhat similar experience. A simplistic look based on a complicated setup (fluxbox, stumpWM, most recently swaywm). I avoided Gnome, KDE and other DEs, primarily because of the bloat and, for some of them, for being to politically annoying. Still, you and others in the industry decided to put your money on Gnome project so I thought, oh whatever. These days at least, a few shortcuts involving the SUPER button will emulate tiling behaviour. The major Gnome problem is that configuration is all over the place. Switching off stupid shortcuts that interfered with my Emacs setup was a headache. But, it works now.

Sorry for the digression.

Today I am starting a new test. This will be the same as the previous test (Librem 5 with WiFi on, modem and mic/cameras off), lapdock brightness at 50%, but this time I have disabled charging so each device is running on its own battery. I also needed to disable suspend on the Librem 5 and screen blank (things that trigger when on battery power), as the screen didn’t blank when charging. Obviously the Librem 5 will discharge faster without screen blank, but I think it makes it closer to the previous test. All together this will hopefully give people a decent means of comparison for the use case of maximizing docked run time.

1 Like

OK it has been 2 hours and 14 minutes like in the previous test. In the previous test (WiFi on, modem, mic/camera off, lapdock charging Librem 5, lapdock backlight set to 50%) here were the results:

With this current test the lapdock is no longer charging the Librem 5 but the rest of the setup is essentially the same. The Librem 5 is at 84% and the lapdock is at 76%. I will update this when the lapdock gets to 50% so we can compare against the previous tests.


Something odd happened with this last experiment. After about 4 hours, the lapdock itself was down to about 53%, but the Librem 5 battery meter jumped from somewhere between 60 and 70% (I wasn’t really looking at it closely other than to notice it was quite a bit higher than the lapdock, I was mostly focused on the lapdock battery) down to 10%, then 5, 4, 3… within a minute, so I decided to end the experiment and plug the phone back in.

I don’t believe that there was suddenly a larger power draw that caused it to drain, and I’m asking the team for any suggestions as to the cause. My first guess is either something with this now pretty old battery in this Librem 5 (maybe a failing cell or something?), or something being off with power estimates. I don’t have full knowledge (at least yet, I will soon! :slight_smile: ) on all the factors that go into that calculation, but I imagine if the battery voltage is a major part of it and voltage dropped dramatically in this pretty old battery, it could cause that.


Looks like after chatting with the actual experts, that my battery calibration might be off due to the odd way I normally use my Librem 5 (almost always plugged in either to the wall or to a dock that is doing some level of trickle charge), and rarely have it drop below 90% unless I’m out for an extended amount of time, which is somewhat rare these days. So I don’t really know whether that 10% and lower reading was accurate, or really any of the readings.

I’m going to reset the calibration (power off, remove and re-insert battery, drain to empty where the phone shuts off, then charge to 100%) and then I guess the above Librem 5 battery readings are somewhat questionable so I will probably start by re-doing my most recent test and then go from there.


OK, so I have recalibrated my battery and I’m glad I did because this does show more realistic numbers. I admit I was surprised before when the L5 didn’t seem to drain as fast as I was expected when docked, and behaved more like when it wasn’t docked.

In any case here are the new numbers after 2 hours, 14 minutes of the fully-charged Librem 5 attached to the X Mini that is set at 50% brightness and not charging the Librem 5. The Librem 5 itself has WiFi on, modem and mic/camera off, and I have disabled suspend and disabled automatic dimming, so the screen itself has been on this entire time, to try to simulate active run time (even though obviously this was mostly idle and during active use you could expect more battery drain depending on the apps you are using).

In any case, after 2 hours, 14 minutes, the Librem 5 is at 56% charge, and the X Mini at 77%. Given I know that docking a Librem 5 does increase power consumption quite a bit, the numbers don’t really surprise me. Based on the current battery life estimates on the Librem 5, it looks like you could get about 5 hours of total run time when docked if the lapdock isn’t charging the Librem 5. The lapdock will outlast the Librem 5 in this case.

I assume my poor battery calibration before also skewed my previous runtime tests so I might revisit the second one (WiFi on, modem, mic/camera off, X Mini backlight 50%, charging L5) to have a more accurate means of comparison.


And I’m pretty sure that you don’t want that (unless you had a second phone, or at least a second phone battery). So you may want an audio alert on the Librem 5 when it gets too low (as I have) and then manually change the lapdock over to charging the Librem 5.

I wonder whether the lapdock can offer an interface whereby the phone itself can control whether the lapdock charges the phone. Presumably it is already offering a bunch of USB devices.

Is it possible and reasonable to operate this with the lapdock screen on and the phone screen off? Is there much benefit in having the phone screen on?

I re-did test 2 now that my battery is re-calibrated. This test is Librem 5 with WiFi on, modem, camera/mic off, X Mini backlight at 50%, and charging the Librem 5. This time I just ran the test straight to about 50% battery on the X Mini (49% technically, didn’t catch it in time):

2 hours, 46 minutes, Librem 5 at 81% charge, X Mini at 49% charge. So extrapolating from there you should get about 5.5 hours run time with the X Mini charging the Librem 5 and backlight at 50%, and at the end have a Librem 5 at around 60% charge.

Yes, this isn’t a mode I ever plan to use, but some folks wanted to see maximum docked runtime, whatever that required. With the last two tests I ran, I actually think having the lapdock at around 50% backlight, charging the Librem 5, is the best approach (~5:30hrs total run time, versus ~5hrs). It not only lasts longer than if the X Mini isn’t charging the Librem 5 (because the Librem 5 drains faster), when the X Mini does eventually give out, you still have quite a bit of life in the Librem 5 (now longer life because it isn’t driving an extra display).

I did it this way to simulate what it would be like to actively use this as a laptop the whole time, because if you did, the screen on the Librem 5 wouldn’t blank. You can definitely tell the Librem 5 to just use the lapdock display and I imagine it would save some power this way.


At the risk of inspiring yet another test, what was the L5’s brightness set to?

Where I normally have it when indoors, which is around 80% (just guessing from the slider).

So to summarize, it’s probably better for maximum use in docked mode to have the X Mini (and probably any other dock) charge the Librem 5 while docked. This is because without charging, the Librem 5 discharges much faster than the dock due to the extra power draw when docked.

With the same setup (50% backlight on dock, L5 w/ WiFI on, modem/mic/camera off, mostly idle) for both tests:

Charging: 5.5 hours estimated total run time, afterwards L5 at ~60% charge, dock at 0% charge
Not charging: 5 hours estimated total run time, afterwards L5 at 0% charge, dock at ~50% charge


I just got a UPERFECT-X-Mini and connected it to my L5, but although the dock works as expected out of the box it isnt recognized by phosh-mobile-settings and I have no gsettings schema for touchscreen other than org.gnome.settings-daemon.peripherals.touchscreen.

How did you get touch and rotation working in your setup?

1 Like

Phosh mobile settings was just updated to include this dock. 21.1 I think. I don’t think it has hit the repo just yet but I pulled it down manually. I’ll try to find a link for you later.

1 Like

Thanks, phosh mobile settings updated this morning and now it works.