From 8e85d95e7960f1366fbdb572d179fbdb84ffdf00 Mon Sep 17 00:00:00 2001 From: Stefan <11146296+tryallthethings@users.noreply.github.com> Date: Wed, 12 Aug 2020 14:18:10 +0200 Subject: [PATCH 01/19] minor link changes * replaced .ru Aliexpress links with international version (.com) --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d307a5a..26fb8f5 100644 --- a/README.md +++ b/README.md @@ -100,7 +100,7 @@ Pi-KVM supports several different hardware configurations, referred to as **plat * USB-A 3A charger (female socket) or power supply. * Video capture device: - **Recommended**: [HDMI to CSI-2 bridge based on TC358743](https://aliexpress.com/item/4000102166176.html) - low latency ~100ms, more reliable. - - ... or [HDMI to USB dongle](https://aliexpress.ru/item/4001043540669.html) (not available for ZeroW) - high latency ~200ms, [not very reliable](#a-few-words-about-hdmi-usb-dongle)). + - ... or [HDMI to USB dongle](https://aliexpress.com/item/4001043540669.html) (not available for ZeroW) - high latency ~200ms, [not very reliable](#a-few-words-about-hdmi-usb-dongle)). * Only for Raspberry Pi 4: parts for Y-splitter cable: * Option #1: DIY (for soldering or twist): - 1x USB-A to USB-C cable (male-male). @@ -118,7 +118,7 @@ Pi-KVM supports several different hardware configurations, referred to as **plat - A breadboard and wires. #### A few words about HDMI-USB dongle -It's completely supported and Pi-KVM works great with it. But it has some disadvantages compared with recommended [HDMI-CSI bridge](https://aliexpress.ru/item/4000102166176.html): USB gives a lot of latency (200ms vs 100ms) and it doesn't support stream compression control (you won't be able to use Pi-KVM in a place with a poor internet connection). It also cannot automatically detect screen resolution. All this is caused by the hardware limitations of the dongle itself. In addition, some users report hardware problems: the dongle may not work in the BIOS or simply stop working after a while. It's a black box, and no one knows what's inside it. If you have problems with it, it will not be possible to fix them. +It's completely supported and Pi-KVM works great with it. But it has some disadvantages compared with recommended [HDMI-CSI bridge](https://aliexpress.com/item/4000102166176.html): USB gives a lot of latency (200ms vs 100ms) and it doesn't support stream compression control (you won't be able to use Pi-KVM in a place with a poor internet connection). It also cannot automatically detect screen resolution. All this is caused by the hardware limitations of the dongle itself. In addition, some users report hardware problems: the dongle may not work in the BIOS or simply stop working after a while. It's a black box, and no one knows what's inside it. If you have problems with it, it will not be possible to fix them. ## Hardware for v0 * Raspberry Pi 2 or 3. @@ -135,7 +135,7 @@ It's completely supported and Pi-KVM works great with it. But it has some disadv * ATX control (optional): [see v2 description](#hardware-for-v2). #### Addition -* If you want to capture VGA from your server instead of HDMI, buy the [VGA-to-HDMI converter](https://aliexpress.ru/item/4000553298530.html). +* If you want to capture VGA from your server instead of HDMI, buy the [VGA-to-HDMI converter](https://aliexpress.com/item/4000553298530.html). * Pi-KVM can be powered using PoE, but it is not recommend to use the official PoE HAT: it is unreliable and [not compatible with the HDMI bridge](https://github.com/pikvm/pikvm/issues/6). Use any other PoE hat without an I2C fan controller. * **Don't use random relay modules or random optocouplers!** Some relays or optocouplers may not be sensitive enough for the Raspberry Pi, some others may be low-level controlled. Either use relays that are activated by a high logic level, or follow the design provided and buy an OMRON. See details [here](https://github.com/pikvm/pikvm/issues/13). drawing From 6acd666535983bc89c6c88fb893e3246d183a1af Mon Sep 17 00:00:00 2001 From: Devaev Maxim Date: Thu, 13 Aug 2020 00:10:12 +0300 Subject: [PATCH 02/19] new sponsor --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 26fb8f5..baa52ae 100644 --- a/README.md +++ b/README.md @@ -372,6 +372,7 @@ These kind people donated money to the Pi-KVM project and supported work on it. * Nicholas Jeppson * Nils Orbat * Nithin Philips +* pozitron03 * Samed Ozoglu * Scott * Steven Richter From a1257bcf5bd7a53baa0e2c7d8bef0df2ede3361e Mon Sep 17 00:00:00 2001 From: Devaev Maxim Date: Thu, 13 Aug 2020 04:54:47 +0300 Subject: [PATCH 03/19] new sponsor --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index baa52ae..7688782 100644 --- a/README.md +++ b/README.md @@ -338,6 +338,7 @@ These kind people donated money to the Pi-KVM project and supported work on it. * Alucard * Anton Kovalenko * Arthur Woimbée +* baddog * Ben Gordon * Branden Shaulis * Brian White From 46b2a7f4d5cbf9c5ced292bea84dc5fd7b3ec556 Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Thu, 13 Aug 2020 06:55:25 +0300 Subject: [PATCH 04/19] Create tailscale.md --- pages/tailscale.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 pages/tailscale.md diff --git a/pages/tailscale.md b/pages/tailscale.md new file mode 100644 index 0000000..11ae376 --- /dev/null +++ b/pages/tailscale.md @@ -0,0 +1,21 @@ +# Tailscale VPN +You can use [Tailscale](https://tailscale.com/) to access Pi-KVM on the internal network. This is a convenient and free (for private use) tool for organizing a small VPN network. + +# Installation +## On the Pi-KVM side +1. Use this commands: + ```shell + # rw + # pacman -Syy + # pacman -S tailscale + # systemctl enable --now tailscaled + # tailscale up + ``` +2. Follow the link to authorize this installation. +3. After success, perform soft reboot using `reboot` command to make sure that everything will work correctly. +4. Perform command `ip addr show tailscale0` to view the Tailscale IP address. + +## On the workstation side +* Download and install tailscale for your OS: https://tailscale.com/download +* Check tha page https://login.tailscale.com/admin/machines to view your VPN network. +* Follow the URL in the web browser: `https://` and you will see Pi-KVM web interface. From dbaf832cd39ebfff03a93092bf1f7417e08e488f Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Thu, 13 Aug 2020 06:55:41 +0300 Subject: [PATCH 05/19] Update tailscale.md --- pages/tailscale.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/tailscale.md b/pages/tailscale.md index 11ae376..eff66b0 100644 --- a/pages/tailscale.md +++ b/pages/tailscale.md @@ -4,7 +4,7 @@ You can use [Tailscale](https://tailscale.com/) to access Pi-KVM on the internal # Installation ## On the Pi-KVM side 1. Use this commands: - ```shell + ``` # rw # pacman -Syy # pacman -S tailscale From 7958c35b3dfe16b5396480922a74cbcbdfc71879 Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Thu, 13 Aug 2020 07:01:16 +0300 Subject: [PATCH 06/19] Update README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 7688782..e896769 100644 --- a/README.md +++ b/README.md @@ -208,6 +208,9 @@ Congratulations! Your Pi-KVM will be available via SSH (`ssh root@` with p To change the root password use command `passwd` via SSH or webterm. To change Pi-KVM web password use `kvmd-htpasswd set admin`. +# Access to Pi-KVM from the Internet +You can use port forwarding for port 443 on your router if it has an external IP address. In all other cases, you can use the excellent free VPN service [Tailscale](pages/tailscale.md), which is configured on Pi-KVM with a [few simple commands](pages/tailscale.md). + If you have any problems or questions, contact us using Discord: https://discord.gg/bpmXfz5 Happy using of Pi-KVM :) From 0e227a83a7145c7c06bf59b996a5c090a07d7a47 Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Thu, 13 Aug 2020 09:30:59 +0300 Subject: [PATCH 07/19] Update arduino_hid.md --- pages/arduino_hid.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/pages/arduino_hid.md b/pages/arduino_hid.md index d201168..72f739b 100644 --- a/pages/arduino_hid.md +++ b/pages/arduino_hid.md @@ -1,5 +1,8 @@ # Hardware Arduino HID instead of the OTG -Using Arduino HID on non-v0 platforms is useful if you need a simple and primitive keyboard emulation device. For example, when used with a hardware KVM switch. You can use the firmware to emulate a USB keyboard and mouse, or for the PS/2 keyboard only. +Using Arduino HID on non-v0 platforms is useful if you need a simple and primitive keyboard emulation device. For example, when used with a hardware KVM switch. You can use the firmware to emulate: +* [USB keyboard & mouse](#usb-keyboard--mouse) +* [PS/2 keyboard only](#ps2-keyboard) +* [PS/2 keyboard & USB mouse](#ps2-keyboard--usb-mouse) ## USB keyboard & mouse * Build and connect HID according to the [diagram](../README.md#setting-up-the-v0) (the bottom part with transistor, level-shifter and Arduino). @@ -24,7 +27,7 @@ Using Arduino HID on non-v0 platforms is useful if you need a simple and primiti ## PS/2 keyboard Using the PS/2 firmware currently has the following limitations: * The possibility of using USB HID is excluded. -* Mouse is not supported due to features of the [PS/2 protocol](https://wiki.osdev.org/PS/2_Mouse). +* PS/2 mouse is not supported due to features of the [PS/2 protocol](https://wiki.osdev.org/PS/2_Mouse). Both of these problems will be solved one way or another in the future and the two different firmware versions will be combined into one universal one. @@ -45,3 +48,11 @@ Follow this diagram: | Female PS/2 port (front view) | Pinout | |-------------------------------|--------| | drawing | Arduino pin 7 <-> PS/2 CLOCK
Arduino pin 5 <-> PS/2 DATA
Arduino GND pin <-> PS/2 GND | + + +## PS/2 keyboard & USB mouse +This is a mixed mode of HID which is a compromise for old computers. Connections are made simultaneously by both USB and PS/2 pins, as shown in the diagram above. Follow the [PS/2 instructions](#ps2-keyboard), but use these commands to build and install the firmware: +``` +# make mixed +# make install +``` From 615a8a87cfc5bb9b9bb7c80a0a623b615eb320c1 Mon Sep 17 00:00:00 2001 From: Devaev Maxim Date: Sat, 15 Aug 2020 10:46:44 +0300 Subject: [PATCH 08/19] new sponsor --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e896769..3e94c2a 100644 --- a/README.md +++ b/README.md @@ -377,6 +377,7 @@ These kind people donated money to the Pi-KVM project and supported work on it. * Nils Orbat * Nithin Philips * pozitron03 +* Ranc1d * Samed Ozoglu * Scott * Steven Richter From 60fdac884b721af44f9b934a9dcde514b59d3cf2 Mon Sep 17 00:00:00 2001 From: Devaev Maxim Date: Sun, 16 Aug 2020 03:49:31 +0300 Subject: [PATCH 09/19] new sponsor --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3e94c2a..09b9042 100644 --- a/README.md +++ b/README.md @@ -340,6 +340,7 @@ These kind people donated money to the Pi-KVM project and supported work on it. * Aleksei Brusianskii * Alucard * Anton Kovalenko +* Aron Perelman * Arthur Woimbée * baddog * Ben Gordon From cfe745346a1f5b0233b95c98675ffd384490b853 Mon Sep 17 00:00:00 2001 From: Devaev Maxim Date: Mon, 17 Aug 2020 02:26:23 +0300 Subject: [PATCH 10/19] new sponsor --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 09b9042..4674c0f 100644 --- a/README.md +++ b/README.md @@ -374,6 +374,7 @@ These kind people donated money to the Pi-KVM project and supported work on it. * Mauricio Allende * Michael Kovacs * Michael Lynch +* Morgan Helton * Nicholas Jeppson * Nils Orbat * Nithin Philips From f87fc69a6b6bad1341230f8dbddb10736a33e7f9 Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Mon, 17 Aug 2020 13:14:54 +0300 Subject: [PATCH 11/19] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 4674c0f..5802c89 100644 --- a/README.md +++ b/README.md @@ -291,6 +291,8 @@ Our future [v3 platform](#the-future-v3-platform-work-in-progress) will contain * To use Arduino HID (for USB or PS/2) with **v2** platform see [here](pages/arduino_hid.md). +* [Wi-Fi configuration after install.](pages/wifi_config.md). + ----- # Troubleshooting From 13e8f2358893d6bdfa1c5ef0ff4b6aaaedc76ec1 Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Mon, 17 Aug 2020 13:15:33 +0300 Subject: [PATCH 12/19] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5802c89..d287429 100644 --- a/README.md +++ b/README.md @@ -291,7 +291,7 @@ Our future [v3 platform](#the-future-v3-platform-work-in-progress) will contain * To use Arduino HID (for USB or PS/2) with **v2** platform see [here](pages/arduino_hid.md). -* [Wi-Fi configuration after install.](pages/wifi_config.md). +* [Wi-Fi configuration after install](pages/wifi_config.md). ----- From 57c50fc812b640b07a514addb2555c00d5611566 Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Thu, 20 Aug 2020 04:08:50 +0300 Subject: [PATCH 13/19] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d287429..0cbff35 100644 --- a/README.md +++ b/README.md @@ -362,6 +362,7 @@ These kind people donated money to the Pi-KVM project and supported work on it. * Grey Cynic * Guido Bernacchi * HimKo +* Ivan Shapovalov * Jacob Morgan * Jason Toland * Jeff Bowman From 9128fb3d731c771485e4fa20b091ef57e5856da1 Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Thu, 20 Aug 2020 06:39:44 +0300 Subject: [PATCH 14/19] Create vnc.md --- pages/vnc.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 pages/vnc.md diff --git a/pages/vnc.md b/pages/vnc.md new file mode 100644 index 0000000..c9708b6 --- /dev/null +++ b/pages/vnc.md @@ -0,0 +1,33 @@ +# VNC +As an alternative to the web interface, you can use VNC with various desktop clients. The main advantage of VNC over the browser is the ability to expand the image to the full screen, as well as complete interception of all keyboard keys. In some cases, VNC will be more responsive than the browser, especially on weak computers. + +Please note: we strongly don't recomment the use of VNC in untrusted networks. The current implementation uses either weak TLS encryption or no encryption at all (depending on your client). In the latter case, your password will be transmitted over the network in plain text. Unfortunately, this is the reality of the VNC protocol. + +# Enabling VNC on Pi-KVM side +1. Switch Pi-KVM filesystem to the read-write mode using command `rw`. +2. Optional: change client's keyboard layout if you're using an non-US keyboard. To do this edit file `/etc/kvmd/override.yaml` (remove `{}` before adding lines): + ```yaml + vnc: + keymap: /usr/share/kvmd/keymaps/ru + ``` +3. Optional: some VNC clients (for example TightVNC) can't use user/password authentication. In this case you can enable passhrases mode in `/etc/kvmd/override.yaml`: + ```yaml + vnc: + auth: + vncauth: + enabled: true + ``` + To set passphrases edit file `/etc/kvmd/vncpasswd`. +4. Enable `kvmd-vnc` daemon. VNC will be available on the port 5900: `systemctl enable --now kvmd-vnc`. +5. Switch filesystem to the read-only: `ro`. + +# Configuring the client +We recommend [TigerVNC](https://tigervnc.org) for the better experience. +Here the settings for this client: +* **Compression** tab: + - Choose **Tight** encoding as preferred and color-level **Full**. + - Disable automatic quality adjust settings **Auto Select**. + - Enable **Allow JPEG compression**. +* **Security** tab: + - Enable **None** and **Anonymous TLS** encryption. + - Enable **Username and password** authentication. From 5f2a1e866eec430e1b229f6916008c17f6c0855e Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Thu, 20 Aug 2020 06:40:09 +0300 Subject: [PATCH 15/19] Update vnc.md --- pages/vnc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/vnc.md b/pages/vnc.md index c9708b6..ab6e8fa 100644 --- a/pages/vnc.md +++ b/pages/vnc.md @@ -1,7 +1,7 @@ # VNC As an alternative to the web interface, you can use VNC with various desktop clients. The main advantage of VNC over the browser is the ability to expand the image to the full screen, as well as complete interception of all keyboard keys. In some cases, VNC will be more responsive than the browser, especially on weak computers. -Please note: we strongly don't recomment the use of VNC in untrusted networks. The current implementation uses either weak TLS encryption or no encryption at all (depending on your client). In the latter case, your password will be transmitted over the network in plain text. Unfortunately, this is the reality of the VNC protocol. +**Please note: we strongly don't recomment the use of VNC in untrusted networks.** The current implementation uses either weak TLS encryption or no encryption at all (depending on your client). In the latter case, your password will be transmitted over the network in plain text. Unfortunately, this is the reality of the VNC protocol. # Enabling VNC on Pi-KVM side 1. Switch Pi-KVM filesystem to the read-write mode using command `rw`. From b702fcaee69a8bee3e4eb1e714b88a1f7abf0141 Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Thu, 20 Aug 2020 06:41:41 +0300 Subject: [PATCH 16/19] Update vnc.md --- pages/vnc.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/pages/vnc.md b/pages/vnc.md index ab6e8fa..33f6c2c 100644 --- a/pages/vnc.md +++ b/pages/vnc.md @@ -6,18 +6,18 @@ As an alternative to the web interface, you can use VNC with various desktop cli # Enabling VNC on Pi-KVM side 1. Switch Pi-KVM filesystem to the read-write mode using command `rw`. 2. Optional: change client's keyboard layout if you're using an non-US keyboard. To do this edit file `/etc/kvmd/override.yaml` (remove `{}` before adding lines): - ```yaml - vnc: - keymap: /usr/share/kvmd/keymaps/ru - ``` + ```yaml + vnc: + keymap: /usr/share/kvmd/keymaps/ru + ``` 3. Optional: some VNC clients (for example TightVNC) can't use user/password authentication. In this case you can enable passhrases mode in `/etc/kvmd/override.yaml`: - ```yaml - vnc: - auth: - vncauth: - enabled: true - ``` - To set passphrases edit file `/etc/kvmd/vncpasswd`. + ```yaml + vnc: + auth: + vncauth: + enabled: true + ``` + To set passphrases edit file `/etc/kvmd/vncpasswd`. 4. Enable `kvmd-vnc` daemon. VNC will be available on the port 5900: `systemctl enable --now kvmd-vnc`. 5. Switch filesystem to the read-only: `ro`. From 5c184cf676cc949d2507e34e8f6c180f3d5e3596 Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Thu, 20 Aug 2020 06:41:56 +0300 Subject: [PATCH 17/19] Update README.md --- README.md | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 0cbff35..8c77f7f 100644 --- a/README.md +++ b/README.md @@ -272,24 +272,10 @@ Our future [v3 platform](#the-future-v3-platform-work-in-progress) will contain ``` * To use IPMI BMC you need to set up an appropriate account and run the `kvmd-ipmi` daemon (`systemctl enable --now kvmd-ipmi`). Although Pi-KVM supports the IPMI protocol, we strongly recommend that you do not use it outside of trusted networks due to the protocol's [insecurity](https://github.com/NitescuLucian/nliplace.com.blog.drafts). Refer to the file `/etc/kvmd/ipmipasswd` to configure IPMI account. - -* To use VNC you need to change the keyboard layout for non-US client keyboards using `/etc/kvmd/override.yaml`. For example: - ```yaml - vnc: - keymap: /usr/share/kvmd/keymaps/ru - ``` - By default username and password authentication is used. This is not supported by all clients (we recommend [TigerVNC](https://tigervnc.org)). To enable passphrase authentication, you need to edit the file `/etc/kvmd/vncpasswd` to set passphrases and enable this feature in `/etc/kvmd/override.yaml`: - ```yaml - vnc: - auth: - vncauth: - enabled: true - ``` - After that you can enable the `kvmd-vnc` daemon (`systemctl enable --now kvmd-vnc`). VNC will be available on port 5900 by default. - It is reccomended to disable the automatic quality adjust setting if there is one in your client (this is called "Auto-Select"in TigerVNC). - Please note: **we strongly discourage the use of VNC on untrusted networks.** The current implementation does not use encryption, and your passwords are transmitted over the network in a plain text. The existing anonymous TLS mode is also not secure enough. -* To use Arduino HID (for USB or PS/2) with **v2** platform see [here](pages/arduino_hid.md). +* [Enabling VNC](pages/vnc.md). + +* [Using Arduino HID (for USB or PS/2) with **v2** platform](pages/arduino_hid.md). * [Wi-Fi configuration after install](pages/wifi_config.md). From 3ead1eb867829132c7e6e5afba2003d6d9c153c2 Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Thu, 20 Aug 2020 06:42:56 +0300 Subject: [PATCH 18/19] Update vnc.md --- pages/vnc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/vnc.md b/pages/vnc.md index 33f6c2c..b8acb3a 100644 --- a/pages/vnc.md +++ b/pages/vnc.md @@ -3,7 +3,7 @@ As an alternative to the web interface, you can use VNC with various desktop cli **Please note: we strongly don't recomment the use of VNC in untrusted networks.** The current implementation uses either weak TLS encryption or no encryption at all (depending on your client). In the latter case, your password will be transmitted over the network in plain text. Unfortunately, this is the reality of the VNC protocol. -# Enabling VNC on Pi-KVM side +# Enabling VNC on the Pi-KVM side 1. Switch Pi-KVM filesystem to the read-write mode using command `rw`. 2. Optional: change client's keyboard layout if you're using an non-US keyboard. To do this edit file `/etc/kvmd/override.yaml` (remove `{}` before adding lines): ```yaml From d4b92d00214c3078cfb54f8cea83308deeb32c17 Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Thu, 20 Aug 2020 11:55:12 +0300 Subject: [PATCH 19/19] Update building_os.md --- pages/building_os.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/building_os.md b/pages/building_os.md index e98d245..d3b6caa 100644 --- a/pages/building_os.md +++ b/pages/building_os.md @@ -21,7 +21,7 @@ The Pi-KVM OS is based on Arch Linux ARM and contains all the required packages * Choose the platform: - `PLATFORM=v2-hdmi` for RPi4 or ZeroW with HDMI-CSI bridge. - `PLATFORM=v0-hdmi` for RPi 2 or 3 with HDMI-CSI bridge and Arduino HID. - - `PLATFORM=v2-hdmiusb` for RPi4 with HDMI-USB dongle. + - `PLATFORM=v2-hdmiusb` for RPi4 or ZeroW with HDMI-USB dongle. - `PLATFORM=v0-hdmiusb` for RPi 2 or 3 with HDMI-USB dongle and Arduino HID. - Other options are for legacy or specialized Pi-KVM boards (WIP).