RE: Bug report: Using Cygwin-Xfree through Remote Desktop Sharing (RDP)
OK, this is weird: Running with the default drawing engine - If I start XWin locally (and then run fluxbox) in -nodecoration mode on the Windows XP machine, whose screen resolution is 1024x768@32bpp and go to a Windows 2000 machine whose screen resolution is 800x600@32bpp and run RDP client to connect back to the XP box (RDP@MaxRes24bpp), I get the Cygwin screen, but it looks really gross and pixilated... Also the extent of the X screen seems to go beyond the RDP client's borders, and RDP does not permit scrolling the remote desktop Strange... I can disconnect RDP, reconnect RDP, and things don't get better or any worse... 2nd test. I start XWin (fullscreen) in query mode and connect it to a machine running Redhat 7.3. If I go to the Windows 2000 machine and connect to XP, I get XWin's Redhat view, but it looks psychedelic. If go back to the Windows XP box and take back control, I cannot see XWin's output anymore. Instead of a big white square, I get nothing at all, although from what I can tell, I am still in control of the Redhat machine. If I close XWin, go back to the Windows 2000 machine, connect to XP with RDP and start Xwin (query mode), then I get Redhat's login screen and everything is beautiful. I can log in, close the RDP connection to XP, reconnect to XP with RDP, and everything is still hunky-dory. If I go back to the XP machine and retake control by its console, the XWin window is minimized and if I restore it, it is transparent like the test before and will not draw anything even if I am still remotely controlling the Redhat computer. If I then go back to the windows 2000 machine and reconnect to XP with RDP, everything is perfect. XWin draws the Redhat view perfectly. What seems to be the problem here is that the XP machine and the Windows 2000 machine are running at different geometries. XP is 1024x768 and Windows 2000 is running 800x600. It seems like XWin cannot deal with a dynamically changing display size. This is probably a limitation in X, I would bet. So as long as the console manipulating XWin has the same geometry as the one that was in use when XWin was started, XWin is fine. Now to run the same test with XWin -engine 1 If I start XWin locally (and then run fluxbox) in -nodecoration mode on the Windows XP machine, whose screen resolution is 1024x768@32bpp and go to a Windows 2000 machine whose screen resolution is 800x600@32bpp and run RDP client to connect back to the XP box (RDP@MaxRes24bpp), I get the Cygwin screen, and it looks perfect. The extent of the X screen still seems to go beyond the RDP client's borders, and RDP still does not permit scrolling the remote desktop. I can disconnect RDP, reconnect RDP, and Xwin is unaffected and still draws perfectly. 2nd test. I start XWin (fullscreen) in query mode and connect it to a machine running Redhat 7.3. If I go to the Windows 2000 machine and connect to XP, I get XWin's Redhat view, there is a slight dithering effect apparent on the desktop wallpaper, maybe due to the view being converted from 32bpp to 24bpp by RDP. Dithering aside, visually, everything is fine, except for the fact that I cannot see the whole XWin window. If go back to the Windows XP box and take back control, I can still see XWin's output and control the Redhat machine. XWin's colors are fine, but XWin's window has gone from being fullscreen to being about 800x600 and the outer edges of the Redhat screen are now clipped out and lost. Even if I use taskmanager to send a MAXIMIZE command to XWin, there is no effect; I cannot recover the lost display area. If I close XWin, go back to the Windows 2000 machine, connect to XP with RDP and start Xwin (query mode), then I get Redhat's login screen and everything is beautiful. I can log in, close the RDP connection to XP, reconnect to XP with RDP, and everything is still hunky-dory. If I go back to the XP machine and retake control by its console, the XWin window is no longer fullscreen but it is still displaying perfectly and I can still remotely control the Redhat computer. If I then go back to the windows 2000 machine and reconnect to XP with RDP, everything is perfect. XWin is back to being fullscreen (on the smaller 800x600 display) and still draws the Redhat view perfectly. Oddly enough, there were NO dithering artifacts present during this run... Also, I seemed to notice that sometimes, the RDP client seemed to think that the XWin window was busy and would send back the BUSY cursor whenever the mouse was over XWin, but I didn't make a strict analysis of it, and its late. If there are any permutations you'd like me to try, let me know. Jean-Claude -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Harold L Hunt II Sent: Monday, September 09, 2002 12:05 PM To: [EMAIL PROTECTED] Subject: Re: Bug report: Using Cygwin-Xfree through Remote
Re: Bug report: Using Cygwin-Xfree through Remote Desktop Sharing(RDP)
Jean-Claude, Repeat the entire scenario you described, but start XWin with the ``-engine 1'' parameter, e.g. XWin -engine 1 The default graphics engine on Windows 2000/XP will be DirectDraw 4.0; DirectDraw will probably have a problem with RDP --- I am surprised that it works at all. The ``-engine 1'' parameter will tell XWin to use GDI DIBs (Device Independent Bitamps) and regular GDI BLTs (Bit-Block Transfers) as the graphics engine; GDI will be less prone to having a problem with RDP. If RDP works with the GDI engine then I know exactly what to fix; if not, I will have to pump you for some more information. Harold Jean-Claude Gervais wrote: This is complicated, so I'll try to be clear. Let's say you have machine A, which is a Windows XP machine that has Cygwin and Cygwin-XFree installed on it. You use A to connect to B. B is a machine running Linux and X. Everything so far works. Then you use machine C (a machine running Windows 2000) to remote-control machine A with Windows XP Remote Desktop Client (RDP). Machine C can use machine A's Cygwin-XFree connection and view machine B. No problem. However, when machine C breaks its connection to machine A, machine A's Cygwin-XFree will no longer display machine B. It will instead display a white screen in Cygwin-XFree. Although I am pretty sure that A is still connected and controlling B, it can no longer see B's display. It seems like Remote Desktop Client mucks-up Cygwin-XFree. I hope that that was clear enough. Thanks.
Re: Bug report: Using Cygwin-Xfree through Remote Desktop Sharing (RDP)
Sounds similar to this problem I reported a while back... http://www.cygwin.com/ml/cygwin-xfree/2002-06/msg00373.html What's in /tmp/XWin.log? From: Jean-Claude Gervais [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] To: Cygwin-XFree [EMAIL PROTECTED] Subject: Bug report: Using Cygwin-Xfree through Remote Desktop Sharing (RDP) Date: Mon, 09 Sep 2002 11:00:28 -0400 This is complicated, so I'll try to be clear. Let's say you have machine A, which is a Windows XP machine that has Cygwin and Cygwin-XFree installed on it. You use A to connect to B. B is a machine running Linux and X. Everything so far works. Then you use machine C (a machine running Windows 2000) to remote-control machine A with Windows XP Remote Desktop Client (RDP). Machine C can use machine A's Cygwin-XFree connection and view machine B. No problem. However, when machine C breaks its connection to machine A, machine A's Cygwin-XFree will no longer display machine B. It will instead display a white screen in Cygwin-XFree. Although I am pretty sure that A is still connected and controlling B, it can no longer see B's display. It seems like Remote Desktop Client mucks-up Cygwin-XFree. I hope that that was clear enough. Thanks. _ Chat with friends online, try MSN Messenger: http://messenger.msn.com
Re: Bug report: Using Cygwin-Xfree through Remote Desktop Sharing(RDP)
Thomas, Yes, it is similar in that it is likely that some surface is being lost and we are not restoring it. There were several places in the code where I made a decision not to look for lost surfaces because it did not seem that we could ever lose a surface at those points. However, I think that in this case we might actually be losing the offscreen surface, as opposed to the usually lost primary surface, and there is no code in place to look for or restore a lost offscreen surface. It wouldn't be hard to add such code for the DirectDraw engines. Of course, we have to identify the problem first. Harold Thomas Chadwick wrote: Sounds similar to this problem I reported a while back... http://www.cygwin.com/ml/cygwin-xfree/2002-06/msg00373.html What's in /tmp/XWin.log? From: Jean-Claude Gervais [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] To: Cygwin-XFree [EMAIL PROTECTED] Subject: Bug report: Using Cygwin-Xfree through Remote Desktop Sharing (RDP) Date: Mon, 09 Sep 2002 11:00:28 -0400 This is complicated, so I'll try to be clear. Let's say you have machine A, which is a Windows XP machine that has Cygwin and Cygwin-XFree installed on it. You use A to connect to B. B is a machine running Linux and X. Everything so far works. Then you use machine C (a machine running Windows 2000) to remote-control machine A with Windows XP Remote Desktop Client (RDP). Machine C can use machine A's Cygwin-XFree connection and view machine B. No problem. However, when machine C breaks its connection to machine A, machine A's Cygwin-XFree will no longer display machine B. It will instead display a white screen in Cygwin-XFree. Although I am pretty sure that A is still connected and controlling B, it can no longer see B's display. It seems like Remote Desktop Client mucks-up Cygwin-XFree. I hope that that was clear enough. Thanks. _ Chat with friends online, try MSN Messenger: http://messenger.msn.com
RE: Bug report: Using Cygwin-Xfree through Remote Desktop Sharing (RDP)
-Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Thomas Chadwick Sent: Monday, September 09, 2002 12:08 PM To: [EMAIL PROTECTED] Subject: Re: Bug report: Using Cygwin-Xfree through Remote Desktop Sharing (RDP) Sounds similar to this problem I reported a while back... http://www.cygwin.com/ml/cygwin-xfree/2002-06/msg00373.html What's in /tmp/XWin.log? This - ddxProcessArgument - Initializing default screens winInitializeDefaultScreens - w 1024 h 768 winInitializeDefaultScreens - Returning winDetectSupportedEngines - Windows NT/2000/XP winDetectSupportedEngines - DirectDraw installed winDetectSupportedEngines - Allowing PrimaryDD winDetectSupportedEngines - DirectDraw4 installed winDetectSupportedEngines - Returning, supported engines 001f winSetEngine - Using Shadow DirectDraw NonLocking winAdjustVideoModeShadowDDNL - Using Windows display depth of 32 bits per pixel winAllocateFBShadowDDNL - Not changing video mode winAllocateFBShadowDDNL - lPitch: 4096 winFinishScreenInitFB - Masks: 00ff ff00 00ff winInitVisualsShadowDDNL - Masks 00ff ff00 00ff BPRGB 8 d 24 bpp 32 winCreateDefColormap - Deferring to fbCreateDefColormap () winScreenInit - returning winBltExposedRegionsShadowDDNL - IDirectDrawSurface4_Blt reported that the primary surface was lost, trying to restore, retry: 1winBltExposedRegionsShadowDDNL - IDirectDrawSurface4_Blt reported that the primary surface was lost, trying to restore, retry: 2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 A lot of these deleted, but there were TONS of them. winBltExposedRegionsShadowDDNL - IDirectDrawSurface4_Blt reported that the primary surface was lost, trying to restore, retry: 1winBltExposedRegionsShadowDDNL - IDirectDrawSurface4_Blt reported that the primary surface was lost, trying to restore, retry: 2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 ... More of these lines deleted ... winBltExposedRegionsShadowDDNL - IDirectDrawSurface4_Blt reported that the primary surface was lost, trying to restore, retry: 1winBltExposedRegionsShadowDDNL - IDirectDrawSurface4_Blt reported that the primary surface was lost, trying to restore, retry: 2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 ... More of these lines deleted ... winBltExposedRegionsShadowDDNL - IDirectDrawSurface4_Blt reported that the primary surface was lost, trying to restore, retry: 1winBltExposedRegionsShadowDDNL - IDirectDrawSurface4_Blt reported that the primary surface was lost, trying to restore, retry: 2winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 And on and on... From: Jean-Claude Gervais [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] To: Cygwin-XFree [EMAIL PROTECTED] Subject: Bug report: Using Cygwin-Xfree through Remote Desktop Sharing (RDP) Date: Mon, 09 Sep 2002 11:00:28 -0400 This is complicated, so I'll try to be clear. Let's say you have machine A, which is a Windows XP machine that has Cygwin and Cygwin-XFree installed on it. You use A to connect to B. B is a machine running Linux and X. Everything so far works. Then you use machine C (a machine running Windows 2000) to remote-control machine A with Windows XP Remote Desktop Client (RDP). Machine C can use machine A's Cygwin-XFree connection and view machine B. No problem. However, when machine C breaks its connection to machine A, machine A's Cygwin-XFree will no longer display machine B. It will instead display a white screen in Cygwin-XFree. Although I am pretty sure that A is still connected and controlling B, it can no longer see B's display. It seems like Remote Desktop Client mucks-up Cygwin-XFree. I hope that that was clear enough. Thanks. _ Chat with friends online, try MSN Messenger: http://messenger.msn.com
Re: Bug report: Using Cygwin-Xfree through Remote Desktop Sharing(RDP)
Jean-Claude, How about with -engine 1? Harold Jean-Claude Gervais wrote: -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Thomas Chadwick Sent: Monday, September 09, 2002 12:08 PM To: [EMAIL PROTECTED] Subject: Re: Bug report: Using Cygwin-Xfree through Remote Desktop Sharing (RDP) Sounds similar to this problem I reported a while back... http://www.cygwin.com/ml/cygwin-xfree/2002-06/msg00373.html What's in /tmp/XWin.log? This - ddxProcessArgument - Initializing default screens winInitializeDefaultScreens - w 1024 h 768 winInitializeDefaultScreens - Returning winDetectSupportedEngines - Windows NT/2000/XP winDetectSupportedEngines - DirectDraw installed winDetectSupportedEngines - Allowing PrimaryDD winDetectSupportedEngines - DirectDraw4 installed winDetectSupportedEngines - Returning, supported engines 001f winSetEngine - Using Shadow DirectDraw NonLocking winAdjustVideoModeShadowDDNL - Using Windows display depth of 32 bits per pixel winAllocateFBShadowDDNL - Not changing video mode winAllocateFBShadowDDNL - lPitch: 4096 winFinishScreenInitFB - Masks: 00ff ff00 00ff winInitVisualsShadowDDNL - Masks 00ff ff00 00ff BPRGB 8 d 24 bpp 32 winCreateDefColormap - Deferring to fbCreateDefColormap () winScreenInit - returning winBltExposedRegionsShadowDDNL - IDirectDrawSurface4_Blt reported that the primary surface was lost, trying to restore, retry: 1winBltExposedRegionsShadowDDNL - IDirectDrawSurface4_Blt reported that the primary surface was lost, trying to restore, retry: 2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 A lot of these deleted, but there were TONS of them. winBltExposedRegionsShadowDDNL - IDirectDrawSurface4_Blt reported that the primary surface was lost, trying to restore, retry: 1winBltExposedRegionsShadowDDNL - IDirectDrawSurface4_Blt reported that the primary surface was lost, trying to restore, retry: 2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 ... More of these lines deleted ... winBltExposedRegionsShadowDDNL - IDirectDrawSurface4_Blt reported that the primary surface was lost, trying to restore, retry: 1winBltExposedRegionsShadowDDNL - IDirectDrawSurface4_Blt reported that the primary surface was lost, trying to restore, retry: 2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 ... More of these lines deleted ... winBltExposedRegionsShadowDDNL - IDirectDrawSurface4_Blt reported that the primary surface was lost, trying to restore, retry: 1winBltExposedRegionsShadowDDNL - IDirectDrawSurface4_Blt reported that the primary surface was lost, trying to restore, retry: 2winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 winShadowUpdateDDNL - IDirectDrawSurface4_Blt () failed: 887601c2 And on and on... From: Jean-Claude Gervais [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] To: Cygwin-XFree [EMAIL PROTECTED] Subject: Bug report: Using Cygwin-Xfree through Remote Desktop Sharing (RDP) Date: Mon, 09 Sep 2002 11:00:28 -0400 This is complicated, so I'll try to be clear. Let's say you have machine A, which is a Windows XP machine that has Cygwin and Cygwin-XFree installed on it. You use A to connect to B. B is a machine running Linux and X. Everything so far works. Then you use machine C (a machine running Windows 2000) to remote-control machine A with Windows XP Remote Desktop Client (RDP). Machine C can use machine A's Cygwin-XFree connection and view machine B. No problem. However, when machine C breaks its connection to machine A, machine A's Cygwin-XFree will no longer display machine B. It will instead display a white screen in Cygwin-XFree. Although I am pretty sure that A is still connected and controlling B, it can no longer see B's display. It seems like Remote Desktop Client mucks-up Cygwin-XFree. I hope that that was clear enough. Thanks. _ Chat with friends online, try MSN Messenger: http://messenger.msn.com