1
0
Fork 0
mirror of https://github.com/pikvm/pikvm.git synced 2026-03-02 18:16:56 -05:00

H.264 black screen #690

Closed
opened 2026-02-20 14:03:57 -05:00 by deekerman · 8 comments
Owner

Originally created by @plia7 on GitHub (Jul 15, 2023).

Originally assigned to: @mdevaev on GitHub.

Describe the bug
When restarting my Beelink SER5 5500U pc the preboot/bios screen is not showing anymore

To Reproduce
Steps to reproduce the behavior, like:

  1. Connect your pikvm to your Beelink 5500U SER5 through hdmi and usb cables.
  2. Enter the pc through the pikvm web interface.
  3. Turn on your beelink or restart it.

Expected behavior
PC Beelink Logo is showing, possibility to enter the BIOS, etc

Actual behavior
As soon as I press restart in windows 11 start menu, the screen stops showing, not even showing "restarting" message,
neither it shows when the pc is starting up again, I have to refresh the pikvm web interface to see the pc back in Windows.

Screenshots
If applicable, add screenshots to help explain your problem.

Video

https://github.com/pikvm/pikvm/assets/134864072/e737e7c9-de33-4ddb-8c2e-d691a4b293c9

Logs
logs for the command: journalctl -fu kvmd
logs.txt
logs2.txt

Desktop (please complete the following information):

  • OS: [e.g. iOS]
    Windows 11
    -PC:
    Beelink SER5 5500U
    Beelink Mini PC, AMD Ryzen 5 5500U(6C/12T, Up to 4.0GHz), 16GB DDR4 RAM 500GB NVMe SSD, SER5 Win 11 Mini Desktop Computer Support 4K@60Hz Output/WiFi6/BT5.2/DP1.4/HDMI2.0/USB3.2 for Gaming/Office/Home
    https://www.amazon.com/gp/product/B0B2RHXLDK
    *All pc drivers/windows updates are up to date.
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]
  • VNC client (if used)

PiKVM info:

  • Raspberry Pi board version [e.g. RPi 4]
  • PiKVM platform [e.g. v2-hdmi]
  • Video capture type [e.g. CSI bridge]
  • KVMD version: pacman -Q | grep kvmd
    kvmd-platform-v3-hdmi-rpi4 3.234-1
  • uStreamer version: pacman -Q | grep ustreamer
    ustreamer 5.41-1
  • Linux kernel: uname -a
    Linux pikvm 5.15.68-3-rpi-ARCH #1 SMP Mon Oct 31 20:56:54 MSK 2022 armv7l GNU/Linux

Additional context
When I connect the beelink pc to an external DELL monitor through hdmi, I can see the preboot screen such as the beelink logo, etc.
For reference, this used to work in kvmd 3.169 or pikvm os from November 2022 (nothing substantial changed in the beelink pc drivers/bios wise, only pikvm version was upgraded).
UPDATE: as you mentioned, it's only an issue with webrtc mode, not with mjpeg mode - with mjpeg it's working fine.

Originally created by @plia7 on GitHub (Jul 15, 2023). Originally assigned to: @mdevaev on GitHub. **Describe the bug** When restarting my Beelink SER5 5500U pc the preboot/bios screen is not showing anymore **To Reproduce** Steps to reproduce the behavior, like: 1. Connect your pikvm to your Beelink 5500U SER5 through hdmi and usb cables. 2. Enter the pc through the pikvm web interface. 3. Turn on your beelink or restart it. **Expected behavior** PC Beelink Logo is showing, possibility to enter the BIOS, etc **Actual behavior** As soon as I press restart in windows 11 start menu, the screen stops showing, not even showing "restarting" message, neither it shows when the pc is starting up again, I have to refresh the pikvm web interface to see the pc back in Windows. **Screenshots** If applicable, add screenshots to help explain your problem. **Video** https://github.com/pikvm/pikvm/assets/134864072/e737e7c9-de33-4ddb-8c2e-d691a4b293c9 **Logs** logs for the command: journalctl -fu kvmd [logs.txt](https://github.com/pikvm/pikvm/files/12062206/logs.txt) [logs2.txt](https://github.com/pikvm/pikvm/files/12062207/logs2.txt) **Desktop (please complete the following information):** - OS: [e.g. iOS] Windows 11 -PC: Beelink SER5 5500U Beelink Mini PC, AMD Ryzen 5 5500U(6C/12T, Up to 4.0GHz), 16GB DDR4 RAM 500GB NVMe SSD, SER5 Win 11 Mini Desktop Computer Support 4K@60Hz Output/WiFi6/BT5.2/DP1.4/HDMI2.0/USB3.2 for Gaming/Office/Home https://www.amazon.com/gp/product/B0B2RHXLDK *All pc drivers/windows updates are up to date. - Browser [e.g. chrome, safari] - Version [e.g. 22] - VNC client (if used) **PiKVM info:** - Raspberry Pi board version [e.g. RPi 4] - PiKVM platform [e.g. v2-hdmi] - Video capture type [e.g. CSI bridge] - KVMD version: `pacman -Q | grep kvmd` kvmd-platform-v3-hdmi-rpi4 3.234-1 - uStreamer version: `pacman -Q | grep ustreamer` ustreamer 5.41-1 - Linux kernel: `uname -a` Linux pikvm 5.15.68-3-rpi-ARCH #1 SMP Mon Oct 31 20:56:54 MSK 2022 armv7l GNU/Linux **Additional context** When I connect the beelink pc to an external DELL monitor through hdmi, I can see the preboot screen such as the beelink logo, etc. For reference, this used to work in kvmd 3.169 or pikvm os from November 2022 (nothing substantial changed in the beelink pc drivers/bios wise, only pikvm version was upgraded). UPDATE: as you mentioned, it's only an issue with webrtc mode, not with mjpeg mode - with mjpeg it's working fine.
deekerman 2026-02-20 14:03:57 -05:00
Author
Owner

@plia7 commented on GitHub (Jul 15, 2023):

@mdevaev This is the same pikvm from two weeks ago that I flashed a new micro sd card with the latest image
I updated, set passwords, enable VNC, install tailscale, update configs as needed.
In addition, I copied the exact same EDID file from kvmd 3.169 or pikvm os from November 2022 where this used to work with this pc. Notes, details, logs and a video was uploaded.

EDID command for reference:

kvmd-edidconf --set-mfc-id DEL --set-monitor-name "Dell Monitor" --set-audio yes --set-serial 3405691582 --set-product-id 16640

UPDATE: as you mentioned, it's only an issue with webrtc mode, not with mjpeg mode - with mjpeg it's working fine.
Also I provided you all additional logs/videos that you asked - per amt921 you have all the info that you need and will look at it.

Note: Same issue with H.264 GOP = 0.

@plia7 commented on GitHub (Jul 15, 2023): @mdevaev This is the same pikvm from two weeks ago that I flashed a new micro sd card with the latest image I updated, set passwords, enable VNC, install tailscale, update configs as needed. In addition, I copied the exact same EDID file from kvmd 3.169 or pikvm os from November 2022 where this used to work with this pc. Notes, details, logs and a video was uploaded. EDID command for reference: kvmd-edidconf --set-mfc-id DEL --set-monitor-name "Dell Monitor" --set-audio yes --set-serial 3405691582 --set-product-id 16640 UPDATE: as you mentioned, it's only an issue with webrtc mode, not with mjpeg mode - with mjpeg it's working fine. Also I provided you all additional logs/videos that you asked - per amt921 you have all the info that you need and will look at it. Note: Same issue with H.264 GOP = 0.
Author
Owner

@plia7 commented on GitHub (Jul 16, 2023):

@mdevaev Some additional finding that might be useful to diagnose the issue: As you know, switching to mjpeg when it becomes black screen when you click restart, does "fix" it and it makes the screen to show "Restarting...", beelink logo showing, ability to enter bios etc, so I did exactly that, switched to mjpeg, then I entered the bios hitting F7 when the logo appeared, while in bios, I changed it back to webrtc, it still worked, I was still able to see the screen. Then I exit bios, it comes back to windows, now I do another restart, and it still works while in webrtc.
So how do you break from this "working cycle"? You simply refresh the pikvm webpage, just to be on the safe side, I open an incognito session, and when I tried to do the restart button again, it went black screen again, so I was able to reproduce and breaking from the working cycle. Hopefully this provides some additional clues on what's going on.

So if your starting point when you opened the pikvm web session is the bios screen in webrtc, and then you go back to windows, you're considered in the "working cycle" so you can restart as many more time as you wish and it will still work.
If your starting point when you opened the pikvm web session is the windows screen in webrtc, then clicking restart doesn't work (it becomes black screen). That's when you "break" from the "working cycle".
So somehow being in bios in webrtc fixes it (either by starting a new pikvm web session in webrtc or by switching from mjpeg to webrtc), but then starting a new pikvm web session in webrtc while inside windows is breaking it.

@plia7 commented on GitHub (Jul 16, 2023): @mdevaev Some additional finding that might be useful to diagnose the issue: As you know, switching to mjpeg when it becomes black screen when you click restart, does "fix" it and it makes the screen to show "Restarting...", beelink logo showing, ability to enter bios etc, so I did exactly that, switched to mjpeg, then I entered the bios hitting F7 when the logo appeared, while in bios, I changed it back to webrtc, it still worked, I was still able to see the screen. Then I exit bios, it comes back to windows, now I do another restart, and it still works while in webrtc. So how do you break from this "working cycle"? You simply refresh the pikvm webpage, just to be on the safe side, I open an incognito session, and when I tried to do the restart button again, it went black screen again, so I was able to reproduce and breaking from the working cycle. Hopefully this provides some additional clues on what's going on. So if your starting point when you opened the pikvm web session is the bios screen in webrtc, and then you go back to windows, you're considered in the "working cycle" so you can restart as many more time as you wish and it will still work. If your starting point when you opened the pikvm web session is the windows screen in webrtc, then clicking restart doesn't work (it becomes black screen). That's when you "break" from the "working cycle". So somehow being in bios in webrtc fixes it (either by starting a new pikvm web session in webrtc or by switching from mjpeg to webrtc), but then starting a new pikvm web session in webrtc while inside windows is breaking it.
Author
Owner

@plia7 commented on GitHub (Jul 16, 2023):

@mdevaev I performed another test per amt921 which seem to be "fix" it as well:
Bring it to the black screen issue, by pressing restart in windows, then X it and click show stream - that seem to fix it while staying in webrtc.

@plia7 commented on GitHub (Jul 16, 2023): @mdevaev I performed another test per amt921 which seem to be "fix" it as well: Bring it to the black screen issue, by pressing restart in windows, then X it and click show stream - that seem to fix it while staying in webrtc.
Author
Owner

@plia7 commented on GitHub (Jul 21, 2023):

Hi @mdevaev,

It's been a week since the issue was reported and you assigned it to yourself.
Are there any progress updates on the fix to the issue? Were you able to reproduce it?

I see the ticket still has a "type:question" label on it, shouldn't it be a "type:bug" label at this point since webrtc goes to black screen only when trying to restart from within windows, as opposed to when starting from the bios with webrtc where it works so that proves it's an actual bug since webrtc works in some conditions and then in some conditions it stops working (goes to black screen/being disconnected)?

Thank you.

@plia7 commented on GitHub (Jul 21, 2023): Hi @mdevaev, It's been a week since the issue was reported and you assigned it to yourself. Are there any progress updates on the fix to the issue? Were you able to reproduce it? I see the ticket still has a "type:question" label on it, shouldn't it be a "type:bug" label at this point since webrtc goes to black screen only when trying to restart from within windows, as opposed to when starting from the bios with webrtc where it works so that proves it's an actual bug since webrtc works in some conditions and then in some conditions it stops working (goes to black screen/being disconnected)? Thank you.
Author
Owner

@mdevaev commented on GitHub (Jul 23, 2023):

This is a problem on the web client side. Still haven't figured out the reason.

@mdevaev commented on GitHub (Jul 23, 2023): This is a problem on the web client side. Still haven't figured out the reason.
Author
Owner

@mdevaev commented on GitHub (Jul 23, 2023):

Fixed, update OS.

@mdevaev commented on GitHub (Jul 23, 2023): Fixed, update OS.
Author
Owner

@plia7 commented on GitHub (Jul 23, 2023):

Fixed, update OS.

@mdevaev I just updated OS, but the issue is not fixed if I turn the audio on.

kvmd-platform-v3-hdmi-rpi4 3.237-1

H.264 - pass
H.264 + Audio - fail

@plia7 commented on GitHub (Jul 23, 2023): > Fixed, update OS. @mdevaev I just updated OS, but the issue is not fixed if I turn the audio on. kvmd-platform-v3-hdmi-rpi4 3.237-1 H.264 - pass H.264 + Audio - fail
Author
Owner

@plia7 commented on GitHub (Jul 25, 2023):

Hello @mdevaev, after your latest fix it's passing testing:

kvmd-platform-v3-hdmi-rpi4 3.238-1
H.264 - pass
H.264 + Audio - pass

Thank you.

@plia7 commented on GitHub (Jul 25, 2023): Hello @mdevaev, after your latest fix it's passing testing: kvmd-platform-v3-hdmi-rpi4 3.238-1 H.264 - pass H.264 + Audio - pass Thank you.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/pikvm-pikvm#690
No description provided.