So, for some reason we're trying to load tga files as icos on Ubuntu, but correctly loading as tga files on Windows? I notice that Pinta has it's own TGA exporter ported from Paint.Net, but relies on GDKPixBuf for importing. (GdkPixBuf only has TGA import, not export it seems.)

It has some ifdefs in the code, so if the Windows and Linux versions are compiled with different flags (One is compiled with GDK_PIXBUF_USE_GIO_MIME and the other isn't) that might account for that one detects our file as tga and the other as ico. But I'm not sure yet if GDK_PIXBUF_USE_GIO_MIME gives the right answer for us or not.

Either way, I think that this is either a bug in GDK, the flags used to compile GDK on major Linux distros, or possibly our TGA exporter if it sets some header that is only understood in a Windows context. (It s after all ported from a Windows product.)