Skip navigation

UPDATE: Here is a tool that allows you to manipulate the USB registry and devices directly. With this tool, you can disconnect all the duplicated devices and identify which registry keys need to be edited for power management.  Here it is: USBTool

Most users of FSX will likely find all of this information superfluous. They will migrate from Windows 7/MS-FSX to Windows 10/FSX-SE or to entirely different simulation platform(s). No need for you to comment that it doesn’t apply to you.

If you are in the scenario where Windows 8.1 and FSX-MS is your combo, I would be very happy to trade advice with you.

As Tom Tsui says, regarding application of his experience, “Your mileage may vary.”

With that caveat, here is a brief overview of the issues with running the Microsoft version of FSX on Windows 8.1, presented in the order they were encountered.

ADMIN RIGHTS

Getting FSX to run without admin rights on Windows 8.1 was not very different than on Windows 7. Installing into a custom folder location with appropriate security rights is the most important step. Many add-ons require admin rights to install, so the installs must be done under an admin user account. In a few cases (Milviz data, TacPack, changes to exe.xml/dll.xml), certain files have to be copied from the admin user’s appdata into the regular user account’s appdata files.

You must turn UAC off however. FSX is not UAC aware and will crash if the operating system attempts to use the UAC mechanism. Many legacy addons are also not UAC aware.

USB DEVICE PROBLEM

Windows 8 and 8.1 have a power saving feature that could possibly save electricity but produces much gray hair if you are using certain kinds of USB hardware. USB devices designated as “passive” are not detected properly because Windows 8.1 is constantly trying to turn them off if not in use. This seems to be related to the joystick drop out problem so many FSX users have reported in Windows 8.

The solution is to turn the power management features off for the specific USB devices. Unfortunately this must be done in the registry. Reference this article: https://support.microsoft.com/en-us/kb/2900614/en-us. The big deal is actually figuring out which devices are the issue in the system registry. Powered USB hubs can also be a complicating factor in this problem.

FSX_Win81_USBThanks for making the setting so obvious and easy to use

Thrustmaster Cougar MFDs fall into this “passive” category and presented the greatest example of this challenge for our system.

COMPATIBILITY MODES

Windows 7 had some useful application compatibility modes that would allow legacy apps (that’s you, FSX) to run seamlessly in the modern security environment. Windows 8.1 (and Windows 10) compatibility modes are even better, being able to analyze the program code and recommend a compatibility mode. Deliberate testing of FSX and associated apps on our new system without compatibility analysis/mode revealed a LOT of random crashes. FSX would crash when weather was injected by OpusFSI, for example (but not every time).

Under the properties of any .EXE file, there is a compatibility tab where the operating system can analyze the code and recommend an application execution mode. The list for this new computer looks like this:

FSX — Windows Vista SP2
OpusFSI– Windows 7
TrackIR — Windows 7

Note that all .dll and .exe that are spawned by FSX, will also run under the Windows Vista SP2 compatibility mode, thus reducing the need to check them individually.

FSX_Win81_CompatOne of the best and most under used features of Windows

FSX.CFG TWEAKS

Here are the only fsx.cfg tweaks used for this install of FSX:

[GRAPHICS]
HIGHMEMFIX=1
[Display]
WideViewAspect=True
[Main]
FIBER_FRAME_TIME_FRACTION=0.4
DISABLEPRELOAD=1

BUILTIN SOUND CARD

While troubleshooting a particularly vexing performance issue involving KSEA, Orbx PNW, and Orbx FTX Global, it became apparent that turning the sound off in FSX could increase FPS by up to 30%. Simply hitting “Q” and toggling the sound on/off made dramatic differences in FPS. The builtin sound card uses CPU cycles to process/output the sound files.

With an addon sound card, this processing is offloaded to the card instead of using the CPU, thus more instruction cycles are available for visual render processing. The gaming community as a whole seems to have a good grip on this issue, so an addon sound card is in our future.

HEPT

The same vexing performance issue led to a potential problem related to the HEPT timer. Gamers using ASUS motherboards seem to report HEPT as a source of graphics stuttering. Not exactly a deal killer on our new system, but turned off anyway because it is not needed.

UIAUTOMATIONCORE

The most persistent, random, and annoying crashes of FSX on this new system seem to have been related to the infamous UIAutomationCore.dll phenomenon familiar to many Windows 7 users. We never had this problem with FSX in Windows 7 and always suspected that it was because of a specific addon software, not necessarily FSX.

With FSX on Windows 8.1, it felt like it was happening with certain addon aircraft more frequently than others, but the overall frequency, while apparently random, was relatively low….until we installed the VRS Superbug The Superbug was extremely reliable in producing this kind of crashing. We could never get thru the manual start sequence, not even once, without FSX crashing.

Conventional wisdom about the UIAutomationCore.dll issue is that it is only a solution if you are having crashes with the FSX in-game menus. This does not appear to be the only scenario in Windows 8.1. All of our very reliable crashes with the Superbug were generated by clicking switches in the VC.

Similar to the compatibility modes, Windows Error Reporting (WER) was available in Windows 7 but enhanced and expanded in Windows 8.1. Looking at the app crash logs in WER clearly pointed to UIAutomationCore.dll as the faulting module.

FSX_Win81_CrashHiding in plain sight

Subject to more thorough testing, placing UIAutomationCore.dll version 6.0.6001.18000 (Windows Vista 32 bit) in the same folder with FSX.EXE seems to have exorcised the crashes. Interesting to note that Windows 8.1 recommended Windows Vista compatibility mode for FSX.

2015-5-23_19-50-16-729Well worth all the trouble

Advertisements

14 Comments

    • AviaScorp
    • Posted 26/05/2015 at 3:20 AM
    • Permalink

    I’m sticking with Win-7 for a little while longer….till, I upgrade my box.

    But, I can tell, this ‘research’ is going to come handy.

    Thanks you sir.

    • When Windows 10 comes out officially, I will be upgrading my test/dev computer and do a similar deep dive. Glad to hear the sound of your typing 🙂

  1. Hi,

    thanks for the good summary. Regarding the USB settings I found something in Windows Power Options / Edit Plan Settings / Change advanced power settings dialog box. It seems you can disable USB suspending globally. I created a special power saving plan for simulator and changed the setting there. I just found it, I haven’t tested FSX with this setting, but possibly helps. See a screenshot of the setting here:

    Gabor

    • Gabor,

      Greetings Magyar! The power USB settings did not help me much. As soon as the Thrustmaster MFD was plugged in, the computer would go into an unstoppable cycle of detecting, then turning off, then detecting, etc. The lights on the MFD would flash with each detection attempt, then go out with each power off event. The driver was never loaded properly. Based on several forum posts about the Thrustmaster MFD’s, I had to edit the registry to get them to even be detected.

      Other than the USB problem, FSX is really running quite well on Windows 8.1 for me.

      Let me know how things work out with your system.

  2. I tried the detailed version as well now, though at the proper item in the HID section there were no advanced power setting variables. At similar items in the USB secrion there were and I disabled them. I had not restarted the PC – that might be a problem – and made a test flight. After more than 30 inutes the yoke had stopped working. I should make another test after restarting the laptop.

    Adjusting the compatibility settings and copying the Vista DLL helped me as well earlier. No more stochastic crashes.

    Unfortunately this yoke problem is quite disturbing.

    • Is your yoke connected thru a USB hub? That is possibly why you are not seeing any of the power settings. Also, if the dropouts are happening inside of FSX, other folks have indicated that FSUIPC can eliminate the problem. (This did not apply to me…I already have FSUIPC).

      Glad we could help with the random crashes!

  3. What do you mean that FSUIPC could help? I have a registered FSUIPC.

    • In several forums, there were pilots who had joystick/controller dropouts while FSX was running in Windows 8. Many of these pilots did not have FSUIPC. When they installed FSUIPC, the joysticks/controllers stopped disappearing.

      My USB problems were in the operating system. Because you have FSUIPC, it sounds like your USB problems may be with the operating system too.

  4. Hi,

    it seems you are right and disabling USB selective suspend settings (as I suggested above) is not enough. It only affects one of the 3 important registry settings. Now I made the compete registry manipulation and it seems (?!?) the yoke is stable (for some hours). Here is the detailed process for documentation purposes (thanks for your guidelines in the article):

    – We should check what is the ID of our yoke or joystick to be able to find the appropriate entries in the registry when we disable USB shut down.
    – Open Device Manager within Control Panel
    – Try to find your controller in the “Human Interface Devices” (HID) or “Univeral Serial Bus controllers” (USB) sections. You might plug in and out the controller to see which item is dissapearing and reappearing. For me it was “HID-compliant game controller”.
    – Right click, Properties, Details tab.
    – In Properties combo box select “Device instance path”. The device ID will be displayed in the lower window: “HID\VID_…&PID_…” (see screen shot below). Make a note of this or put the window asside to be available later.
    – Open registry editor
    –-(EDIT) Select HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Enum \ USB \ [PID-VID] where the last key is the ID of the controller you had just determined in previous steps.
    – Within this key there might be several subkeys. I am not sure, but it seems there is one subkey for each USB port to which I have plugged in the controller at least once. The next two steps should be performed ON EACH OF THEM.
    – Open one of them and select the “Device parameters” subkey to display its items.
    – In the righ window set the value of all relevant parameters to 0 (disable them): AllowIdleIrpInD3, EnhancedPowerManagementEnabled, SelectiveSuspendEnabled.
    Close registry editor and Device manager and restart your PC.

    Screenshot of Device Manager and registry editor:

    • Gabor, good detail on the process of locating the USB registry keys. I used your two edit posts to update the main description. Check to see if it is correct. Let me know if you need me to change anything else.

  5. Thanks for the edit!

    Unfortunatelly it seems it had not helped for me. Still stochastically I have problems with the CH FlightSim Yoke. It is possibly an other problem, not related to the USB. Now it is sue, that the functionalities are dropping gradually. Some buttons, controls are still working on the yoke, other already not. Sometimes I could get them back by shutting down some 3rd party software or by opening FSUIPC window and doing this or that. In other times, I could not do anything.

    So possibly my problem relates to some software incompatibility. I downloaded CH Control Manager from here:
    http://www.chproducts.com/Flight-Sim-Yoke-v13-d-705.html. It replaced the HID device an created a separate CH Product branch in Device Manager. I was very excited, but I already failed quite soon – and in a gradual manner again.

    I use the fllowing add-ons:

    – FSUIPC 4
    – IvAp
    – FSEconmy client (SimConnect version)
    – FlightSim Commander
    (- I removed EzDok)

    I continue the investigation…

    Gabor

    • I did some more research concerning the use of FSUIPC to eliminate the controller dropouts. Simply having FSUIPC installed is not enough. You must use FSUIPC to manage your joysticks completely. FSUIPC maintains an active polling of the hardware that makes the operating system stay “awake” the USB devices. Here is a good article about how to use FSUIPC to fully manage your HID hardware.

      http://forum.simflight.com/topic/63177-simsamurais-fsuipc-tutorial-updated-18th-jan-2010/

      Let me know if this helps.

  6. Hi,

    I followed the instructions in the SimSamurai docment you had suggested above:
    http://fsuipc.simflight.com/beta/SIMSAMURAI+FSUIPC+TUTORIAL.pdf

    I disabled the CH FLightSim Yoke in FSX completely and configured all yoke axes and buttons within FSUIPC4 as recommended. Since then I had flown several hours with all possible scenarios involved and the Yoke had worked perfectly.

    I will create a short introduction based on the SimSamurai doc later as that document is quite complex for the first glance.

    Thanks for all the help and the tips! It seems my FSX with Windows 8.1 works seamlessly now! During the day I scanned several forums and I see that this solution helped quite a lot of people.

    Gabor

    • That is great news! I am really very happy with the FSX is running on my Win8.1 computer even with all the troubleshooting.


Comments are closed.

%d bloggers like this: