New editor 1.42 not working on old Xp PC

Started by linky, May 24, 2015, 07:20:26 PM

Previous topic - Next topic
May 24, 2015, 07:20:26 PM Last Edit: May 24, 2015, 07:30:05 PM by linky
Hello,

I'm using solarus on old pcs under windows XP and the new editor version 1.42 crashes systematicaly at load with the error :

"The application failed to initialize properly (0xc000001d)"

Untill now all the previous editor's version worked fine withount problem, even if the configuration of those old pcs are completely outdated (but the last windows update are done on it). I'm using those machines for education purpose in a school and have only those pc available for this task (there is no possibility to buy new one for the moment because of limited budget reason). So unfortunately i can't use the new editor with this pcs but only at home with a more decent machine.

I imagine the new editor is requiring more ressources and graphical functions than before, but in case of, do you think there is a way to get around this problem or can you precise what is the minimal configuration to use the new version 1.42 of Solarus (maybe with minimal directX version) ?

Thank's for your help

May 24, 2015, 07:59:47 PM #1 Last Edit: May 24, 2015, 08:08:21 PM by froggy77
Hello linky,

It works for me with Windows XP (Family) SP3 and DirectX 9.0c installed on an old PC.

Does your problem happen even if you unzipped "solarus-1.4.2-win32.zip" in a new folder and start the editor?
Is the problem occur when loading your project or when starting the editor? The project can be loaded automatically at startup by modifying the properties of a shortcut to the editor . This is why I ask this question.

EDIT: I didn't read your other topic Little bug in Editor 1.42 with door icon, so I guess it's not with the same PC or I do not understand.

Thank you froggy77 for your answer !

For my first post i used solarus on my pc at home which is much more recent, so no problem to make the editor run. The problem is with the pcs at my work.

I think those old pcs are also under sp3 and directx0.9c but i'm not sure, i will check this incoming week, if it is not the case it could be the origin of the problem.

The problem happens if you launch the editor's exe directlty or launch it with a shortcut to the project as I also usualy does. So I don't think the problem is due to a corrupted data project, but really the new editor exe thates crash on those old configuration, although the previous java version 1.3.1 of the editor worked well.

If i don't find a solution, could it be possible to publish a java version of the editor that seems more versatile that the new executable version ?

I have never seen this error message. According to google, maybe you can try to install .NET Framework 3.5.

But the new editor should work better than the old one on old configurations, because is is lighter (no Java runtime required).

The JAVA runtime was pretty much a guarsntee of compatibility.  Would it be difficult to use substitute rutimes with a command line switch --java from one build?

XP-SP2 is still the most common desktop OS in use.

Does the Event Viewer help?

You could use procmon and see if it reveals anything, https://technet.microsoft.com/en-us/library/bb896645.aspx?f=255&MSPPError=-2147217396

Can you go to SP3 and check?

The only other thing I can think of is to put in "debuggers" in the C++ source, compile, run, see where it blows up.


Maybe I forgot some dlls like visual c++ runtime.

Thank you all for your help !

I have check today and the configuration is the same as froggy77 :

XP (familly) SP3 with directX 9.0c and all framework .net 2, 3.5 and 4.5 installed with SP pack when there is. Everything is with last update avalaible, so i don't think the problem comes from there.

The event viewer of windows shows this error message, but says nothing more about its origin.

Searching more precisely on google show me that this error code (0xc000001d) is often associated with problem in games application and are explained by the fact that the processor is too old and don't propose SSE2 instructions set. I have check with CPU-Z and the processor of those old pc are :

AMD Athlon(tm) Barton XP 2800+ (Socket A (462))
Instructions sets:  MMX (+), 3DNow! (+), SSE
(its really old PCs but still runing :) )

so doesn't support SSE2.

Do you think that this can be the source of the problem ? Maybe the new editor 1.42 use those instructions set ?

If it is the case, is there a way, without making a lot of work on it, to propose a java version of the new editor to keep compatibility with old system ?

Thank's



Thanks for these detailed information!
So, it appears that we have a choice to make.
We can either decide to support this older generation of CPUs by compiling with SEE only (not SSE2), or we can decide to not support them.
I am not sure of the benefits of the SSE2 instruction set, but Windows XP is no longer supported by Microsoft so maybe we should move on.

I think you really shouldn't change anything about the development of solarus code just for this very particular problem, that i am probably the only one to encounter. This configuration is clearly completely outdated, but unfortunately it's not depending on me to renew the computer hadware, so i will continue with version 1.3.1.

I had choosen Solarus some times ago to teach lua in this very nice and funny game environment, especially because it don't ask big resources and the last graphic card uptodate. But if it's no more possible to keep compatibility with older machine, from my point of view, there isn't any hesitation to have and you should continue in this direction. It wouldn't be reasonable to limit the potential of solarus for that specific situation. In particular because it is apparently not a problem with XP that is still widely used (like froggy77 & me), but only with too old processors.

I just wished to know if there was a way i could maybe myself (with my small dev skill) recompiled the solarus code or something like this to make a version on my own without some components by unchecking this or that somewhere, that can allow it to run on low configuration, but apparently it is not the case. This was the big advantage of the previous java version that could run everywhere without problem, but things have to go on.

Thank's anyway

Hi, I recently upgraded an old shuttle K45 that died (power supply and motherboard). I choose to go with a 80+ power supply and and cpu integrated motherboard (Asrock Q1900ITX).

The upgrade was a bit more expensive since it's an itx design with a specific power supply. I guess you could find some upgrade for maybe less than 100 $ by reusing the same case/power supply/hdd and going for used ram on ebay.

I understand that there's no budget for that but I guess there's a lot of saving on the power consumption side. My Asrock with a certified power supply and a not too expensive ssd use less than 10W on idle (which is 10x less than my old celeron). For a computer running a powerpoint all day long in a store, I guess the upgrade will be paid in less than two years...

Or maybe ask for people having old but not so old computer waiting in their basement...

Hi fosamax,

The problem is that it's not for only one pc but for about 10 used in a classroom that have exactly the same old hardware. I could probably change one by myself, but this wouldn't be usefull to get only one which works with Solarus 1.4.2 and the other with the previous version. And anyway it would be a pity to change all of them for the moment as they works sufficiently well for some other development tools like visual studio express 2010 that students can use without problem, just a litle bit slow as you can imagine.

Quotethey works sufficiently well for some other development tools like visual studio express 2010
Packages redistribuable Microsoft Visual C++ :
In " Add or Remove Programs.", I have several packages for Microsoft Visual C++ 2005, 2008 and even one in 2010.
Maybe you still need to update the Packages redistribuable Microsoft Visual C++ .

QuoteThe event viewer of windows shows this error message, but says nothing more about its origin.
There is also:
msinfo32
Click Start, click Run, type msinfo32 and check the different topics:
Hardware resources (I/O), Software Environnement (Drivers, Windows Error Reporting) ...

DirectX Diagnostic
Click Start, click Run, type dxdiag and check the different tabs


May 28, 2015, 11:43:41 AM #13 Last Edit: May 28, 2015, 12:17:14 PM by fosamax
The problem seems to entirely rely on the missing SSE2 instruction set (not on OS)

Unfortunately, the socket A doesn't support any cpu with the needed SSE2 instructions (it would have been a really cheap upgrade otherwise, even for 10 computers).

If you were able to compile the quest editor, you could perhaps remove the need for that set but performance will probably suffer.
I guess it would be also easier to compile on linux.

I found an interesting thread regarding QT and SSE2 instructions :

https://forum.qt.io/topic/16237/regarding-qt-configuration-and-sse-sse2

Maybe it could be usefull to have a solarus quest editor build for x86 without sse2 support for compatibility an one build for x64 with sse2 (which is mandatory with 64 bits cpu) for performance.
But maybe it's too much hassle for supporting really old hardware.

Bravo fosamax ! The thread you found corresponds exactly to my problem :

"if Qt library is compiled with SSE2 and machine does not have the SSE2 support, your Qt application will crash with "The application failed to initialize properly "0xc000001d"" error message."

I didn't knew that the Solarus editor was made with QT and unfortunately i have never used this framework, so there is probably not much things to do. At least I have a clear explanation on the origin of the problem, c'est déjà ça.

Thank you