Advanced Question Multithreading

jimblah

New member
Joined
Jan 11, 2011
Messages
212
Reaction score
0
Points
0
Location
Midtown Sacramento
Even though I'm not currently working with Orbiter on wine at the moment, I still find myself thinking about unresolved issues so that when I resume I'll bring knowledge to the table I didn't possess a month or two ago. One such issue is multi-threading. Everytime I ran a scenario involving my favorite trainer (the Delta Glider), program execution halted. Wine consistantly complained of a multithreading issue everytime. This does not mean there's something 'wrong' with Orbiter. It means I'm trying to run it in an alien environment.

The Win32 api is thread friendly, please see http://www.winehq.org/docs/winedev-guide/threading I haven't addressed this issue with a wine developer yet. Before I do I want to absorb as much as I can on my own, that's the joy of learning. In the event I can't determine my own solution, I'll be able to communicate more effectively. They may have techniques for dealing with this type of thing I'm not yet aware of.

I'm looking at a copy of "Operating System Concepts" by Silberschatz, Galvin, and Gagne and "Advanced Programming in the UNIX Environment", Second Edition by Stevens, and Rago. I'm wondering if anyone can suggest additional reading material that might enlighten me further. The site listed above indicates snippets of code that might be used to make thread handling in wine easier, but it goes without saying I won't have access to the source code to make changes and recompile. If techniques can't be found to address the multithreading issues, one possible solution would be to develop a vessel that could stand in proxy instead. In that event, it wouldn't be the Delta Glider, and it would cease to be Orbiter to me. I'm still trying to determine the scope of this Orbiter on Linux thing. If it's not meant to be I want to concentrate my efforts on addon development. I've got a ton of ideas I want to impliment.
:hailprobe:
 
You may be running an outdated version of Wine. I'm running Orbiter on Linux almost flawlessly.
 
The last version I tested was 1.3.16

You may be running an outdated version of Wine. I'm running Orbiter on Linux almost flawlessly.

That was compiled from source cloned from their git repository. I was using a P4 3.4 Ghz Socket 478 Prescott on Ubuntu Maverick. I was unable to satisfy OpenCl dependencies, but was assured it was not needed. It was on this system that I had the issue with multithreading.

I've since switched to Debian Squeeze. Wine on Debian isn't maintained like it is on Ubuntu, but I don't have to deal with things like pulseaudio that annoy me. I'd rather compile from source anyway. I was able to satisfy all dependencies and sucessfully compile and install 1.3.18 I'm still looking for a .deb package for wine-gecko1.3, but that can be dowloaded when I update my prefix. My laptop is more of a scratchpad for ideas. It doesn't support OpenGl 1.4 (no mfd's or panels) in Linux. Orbiter is playable in XP. I'm currently piecing together a new machine.

If your flying the DG, I'll sleep better at night. If you can complete DG Stunts I'll be extatic. The last thing I want is to get mired down in a swamp of multithreading issues. There's no instructor actively teaching these concepts at my school, and I'm not ready to go back to University just yet.

Addendum:

If your getting good results and you have the time could you please go to WineAppd and rate Orbiter on Wine. In the past Orbiter on Wine has been rated as garbage. Orbiter is NOT garbage to me in any sense of the word. My theory is the more attention Orbiter gets there, the more attention Wine Developers will give it.

picture.php
 
Last edited:
i have never used orbiter on wine. I think it is due to the fact that it uses D3D7. I never knew that wine was capable to run orbiter in the first place.
 
I've since switched to Debian Squeeze. Wine on Debian isn't maintained like it is on Ubuntu, but I don't have to deal with things like pulseaudio that annoy me. I'd rather compile from source anyway.
A bit off-topic, but you may like Arch Linux.

If your flying the DG, I'll sleep better at night. If you can complete DG Stunts I'll be extatic.
i have never used orbiter on wine. I think it is due to the fact that it uses D3D7. I never knew that wine was capable to run orbiter in the first place.
See this topic.

Default (DX7) renderer on Wine (v1.3.18) and proprietary NVidia drivers (v270.41.06):
screenshot.png


If your getting good results and you have the time could you please go to WineAppd and rate Orbiter on Wine. In the past Orbiter on Wine has been rated as garbage. Orbiter is NOT garbage to me in any sense of the word. My theory is the more attention Orbiter gets there, the more attention Wine Developers will give it.
PAST versions were rated garbage (not in the sense that Orbiter is garbage, but it simply couldn't be run on the time of the test), but the current version is rated gold, which, in my case, is very accurate: it still has a few quirks here and there, but it's overall flawless.
 
Last edited:
A bit off-topic, but you may like Arch Linux.

Thanks for the tip. I've looked at Arch but I haven't installed it. I'm quirky. Using the 'PACMAN' command to install software will drive me nuts, just like 'yum' did. If I'm not happy with Debian, Arch will most likely be my next choice.

Default (DX7) renderer on Wine (v1.3.18) and proprietary NVidia drivers (v270.41.06)

So to clarify, you're not running 'any' external renderer in that screenshot? That's the default renderer included in the base distribution of Orbiter, without the OGLA client by Artlav? Your running orbiter.exe, not orbiter_ng.exe (the server executable)?

PAST versions were rated garbage (not in the sense that Orbiter is garbage, but it simply couldn't be run on the time of the test), but the current version is rated gold, which, in my case, is very accurate: it still has a few quirks here and there, but it's overall flawless.

I submitted that rating and they validated it a week later. I'm James Whittamore (not that it matters much). I'm aware of their rating system and that it really applies to Wine's ability to support Orbiter. But we need more than one 'gold' rating for several reasons. If you were to rate it 'gold' but listed the 'few quirks here and there' specifically, chances are they will be resolved in the next release or two of Wine. I can't do this for lack of hardware at the moment, or I would. Then we could look at critical addon's functionality like OMP. I'm working with my local community college district to construct a simpit. Up to a hundred students will be able to spectate from anywhere in the state. With Wine some of those students could be running linux or mac. Thank you so much for answering this post MeDiCS. You don't know how much it means to me. Please consider rating Orbiter on Wine and listing those 'quirks' you mentioned. A month or two from now you'll be glad you did when you run Orbiter and they're gone.:thumbup:
 
Last edited:
So to clarify, you're not running 'any' external renderer in that screenshot? That's the default renderer included in the base distribution of Orbiter, without the OGLA client by Artlav? Your running orbiter.exe, not orbiter_ng.exe (the server executible)?
Exactly, and I took that screenshot moments before posting. The funny thing is that OGLA is more buggy than the default client in my machine.

I submitted that rating and they validated it a week later. I'm James Whittamore (not that it matters much). I'm aware of their rating system and that it really applies to Wine's ability to support Orbiter. But we need more than one 'gold' rating for several reasons. If you were to rate it 'gold' but listed the 'few quirks here and there' specifically, chances are they will be resolved in the next release or two of Wine. I can't do this for lack of hardware at the moment, or I would. Then we could look at critical addon's functionality like OMP. I'm working with my local community college district to construct a simpit. Up to a hundred students will be able to spectate from anywhere in the state. With Wine some of those students could be running linux or mac. Thank you so much for answering this post MeDiCS. You don't know how much it means to me. Please consider rating Orbiter on Wine and listing those 'quirks' you mentioned. A month or two from now you'll be glad you did when you run Orbiter and there gone.
I haven't used Orbiter for months now, and only fired it up now to test if it works here, so I can't really give a clear picture of how it's performing. The quirks I mentioned, however, are FPS hits when planetarium mode is enabled, while directly looking at the sun or reentry flames are being rendered. Without knowing how these things are rendered by the client, I can't provide any concrete feedback.
 
This is a HUGE turn of events for me...

When I submitted that rating there were still unresolved problems. I expected to submit 20 to 30 bug reports to them. But then I was going through each scenario and examining the output from wine. Plus I was checking each command button, every detail. I'm brutal when it comes to quality assurance and I'm testing software. People die because of bad code. I know that's not the case here but still.

The quirks I mentioned, however, are FPS hits when planetarium mode is enabled, while directly looking at the sun or reentry flames are being rendered. Without knowing how these things are rendered by the client, I can't provide any concrete feedback.

I'm afraid to get my hopes too high until I see for myself. I'm taking steps to have a machine built in 30 to 45 days instead of twice that. I've already got 1.3.18 installed on Debian on my laptop. I'm going to fiddle with it tonight. Next week I'll max the RAM out at 512MB instead of the 128MB I'm running now. Major multithreading problems could have turned this into a six month ordeal or longer if I had to solve them myself. I checked bugzilla, no one has submitted anything as far as a single bug report. I've been hoping a wine developer would get hooked... Whoever is responsible deserves my deepest gratitude.

I got the sequential editor for OrbiterSound3.5 working two or three days ago by installing mfc42/vcrun6 via winetricks. Sound was working the last time I checked except for the radio/radar/mp3 mfd. For some games you have to install mediaplayer and create a symbolic link to the codec, and then there's OMP. Face mentioned something about it with respect to wine/linux in the OMP support thread. I need to go back and take a look at that post.

I'm looking forward to the day someone submits another 'gold' rating at wineappd and its approved. It will validate and confirm my own. I believe the day will come when Orbiter has a dozen 'gold' ratings, maybe more.
 
Back
Top