How to programatically change the output mode of an intel gma450 graphics card to clone - intel

I would like to change the output mode of an Intel GMA450 based graphics chip to "cloned" mode.
Since the environment is a Windows Embedded Standard and only one of the connected monitors might be visible for the enduser, I would like to either permanently set the output mode to cloned or reset it continuously to cloned mode in case the actual mode differs (e.g. after a reboot, disconect/reconect of the second monitor or by other means).
Is there a way (Registrykey, API for the Intel driver, Win-Api) to change the display mode to cloned / dual output programatically?
Update:
I found the SDK for the IEDG driver it seems that I might be able to programatically set the resolution, clone mode etc.
However, I can't find the SDK or any information for the driver I am currently using: IntelĀ® Graphics Media Accelerator Driver for Windows* XP, version 14.32.4.4926.

This isn't a good answer, but it might get you headed in a direction to figure it out.
My last laptop had an external monitor connected, and the Intel drivers would often be confused about the orientation of the secondary after a reconnect or a reboot. I got tired of dealing with that and tried to fix it programatically because the clicks were too many in the GUI. Select this monitor, select rotation, select other monitor, select rotation, apply, arrange, apply, wait...
I spent about a day on it (ahh, the days of being an employee vs. self-employed!) and the solution I found was to use a program to compare the registry (regshot perhaps?) to discover what keys were involved in the correction (what they were before versus what they were after) and then there was an intel-provided exe that forced the driver to reset based on the registry-- the exe was essentially like pressing the "apply" button in the gui. I was running XP and if I recall, the gui management was for configuration of the Intel Graphics Media Accelerator Driver for Windows XP as well. So the final solution became a cmd file on my desktop that would apply a REG without confirmation and then run an exe with some parameters.
Now, I don't have that laptop (they didn't let me walk out the door with it when I quit!) and I do not remember the specifics on the exe that was required to do the reset. Just changing registry keys didn't spontaneously cause it to take effect-- there was an api call involved, which I just handled with their exe. I know that isn't a lot to go on, but something tells me the file was in the driver package, or somewhere on the drive already, and I just found it. Running it at the command line gave options. Like /reset.
I hope that helps you a little. Be sure to post back if you figure it out.
Also post back if I'm completely mistaken and it didn't happen like this at all. But that's the way I remember it. :)

Related

STM32 Cube IDE (True Studio) Connect under Reset

I just tried out the new STM32 Cube IDE, which based on Atollic True Studio which based on Eclipse.
Looks good, Cube MX is integraded but the Debugger / ST-Link Intigration made problems by me.
If I flash a MCU for first time, it works pretty well. But on next time, the IDE says
"Target no device found
Error in initializing ST-LINK device.
Reason: No device found on target."
I found out that the ST-Link V2 with my Hardware need a "Connect under Reset".
With the ST-Link Utility it works fine, but in Cube IDE I cant find that point to set up.
Here is the Config Form: IDE
Can anyone assist?
I found the problem of the code, why the upload just works one time after full erase:
Cube IDE generate the HAL_MspInit() in ..stm32f1xx_hal_msp.c which contains:
__HAL_AFIO_REMAP_SWJ_DISABLE();
With that all debug stuff will be disabled after first flash.
With changing this line to:
__HAL_AFIO_REMAP_SWJ_NOJTAG();
The Debug mode works fine and several times in a row.
With version up to v1.0.1 it is not possible to connect under reset with STM32CubeIDE from GUI.
The reason(s) why you are having the issue could be:
You are using low-power features where CPU is halted
You are overwriting default alternate function setup for SWDIO and SWCLK pins (PA13 and PA14).
If you need to use Connect under reset, use STM32CubeProgrammer for flashing. Even better, try not to use sleep modes or do not overwrite flashing GPIOs for the test.

IBM Domino Designer JavaScript editor lags in virtual environment

I have installed Domino Designer in a Windows VM on VirtualBox on OS X.
When I start entering code in the JavaScript editor, Domino starts to work for every letter I type. The hourglass icon appears and the network symbol on the status bar flashes. This operation takes up to several seconds for every letter I type.
If I try to type anything before the hourglass disappears, the keyboard may hang up and the result is a long list of the same letters that I have to delete again (causing the hourglass to appear for each letter I delete again).
I have tried to disable functionality like "Content Assist", "Quick Diff" and other helpful stuff without luck.
I would really appreciate hints or tips to make this nightmare vanish...
I've not used domino designer, but first thought would be that your VM isn't handling the processing required by the designer.
What are the specs on you windows VM? Did you allocate enough RAM, for example? Make sure they match the requirements to run the designer:
http://www-969.ibm.com/software/reports/compatibility/clarity-reports/report/html/softwareReqsForProduct?deliverableId=1351628933716&osPlatform=Windows
Thanks to Joel for leading me into the right path.
I did several things, and together it now seems that I have a much better environment. I still see the hour glass from time to time, but it does not mess up my code anymore, and most of the time it does not bother me.
What I did was the following:
Changed the memory settings for Domino in this file:
[notes dir]\framework\rcp\deploy\jvm.properties
New values:
vmarg.Xmx=-Xmx1024m
vmarg.Xms=-Xms512m
vmarg.Xmca=-Xmca512k
Then I changed the virtual memory of my guest Windows install to a fixed swap file of 4096 MB.
At least I connected my Mac to a faster network using Thunderbolt to Ethernet cable adapter. I don't think the last thing did any difference, but at least I now have a faster and more reliable network connection.

USB driver not loading one USB image but loads another?

I have a usb driver with multiple IOKitPersonalities each with a IOMediaIcon entry. all works fine if the usb devices are plugged in after the kext has been loaded (kext loads fine, is signed, etc.). but after reboot of the computer, only ONE of the usb devices shows the standard orange default usb image. if I unplug/reload kext/replug the usb device in, the image gets corrected.
Any thoughts?
(Details:
running Mac OS X 10.10.1 (I don't think I saw this problem before Yosemite, definitely not a problem on 10.6.8), all the Personalities are the same (except for the IDs (which are correct I think since the usb device loads correctly if I plug in after the kext is loaded) so it isn't mistake with the personality...)
I don't know how to fix your specific problem, but I can give you some pointers which may or may not be helpful (sorry, a bit too big for a comment, but not a proper answer):
The icon stuff is handled in user space, the only thing that the kernel should have to do in theory is set the IOMediaIcon before registering the service. Setting it in the personality should be fine.
In user space, Disk Arbitration takes over. You can download (most of?) the source code for it from Apple's Open Source Site.
A quick search reveals that the diskarbitrationd source code does indeed reference the IOMediaIcon, in DADisk.c
I don't know how well it works to recompile diskarbitrationd and substitute Apple's binary with your own, but if that works, maybe you can modify it to log output from the icon code, and get closer to your answer that way?
The other source of error I can possibly think of is that although the system gets the correct icon information, it can't actually find the icon file? I've heard about various bugs related to bundles and resources in the context of /System/Library/Extensions vs /Library/Extensions since they added the latter. If your icons are in your kext bundle, and you've switched to /Library/Extensions, try switching back to SLE.
I hope that helps your debugging efforts!

intel_iommu , what is it?

One of my customers had a problem with a Xeon E5 machine: they were having one gpu (I believe it was an NVIDIA one) hanging and they solved by adding the
intel_iommu = igfx_off
in the grub loader.
What is this value and what does it? I read around but couldn't just figure that out in simple terms
Quoting from the "Intel-IOMMU.txt" file included in the Linux kernel documentation:
"If you encounter issues with graphics devices, you can try adding option intel_iommu=igfx_off to turn off the integrated graphics engine. If this fixes anything, please ensure you file a bug reporting the problem."
Apparently the GPU in this case was not working properly with the DMAR (DMA Remapping) feature provided by the Intel chipset. Using the "igfx_off" parameter allows the GPU to access the physical memory directly without going through the DMAR.
The purpose of the DMAR feature is to enable things like direct assignment of hardware to virtualized guests. If you have to use the "igfx_off" parameter then you probably won't be able to use this GPU in such a direct-assigned virtualization scenario.

DirectShow DMO Color Converter

I am having an issue with connecting the Color Converter DMO object in graphedit (graphstudio, and in code). It works on one machine and turns green in graphedit, however on the machine I have to demo the program on it will not connect! I've looked at sdks, installs, and the machine should mimic my machine.
I also noticed that I can reregister the filter on my machine with regsvr however it fails on the other machine.
Any ideas as to what the culprit could be?
Why would you want to re-register it, it is either a core OS component, or not available at all
It is not a filter, it is dual interface DMO/DSP and while it is available within DirectShow through DMO Wrapper Filter, this use scenario is not guaranteed to work out smoothly and you possibly have to workaround issues.
Having wrapped it through DirectShow.NET library, the number of issues might increase, so you have to gather and provide more details about the errors on the way (HRESULTs etc).

Resources