Initial Librem5/Nexdock360 impression

ND battery will last a lot more if you don’t charge the phone while using it, I use to use it when the phone is fully charge and keep the screen of the phone off as well, the behavior is the same with my Samsung device.

Regarding the use of the ND display only how do you manage it? I’m doing it manually but I’m trying to do it automatically using udev rules and some script to do it.

I’m using kanshi (a deamon which changes profile according on available displays) with this config (~/.config/kanshi/config)

profile nexdock {
        output DSI-1 disable
	output DP-1 enable

profile default { 
	output DSI-1 enable scale 2

which works OK when plugging in the nexdock (L5 is turned off, ND is used). But as with the default config manager, as soon as I unplug the ND, if the L5 display is off, it automatically reboots (or maybe just logs out and in again)

1 Like

I didn’t know about that daemon, I’ll give it a try.

Maybe phosh/phoc is restarting every time you unplug the ND, I think we have to do something else when plugging/unpluging it as the device needs to change the way it works from Docked to Mobile mode, this changes some values like if the windows will be maximized by default, if it will show the adaptive apps only or the OSK when typing text.

Stop right there. Backgrounds with GNOME? What kind of hackery is this! Please explain. Lol.

I haven’t gotten Variety to run properly yet to change the BGs for me.

Do you have any complaints about the touchpad? I looked into the NexDock for a while and that was the single biggest complaint I noticed.

Could be this kind: TUTORIAL: Add a Custom Background in Phosh

1 Like

I’m using it as my bluetooth mouse isn’t working atm, I’ve got to complaints:

  • The lack of middle mouse emulation using triple tap, in android it opens the app menu and here it just writes the letter q.

  • The touchpad doesn’t get disabled while typing so it can be a mess if you don’t do it carefully.

Maybe both can be fixed by software but I’ve been busy to try this.

1 Like

This can be changed with Gnome Settings now I just tried it, but there is no option to set different backgrounds per monitor.

I hate all touchpads, but this is really awful. It triggers multiple times while writing (no palm detection) and in the software there’s still no way to disable touchpad while writing, so you need to be extra careful. Some of the multi-finger gestures are working (Alt-tab on 3 fingers up). I rarely use the touchpad, so for me it would be ok just to press the touchscreen when I need to (there’s a fn key disabling the touchpad) but the touchscreen is not working correctly yet (when both screen are enabled, the lower-right part of the ND touchscreen moves things on the L5 display, so it’s technically working, but unsupported in phosh).


Something I’d really like to add is the automatic switch of the keyboard layout from my location to US Intl. Please, tell me if you know a command for changing it.

Edit: there’s Super-space, but that’s one keystroke more

Yes, I being using this but I found a way to do it in the squeekboard repository:
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'es')]"

The first one is the one you’ll choose so to come back to my personal layout I use:

gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'es'), ('xkb', 'us')]"

Can this be added to Kanshi?

Oh yes, here you go:

profile nexdock {
	output DSI-1 disable
	output DP-1 enable
	exec gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us+intl'), ('xkb', 'it')]"
	exec gsettings set org.gtk.Settings.Purism is-phone false

profile default { 
	output DSI-1 enable scale 2
	exec gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'it'), ('xkb', 'us+intl')]"
	exec gsettings set org.gtk.Settings.Purism is-phone true

I also added the switch between docked-undocked mode because sometimes phosh stays in docked mode (when the switch happens with kanshi) and I’m left with an unusable phone (even by rebooting it, I can’t have access to the keyboard). This might (but I’ve not tested it enough) fix this.

1 Like

Yes, that happens to me before and I forgot how I got it fixed, how do you enable Kanshi? I installed it from the repositories and created the config file, it is something else required like a systemd service or so?

Ohhhh yeah. Totally forgot about that! :crazy_face: Thanks.

right now I’m running it manually (as I discovered it few days ago, I’ve not looked at the systemd service yet. I noticed the arch package has one, but I don’t think it will work as it is, probably it does require some changes)

Just got a Nexdock360, too. I bought it as a replacement for my secondary screen, which is larger, needs some extra keyboard and a lot of space and cabelling, as a front end for small devices.

My very first impressions are:

  • small and light, looks and feels good
  • for a 13.3" device it has pretty large keys, same size as a normal keyboard.
  • glare display (!)
  • connection with Librem5 was smooth and simple

Unfortunately, there are some features, that do not yet work out of the box here at all, yet:

  • Touch screen. While i can control the nexdock settings using the touch screen, it is not recognized by the L5, yet. Hmm, i can confirm @nico202 findings. Touching the right side of the screen has some scrolling effect on the L5, while the cursor stays where it is, meaning that both geometry and buttons are messed up in some way. Most likely a problem with the usbhid driver and/or the nexdock’s usb descriptors.

  • Speaker. The nexdock’s speakers are not recognized by L5.

Random notes:

  • Screen blanking, power management, convergence still has some software and usability glitches with funny effects. Anyway, it is almost there. Using “Display > Single Display” properly blanks L5’s screen and let the nexdock appear as a notebook. I could control everything from the nexdock. When L5 sends a blank, the nexdock shows a bright white screen announcing to be “ready to connect”. Pressing a key then wakes the L5 up to show the login screen on the nexdock. Very nice! But letting the nexdock be “ready to connect” for a while (2-3 min), it switches off (saying “power saving”). By this, the L5 and nexdock get disconnected, so the login screen then appears on the L5 and the nexdock needs to be configured again as the primary screen. Perhaps, something along the kanshi material above, i.e. a more persistent configuration would improve usability on L5’s side, but the nexdock does also not behave optimal here, showing a white screen, while a black one was intended. The only alternative is to disable screen blanking completely. So that works, but is not fully usable in practice. Hmm, i think this needs to be fixed on both sides.

  • Touchpad. I do have the same problem with touchpads as @nico202 does. One can deactivate it by a function key. My palm rest preferences aside, it seems to work well.

  • The L5’s battery appears to be very slowly charging (1-2%/h) when connected to the nexdock with varying (shrinking and growing) estimates. I’m not sure how loading the L5 via nexdock will interact with the nexdock’s power saving and blanking when the screen is turned off.

  • The nexdock’s USB-C “data” port works well with a docking station. I tried at least a mouse and wired network. Hmm, wifi 5.3 GHz works quite well now in Byzantium and the nexdock has a micro-SD slot. So i guess, an extra dock will normally not be needed.

  • The keyboard has a back light.

  • Since video playback was a question: it appears to be smooth for me in a quick test.

Hope it helps. For me, the most interesting point is to get the nexdock’s touch screen going with L5.


I’d assume touchscreen not working is the lack of input-output mapping in phoc ( We have some MRs inflight though that do the groundwork so we can wire that up afterwards.


I just tried the nexdock with mobian (bullseye) with a pinephone. While it basically has the same issue, it sometimes gets into states where the touchscreen works as it should. Unfortunately i was not able to find a way to trigger a switch to that state reliably. In the moment i think, a lock-screen event (or coming out of it) could cause it, but i am not sure.

Anyway, it is good to see it working, and when it works, it works very well. Contrary to my expectation, the touch events are not related to the mouse cursor, but go directly to the controls. As this is all more or less the same code basis, chances are, that it might work with L5 under some circumstances, too.

1 Like allows to map tablets and touch to specific screens. I’ve only tested tablet so far but touch should work the same - given that libinput reports some sensible vendor/product ids and the output provides vendor/product/serial via EDID. The MR has details how to configure things.


Thank you for making phoc and writing the note pointed to. As good as i understand, some mapping might be needed to be configured for the touch screen. As i have the device here, I’ll dig through the logs and/or try to find the missing information.