-
Notifications
You must be signed in to change notification settings - Fork 65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Video feed stops when resolution is changed #5
Comments
Seem our PC/SBC can't reproduce this bug, can you tell me what device are you using? |
For testing purposes I connected the NanoKVM to an old B75 PC with i3-3220, no PCIe GPU, only internal GPU. |
@Zepan So I decided to make some videos to better explain the problem. I hope this issue will be fixed soon. Click one of the following labels to view the linked videosB75 (NanoKVM)This is my old B75 PC with the i3-3220 CPU, no external PCIe GPU, only the internal GPU (connected to the HDMI of the motherboard). I was struggling to get it to display anything after the POST screen. Rebooting the PC also renders the KVM display useless until I restart the KVM daemon itself, which could sometimes result in an unrecoverable error I explained earlier if it could not open the capture device (I select the lines at 03:27), requiring a complete reboot of the KVM. In this video, I have also included the live camera feed of the KVM's OLED screen and also connected the power LED wires for better clarity. B75 (Macrosilicon)Same old B75 PC, but the HDMI output is connected to a cheap Macrosilicon capture device instead, which in turn is connected to my computer for capture. I use the NanoKVM web interface off-screen to control the PC. As you can see, it has absolutely no problem handling arbitrary resolutions (although it is stretched to 1080p, but that's not really a problem). Steam Deck (NanoKVM)This time I tried the same thing with my Steam Deck OLED connected to a dock (no power LED due to different form factor). Even worse, I could not get the KVM to output a picture after changing the resolution to 720p. Not even after restarting the daemon or rebooting the KVM. Steam Deck (Macrosilicon)Same thing, but Steam Deck connected to the Macrosilicon capture device. Again, using the KVM web interface offscreen to control the Deck. It has no problem displaying arbitrary resolutions, but again stretched to 1080p. |
Bump. |
Got exactly the same problem as you ! Can boot from my Intel NUC but when I access to BIOS I lost the HDMI This is the ouput of
|
@Stoufiler Hey, |
Sorry was not I've tried to force restart the stream by using
These lines seems to be interesting, it detect the output of the display :
Which is 552x368, but still have img = NULL Will continue to dig |
I've booted up my nuc to the OS itself, and restarted the stream, now I have this and stream is working :
Got the same disp size: 552x368 So this should not be the problem |
This is weird, according to my tests it only displays 1080p source video, not at any other resolution. Why it displays 552x368 is a mystery to me. What's the source resolution? |
I've plug a mini dvi to hdmi adpater between my nuc and the nanokvm Maybe it's the base resolution of the adapter I will buy a mini-HDMI to HDMI today to see if I have the same error I think I found what is the resolution of 552x368 it's the OLED display and the 1280x720 is the resolution of the video on web page |
The OLED is 128x64, this cannot be real. I believe the KVM takes 1080p video and downscales it to 720p/600p/480p depending on the setting you choose. |
Depending on the machine and whether or not you're using a splitter, connecting both the KVM and the monitor to the same machine may result in one of the two being prioritized. The best way to check this IMO is to use a remote desktop application like RustDesk when the machine is connected to the KVM. |
Yes of course, But how will work rustdeck if I am in the bios ? |
Boot into the OS, change resolution inside the OS. See if the video feed stops. Use remote desktop as a failsafe. |
Will try this evening |
Thanks for your feedback. Recently, I have finally found a similar device and reproduced the issue encountered by @polyzium : HDMI cannot detect when switching resolutions. The HDMI input of NanoKVM is completed by a chip called LT6911, which theoretically converts any resolution of HDMI image received into 1920 * 1080 and transmits it to LicheeRV Nano through CSI. Therefore, when building the driver program for LT6911, I fixed the size to the standard output of LT6911 and it has been effective on many platforms I have tested. Unfortunately, LT6911 cannot output to the CSI channel in standard size on a small number of devices, which has resulted in erroneous log output information. Next, I will try to solve this problem and provide feedback on my progress here. |
Actually, I added a little Easter egg in the program. If you purchase both Sipeed's MaixCAM and NanoKVM Lite at the same time, you can execute |
Oh I understand now where come from the 552x368 ! |
Well, this is what my Macrosilicon device does. However, as I said, on computers with dedicated GPUs, the image is upscaled to 1080p by the GPU inside the computer, not the chip.
You might want to take some inspiration from PiKVM, they somehow managed to get this right on a RPi 4B, via CSI as well.
PLEASE PLEASE, if you fix this, you'll save my life. This is probably the most annoying bug I have ever encountered in NanoKVM. |
Hello, I'm facing the same issue with a HP N54L with VGA to HDMI adapter. I actually have no screen output on nanokvm URL. (black screen) /var/log/messages is flooded with
Tried to restart stream as found above, but same behavior with flooded
Can it be fixed ? Thank you |
Any updates on the fix? I strongly suggest you give this a high priority. |
Hi, in the past week I have tried to solve this problem, fortunately now I have successfully achieved normal switching between different resolutions. We've recently been adapting to the web page and doing a lot of testing, which will be updated this week. |
Good to hear! Looking forward to the fix. |
I restarted kvm_stream
I really doubt a linux tty screen scale at 1400x1050, but hey, maybe... |
Logs from a reboot for my with my vga2hdmi : I shrinked where there were handred lines with : start_cam_signal = 0
|
@OrpheeGT Hi, the new update supports more resolutions, but due to limitations in the chip encoder, there may be display tearing issues at certain resolutions (known to not work properly: 1680 * 1050; 1440 * 1050; 1368 * 768; 1366 * 768; 720 * 576). We are trying to modify the EDID information of the HDMI module to mask these abnormal resolutions. |
Why don't you let users tweak the EDID like you can with PiKVM? |
Good idea! I will consider doing so when making modifications, but there are some potential risks associated with modifying EDID. If custom modifications are ultimately supported, they will also appear as separate executable scripts |
Any executable script would be perfect as long as it is easy to launch and well documented ! :) |
Any update on this? |
The MJPEG video feed (or should I say HDMI input) works as long as the resolution is constant. But when the resolution changes, the HDMI indicator on the OLED screen goes out and I get either a black screen or a static image in the web frontend (as if no HDMI is connected). I have to restart the daemon as described in the wiki each time this happens, sometimes even rebooting the device completely.
After restarting the daemon via SSH, I occasionally see
img = NULL
among other lines. Something tells me that whatever is responsible for the HDMI input (or its driver) cannot get an image. I think this could be due to a misconfigured device initialization.Perhaps I should also add that a cheap Macrosilicon MS2109 based USB capture device can easily adapt to arbitrary resolutions.
I raised this issue on the Telegram channel, but got no response.
I hope this will be fixed as soon as possible, it has become quite annoying, especially on machines with integrated GPUs.
EDIT: Here's the output:
And sometimes, even this happens:
The text was updated successfully, but these errors were encountered: