Windows 8 Remote display driver model - driver

I'm trying to port the current XPDM Mirror Driver to Windows 8.
Microsoft disables Mirror Drivers completely under Windows 8, but on MSDN it says
A remote display driver model that is based on the mirror driver architecture can also run starting with Windows 8. For more information, see Remote Display Drivers.
and on the remote display drivers page, it says:
A remote display driver is based on the Windows 2000 Mirror Driver model and is used to render the desktop in a remote session.
However, I could find any more information for "remote display driver" on the website, except this and this link on MSDN. The only information I have is that it is based on Win2K mirror driver model, but I don't know what I should do to make it Windows 8 compatible.
I tried to port the XPDM mirror driver code base into Visual Studio 2012, and I used the same inf file. The code can compile and deploy successfully on Windows 8, but the display driver is not loaded by kernel.
The display driver is named accdrv.dll, and the miniport driver is mirror.sys. When debugging the kernel, only the mirror.sys is loaded.
Is there a place where I can find some information on "remote display drivers"? so I can continue the work on it?

Related

How can I use a USB/COM port inside of a VSCode development container?

From inside of a development container for VSCode (Debian Linux) I'd like to use a COM port for communication via an USB device connnected to the Windows host machine (via WSL2). How can I make the COM port available insie of the container?
EDIT:
For WSL2 there is no official support yet.
As of right now WSL 2 does not include serial support, or USB device support.
A corresponding feature request is tracked on GitHub.
July 2021: As of right now WSL 2 does not include serial support, or USB device support.
Update November 2021: the same FAQ states:
Skanda Hazarika reports:
You can now connect USB devices in Windows Subsystem for Linux under Windows 11
If you’re an active user of Windows Subsystem for Linux and want to access USB devices right from the Linux instance running under WSL, then you’ll be happy to know that there has been a significant progress in this front.
Thanks to Microsoft’s contributions to the open-source dorssel/usbipd-win project, you can now enjoy USB passthrough access in WSL.
It means end users can perform tasks like flashing Android devices under Windows Subsystem for Linux, which are otherwise not supported by the Linux subsystem.
The usbipd-win project is all about creating a solution for sharing locally connected USB devices to other machines, including Hyper-V guests and WSL2. However, the official WSL2 Linux kernel used to lack support for the USB/IP protocol, requiring users to build the kernel themselves.
Since WSL kernel version 5.10.60.1, the required parameters are configured out of the box, so no manual recompilation is needed.
Microsoft has also contributed a command line interface to the project to both enable a USB device for sharing on Windows and seamlessly attach it from within WSL.
So if you have:
migrated/upgraded to Windows 11
applied all WSL updates (through the Windows Store)
Then, your VSCode should be able to access mounted USB drives through WSL.

Error "LoadLibrary failed with error 126: The module could not be found" when launching Spyder IDE through VPN

Here's what happens:
Using a Macbook Pro, I use the Microsoft Remote Desktop Connection application to connect to my work computer, which is a Windows 10 machine
If I try to launch Spyder on my work computer, I get this error:
Load Library Error
However:
If I am at my work computer (i.e. physically at work instead of logging in remotely), I can launch Spyder successfully
If I leave Spyder open on my work computer, then go home and do a remote log-in to my work computer, I can use Spyder without issue. The problem/error described above arises only if I try to open Spyder through the remote connection.
This error only seems to affect Spyder and I can use all other programs without issue through a remote connection. As a workaround I've been using other IDEs and successfully running scripts, but I strongly prefer Spyder.
What I have tried so far (without success):
The 4 troubleshooting steps posted by Fazil M. to this Microsoft thread
Uninstalling/reinstalling Spyder using Conda
Restarting my work computer
System Information:
Work Computer OS: Windows 10, 64-bit
OS of computer through which I'm logging in to work computer: Mac OS X El Capitan 10.11.6
Spyder version: 4.1.1
Any thoughts as to what could be going on?
Update--More information and trials:
I checked out Issue #3736 on Spyder's GitHub. It says to download and add a file called opengl32sw.dll to the folder ~\Lib\site-packages\PyQt5\Qt\bin. But when I go to the PyQt5 folder, I do not see a subfolder for Qt. I tried placing it into the PyQt5 main folder, but that did not fix the problem.
I've heard this can be a graphics card issue too. On my machine I have two graphics cards: AMD RadeonT R5 430 and Intel(R) HD Graphics 630.
Darren's answer did not work for me. What did work was to:
First option: go into the device manager and disable the Intel HD Graphics card under "display adapters."
Second option:
run "Gpedit.msc"
navigate to Computer Configuration->Administrative
Templates->Windows Components->Remote Desktop Services->Remote
Desktop Session Host->Remote Session Environment
Disable "use WDDM graphics display driver for remote desktop
connections"
Restart the computer
See https://answers.microsoft.com/en-us/windows/forum/all/windows-10-1903-may-update-black-screen-with/23c8a740-0c79-4042-851e-9d98d0efb539
It took help from my organization's IT contractor, but I fixed the issue by doing the following:
Run a file called "gpedit.msc", which will open up a window for Local Group Policy Editor
In the tree menu on the left, navigate to Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Remote Session Environment, and open the Remote Session Environment folder (not the subfolder within it)
Make sure the following are set to "Enabled":
"Use hardware graphics adapters for all Remote Desktop Services"
"Prioritize H.265/AVC444 graphics mode for Remote Desktop Connections"
"Configure H.264/AVC hardware encoding for Remote Desktop Connections"
Then restart the computer.
Since I was unable to get pass LoadLibrary 126 error using the solutions provided online and on here, I stepped back and realized the obvious workaround. The errors occurs when you open the program while you're using a remote session, right? The obvious solution is to launch the program while a remote session is not in progress. To do this while you're remoting, you should create a batch script to launch the program but make sure to include to a time delay before that (I used 'timeout 10 /nobreak' to do so). Run the batch script and, before your program launchs, disconnect from RDP. After enough time passes for the program to launch, you can reconnect to RDP and your program will be up and ready

Docker for Windows: is it possible to install a printer?

I have a .NET application which generates some reports in PDF format and sends them to a printer.
The printer is a network printer which is available directly via IP (no print server).
Right now this application is hosted on a Windows Server-based machine which has this printer installed.
Is it possible to pack this application in a Docker container? Which base image should I use? How to install a network printer with the corresponding drivers in a Docker container?

How to test app on Edge on Mac OS or Linux

I am on Mac OS and Linux and want to test my app on Edge. I know I can use Browserstack, but it's a paid service. Any other ways that I can test on Edge for Free?
If you are on Mac or Linux, you can use the following tools to test Edge for free:
Virtual Machines
https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/
You can get the virtual machines image to test Edge as well as IE6 to IE11 on all platforms Mac, Linux and Windows. You do need to have either Virtual Box, VMware or Vagrant to install the VM image.
RemoteIE
https://dev.windows.com/en-us/microsoft-edge/tools/remote/
If you don't want to install VM image, try RemoteIE. The Remote client app is a small utility program that allows you to access Microsoft apps from the cloud. When you launch Internet Explorer from the Remote client app, a real preview version of the browser opens into a new window on your operating system, much like any other app you might have running. This version of Internet Explorer is modified to host the latest preview version of the EdgeHTML rendering engine, so you can test how your site will render in Microsoft Edge. It is available for Mac OS X, iOS, Android and Windows OS devices, and includes simple installation and account set up steps.
Yes, using virtual machines. Microsoft provides VMs in a number of formats for exactly this reason.
You can download them here

Problems with FireMonkey over VNC and Remote Desktop

Settings: An executable native application written in Delphi FireMonkey (object pascal) application on Windows 64bit and Windows 32bit. The executable is run from a virtual machine through VNC, typically from an Ubuntu Linux machine to a virtual Windows 7 configuration running the executable.
Problem: The problem is when displaying an image (TImage) with effects (TMonochromeEvent, TShadowEffect), the image is not displayed in a VNC connection. Changing the effect will sometimes render the image, sometimes it will flash for a second and disappear.
The same happens with custom styled TListItem. They display fine over Windows 7, Windows 8 in 32bit and 64bit when running locally, and work as expected.
Would appreciate ideas and commentary! :-) Thank you.
Could it be related some settings in VNC (poll full screen?) or the version of VNC you are using (perhaps try UltraVNC or TightVNC). Are you running VNC as a service? I believe they have some sort of display driver hook, are you taking advantage of this? Could you use Remote Desktop Services instead, or LogMeIn?

Resources