While taking pictures with third-party camera apps on the Nexus 5X, some users may notice that both the preview displayed by the phone and the image captured are upside down. While this error could easily be attributed with initial Marshmallow incompatibility on the part of the app developer, both software and hardware are to blame…
In a post on a Reddit thread about the issue, a tech lead for Android’s camera framework describes how the camera sensor on the 5X was mounted in an uncommon manner (reverse landscape) in order to fit the sensor chip’s wires onto the board:
Because of manufacturing reasons, we needed to mount the Nexus 5X main sensor in the less-common (reverse landscape) orientation – the wires from the sensor chip wouldn’t have fit otherwise.
Unfortunately, our old camera API (which is deprecated, but most apps still use it) isn’t terribly user-friendly, and requires application developers to explicitly set the preview rotation. On most devices, though, it turns out the default rotation is correct for a forced-landscape app, so many apps never call the display orientation method.
While the new camera2 API handles rotation automatically and accounts for the different mounting, most apps experiencing the problem are using the older, deprecated camera API. Google says it tried to “work out a way to adjust the default” on their end, but that such a solution would have broken apps using the older API.
So, sadly for developers, the only solution here is for them to update their apps to the camera2 API. Android developer relations and LG are contacting app developers, but the Tech Lead is also asking users to contact developers of problematic apps. If you notice an app that has this problem, it’s probably a good idea to send them an email or a tweet letting them know what’s up.