Page 1 of 4

Any plans for the native 64-bit Linux version?

Posted: Mon Jan 16, 2012 3:56 pm
by flabbergastedpickle
I guess the title says it all. If not, is there any chance we could access the source of the executable to try to help porting it?

Many thanks for allowing me to relive my youth on Linux :-)

Re: Any plans for the native 64-bit Linux version?

Posted: Mon Jan 16, 2012 8:05 pm
by Myrd
There's no reason for Myth to be 64-bit. It doesn't need more RAM and it's fast enough that having more registers on x86 won't do much.

A 64-bit version would just make it use more memory as pointers are now twice the size and would create more work for us, having to build and post separate installers and putting more download links when we make new versions.

Re: Any plans for the native 64-bit Linux version?

Posted: Mon Jan 16, 2012 8:37 pm
by flabbergastedpickle
Many thanks for the reply. However, there is an issue for non-native 64-bit builds on Linux (at least on Ubuntu Oneiric) with Intel HD 3000 video card. For some reason only 32-bit builds that rely on GL/GLU libs have these annoying rectangles around all 2D texture's edges almost as if texture filtering is buggy. Currently, I have no idea why that is other than it is definitely true for 32-bit apps but not for 64-bit versions. Please see following topics:

Ask Ubuntu thread I started on this issue:
http://askubuntu.com/questions/95508/3d ... e-on-64-bi

Specific screenshot:
http://i.stack.imgur.com/YzlAm.jpg

Related correspondence with the Aquaria dev that had the same problem and that was solved by building a 64-bit build (since the dev has free access to the executable's source/build):
http://www.bit-blot.com/forum/index.php ... 0#msg32730

Now, I do suspect this is some kind of a build issue associated with the ia32-libs but am also worried that it might be something really hard to pinpoint where perhaps precision plays a role in aliasing those textures and thus the edge junk pixels in which case this would be rather hard to chase down and definitely something outside my ability. OTOH, recompiling the binary provided it does not have anything hardwired for 32-bit precision, would be practically trivial and would immediately circumvent the problem altogether (as was the case with Aquaria, please see the bit-blot link above for my correspondence with the dev).

Re: Any plans for the native 64-bit Linux version?

Posted: Mon Jan 16, 2012 10:00 pm
by Myrd
Interesting. Are you using an open source or a closed source graphics driver?

Re: Any plans for the native 64-bit Linux version?

Posted: Mon Jan 16, 2012 10:07 pm
by Myrd
If it's the open source ones, it might be worth filing a bug following the instructions here:

http://intellinuxgraphics.org/feedback.html

You should be able to point them to the Linux demo download, so they can reproduce without needing a full version of Myth II.

Re: Any plans for the native 64-bit Linux version?

Posted: Mon Jan 16, 2012 11:08 pm
by Melekor
Myth was written in a very low level style of C, and it does a lot of things that would probably be considered hacks in modern code. It makes extensive use of the fact that sizeof(int) == sizeof(void*), as well as serializing structs containing pointers by copying them whole as a block of memory. So, porting to 64 bit would be very costly to do, especially relative to the expected net benefits which are small to possibly even negative as Myrd explained.

Re: Any plans for the native 64-bit Linux version?

Posted: Tue Jan 17, 2012 8:15 am
by flabbergastedpickle
Many thanks all for the reply. It seems 64-bit is not an option then due to the way the code is written.

I did file a bug in Xorg but I don't think it is an intel bug but rather a bug in the ia32-libs or more specifically how libGL and libGLU are built which is a part of mesa or how they are being packaged but I have no way of proving that other than the fact that 64-bit builds of the same apps work fine while 32-bit ones exhibit this benign albeit annoying bug. The same driver is being used in both cases so it seems to me that this is more likely having to do with libs than the driver, but then again, I've seen weirder things happen :-) (e.g. perhaps it is some kind of a precision issue that happens between the 32-bit and 64-bit world, although I have no idea what I am talking about here since I don't even know how that cross-over happens both software- and hardware-wise).

Re: Any plans for the native 64-bit Linux version?

Posted: Tue Jan 17, 2012 9:57 am
by Myrd
I guess an interesting question is whether having a pure 32-bit install of Ubuntu on the same hardware exhibits the problem or not.

Re: Any plans for the native 64-bit Linux version?

Posted: Tue Jan 17, 2012 10:16 am
by flabbergastedpickle
Indeed. Any volunteers? (I guess I could do live CD on mine but installing new OS on my production machine is not an option unfortunately as I have neither the space nor do I wish to obliterate current production environment)

Re: Any plans for the native 64-bit Linux version?

Posted: Tue Jan 17, 2012 12:50 pm
by flabbergastedpickle
OK, so I went ahead and tried live 32-bit Ubuntu 11.10 CD and it shows same problems so it seems 32-bit libs + Intel HD 3000 is bugged for sure...

What would be really helpful to see if anyone else on HD 3000 Intel video card has similar problems on either Ubuntu or other distros. That would greatly help identify whether it is an issue of packaging or a bug...

Re: Any plans for the native 64-bit Linux version?

Posted: Tue Jan 17, 2012 4:56 pm
by Myrd
It might still be good to file a bug against the open source intel drivers - even if the problem isn't on their end, they might be able to figure out the problem in the GL libraries while investigating it.

Re: Any plans for the native 64-bit Linux version?

Posted: Tue Jan 17, 2012 8:43 pm
by flabbergastedpickle

Re: Any plans for the native 64-bit Linux version?

Posted: Wed Jan 18, 2012 12:48 am
by flabbergastedpickle
Hmmm, the plot thickens. I just had an aquaria community contributor recompile 32-bit version of Aquaria and now suddenly all the artifacts are gone even on the 32-bit version of the game... The only thing he changed is that he used a stable vesion of SDL lib 1.2.14 and compiled on a newer machine, but that is about it (he also used minimal amount of linking and did not strip the file but I don't think this had any bearing on the matter)... OTOH, I don't see SDL being linked in the Myth2 game at all. So, what to make out of this mess?

Do you happen to know on what kind of arch was the Myth2 linux executable compiled on?

Also, does Myth2 have statically linked SDL lib? This may be the problem if so.

Below is a link to Aquaria correspondence:
http://www.bit-blot.com/forum/index.php ... 4#msg32744

Re: Any plans for the native 64-bit Linux version?

Posted: Wed Jan 18, 2012 3:14 am
by Melekor
Myth2 does statically link SDL, but we're already using 1.2.14 stable afaics.

Myrd will be able to tell you the arch it was compiled on.

Re: Any plans for the native 64-bit Linux version?

Posted: Wed Jan 18, 2012 9:54 am
by flabbergastedpickle
Any reason why SDL was statically compiled? Also is there a way a fully dynamically-linked executable could be made available? Finally, is Myth 2 open-source and if so where could one get their hands on the source to try all this out and report back?