VirtualHere Modular KVM over IP system

I Micheal

Can you tell us more about this system?

#2

Yes i created this new system based on virtualhere. https://www.modularkvmip.com/ 

I designed/built the hardware/software and layout over the last 9 months

As at 5th April 2024, It not ready yet and the prices are not finalized (may go up or down) but it will be cheaper and more functional than anything else out there, including any of the competitor KVM/IP systems and even the open source piKVM

Its currently in production at the factory and will be ready in a month or so. It works well, ive been testing the prototypes for the last 3 months and its very useful. Especially for remotely accessing Mac devices, iPads, rebooting linux servers, and fixing stuck bios.

(Do not click Buy because it wont do anything and the images are just placeholders)

#3

I registered an account just so I can say that this is something incredible by the sound of it and I am really looking forward to it!
I have been trying to accomplish something like that using a Raspberry Pi Zero and VirtualHere on it, sending inputs from my Windows client to the Raspberry server and trying to make the Raspberry Pi work as a USB-HID keyboard to passthrough those inputs, connected to the USB port of Linux machines.
This would be game changer for my work as it will allow me to work on bioses and remote devices without having to install any software clients on them and sounds like a much better solution than say PiKVM!

Thank you for the hard work!

#4

Thanks for your interest. At a bare minimum cost, you just need the HDMI dongle, the Emulator Dongle and the virtualhere server purchased so its around 100 dollars.

 Most of the processing occurs on the client side so you can run the virtualhere server on quite a low powered server like a pi or even a gl-ar300m16. The pi0w wifi is not very good so you might need an Ethernet adapter for that or at least put the pi0w close to the wifi router. You can even run the client side in the cloud so you dont actually need a real pc. Its quite tolerant of network latency but i would recommend less than 200ms otherwise the video/emulator will stutter a bit (unless you lower the resolution)

Funnily enough you can even run the virtualhere kvm/ip server on the pikvm itself so you can have multiple hdmi and mouse inputs/outputs from the same server instead of just their one it comes with.

Ive also finished creating the ATX controller dongle so you can turn on/off the pc via the ATX pins.  That will be sent for manufacturing soon.

Anyway most things are ready to be shipped and are at the distributor...Im just waiting on the web developers to finish the modularkvmip.com website so i can actually start selling it. Im aiming for the end may, so in about a week.

#5

Amazing! Cant wait, will probably be one of the first purchases!

Question, what is the quality of the video stream and the latency ? I saw that the HDMI dongle is 4k30? Is that sustainable say if both the client is somewhat powerful and support modern encoding/decoding and are connected locally for lower latency?

Also, not a totally separate note about a totally different use case - is 4K60 anyhow possible? For that use case I would be probably using a capture card though, so not really important but was just wondering.

#6

The way it works is it will take 4k30 and then down-sample it to 1920x1080*60 at most. You can adjust the down sampled resolution down to 640x480x5.  Those lower resolutions are for higher latency links. I notice if i run the client in an Azure VM in Singapore and the server is in Australia where i live the latency is about 100ms and so the resolution needs to drop to around 800x600x30 for a quality video. The same country for both seems to work quite well at full resolution 1920x1080

Note that you can run multiple HDMI/emulator dongles on the same virtualhere server if you use a USB hub, and want to connect to multiple PCs or mac machines simultaneously.

I also designed the VirtualHere 4-port USB Hub with some unique features

  • Each port on the USB hub can be remotely fully powered off and on. There are not many hubs that reliably do this. Im going to add it https://github.com/mvp/uhubctl as soon as its shippable.
  • You can redirect the USB hub between the target machine and the remote client at the hardware level. So you remotely attach the hub to the target (with no software needed on the target) THEN you can switch it back to the remote client so you can e.g upload an ISO and boot from that. You need two of the VirtualHere USB Hubs to do this. No other product does this at the hardware level. It is really useful. You use this feature it boot any ISO on the target with no size limitations etc. e.g pikvm has a 2.2GB limitation.

    Use the hub like this:

    * Plug in a simple cheap USB memory stick into port 2/3 or 4 on one of the VH hubs. Plug port 1 of the VH hub into the target machine (using a USB-C-A adapter)

    * Plug the usb cable from the VH hub into a second VH hub

    * Use the memory stick via virtualhere and write the iso to the stick.

    * Right click on the hub and select "Switch to alternate host". The stick becomes directly connected to the target and then you boot the target from that.

    I will do a video demo in a few weeks as its slightly confusing just writing it down.

     

#7

FYI, i thought i would run a quick test on my pi0w to see how it performs over the crappy Pi0w WiFi. It works at 1920x1080x50 but there is a lot of stutter, however 1024x768x30 it works well including with HDMI sound. Note the pi0w is about 1 metre from the wifi hub.

While it was running, I took a look at the pi0w top command and I see most of the effort is in the WiFi processing in the kernel. So that is the bottleneck. Therefore i recommend one of those cheap hubs with Ethernet for your pi0w if you really want to use the pi0w.

#8

Hi Micheal

Is the VirtualHere Modular KVM feature intended for or compatible with the PiKVM HAT v3 or v4 hardware kit?

 

#9

You don't need any HAT or even a pi, the virtualhere server can run on anything pi/linux/windows/mac etc

All you need is a USB Port. 

You can still use a pi with a HAT if you want at the same time but virtualhere will ignore the HAT it because its not a USB device.

#10

Hi Michael,

I just want to ask you if the hardware is available?
If not, is there a rougly timeframewhen it will be available?

Thanks in advance
Stefan

#11

Hopefully in a few days around the 1st June 2024. Ive finished the photos and the website is done and i ran a test orders through the system yesterday and it all went through including tracking number for shipping. I have 500 of each component at the shipper so if there is demand for this product then i can support it.

If you already own a virtualhere license, you just need to buy whichever components you need (you dont need the full kit). 

The full kit comes with one of each component plus the virtualhere license. 

You dont even need the USB hub if you already one. You just need the emulator dongle and the hdmi dongle as a bare minimum.

And also you can run multiple dongles on the same virtualhere server if its has a half decent cpu eg a pi3 or 4

Anyway in a day or two it should be ready.

 

 

#13

@Stefan, can you email or post here if you have questions/comments regarding the KVM/IP kit after you receive it. Thanks.

#14

Hi Michael,

I ordered already a kit via my private Virtualhere Account. This is my Company Account.
I need the kit in my private Lab.

And yes, I will report here after I got the kit.

Best
Stefan

#15

Follow up to the question posed by @Cedrick.
Are there any plans to develop a more elegant solution akin to the PiKVM?
Such as a hat for the Pi, that acts as a usb hub internally and includes all relevant items as out I/O ports, or even a device you develop.

For me personally, I don't like adding a lot of extra bloat. No extra wires or random devices in my racks. Clean as possible.
Thats where a device like the PiKVM will sell me. Buy the device, mount it in my pi rack, and done.
I'm not opposed to ripping the guts out of your kit to make a solution. I just don't want to have another project I'll probably never get to.

Thanks,
MarkyMark

#16

Another question: Michael, when will the ATX adapter be available for purchase? And how will it work? Thanks!

#17

@Markymark. The HAT format is far too restrictive because you can only connect to a pi, and you can only have one HDMI / keyboard per server. Via a USB hub you can have any device as the server (even e.g a windows or linux a box in the same cabinet already) and you can plug multiple dongles into the same server to act like a KVM/IP switch. Via a dongle can support many more use-cases, thats why i chose that design.

 @MarkoD - Im about to test the prototype so probably within a month. It has an "ethernet" jack at one end and a USB port at the other.  The Ethernet cable  connects to a board inside the pc with a pinout to the ATX pins on the motherboard.

#18

Hi Michael,

as I told you, I will comment the kit after I received it. I ordered the hole bundle including USB Hub and license.
I got it yesterday and it worked after a few startup challenges like a charm.

First challenge was the USB Power of my PI5. I had to disable USB current limit which is 600mA per Port I guess.
With USB current limit enabled my KVM Video wasn't recognized.
I use both modules over one port per your USB Hub.

Second challenge was the Mouse/Keyboard connection. It wasn't recognized by my server.
After a few tries I checked, that I had to connect the Emulator before the Video and then it worked.

For the third challenge I think I need your help. It is not that problematic, but it would be nice to get it work.
I have the issue, that my keybord Layout via KVM is qwerty (EN-US) instead of qwertz (DE-DE).
I already tried to reconfigure my locales on my server, but it did't help.
Can I check / try anything else?

Best
Stefan

#19

Hi Stefan, so when you press e.g Z on your physical keyboard it will send a Y to the target? And diacritics etc aren't sent correctly?

#20

Hi Michael,

yes, when I press z it will be send a y. Same with different other keys. For me it looks like a complete en-us keyboard.

#21

OK that is quite fixable, ill have a new build in a few days...

#22

@Stefan,

Here is a new beta build of the VirtualHere Client 5.6.7 which should fix the keyboard issue you were having. 

https://www.virtualhere.com/sites/default/files/usbclient/test/vhui64.exe

On the target machine you just need to set it to the keyboard that you want to use e.g Germany QWERTZ

On the host machine (where you are running the virtualhere client) it doesn't matter what keyboard/locale is set.

#23

Hi Michael,

your beta build is almost perfect!

The only issue I could foud is, that I can't write special characters like "{[]}\~|@€" which are accessable by pressing two buttons. E.G. "{" = "Alt Gr"+7. All characters need the "Alt Gr" Button.

All other characters work like a charm!

Stefan

#25

Hi Michael,

I tried your new version and unfortunately the AltGr button do not work.
First I tried and it don't work. Then I set all settings back to default and tried again. --> Same as before. AltGr button don't work.

Stefan

#26

OK that is surprising, i bought a keyboard with AltGr to test with and that build fixed it.

 Start the virtualhere client and then right click USB Servers->System Messages. Does that show "Compiled: Jun 13 2024 13:16:03"

Perhaps you accidentally ran the old version instead of the new client vhui64.exe

#27

Does that show "Compiled: Jun 13 2024 13:16:03" --> Yes.

#28

Ive ordered a simple DE QWERTZ keyboard (previously i was testing with a French AZERTY keyboard) so i can investigate this soon...

#30

I checked it and it is the same as in the version before. "Alt Gr" don't work.
The version (:VirtualHere Client 5.6.8 starting (Compiled: Jun 20 2024 14:38:14)) should be correct I guess.

#31

(Im typing this post with a German keyboard via virtualhere kvm/ip)

If I press:

AltGr+Q I get @ 

If I press AltGr+E I get € 

if I press 7890ß with AltGr I get {[]}\

My Virtualhere Client is Windows 11 and the target machine is also Windows 11 with the keyboard language set to DEU German (Germany).

Is that a similar setup to you?

#32

Hi Michael,
I can confirm, that when I use a Win11 machine as client and as a target, everything works like a charm.
My normal setup is a Win11 client and a Linux target which is a Proxmox PVE server.
This server do not recognize the ALT Gr stuff.
In the meanwhile I tried a Ubuntu 24.04 with Mate Desktop as target with the same issue.

Second check was a Linux Client (Ubuntu 24.04 Mate Desktop) and my Proxmox server as target.
Here I have the same issue. "ALT Gr" is not working.
And surprisingly the "special German Keys" äöü are also not working. 
I checeked with Linux client: 5.6.7 starting (Compiled: Jun 17 2024 10:37:16)

#33

I am typing this via VirtualHere KVM/IP with a German keyboard

The Target is Ubuntu 22.04 with the de keyboard selected and the Client machine running the VirtualHere client is win11.

I can type @ and € by pressing the AltGr+Q and AltGr+E and 67890ß with AltGr is {[]}\

So basically virtualhere is working ok i think, i suspect you have the wrong kezboard selection in zour linux machine :)

I am running the client i compiled yesterday on the url above.

#34

Ok, I will check this over the upcomming weeked and inform you as fast as I have new Information.

#35

Hi Michael,

sorry for this delayed anwser.
I tried several different Keyboardlayouts in my Linux installation and with all I can not use the ALT Gr stuff.

Can you please tell me what kinf of Keyboard you have configured?

#36

I bought a raspberry pi DE Keyboard (https://www.farnell.com/datasheets/2785621.pdf) and i also bought a Logitech Keyboard K290 German https://www.amazon.de/-/en/920-005187/dp/B00DNRPCEQ/ref=cm_cr_arp_d_product_top?ie=UTF8 and i also bought a https://au.rs-online.com/web/p/keyboards/7950933?gb=s AZERTY French Keyboard.

I then plugged it into my laptop. I ran the virtualhere client on my laptop running Win11.

I ran the virtualhere server on my pi5. The pi5 had the VirtualHere Video/Emulator dongle plugged in which was connected to my Intel NUC running Ubuntu 22.04 (The target).

I selected "German Keyboard" in Ubuntu and then i pressed the German keys and i saw they appeared in mousepad.  I pressed Alt-GR and typed the different letters to get those to alternate letters to appear.

If  i didnt select the German keyboard some keys wouldn't show or they would be different, (which is expected behaviour)

(All keyboards are the same actually, Its only the printing on the letters that is different. So the Alt-GR key is really just the right alt key in an English keyboard.)

#37

These are more or less the same settings that I have.
I have also my virtualhere server on a pi5. I connected my Laptop with dualboot (Win Linux) as target to the server for testing purposes. Later I will connect my Proxmox Server as target.
My Desktop PC is my client with Win11. 
As I reported already, when I start Win11 on my Laptop, everything is fine. Only Linux is not working as expected. I have selected German layout and tried different Keyboard types which can be choosen in Ubuntu Config (Generic 104 keys, Generic 105 keys, .....) with the same result.
I will be a few days off. So I will investigate this more precise when I'm back.

Do you think the server version could be the issue? I use the Version "Optimized for Cortex A76" because I installed the 64Bit Raspbian.
Should I try the standard 32 bit PI server version? 

#38

No the server is not the issue. 

#39

Hi, I bought the KVM Video and the KVM USB emulator. Both are recognized by my server (Synology which is licensed) but no window opens when I connect the video. Is the USB hub absolutely necessary?

#40

No the hub is not necessary. Make sure you are using the latest virtualhere client.

#41

Thanks for the answer. Im using an MacBook Air (M1). On my Windows 11 VM (Parallels also ARM) the newest test client works. The normal doesnt. On my Mac the newest Client is not working. Is there anything i need to know on MacOS?

#42

After uninstalling the service the connection now also works on my MacBook but i don't get a picture. This is the error message from the log:
 

2024-09-04 00:17:36 ERROR :Did not match virtual video usb port 1 to the captured device at connectionId 1, address 121
2024-09-04 00:17:36 ERROR :Failed to initialize capture...
 

What's wrong?

#43

You need to uninstall the client service on Mac, download the latest Mac vh client and run it normally, not as a service

#44

I already did this. That's the full error message if i run it the first time after reboot:

2024-09-04 06:31:33 INFO  :VirtualHere Client 5.7.6 starting (Compiled: Aug 22 2024 14:12:56)
2024-09-04 06:31:33 INFO  :Client OS is macOS Sonoma Version 14.6.1 (Build 23G93)
2024-09-04 06:31:33 INFO  :Using config at /Users/puma1409/Library/Preferences/vhui Preferences
2024-09-04 06:31:33 INFO  :IPC available at /tmp/vhclient
2024-09-04 06:31:33 INFO  :Auto-find using Bonjour - on
2024-09-04 06:31:33 INFO  :Auto-find using Bonjour SSL - on
2024-09-04 06:31:40 INFO  :interestHandler mt=3758096641
2024-09-04 06:31:42 ERROR :Did not match virtual video usb port 1 to the captured device at connectionId 1, address 121
2024-09-04 06:31:42 ERROR :Failed to initialize capture...

#45

@puma1409 Would you be able to email me mail [at] virtualhere.com (mail[at]virtualhere[dot]com) when you have some time and maybe i can use RustDesk or Anydesk to take a quick look at the problem while you are there?

#46

For future reference, @puma1409 's issue was that camera permission was not given to the VirtualHere client. 

This permission is required so that the KVM HDMI adapter can be accessed and displayed. 

Once permission was given in Mac Icon->System Settings->Security And Privacy -> Camera -> VirtualHereUniversal, the KVM/IP session worked