Page 1 of 1

Celestia win32 in Linux

Posted: 16.04.2006, 18:38
by Boux
Hi all,
Just for fun!
Celestia for Windows runs beautifully under Linux through Wine.
I am just begining to do some testing and I am far from having found the ideal sweet point.
We all know that almost anything OpenGl for Windows will run one way or another in Linux.
The only issues may be with the specifics of the Windows UI (and the oddities of Celestia itself).
The OpenGl rendering part of the sofware will make it through.
Right now, Celestia for Win32 is still running at a some 25% slower speed through Wine than the native Linux executable.
A lot of investigation and optimizations are still to be made.
If some people are interested in this venture, I will be happy to share and discuss.

Posted: 17.04.2006, 18:13
by Boux
Well, it seems I am talking to myself!
I never had any problem doing this :wink:
Never mind...
After some tuning and optimizations, Celestia Win32\Wine runs under Linux some 10% to 20% faster than the Linux native executable /on my system/.
There is still one minor glitch /an Xorg annoyance, I believe, no more/ but I will fix it hopefully.
Amazing, is not it?
8O

Posted: 17.04.2006, 18:43
by selden
It sounds like a worthy effort to me, but I don't use Linux, so...

Do you have any idea why it's running faster?
Different OpenGL drivers, maybe?

Posted: 17.04.2006, 19:28
by Boux
Hummm, I don't know, really.
I am forcing the following native Win2k dlls in Wine's fake Windows registry:

Code: Select all

[Software\\Wine\\DllOverrides] 1145200457
"activeds"="native,builtin"
"advpack"="native,builtin"
"amstream"="native,builtin"
"atl"="native,builtin"
"avicap32"="native,builtin"
"avifil32"="native,builtin"
"cabinet"="native,builtin"
"cards"="native,builtin"
"cfgmgr32"="native,builtin"
"comcat"="native,builtin"
"comctl32"="native,builtin"
"comdlg32"="native,builtin"
"crtdll"="native,builtin"
"crypt32"="native,builtin"
"ctl3d32"="native,builtin"
"d3d8"="native,builtin"
"d3d9"="native,builtin"
"d3dim"="native,builtin"
"d3drm"="native,builtin"
"d3dxof"="native,builtin"
"dciman32"="native,builtin"
"devenum"="native,builtin"
"dinput"="native,builtin"
"dinput8"="native,builtin"
"dmband"="native,builtin"
"dmcompos"="native,builtin"
"dmime"="native,builtin"
"dmloader"="native,builtin"
"dmscript"="native,builtin"
"dmstyle"="native,builtin"
"dmsynth"="native,builtin"
"dmusic"="native,builtin"
"dplay"="native,builtin"
"dplayx"="native,builtin"
"dpnet"="native,builtin"
"dpnhpast"="native,builtin"
"dswave"="native,builtin"
"dxdiagn"="native,builtin"
"iccvid"="native,builtin"
"imagehlp"="native,builtin"
"imm32"="native,builtin"
"itss"="native,builtin"
"lz32"="native,builtin"
"mapi32"="native,builtin"
"mciavi32"="native,builtin"
"mcicda"="native,builtin"
"mciseq"="native,builtin"
"midimap"="native,builtin"
"mlang"="native,builtin"
"mpr"="native,builtin"
"msacm32"="native,builtin"
"mscms"="native,builtin"
"msdmo"="native,builtin"
"mshtml"="native,builtin"
"msi"="native,builtin"
"msimg32"="native,builtin"
"msrle32"="native,builtin"
"msvcrt"="native,builtin"
"msvcrt20"="native,builtin"
"msvcrt40"="native,builtin"
"msvcrtd"="native,builtin"
"msvfw32"="native,builtin"
"msvidc32"="native,builtin"
"msxml3"="native,builtin"
"netapi32"="native,builtin"
"newdev"="native,builtin"
"objsel"="native,builtin"
"odbc32"="native,builtin"
"odbccp32"="native,builtin"
"ole32"="native,builtin"
"oleacc"="native,builtin"
"oleaut32"="native,builtin"
"olecli32"="native,builtin"
"oledlg"="native,builtin"
"olepro32"="native,builtin"
"olesvr32"="native,builtin"
"powrprof"="native,builtin"
"psapi"="native,builtin"
"qcap"="native,builtin"
"quartz"="native,builtin"
"rasapi32"="native,builtin"
"riched20"="native,builtin"
"riched32"="native,builtin"
"rpcrt4"="native,builtin"
"rsabase"="native,builtin"
"rsaenh"="native,builtin"
"secur32"="native,builtin"
"security"="native,builtin"
"sensapi"="native,builtin"
"serialui"="native,builtin"
"setupapi"="native,builtin"
"sfc"="native,builtin"
"shdocvw"="native,builtin"
"shell32"="native,builtin"
"shfolder"="native,builtin"
"shlwapi"="native,builtin"
"snmpapi"="native,builtin"
"sti"="native,builtin"
"tapi32"="native,builtin"
"url"="native,builtin"
"urlmon"="native,builtin"
"usp10"="native,builtin"
"version"="native,builtin"
"wininet"="native,builtin"
"wintrust"="native,builtin"
"wldap32"="native,builtin"
"wtsapi32"="native,builtin"

Then, in KDE, I am forcing native custom resolution of the display window, fullscreen without borders.

Celestia is finding the other dlls (openal etc.) in the program's root directory as it would do under Windows.
In Wine configurator, the native resolution of the desktop is also forced.
Perhaps Celestia Win32 is running under some kind of minimal native Windows environment, without overhead. On top of that, Linux has a superior memory management scheme.
I am running the latest Nvidia drivers (released a few days ago) which are really fast.
I am puzzled.
The kernel is 2.6.14 for SMP and bigmem up to 4 GB. I believe this kernel is very efficient when running on an hyperthreading processor.
8)

Posted: 18.04.2006, 18:04
by Christophe
I've been able to run Celestia through wine since the first time I tried it (1.2.4) back in 2002. Although I find it 'cool', I don't think there is a real need for it since the Linux frontends are on par, or even more advanced than the Windows one.

Now, running the KDE interface under Cygwin, that's a challenge!

re

Posted: 19.04.2006, 19:34
by John Van Vliet
i triyed kde with cygwin and gave up because it wes TO slow
but kde in fedora , its to cute .

Posted: 20.04.2006, 07:51
by Boux
Christophe wrote:I've been able to run Celestia through wine since the first time I tried it (1.2.4) back in 2002. Although I find it 'cool', I don't think there is a real need for it since the Linux frontends are on par, or even more advanced than the Windows one.

Now, running the KDE interface under Cygwin, that's a challenge!


Yes, it is more for fun than anything else.
It looks like the Wine version used can make a lot of difference, from completely broken to pretty fast and stable. They have a very short release cycle at WineHQ like one new release every month. Quite often, they break something in the new release.

The KDE ui is more advanced than the Windows one, no doubt about that!
But I also like the simplicity and efficiency of Gnome.

Given the fact that Celestia seems to have a development cycle of 12 to 18 months between significant releases, one has to kill some time in between, playing with the code or trying some weird setups.
It is funny to have both executables running concurrently side by side :lol: