Some applications does not show content (white window) Windows 10 host
Answers
-
This answer expands upon @Julia's, second point 'Window contents that are drawn hardware-accelerated (e.g. browser content or 3D applications / games) are no longer drawn (you cannot see the application)'.
See 'Solution' below.
Abstract
I have noticed this issue commonly relates to Java applications when the primary monitor is no-longer attached to the device; such as certain laptops which "disconnect" the built-in screen when the lid is shut - corroborated by @ashimet - or workstations when no screens are attached.Based upon the behaviour of applications with and without a monitor attached, a surface level understanding of graphics accelerators (https://en.wikipedia.org/wiki/Framebuffer#Graphics_accelerators), and experiences in the forum posts I've referenced below, I believe the cause of the contentless windows is the result of application dependencies upon either the DirectDraw or Direct3D sub-systems - which interface with 3D acceleration hardware - when the accelerators are disabled as a result of the disconnection of a monitor.
I think I've also experienced similar problems when attempting to run applications which depend upon 3D acceleration within a Linux environment using the Wine compatibility layer (https://bugs.winehq.org/buglist.cgi?component=directx-d3d&product=Wine&resolution=---)
Perhaps this is a power-saving feature of 3D graphics processors which activates when no screens are detected, or perhaps this is related to the framebuffer being unaware of the supported output resolutions and so disables access to the GPU for the Windows shell, which causes Windows to revert to software-only rendering; or some other reason.
Whatever the cause, my assumption that the dedicated graphics hardware was unavailable for 3D processing when the monitor is disabled, and the common denominator for all software experiencing the problem was Java, I questioned whether the JVM was depending upon D3D for rendering, even though Windows only had software-only rendering available.
Solution
Ref: https://superuser.com/a/496775
Using DXDiag, I checked the status of Display DirectX Features:DirectDraw Acceleration: Enabled
Direct3D Acceleration: Enabled
AGP Texture Acceleration: EnabledI manually created these registry values, in addition to creating the Direct3D\Drivers key:
Reg Add HKLM\SOFTWARE\Microsoft\DirectDraw /V EmulationOnly /T REG_DWORD /D %_Mode% /F
Reg Add HKLM\SOFTWARE\Microsoft\Direct3D\Drivers /V SoftwareOnly /T REG_DWORD /D %_Mode% /FThen, using DXDiag, I checked the new status of Display DirectX Features:
DirectDraw Acceleration: Disabled
Direct3D Acceleration: Disabled
AGP Texture Acceleration: Not AvailableThe Java program window now rendered content correctly via VNC Viewer, when monitor is detached.
I've not tried the "ForceDirectDrawEmulation" option within the Compatibility Wizard suggestion from the referenced SuperUser thread.
Research and references
Disable hardware acceleration in Windows Display Settings
Ref: https://www.auslogics.com/en/articles/disable-hardware-acceleration-in-windows/
> Not tried because Display Settings window crashes
Attempt to prevent GPU (ATI Mobility Radeon HD 4500) from disabling hardware acceleration when monitor disconnects
Ref: https://social.technet.microsoft.com/forums/windows/en-us/8a9b5aa7-fe33-4e6d-b39b-8ac80a21fdc2/disable-monitor-off-detection-how?forum=w7itprogeneral
> Disabled ?Display Detection?, to prevent disconnection being detected to avoid disabling of HW accelerationHKLM\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000 Display_Detection_DEF DWORD 1
> Create/NULL DMMEnableDDCPolling for ATI cards - Ref: Post by NetMage
HKLM\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000 DMMEnableDDCPolling DWORD 0
System-wide (Java Control Panel) disabling of D3D acceleration for Java applications
Ref: https://forums.guru3d.com/threads/disable-hardware-acceleration-for-java.296918/#post-4096709
System-wide (Envionment variables) disabling of D3D acceleration for Java applications
Ref: https://stackoverflow.com/a/36235217
> System Properties for Java 2D: http://docs.oracle.com/javase/8/docs/technotes/guides/2d/flags.html
> Tried setting user Environment Variables, but it didn't resolve the contentless Window issue:
>> _JAVA_OPTION=-Dsun.java2d.d3d=false -Dsun.java2d.noddraw=true
>> J2D_D3D=false
Disable Direct3D acceleration on Windows 7
Ref: https://stackoverflow.com/questions/14497545/how-to-disable-direct3d-acceleration-on-windows-7
> Guide for directx.cpl - changes 32-bit DirectDraw and Direct3D, but not 64-bit (dxdiag 32/64-bit): https://stackoverflow.com/a/25508331
Disable DirectDraw and Direct3D acceleration on Windows 8[/10]
Ref: https://superuser.com/questions/495303/how-do-i-disable-directdraw-and-direct3d-acceleration-on-windows-8
> Guide for directx.cpl - changes 32-bit DirectDraw and Direct3D, but not 64-bit (dxdiag 32/64-bit): https://superuser.com/a/504510
> DirectDraw and Direct3D registry entries: https://superuser.com/a/4967750 -
Sooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo.......what is the point of using teamviewer then?
0 -
You need a new keyboard first, dont bother with finding the best remote control app;).
keep in mind you can switch the quality from optimised for speed to best quality or vice verca to get things working to a certain degree.
0 -
Julia, thanks for your solution.
you mentioned we need to keep the monitor always on.
So I update my graphics driver and keep the remote monitor always on. However, when I did not operate the remote computer for about two days, some application which required gpu become white window again.
And when someone come into the lab, he saw my monitor was on. So he hit the enter in my remote keyborad, then everything is fine. but this is not a long-term solution.
So I think when the monitor is on, it might not be detected too. what might cause this and how to address it?
If you have any idea, please hit me.
@Julia wrote:Dear all,
Thank you for your contribution here.
Typically, monitors or notebooks display shall report their data (such as what resolution they support) to the graphic card once they are connected.
The monitor itself does not need any power, as the HDMI / DVI / VGA cable itself provides enough power.
Unfortunately, there are some monitors that will only pass their data to the graphic card when they are turned on/have power.
In this case, the graphic driver shall decide what it wants to do when the monitor is not detected. There have been 3 cases detected thus far:1) Everything works as before, but with minor restrictions on the available resolutions.
2) Window contents that are drawn hardware-accelerated (e.g. browser content or 3D applications / games) are no longer drawn (you cannot see the application).
3) Nothing is drawn anymore (screen is black).TeamViewer grabs the screen as it is currently displayed.
In other words, if Windows did not draw anything, TeamViewer cannot grab the screen, so you will only see a black screen. Unfortunately, we cannot do anything against that.The only workable solution here is to prevent the monitor from being not detected.
This can be achieved either by the fact that the monitor is always on or by using a monitor that is recognized by Windows even when it’s turned off.
It may also help to connect the monitor in another way (e.g. via DVI instead of HDMI, or with another adapter, if one was used).
Alternatively, a dummyplug can also help.
In theory, it may also help to use a different version of the graphic card drivers or a fixed-resolution monitor driver to solve the black screen problem or the problem with the hardware acceleration. Other graphic card driver settings could help, but we do not know what settings that could be exactly. But it would most likely have something to do with the energy-saving mode.Cheers,
Julia
0 -
I discovered a workaround that works well for our workstations that have NVIDIA Quadro graphic cards. It's basically a software-emulated ghost display by way of cloning a monitor's EDID. This way you don't need a hardware adapter.
You can do that in the NVIDIA Control Panel (v 411.95 here) at the System Topology level. When you click on any of the underlined EDID links in your row of available Display Ports, it opens an assistant where you can export the EDID of a given monitor to a text file. You then load this text file to an unused Display Port (it might also work if you load it into the original port, sparing you the hassle below, but I haven't tried that and take no responsibility for what could happen if you do, particularly if you at some point later decide to switch monitors).
You now basically created and enforced a virtual monitor clone that is recognized by Windows. In my setup, additional monitors go to extend the desktop, meaning that beyond the two screens I already had, it extended to a nonexistant third one where my cursor would go and hide (and I suppose eventually some windows would have found their way there, too). To prevent this, I went to the Windows Display Settings and arranged it so that one of the real monitors would get duplicated to the emulated one, as in: [1/3] [2]
That's basically all. The important part is that the virtual monitor works as an always-on PnP monitor that keeps the graphics card from suspending.
No additional cost, just some hat tricks in the config. Good luck!
0 -
I managed to solve my problem simply by deactivating my graphics card when I am in remote screen0
-
It's been an ongoing issue for a while. Teamviewer finally fixed the "Show black screen" without having to install a monitor driver on the remote system that would constantly fail installing... but the white screen of windows of apps like Firefox, etc. still continue... it happens mainly when a laptop screen is closed for me most of the time in my over 200 systems i remote into. Maybe once in a while with a desktop, but mainly always laptop.
0 -
Finally someone who knows what they are talking about
1 million KUDOS to you Julia !!!
0 -
Absolutely all my programs on my laptop (Win10 x64) display correctly when I connect to it via mobile phone (Android 10).
Except Viber.
I see white screen only and "close" button in upper right corner of screen (((Maybe who's know how to fix it?
Thanks in advance!
0 -
Plugging in a HDMI cable fixed it for me...even if I won't use a Monitor on this system.
0 -
Hi gang
I'm controlling my home PC from my work PC in order to do some things in some softwares and several programs that have graphical sections where 3D and 2D items won't show at all.
Let me elaborate, 3 use cases:
1.) Solidworks: Solidworks is 3D CAD software, when I try to open some file everything looks right except the area in which the part should be rendered. The UI responds to clicks and commands and changes as it should, but area where the part/assembly should be won't show anything but the last load screen, which is just grey background with 'solidworks 2021' logo.
In the relevant attached picture, there's 3 sequential screenshots:
first, the 'open' prompt window shows fine
second, the part should be viewed where the red broken line is.
Third, Feature Tree can be seen in the left of the screen responding to clicks and commands.
2.) PrusaSlicer G Code Viewer: Prusa is a 3D printer compnay, gcode is the langauge in which the software writes to commands to the printer in order to produce whatever I want. After preparing the part, the filename.gcode file can be opened to view how the toolpaths of the 3D printer looks like.
In the relevant attached picture, there's 2 sequential screenshots:
First, the splash screen shows correctly as intended.
Second, where the red broken line there should be a display of the part. There is nothing but white screen.
3.) Windows Picture Viewer: self-explanatory, tried to open up an image and nothing is shown.
In the relevant attached picture, there's 2 sequential screenshots:
First, it can be seen that the picture contains something through the thumbnail.
Second, where the red broken line should be the picture but instead it is 'loading...' text stuck.
All the three files mentioned above works fine when I transfer them to my work PC (not the remote one), It seems like there's some kind to display 2D/3D graphics in one direction (work PC controller, home PC remote). Why do I say one direction?? because when I'm on my home PC and try to control the work PC, all these 3 actions work flawlessly: I can view and rotate parts in 3D space in Solidworks, open images and view them and open Gcode files and rotate them in 3D space.
Specs:
Home PC- 3900x,32GB RAM, 980 Pro SSD,RTX 3080 FE, TeamViewer 15.24.5, Win10 Pro 64bit
Work PC- ,i7-8586U,16GB RAM, Hitachi 1TB SSD ,Radeon RX 550X, TeamViewer 15.24.5, Win10 Pro 64bit
All drivers are latest (Win10, GPUs)
Someone have any idea what to do next?? how to fix this??
0 -
I got the same issue no matter I use TeamViewer or **Third Party Product**. I solved the problem by changing a DP cable to a HDMI cable. Indeed, it is a problem of the cable, because most of monitors support both DP and HDMI adapters.
0 -
Did someone solved this?
1 -
@Paul_Janssen1235 No, tried to send an email to support as well but they were unhelpful, as usual.
0 -
Hello @kimkash & @Paul_Janssen1235
Thanks for your posts.
I did a little research and was able to find a similar thread regarding such issues. The resolution and exact issues are a bit different but what I found interesting is in bold below:
There have been 3 cases detected thus far:
1) Everything works as before, but with minor restrictions on the available resolutions.
2) Window contents that are drawn hardware-accelerated (e.g. browser content or 3D applications / games) are no longer drawn (you cannot see the application).
3) Nothing is drawn anymore (screen is black).
TeamViewer has its own hardware acceleration feature, which is discussed at length in this blog post. but what could be occurring is your high-intensity applications may be affected by this feature. The application itself can be seen but the content being generated is potentially masked by it.
My first suggestion - let's try disabling hardware acceleration on the device you are connecting to. This can be found in the advanced settings:
I hope this helps! Let us know if the issue persists, and we can investigate further.
Josh P.
Senior Community Moderator
---
0 -
@JoshP Hi, thank you for your response.
I've just tried your suggestion and it didn't work. I I'm trying to remote control SOLIDWORKS 2019 running on a Win10 machine.
Other specs you might be interested in:
Windows 10 Pro 64-bit, AMD Ryzen 9 3900X, X570 AORUS PRO WIFI, NVIDIA RTX 3080 FE, Samsung 980
0 -
Thanks for the update @kimkash - Thanks also for the additional information.
Let me reach out to our internal teams to see if there may be another resolution I am not aware of.
As soon as I have more information, I'll post back here.
Thanks in advance for your patience in this matter!
Josh P.
Senior Community Moderator
---
0 -
This solution worked for me (usbmmidd_v2)
You need to add an virtual screen to enable full GPU usage :)
1 -
I have a similar problem. When I create 3D photogrammetry in Reality Capture, it requires long calculation time. I want to connect from home to my computer at work and see the result of the calculations. I access my computer, the programs run normally, but the 3D model does not appear in the workspace, just a black space, as if there is no model at all.
It doesn't happen all the time, but it happens often enough to disrupt my work schedule. I have to go to the office unnecessarily when I work from home office. So I tried the suggestion above and other things, but now I can't see the 3D model no matter what I do. This definitely needs to be solved.
0 -
I have a similar problem. When I create 3D photogrammetry in Reality Capture, it requires long calculation time. I want to connect from home to my computer at work and see the result of the calculations. I access my computer, the programs run normally, but the 3D model does not appear in the workspace, just a black space, as if there is no model at all. If you have a solution, please let me know.
0 -
A follow-up: I found a way to fix the issue, but not at the core of the problem. Let me expand on that:
I don't remember how I found this out, but when I turned off my monitor before I left the house and then tried to connect remotely the aforementioned problem occurred.
When I don't turn off the screen, there was NO PROBLEM! like nothing happened at all!
That is some weird bug, and my solution was to purchase a cheap 10.1in display from Aliexpress so that I could leave it connected and not my main display, a LG 27GN950B monitor. I do this in order to save power mostly, but the core problem persists: when there's no active display WHICH IS NOT IN ANY KIND OF SLEEP MODE, Teamviewer doesn't show the 3D area of SOLIDWORKS or pictures in Win7 Picture Viewer and so on. When THERE IS active monitor, everything is fine.
I probably be OK with this solution for the time being, I hope this gives you more info about the problem and how to diagnose it.
0 -
Has this issue been fixed? I am having the same issue.
0 -
When I first downloaded teamviewer it was great because I could use my windows device from my Mac, but now whenever I try to use the one program I need remotely (solidworks) it does not do so. Opening the program I will go as I usually do and everything is smooth, but as soon as I start editing my part or attempting to make a new nothing happens. The weird part is that if I hover over solidworks for the preview window it shows the current view of what I was trying to do. Ive tried refreshing, checking my connection (I have over 200 mb per second consistently) and restarting both computers.
Basically, the program starts, i can open my assembly, but that's it. It does not show the actual assembly.
If someone could help me that would be a great help.
Thank you
0 -
I recently upgraded the gaphics card and monitor on my desktop and I am now having issues with getting graphics to render when I remote into that desktop from my laptop.
I used to have an AMD Firepro 7100 and 1080p monitor and everything worked well for the most part. Occasionally the screen would freeze and I'd have to kill the TeamViewer connection and reconnect.
Both the desktop and laptop are windows 10. The new graphics card is a 3060 TI and the monitor is a 2k ultra wide. The laptop that I am remoting with has a 1080p screen. So now everything has to be downscaled.
Images are attached, but the issues I am seeing now are:
Often when I remote into the desktop, the screen will be black and I have to click "refresh screen" or change the resolution or whether the wallpaper is hidden to get the image to appear.
When I open up the start menu, the program list on the left is tiny text, but in a larger space.
Some programs fail to render completely. Resilo sync just shows as a white box. While others, like Solidworks and Adobe Premier Pro, show the menu bars, but the actual graphical region is entirely frozen.
About the only thing that seems to render correctly is Google Chrome and Window Explorer and even those seem to be lagging..
I am not sure if it is the monitor or the graphic card causing this issue, but changing the teamviewer resolution or changing from best fit or scaled, to 1:1 doesn't seem to resolve the issue. Any advice anybody has would be appreciated.
0 -
For anyone who finds this post and is having a similar issue, I have found the solution. It's because my monitor on my desktop was powered off. The graphics card doesn't draw the graphical area of certain applications if it doesn't detect a monitor. Turning the monitor on fixed the issue, though it is very limited in the resolutions I can project. I'm going to look for settings on the graphics card and monitor to alleviate this problem without having to leave the monitor on, but that is the current work around.
See this post for more information:
0 -
I have to mention that is a 3D-modeling software. Neither making for a screen update works
0 -
They should add a feature that tricks the controlled machine to think "Oh, a monitor is connected, the apps need to be rendered.".
0