Connecting the L5 with other devices

This by itself … a USB hub (which might be a USB-C to USB-A adapter + a regular USB-A hub, or a USB hub that is specifically USB-C).

Or a more creative option … a Logitech unifying receiver (with USB-C to USB-A adapter) and then a Logitech wireless keyboard and mouse.

Or the same option but bypassing the unifying receiver - and not what you asked for - a Bluetooth keyboard and mouse.

A USB-C to HDMI adapter. Or a USB-C dock with an HDMI output.

In my experience though this by itself won’t work. The external display will be recognised but without a keyboard and mouse you won’t be able to do anything useful with it.

Then you would either definitely need the USB-C dock or you would need a TV (monitor) that has an internal USB hub and supports USB-C input directly so that you can plug the keyboard and mouse directly into the TV (monitor).

For the latter case, this is unlikely to be available with your TV and is more likely to be available with a computer monitor. However only you know what the capabilities of your TV set are.

If you have a touchscreen monitor then that in theory could substitute for a mouse.

If you now want “charging+2+3” then a USB-C dock is probably the only option.

So the summary would be: you will need a USB-C dock.

The NexDock is a viable alternative if you don’t specifically need the display to be your TV and you don’t specifically need to use your keyboard and mouse and you can stomach the relatively small screen of the NexDock.

Also, I think it depends on how much money you are prepared to throw at experimentation.

This sounds difficult but certainly on the horizon i.e. someone will eventually get this working. The Librem 5 doesn’t use X, it uses Wayland.

In any case, any kind of remote display just needs working networking, if you can get it working at all. In other words, remote display (in either direction) should not depend on the presence of or type of physical connection.

wayvnc (https://github.com/any1/wayvnc) works just fine, but on sway only afaik.

I would actually use my Librem 5 as a vnc client and have all my applications run on a more capable server (with wayvnc). That way I can have my desktop on any device (my linux laptop, or my employers windows laptop).

Here is what I can do with my Ubuntu mobile E4.5 showing its screen on my FreeBSD laptop, running KDE. This is very useful if you want to prepare a talk about the feature of the phone and capture screens or show it live

together with your slides from the desktop. The Ubuntu phone here just shows the clock app.

Technical: on the phone runs a process mirscreencast which captures the image of the MIR server once a second and offers this with netcat on a phone’s network IP addr and port. On the laptop a netcat reads this (over USB tethering) and sends the video stream to mplayer to be displayed on the laptop’s screen:

phone                                                  laptop
mirscreencast | netcat IPaddr port ---(USB network)--> netcat ---> mplayer 

To be clear … you already have your Librem 5 and wayvnc works just fine on the Librem 5?

(I wanted to use the Librem 5 as a VNC server - just for those admin functions where I need a GUI interface on the Librem 5 i.e. for those functions where I don’t know how to do them from the shell and so can’t just use ssh into the Librem 5 or where using shell commands is too tedious. And when I say “VNC” I mean “VNC” or anything functionally equivalent e.g. RDP if I had to but I would rather not. :slightly_smiling_face:)

Sadly no, ordered december 2018. Just mentioned it to make clear that wayland does have remote display capabilities.

RDP is actually much superior to VNC I recently found out, but also much different. VNC transfers the actual image differences which makes it slightly laggy to use even on a local network. But it is an open standard and both client and server run on almost any platform available. Also VNC is about sharing the desktop. RDP is a protocol which acts as a remote console to a Windows computer. You logon to an actual user session. AFAIK there is no RDP for Linux.

I use VNC myself to connect to a virtual machine running sway. I was using wayvnc for that but I’ve switched to simply use VNC that qemu provides (makes much more sense).

My son was notified by his teacher that he had to use Windows for the next sprints of his software development class to be able to on with C# Winforms. The solution we have for that now is that he creates an ssh tunnel from his school to our home, to relay the RDP port of my wifes Windows laptop to his Linux laptop. The performance of RDP via the internet (and an ssh tunnel even!) is superb.

Would you not be able to start a gui application on your Librem 5 via ssh Xforwarding?

You could also look into spice. I’ve used that as well with Qemu and was impressed because it also relays sound out of the box. I have no experience with a separate spice server though. Seems X only, and Red Hat has seized development, but still maybe worth looking into.

No RDP server maybe. remmina is an RDP client.

Was trying gnome-remote-desktop for the Librem 5, without success: Librem5 vnc remote access

It wasn’t a major priority for me, so I didn’t persevere.

I just compiled it and it works fine on Librem 5.

3 Likes

Librem 5 is running Gnome?

Mostly GNOME, but with phosh and phoc as shell and compositor. phoc is based on wlroots and supports most protocols sway does.

1 Like

Lovely! And thanks for trying wayvnc!

dos, how can I show the picture rendered by phoc on the L5 over the USB tethering network as an X11 client on another laptop?

Run wayvnc on the phone and run any VNC client on the PC. I tried with KRDC:

1 Like

Where do you compiled it? I fetched the sources with git clone ... to the L5, but the dependencies are looking horrible to compile it on the L5 directly. Could you put it into the app store?

I compiled it on the L5. Had to install libgbm-dev and libdrm-dev, aml and neatvnc work as subprojects. It would be nice to get this packaged at some point, yes.

1 Like

For my purposes that makes it superior i.e. the other person can see what I am doing (can learn) and everything is in the context of his or her login.

I guess it depends on your tolerance for lag. :slight_smile: I’ve used it a fair bit over the internet on a relatively slow broadband connection. It is usable, it just isn’t swift or pleasant.

and you do need to be careful to disable local disk (or local printer) sharing unless it is intentional i.e. to avoid this as a vector for malware.

I installed libgbm-dev and libdrm-dev, but the two remainings are not there:

purism@pureos:~$ sudo apt install aml neatvnc
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package aml
E: Unable to locate package neatvnc

You may have misparsed his sentence (or maybe I am) but what happens if you now just attempt to go ahead and build?

I did what the README.md says and also installed meson:

git clone https://github.com/any1/wayvnc.git
git clone https://github.com/any1/neatvnc.git
git clone https://github.com/any1/aml.git

mkdir wayvnc/subprojects
cd wayvnc/subprojects
ln -s ../../neatvnc .
ln -s ../../aml .
cd -

mkdir neatvnc/subprojects
cd neatvnc/subprojects
ln -s ../../aml .
cd -

meson build
ninja -C build

It now says:

purism@pureos:~/guru/wayvnc$ meson build
The Meson build system
Version: 0.56.2
Source dir: /home/purism/guru/wayvnc
Build dir: /home/purism/guru/wayvnc/build
Build type: native build
Project name: wayvnc
Project version: 0.4.0

meson.build:1:0: ERROR: Unknown compiler(s): ['cc', 'gcc', 'clang', 'nvc', 'pgcc', 'icc']
The follow exceptions were encountered:
Running "cc --version" gave "[Errno 2] No such file or directory: 'cc'"
Running "gcc --version" gave "[Errno 2] No such file or directory: 'gcc'"
Running "clang --version" gave "[Errno 2] No such file or directory: 'clang'"
Running "nvc --version" gave "[Errno 2] No such file or directory: 'nvc'"
Running "pgcc --version" gave "[Errno 2] No such file or directory: 'pgcc'"
Running "icc --version" gave "[Errno 2] No such file or directory: 'icc'"

A full log can be found at /home/purism/guru/wayvnc/build/meson-logs/meson-log.txt

Which cc/gcc is recommended?

I would go gcc or cc.

I installed gcc (cc is not available); now it can not find -lpam, but some libpam.so.0 is installed; they are just compiling some small test C code with cc .... -lpam ... and the ld does not find it.

Edit:

Program git found: YES (/usr/bin/git)
Library m found: YES
Library rt found: YES
Library pam found: NO
Found pkg-config: /usr/bin/pkg-config (0.29.2)
Run-time dependency pixman-1 found: YES 0.40.0
Dependency gbm skipped: feature screencopy-dmabuf disabled
Run-time dependency libdrm found: YES 2.4.105
Run-time dependency xkbcommon found: YES 1.0.3
Found CMake: /usr/bin/cmake (3.18.4)
Run-time dependency wayland-client found: NO (tried pkgconfig and cmake)

meson.build:48:0: ERROR: Dependency "wayland-client" not found, tried pkgconfig and cmake