Windows Sandbox - Enable GPU Acceleration - gpu

My Windows Sandbox has very low FPS. I searched for it and discovered that RemoteFX enables GPU acceleration on Sandbox, but RemoteFX was removed from Windows in 2021 due to security conserns.
What is the best way to natively enable GPU on Sandbox, without installing any third-part software?
*I really need a solution to Sandbox only. I cannot use any other virtual machine.

You need to create a TXT file, such as my.txt, and enter
<Configuration>
<VGpu>Enable</VGpu>
</Configuration>
Then the extension TXT is changed to WSB, for example, my.wsb. After the sandbox is started from my.wsb, the GPU is enabled in the sandbox

I got this working by adding windows sandbox and windows sandbox client to high performance GPU in mu Nvidia control panel.

Related

Is it possible to have different dev VM environments and access graphics card?

What I want to do on my laptop:
Develop and Run on windows with Visual Studio (CUDA, TensorRT,...)
Develop and Run on Linux (CUDA, TensorRT,...)
Environment to edit videos, photoshop,...
Play games
Environment for general use (web browser, outlook, word,...)
Environment to test applications
Possibly connecting some external GPU to offload the work (cuda,...) from my laptop's graphics card. Since I'm new to this, I haven't researched enough to understand how it can be done. But, this is in my plans.
What I did and reaserched:
As a start, I created VM environements in my host Windows OS using VirtualBox for #1 and #2, but I cannot run inside VM, since it doesn't provide access to graphics card. Even if it did, I still need somehow to switch to a different environment when I want to play games for example.
I probably need hypervisor type 1 if I want to have environment to play games? But, in this case I'll need a second laptop to access it, right?
Is this even possible to do on one laptop (I have strong laptop with enough RAM and SSD)
Graphics cards (GPU) are PCI devices, so they can be passed to VMs with PCI Passthrough. A device is not accessible to the host during passthrough. Hot plug can be used to reattach a graphics card to a different VM or the host without rebooting.
I don't know if a Windows host supports GPU passthrough (maybe you need Windows Server), but Linux host and Windows guest seems to work.
Setting this up is easier if you have a second GPU that remains attached to the host or another computer to control the host during GPU passthrough, for example via SSH.

Can't Enable Integrated Webcam in Virtual Machine

I used to work on my Virtual Box normally until it started giving me critical errors, so i backed up my machine and reinstalled virtualbox and loaded my backed up machine. Now i am working on a project that needs the use of the Webcam, so i use my PC's built in webcam usually. I used to enable it from the VM settings. However, now it the webcam seetings doesn't show in the devices. The photos below show the problem i am facing.
The image below shows that the webcam option is checked in the devices.
However, when i enter to enable my camera from the devices, i don't find the webcam options! (image below)
Is it recommended to reinstall my Virtual box again? If a solution couldn't be found?
The VirtualBox Extension Pack is required to allow Webcam passthrough.
Available here -
https://www.virtualbox.org/wiki/Downloads

Raspberry Pi2 IoT no HDMI output

I have had Win 10 IoT Core running on a Raspberry Pi2, it was working fine, I had ported across my signage software, and all good, then the hdmi port stopped working ? my monitor just says no output, and goes into sleep mode. the Pi is running as I can assess it via the web portal, I can still deploy my application to it, and it says its running, but nothing been displayed.
I know that when using Linux there is a config file that you can modify, but what do you do with windows version ?
you have the configuration file for Windows too. check in the root of SD card. refer https://www.raspberrypi.org/forums/viewtopic.php?t=5851. You can try setting (this forces the board to use DVI mode instead of HDMI)
hdmi_group=2 # forces DVI timing to be used
It might also be due to low power input to the RP2, which could cause HTMI to not work. Try using USB3 or 1.5A~2.0A/ 5V adapter.
Ensure that you are running headed mode and not switched to headless by mistake. Details here: https://ms-iot.github.io/content/en-US/win10/HeadlessMode.htm
he display.

What sort of things are UEFI "applications" actually used for?

I'm interested in PC firmware programming, and am just studying the UEFI spec. To my surprise, it seems like a spec for an entire OS which is embedded in firmware. You can even write UEFI "applications", which run directly using the UEFI boot services, without any other OS present.
I've found blog posts which show how to create a "Hello, world!" application which can run in the UEFI preboot environment. This is... interesting, and bizarre at the same time. I'll run my "Hello, world" programs on a regular OS, thank you.
What kind of use cases are UEFI applications actually good for? Fancy boot configuration screens? Does any "real", commercially available PC firmware use UEFI applications to implement anything more than just boot loaders and boot configuration utilities?
Anything that isn't PEI/DXE/SMM core or driver is an application, so any "real" PC have them, because BIOS Setup is actually an UEFI application. Some vendors include various other apps like firmware updaters, diagnostic and troubleshooting utilities, etc. UEFI 2.4 makes possible to add your own application with a properly filled BootXXXX/KeyXXXX variable pair and then run it by pressing a key combination during POST.
Most console applications written in C can be compiled as UEFI application by using StdLib package of current EFI Development Kit and then run in UEFI shell.
Major examples of useful UEFI apps (besides bootloaders, shell and Linux kernel, of course) are Intel ME System Tools, Read Universal, Python 2.7 and many more.
Eventually, when legacy boot will not be available anymore, all currently useful DOS utilities must either be made UEFI applications or go extinct.
Despite many valuable answers here, because I wrote couple UEFI applications myself I will try to add my 2 cents. First, what is UEFI application to just give ground what we talking about:
UEFI Specificatin v2.5:
Section 2.1.1
The major differences between image types are the memory type that the firmware
will load the image into, and the action taken when the image’s entry point exits or returns. An
application image is always unloaded when control is returned from the image’s entry point.
Section 2.1.2
When the application returns from
its entry point, or when it calls the Boot Service EFI_BOOT_SERVICES.Exit(), the application
is unloaded from memory and control is returned to the UEFI component that loaded the application.
Groups of applications that make sense in UEFI:
Configuration tools - Configuration interface for Option ROMs (ie. for storage controllers), out of band management (ie. AMT configuration tools), manufacturer performance tweaking tools
Provisioning tools - used by administrators to preload specific BIOS setting, manually setting all options in BIOS setup would be inefficient
Diagnostics tools - mostly for tests that cannot be performed in OS (DRAM tests, full storage scan, storage R/W tests, etc.). In some districts specific diagnostics tools are required in UEFI BIOS, so those can be sold to government.
Security applications - HDD encryption/decryption, antivirus scanner and anti thief applications
BIOS capability enhancement - Power Over Ethernet extensions, DRAM discovery, patching and modification of system tables (SMBIOS, ACPI)
Display tools - for displaying complex animations while running, splash screen displaying
Bootloaders - this is special type of application, which can call EFI_BOOT_SERVICES.ExitBootServices() causing termination of all memory management and passing control to Operating System.
Note that very important feature of UEFI application is that it can be added to boot order and be executed each boot time. Also UEFI application do not have to be delivered with BIOS image it can be stored in connected device memory, which is common for Option ROM configuration tools.
Here it is an example of a full blown UEFI Pre-boot Application;
There are SED SSD/HDD drives. As soon as SSD/HDD loses its power it goes into locked state (hardware-based encryption) There is no way you can get access to drive's data and all partitions on the drive are no longer even visible. Only small read-only partition (ShadowMBR) is available. UEFI firmware boots an UEFI application from that only available partition (UEFI app is written on that partition during the initialization process and when the ownership of an SED is taken). It securely authenticate user and if credentials are valid it unlocks the drive. When the drive is unlocked Shadow MBR disappears and all partitions on the drive becomes available. Then the App chain-boots the installed OS.
So if you don't have credentials you cannot even boot the OS and you cannot access the data on the drive by any means.
Here's a couple of examples:
https://github.com/NikolajSchlej/CrScreenshotDxe
UEFI DXE driver to take screenshots from GOP-compatible graphic console (yes, you can make PNG screenshots of your BIOS and save them)
http://ruexe.blogspot.com/
RU.EFI is quite an advanced tool for debugging the BIOS
Well, there are the OS loaders - both the more heavyweight ones (Windows, GRUB, BSD Loader) and the "present a menu" ones (rEFInd, Gummiboot). Shim, which enables UEFI Secure Boot for Linux platforms, consists of an application as well as installing a protocol for use by other applications.
Then you have things like the Linux kernel, which when compiled with CONFIG_EFI_STUB becomes a valid UEFI application, with the awareness of booting itself.
And firmware updates can also be shipped as UEFI applications.
The UEFI shell itself is an application.
Then there are things like factory production testing utilities, development diagnosis tools, ...
Windows 7 - 8 have UEFI installer. I'm not fully aware of the details, but I'm pretty sure this new environment gives a lot more flexibility to the developers than traditional boot environment on DVD.
Some motherboards have "instant on" features that allows you to get to a desktop screen within a few seconds. This is usually a stripped down flavor of some linux that allows you to access a web browser and play music/video. ASUS have such boards.

Memory Consumption by an app - WIndows phone 8.1 Emulator

I'm currently working in Web Scraping based windows phone 8.1 version. And I want this app to consume very low memory space. This is why I need to check how much memory it's taking when running. I can't find the option to see this memory log. Anyone has any idea how this can be done?
In Visual Studio 2013 there is a powerful tool for monitoring CPU, Memory usage and UI responsiveness go to Debug--->Performance and diagnostics. Select memory usage ans start diagnostics. See Below images.
Another option is to use windows phone developer Power tools 8.1 see below image see below image
Hope it helps!
The emulator in many cases may behave not as a real device. I'd recommend using Release version and test on a real device.
If you have Windows Phone 10 device, you may consider enabling the Device portal and monitoring your app performance and memory usage there:
http://mspoweruser.com/new-device-portal-in-windows-10-mobile-makes-it-super-easy-to-sideload-apps-pictures/
It even supports REST API in case you want to make some test automation.