Blog

Major OS Upgrade? What Could Go Wrong?

You may need your rant-proof goggles for this post.

In the last few years, we’ve seen the price of major operating system upgrades drop, down from $100-to-$150 to…$0. And free is a magic number – once you make something free, people install it without doing a lot of critical thinking about whether something is a good idea or not.*

This creates a software compatibility disaster for OS vendors, app developers and users.

  • The OS vendors (Microsoft, Apple, etc.) try really hard to keep the minor patches to the OS from breaking compatibility. They need users to install updates aggressively to fight malware. So a break due to a minor patch is a rare thing.
  • The OS vendors can’t keep legacy APIs going forever – at some point they need to change fundamental technology.** So they save the big changes for major versions.
  • Major versions are now free – so users install a major update aggressively, taking incompatible changes that the OS vendors had to put somewhere, breaking their apps.

We first saw this with Yosemite, which caused us a bit of a fire drill, and now we’re seeing it with Windows 10, where I have just seen a pile of weird-o random behaviors that are specific and unique to Windows 10. At least some of them seem to be a clear case of OS compatibility rules changing at a major version.

So first, here’s my advice:

Don’t be the first pilot on the block to update the OS on your X-Plane machine.

Let someone else go first. These days new OS releases just don’t offer some new feature that is so totally awesome and amazing that you can’t wait a few weeks to see if the compatibility situation is good or bad.

In the long term, what we need is a new normal. Currently application developers depend on compatibility-breaking API changes happening at well-defined, infrequent, major inflection points, e.g. the full OS upgrade. But full OS upgrades are gone; Microsoft is saying that they’re just going to patch Windows 10 forever, and Apple puts out a new OS version so frequently that they’re not all that different from patches.

We could simply declare ourselves “not compatible” with future OS versions until we’ve had time to survey the damage, but that’s not a real solution – most users are going to update first and read the fine print later.

It may be that we have to follow OS betas much more closely. There’s definitely some irony here – I am always berating third party developers to retest their add-ons against X-Plane betas. (“We’ll fix the bug, just check your add-on!”) Third party developers have a good reason not to want to do this – they need to do real work on their new aircraft, not spend their time testing our builds. We have a similar view about OS betas – it’s a time-sink for us to keep re-testing X-Plane on the latest unstable crazy-town beta.  (OS betas can be a pretty big mess, so isolating regression bugs that affect your product from general breakage is sometimes difficult.) But we’re in the same situation with Apple and Microsoft that third parties are with X-Plane: if you don’t report a problem, it may not get fixed.***

* This has had the effect of making free-to-play a near-requirement in the mobile market. If your mobile app category is even slightly competitive, then you are one of ten apps doing the same thing. A user will download and try every free app in the category before buying even one $0.99 app. So if your competitor is free-to-play and isn’t totally unusable and awful, you had best be free-to-play too!

** For example, Microsoft has been trying to evolve the rules about high-DPI devices and app resolution. This is a necessary step because monitors have become much larger and much higher DPI; keeping the old system forever would mean not actually supporting this technology.

*** Apple and Microsoft test third party products themselves to try to catch problems directly, and we now do the same thing with third party add-ons.  But the amount of test coverage we can find is definitely not adequate to guarantee that your add-on is perfect coming out of beta. All we can hope to do is add another layer of defense.

Posted in Development by | 19 Comments

Making Perfect AVIs

When you capture an AVI movie in X-Plane, a few things can make the video capture look bad:

  • X-Plane might not be able to compress and save the frames to disk as fast as they’re being recorded. In this case you’ll see a message on screen about dropped frames. (This isn’t a huge problem because the AVI compressor is multi-core, so it can usually keep up on modern machines.)
  • X-Plane itself might not be able to hit the framerate you’ve selected in the AVI capture settings.
  • If X-Plane’s framerate is fluctuating, the AVI movie can’t record that properly, because AVI files run at a fixed framerate.*

There is another way to make a movie, however, that will give you much better quality: record your replay.

When you record an AVI movie in replay, X-Plane slows down its playback of the replay as necessary to guarantee that it can render and compress each frame at the framerate you have selected for your AVI.  If you’ve picked very high rendering settings, you’ll see X-Plane running in what appears to be slow motion while capturing an AVI in replay mode.

When you play back the AVI, motion will be in “normal time” and will be frame-perfect, even if you’ve picked a high framerate, large movie size, and heavy rendering settings.**

* This wasn’t a problem with the older QuickTime capture; QuickTime movies can have variable framerate.

** This mode was available in X-Plane 10.36 via a special button; in 10.40 it is the only way to record an AVI in replay mode. The change was made to simplify the process of making a high quality movie.

Posted in Development by | 26 Comments

X-Plane 10.40 Beta 10 Posted

X-Plane 10.40 Beta 10 is posted. This fixes a few big airplane compatibility problems: fuel flow and light size match X-Plane 10.36. (I will post in some detail on this on Monday.) The high-low idle switch isn’t fixed yet – that’s one of the few aircraft compatibility bugs still floating around.  See the full release notes for details.

I have seen some bug reports that auto-update is broken on Windows 10; I’m investigating those now. If you try to auto-update and something goes wrong, please do file a bug.

Ideally we will have a release candidate in one week; in practice I am out of the office for a few days this week and it looks like we have Windows-10 specific bugs, so we are more likely to have a release candidate in two weeks.

Posted in News by | 19 Comments

A Slightly Better Safe Mode

TL;DR – X-Plane won’t ask you if you want to reset your rendering settings when you crash unless you hold down the shift key.

Getting Locked Out

Some of X-Plane’s rendering settings take effect on restart, and this can lead to a nasty situation:

  • You dial in a setting that takes affect on restart, like FSAA in non-HDR mode.
  • You restart, and your graphics card can’t handle it; the driver crashes.
  • Now you can’t start X-Plane without deleting your saved preferences, which will cost you your joystick setup and other prefs.

This was a particularly nasty problem in the early 32-bit days of X-Plane 10; rendering settings that take effect on restart could push you over the RAM limit, causing a crash the next time around.

Safe Mode

To work around this problem, we added “safe mode”. If X-Plane detects that it crashed the last time it was run, then on the next start, X-Plane gives you a chance to reset rendering settings. If you reset the settings, you might avoid a crash on startup. You’re not locked out.

Don’t Reset My Settings

Now that X-Plane is 64-bits, getting locked out is much less of a concern. So we have received a number of complaints from users who don’t want their rendering settings reset if the last run didn’t shut down properly. The previous crash might have been due to an errant add-on, and resetting X-Plane’s rendering settings won’t help. If you have a multi-machine setup, having the dialog box come up on the external visual machines means an annoying trip to the KVM switch.

So we’ve changed how safe mode works. Starting in X-Plane 10.40 beta 10, safe mode is an option if and only if you start the sim with the shift key held down.

This gives you access to safe mode when you need it (e.g. after repeated crashes) but skips the annoyance of having your settings reset (or having to get a keyboard for external visuals).

Posted in Development by | 18 Comments

X-Plane 10.40 Beta 9 Is Out

X-Plane 10.40 Beta 9 is out. If you couldn’t run beta 8 (e.g. it wouldn’t start up or crashed), please update to beta 9. We’ve been thrashing about trying to deal with the problem where X-Plane asks for a user’s product key over and over every time they run. Beta 9 should fix this; if you still see your product key being blanked out frequently in beta 9, please file a bug!

Two known issues:

  • The transponder commands have been dead for a few betas due to an accidental rename; this will be fixed in beta 10, which should be out in a day or two.
  • We’re looking at screwed up fuel flow rates in airliners. If you have found an add-on other than the FlightFactor 757 or JAR Designs A330 where fuel flow has changed since 10.36, please file a bug.

Our goal right now is stabilization; what remains for 1040 is to fix the open bugs, not add new features. (So if your question is “will you add X to 10.40”, the answer is almost certainly no.)  We want to get to a point where digital download customers can run a non-beta as soon as possible.

I still have at least 30 bugs filed against me; if you filed a bug and it’s not fixed, you do not need to re-file it if it’s not mentioned in the release notes.

Posted in News by | 7 Comments

X-Plane 10.40 Beta 8 Is Out

Beta 8 went live today – it’s pretty much just bug fixes – the release notes list them.

If a bug is listed as fixed in the notes but is still broken for you, please do file a new bug – we need to know that we didn’t actually squash it like we think we did.

If a bug fix is not listed, don’t panic, and please do not file  another bug – we still have lots of bugs in the database that we have not gotten to, which is why beta 8 isn’t a release candidate.  Beta 8 primarily fixes some big high profile regressions from beta 7.

If you use a digital downlod product key, you may have to enter your key once for beta 8. If you are then repeatedly asked for your key over and over while using beta 8, please file a bug – it’s an indication that the digital download client code isn’t working as expected.

At this point I think all of the major code craziness for beta 8 is done and it’s just going to be fixes and locking things down – things should just become more and more stable over the next few betas as we head to a release candidate.

Posted in News by | 30 Comments

Digital Download and X-Plane 10.40 Beta 7

Over the last few days we posted a new version of our installer and X-Plane 10.40 beta 7. What follows is a big pile of notes about all of the new versions.

Fixes for Digital Download

The new installer and 10.40 beta 7 fix a pile of problems we found with digital download. Some major fixes:

  • Installer crashing with old Intel drivers. (If you have a laptop with an NVidia card for games, the Intel driver may still kick in for the installer, and it may have an old driver that’s not upgradable.)
  • Problems with computers running Windows in a language other than English.
  • Problems authenticating.

X-Plane 10.40 beta 6 also had a bug where, for the very first aircraft start after entering your product key, the sim would still be in demo mode – change airports and demo mode would be gone. This was due to code using stale cached information to know if X-Plane was in demo mode, but it made things very confusing for new users. Beta 7 fixes this.

Important: if you have a digital download product key and X-Plane requires you to enter your serial number over and over and over, even when you do not delete preferences, please contact X-Plane tech support! A small number of users are affected by a bug in the code that checks product keys; since this bug isn’t reproducible on computers within Laminar Research, we’re looking for users who see this problem and can send us logs.

Other Stuff in X-Plane 10.40 beta 7

The normal X-Plane beta process goes something like this for a “major” beta.

  • Early betas – putting in a fair amount of new code and large-scale restructuring to try to address feature requests and problems.
  • Middle of beta – fixing bugs, often the high risk and tricky ones.
  • End of beta – try to touch as little as possible. Unobtrusive bugs, small changes, nothing crazy.

The idea is to cut down the level of code bashing over time so that by the end of beta we’re not adding a new bug for every bug we fix.

X-Plane 10.40 beta 6 is a little bit atypical in that it is also the first release to have digital download. Since beta 4, we cut down how much code we were changing to try to get digital download released, since the servers and installer became ready to ship.

The result is that beta 7 contains the rest of that “large scale restructuring” and other code change that you’d expect from an early beta – it’s a significantly bigger jump in code than you’d normally expect from a beta that’s this many weeks old.

I am hoping that beta 7 represents the last of this kind of “change a ton” code and that we’ll get into stability mode shortly. But in the meantime:

  • If you make a third party add-on, you should definitely plan to test one of beta 7 or 8 for compatibility in the next week. (Since beta 7 has a bug where the FMS is broken with certain planes, beta 8 might be a better candidate.)
  • There are definitely still bugs we have reports for that are not fixed for beta 7. Check the release notes; if your fix isn’t listed, there’s no need to re-report, it means we just haven’t gotten to it.
  • If you put in a feature request and we said “yeah, we’ll get that into 10.40”, we haven’t forgotten – I have a big backlog of datarefs to add, for example.

I think we still have several more weeks of beta; inserting the release of digital download has stretched the process out. How long beta lasts will be a question of how quickly we can stabilize.

New Commands

X-Plane 10.40 beta 7 adds a big pile of new commands. I will try to produce a comprehensive list later; one of our goals for our own fleet was to have a command to change any control that is all of:

  • An in-cockpit control.
  • Has more than two positions.
  • Has discrete movement (e.g. up a notch, down a notch).

So besides commands added by the request of users, a number of commands were added to add “coverage” to the cockpit.

Posted in News by | 48 Comments

We’ve Gone Digital

X-Plane 10.40 beta 6 is out – it took me a while to get the release notes updated, but they are updated now.

Beta 6 really isn’t a beta at all – it was an update to enable digital download of X-Plane 10.

Laminar Research, creators of the X-Plane flight simulator franchise, is proud to announce that X-Plane 10 is now available as a digital download from the Laminar website at X-Plane.com. In addition to the DVD version of X-Plane 10, new purchasers of the product now have the choice of the digital version.

The X-Plane 10 Digital Download version is the full Global X-Plane 10 product, containing all of the same features and scenery areas as the DVD version. World scenery areas may be added at any time as desired, once the core product has been purchased and additional world scenery areas may be added or deleted at any time in the future.

If you have DVDs or the Steam edition of X-Plane, X-Plane will continue to work in almost exactly the same manner as it did before.

If you purchase X-Plane 10, Digital Download Edition, the sim will occasionally prompt you for a product key on startup. With the digital download edition, internet connectivity fully replaces DVDs – for installing the sim, adding/removing scenery, and taking the sim out of demo mode.

If you’re waiting on bug fixes, they’re coming in beta 7 – we have a bunch lined up, but we wanted to get the digital download edition of X-Plane out first.

Update: just to state the obvious – we are not dropping support for DVDs, we are not ending our use of DVDs, and we still sell X-Plane on DVD. The idea here is to give customers a choice as to how to get X-Plane. If you like DVDs, keep using them! If you like download, now that’s an option too.

Posted in News by | 61 Comments

X-Plane 10.40 Beta 5 Is Out

X-Plane 10.40 beta 5 is out – this fixes my breaking the zoom wheel, and has a few small loose ends tied up. We have a bunch of new stuff to get into beta 6, maybe this weekend.

Nvidia users may notice weird artifacts around the edges of the skyline in various rendering settings; my current speculation is that this is a bug in the NVidia shader compiler, but I am not sure. In the process of isolating the bug for NVidia, I discovered a work-around*, but we haven’t shipped it yet. I’ll update the score card when we know for sure what’s up.

We investigated a bunch of performance complaints since we fixed the prop disc slow-down and nothing has been reproducible. If you think you see a performance problem, please get two clean side-by-side demos (10.36 and 10.40b5) and then add your add-ons to both in lock-step to create a good test case. If you isolate a performance problem that way, then file a bug.

* From what I can tell, the shader compiler is optimizing the shader and sometimes producing illegal code; randomly moving things around can make the bug go away – it’s a “Doctor, it hurts when I do this” kind of thing, but if there’s something illegal in the shader that ships in beta 5, I don’t see it.

Posted in Development, News by | 29 Comments

X-Plane 10.40 Beta 4 Is Out

X-Plane 10.40 beta 4 is out now – if you are running X-Plane 10.40 beta 3 you can auto-update.  The release notes are updated, but a few highlights:

  • The QPAC FMC is fixed and will have procedures for airports again.
  • A bunch of improvements to METAR parsing.
  • Fixed crashes in Plane-Maker.
  • Plane-Maker’s classification screen has the tail number fixed.

There are still a bunch of things we’re working on, but I wanted to get this beta out to get the QPAC users going again.

Please report bugs on the bug reporternot in the blog comments. If you are not sure if something is a bug, report it.  (Do not post to the blog with “I saw X, and Y, and Z, should I report a bug?” Just report it!)

If you see reproducible FPS loss between 10.36 and 10.40, please set yourself up with identical setups and if you can still see the loss, report a bug. Since beta 3 we had several performance-loss bugs, but most of them were unreproducible.

Posted in News by | 17 Comments