Black screen several minutes after booting
My host device is an Intel NUC NUC7i3BNH. I've installed Windows Server 2022 on it. TinyPilot works fine to show me video of the NUC booting (I can see Intel NUC logo and F-key prompts) and the Windows login screen. This functions fine and as expected for several minutes. However, if I don't use TinyPilot for ~10 minutes or so, the screen goes to full black and no keyboard/mouse activity can recover it. The host OS is still fully functional as I can use it, log onto it via Remote Desktop, ping services, etc. But the display via TinyPilot is just black.
If I continue to leave it, TinyPilot will eventually show "No Signal" and/or a garbled/static screen like so:
If I restart the NUC then I can see the screen again. Please help, this is very frustrating as the whole point of buying the TinyPilot was so I can see the console screen.
I included my logs: https://logs.tinypilotkvm.com/O51kWavY
- 11 replies
Hi @snowbert, thanks for reaching out. I'm sorry to hear you're having issues with scrambled video.
I've reviewed the logs you provided, but unfortunately, they don't contain any obvious explanations for this issue, so we'll need to investigate further.
We've previously seen problems like this when the target computer puts the TinyPilot display output to sleep and doesn't bring it back up correctly. Can you please check if your target computer is configured to put the display to sleep after a while? If it is, can you please try changing the settings so that the target computer never puts the display to sleep?
Thanks, I also suspected something to do with monitor timeout. Here is the existing state of the device:
>powercfg /query 381b4222-f694-41f0-9685-ff5bb260df2e SUB_VIDEO Power Scheme GUID: 381b4222-f694-41f0-9685-ff5bb260df2e (Balanced) GUID Alias: SCHEME_BALANCED Subgroup GUID: 7516b95f-f776-4464-8c53-06167f40cc99 (Display) GUID Alias: SUB_VIDEO Power Setting GUID: 3c0bc021-c8a8-4e07-a973-6b14cbcb2b7e (Turn off display after) GUID Alias: VIDEOIDLE Minimum Possible Setting: 0x00000000 Maximum Possible Setting: 0xffffffff Possible Settings increment: 0x00000001 Possible Settings units: Seconds Current AC Power Setting Index: 0x00000258 Current DC Power Setting Index: 0x0000012c Power Setting GUID: aded5e82-b909-4619-9949-f5d71dac0bcb (Display brightness) GUID Alias: VIDEONORMALLEVEL Minimum Possible Setting: 0x00000000 Maximum Possible Setting: 0x00000064 Possible Settings increment: 0x00000001 Possible Settings units: % Current AC Power Setting Index: 0x0000004b Current DC Power Setting Index: 0x0000004b Power Setting GUID: f1fbfde2-a960-4165-9f88-50667911ce96 (Dimmed display brightness) Minimum Possible Setting: 0x00000000 Maximum Possible Setting: 0x00000064 Possible Settings increment: 0x00000001 Possible Settings units: % Current AC Power Setting Index: 0x00000032 Current DC Power Setting Index: 0x00000032 Power Setting GUID: fbd9aa66-9553-4097-ba44-ed6e9d65eab8 (Enable adaptive brightness) GUID Alias: ADAPTBRIGHT Possible Setting Index: 000 Possible Setting Friendly Name: Off Possible Setting Index: 001 Possible Setting Friendly Name: On Current AC Power Setting Index: 0x00000000 Current DC Power Setting Index: 0x00000000
This currently specifies to turn off the display after 0x00000258 seconds (10 minutes). I used the below command to change it to 0 (hopefully unlimited/never):
powercfg /setacvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e 7516b95f-f776-4464-8c53-06167f40cc99 3c0bc021-c8a8-4e07-a973-6b14cbcb2b7e 0x00000000
After 30 mins everything still seems to be working as expected. I'll continue to watch it today to see the results and report back.
Checked back in after an hour and got the garbled static screen again in TinyPilot. The display timeout helped with the initial 10-minute unrecoverable switch to black screen but seems to have not helped with the ultimate static screen fate. Any other ideas?
Thanks for getting back to me, I'm sorry to hear it didn't work.
The garbled image you are seeing can sometimes result from an incorrect resolution or refresh rate. The values reported in the logs you provided earlier seem okay, but the target computer may be using some form of scaling, or there may be some other form of mismatch.
I understand that you can connect to the target computer using Remote Desktop. Would you be able to wait until the issue happens again, connect in using Remote Desktop, and confirm what resolution and refresh rate the target computer reports the "TinyPilot" display is using?
Thanks! I do have access via Remote Desktop, but as far as I know Remote Desktop only exposes info about the remote connection itself, not about locale console display details. If you can tell me specifically what to look for I can investigate.
Thanks for getting back to me.
The standard method to check the resolution and refresh rate is by going to Settings, System, and then Displays. Once there, choose "Advanced Display Settings", then select your TinyPilot device from the drop-down menu. You should now see the resolution and refresh rate on the screen.
The above method should work even when connected via Remote Desktop, but if it doesn't, you may be able to access the information using Device Manager instead. To do so, go to Start, then Run, type
devmgmt.msc, then press Run. Once Device Manager is open, expand the Displays section, right-click on the TinyPilot device, and choose Properties. Click on "List All Modes", and a new window should appear with the current display settings highlighted.
Here is what I see when logged into the desktop directly via TinyPilot. I have no problem seeing any console/desktop content until the screen times out, then it's completely black or garbled static until I reboot the host device (rebooting the TinyPilot does not change the situation).
Have been experimenting here a bit and I now believe the issue is due to a basic Intel driver delivered by Windows Update. On a new install, using just the inbox Microsoft Basic Display Adapter driver, I haven't observed any problems with TinyPilot - screen times out and returns easily, with no loss of signal or static. I'm going to continue to observe how things go and see if I can repro again after installing the Intel driver.
- In reply tosnowbert⬆:
Thanks for the screenshot! It looks like the problem might be related to the refresh rate, as the target computer appears to think the refresh rate is simultaneously both 1Hz and 64Hz, while the TinyPilot device thinks it is 30Hz.
The only one of the refresh rates listed above that TinyPilot can support is 30Hz, so it seems reasonable to assume that the target computer is using a refresh rate of 30Hz at first before changing to a different refresh rate later on.
Is there any other graphics or power management software installed that might interfere with the display settings? If not, could you try manually setting the refresh rate to 30Hz, which you should be able to do via the "Monitor" tab shown in your screenshot?
The display driver is definitely the cause of the problem. Microsoft Basic Display Adapter driver works flawlessly. If I accept the Windows Update recommended package "Intel Corporation - Display - 12/18/2017 12:00:00 AM - 22.214.171.12401" it replaces the display adapter with one named "Intel® HD Graphics 620." Immediately upon installation of this driver, the TinyPilot screen turns black and cannot be interacted with further via TinyPilot. Upon rebooting the host, TinyPilot works fine until the device goes into a power-saving mode, at which point it again turns into an unrecoverable black screen.
I don't know why this ancient driver is causing such trouble, but since this driver seems to offer me no benefit, I'm going to keep it off my system. TinyPilot works perfectly for me in this state, so I am happy to call this issue resolved. Thank you for the assistance!