Mono For Android 4.0.5

 

Installation

Visual Studio Users: You should be prompted with this update when you open a MFA project. You can also check manually in Tools > Options > Mono for Android.

MonoDevelop Users: You should be prompted to upgrade next time you open MonoDevelop, or you can use Help > Check for Updates. IDE support requires MonoDevelop 2.8.4.1.

Changes since 4.0.4

This release brings an overhauled OpenTK/Android backend, with support for all Android versions, including Ice Cream Sandwich, as well as improved multiple context support, streamlined loading and other fixes and improvements.

Behavior changes

CreateFrameBuffer should not be called in OnLoad.

By the time OnLoad is called, a context is already created, so user code should not call CreateFrameBuffer in OnLoad. Instead, user code can optionally override CreateFrameBuffer, which gets called when the context is about to be created, to set up the OpenGL version and other settings, and then call base() to allow the context to be created.

Custom context support

All surface, display and context destruction activity happens in GraphicsContext.Dispose (). Custom contexts can hook up this method for their own destruction needs.

The Update method in IGraphicsContext objects is now called whenever the surface changes. Custom contexts can hook up this method for resetting the current context or other operations.

Bug fixes

  • 1918: Rotating OpenGL app dies with egl.EglMakeCurrent failed: 0x3009
  • 2210: GLCube fails on ICS with egl.EglMakeCurrent failed
  • Better multiple context support.
  • Fixes crashes when using custom contexts and swapping buffers.

Regressions

  • 2313: Resource name capitalization is inconsistent. This was fixed in 4.0.4 but not in 4.0.5.

Warnings

Warning: Samsung shipped a broken kernel with Android 2.1, which is not able to support JIT compilation. If you possess a Galaxy-class device with Android 2.1, you will get unexpected results, this is caused by a kernel bug that breaks cache coherency, rendering any engine doing JIT compilation useless. Check with your manufacturer/carrier for an Android 2.2 update.

Xamarin Workbook

If it's not already installed, install the Xamarin Workbooks app first. The workbook file should download automatically, but if it doesn't, just click to start the workbook download manually.