Orbiter 2010 on Wine keeps getting Better and Better.
I'm learning so much right now, but I had to take a break to post these tips.
Sound Issues: Remove PulseAudio once and for all or change distros!
It will just make your life miserable by crashing wine, Orbiter, and interfering with OrbiterSound3.5 If you try to apply patches or run scripts that compile wine and apply patches for pulseaudio support in wine, some funny things will happen. You can break sound completely. On your way to breaking your system's sound you'll notice Orbiter sound cuts out three minutes or so into the scenario breaking wine sound. To try again you have to delete ~/.pulse, pull Orbiter2010 out of your prefix(ie., ~/.wine), and then delete the prefix. Then reconfigure the prefix and replace Orbiter. Talk about a pcpitsop. You can use padsp or pasuspender to suspend pulseaudio for wine, but don't use it for winecfg or you'll get a prefix named pasuspender. Eventually you'll forget to suppress pulse and then your back in the pitstop. You can try to use q4wine or vineyard which will supress pulseaudio but if you use your package management tool like synaptic you'll likely bring in their version of wine. Plus those gui's install hard to find "default prefixes" that are hard to reconfigure if at all. All this for pulseaudio? Believe it or see for yourself. Finding removal instructions that worked took time:
I'm borrowing these instructions from here:
http://ubuntuforums.org/showthread.php?t=1313253
sudo apt-get purge pulseaudio gstreamer0.10-pulseaudio
sudo apt-get autoremove
sudo apt-get install alsa-base alsa-tools alsa-tools-gui alsa-utils alsa-oss linux-sound-base alsamixergui
sudo apt-get install esound esound-clients esound-common libesd0-dev gnome-alsamixer
Restart your computer!
Run gstreamer-properties in terminal to set defaults to alsa
gstreamer-properties
Remove gstreamer0.10-pulseaudio to get sound in totem.
gnome-alsamixer is for changing the volume
sudo apt-get install gnome-alsamixer
sudo apt-get install alltray
"Usually the best solution is to use aptitude or synaptic to do these moves, but you'll run headfirst into their dependency resolution efforts, which command them to put PulseAudio back in your system when reinstalling gnome-alsamixer. So either you use apt-get or you reconfigure aptitude/synaptic dependency resolution to work the way you want." Those instructions were for karmic, they also work for maverick.
For Fedora go here for suggestions dealing with pulseaudio:
http://fedorasolved.org/Members/fenris02/pulseaudio-fixes-and-workarounds
Here's how they remove it:
su -c "yum remove alsa-plugins-pulseaudio pulseaudio padevchooser pavumeter paprefs pavucontrol"
Create a file ~/.asoundrc with these contents:
# For details, see
http://www.alsa-project.org/main/index.php/Asoundrc
pcm.!default {
type plug
slave.pcm "dmixer"
}
# cat /proc/asound/cards to see which hardware device
pcm.dmixer {
type dmix
ipc_key 1024
slave {
pcm "hw:0,0"
period_time 0
period_size 1024
buffer_size 4096
rate 44100
}
bindings {
0 0
1 1
}
}
ctl.dmixer {
type hw
card 0
}
Logout or reboot.
I ran Fedora for a few years long long ago. I remember Fedorasolved.org If they post something there its been tested and it works.
Now my system sound is rock solid. All of my audio apps work. All of the action sounds work perfectly. Sound isn't going to crash anything. Much needed stability to start fine tuning Orbiter.
FIXME: Mp3 playback from the MFD.
Workaround: Control the sound levels of your favorite mp3 player through it's volume level and eq, Orbiter's through SoundCfg.exe, and your speakers if they have volume control. Note: All other MFD's function. It'll take a real pilot to determine their accuracy.
Having touble with Function-key Dialogue Boxes and Function keys:
FIXME: Function-key Dialogue boxes [F3,F4] have a tendency to disappear. Then subsequent key presses do nothing to bring them back. You assume it's broken.
Workaround: The dialogue boxes are sinking through the Orbiter "rendering" or window. Enable Virtual Desktop in winecfg (For me:1920x1080) and use windowed mode from the video tab on the Orbiter Launchpad at a comparable resolution or what ever you desire. The important thing is that your able to drag the orbiter window around with the title bar and find your dialogue boxes and resume your sim without losing functionality.
Increase video memory in wine to match your video card.
wine regedit.exe
and then find the HKEY_CURRENT_USER → Software → Wine → Direct3D → VideoMemorySize and set it to the value of VRAM that your card has.
Right-click on Direct3D and select New → String Value and name it VideoMemorySize. Then double click on this new created key and enter the amount of your VRAM in MBs.
Wine Eyecandy
Virtual Desktop Wallpaper
Get a wallpaper that matches your native resolution, for me 1920x1080.
Convert your picture if in jpg format to .bmp (gimp->save as wallpaper.bmp) and place it in the windows folder:
gedit ~/.wine/drive_c/windows/win.ini
Add the [Desktop] section below at the top of the file.
[Desktop]
Wallpaper=c:\windows\wallpaper.bmp
cp wallpaper.bmp ~/.wine/drive_c/windows/
Run wineboot and then test your changes by running winecfg.
Wine Theming
Download a matching msstyle theme and install from winecfg or download wine_colors_from_gtk.py at:
https://gist.github.com/gists/74192/download
Run it with:
python wine_colors_from_gtk.py
This will scrape colors from your Gtk theme and apply them to wine.
Run wineboot and then test your changes by running winecfg.
If you don't want to use the standard prefix location ~/.wine:
Place in .bashrc to open terminal in Orbiter2010 directory.
export WINEPREFIX=/path/to/wineprefix/
cd /path/to/wineprefix/drive_c/Program\ Files/Orbiter2010/
For instance: Until I get another WD 74GB Raptor for RAID0, reformat due to system bloat, and to circumvent this current file system setup I've created a ten gigabyte partition (wineplatter) on the Raptor from disk space shaved off my native xp Orbiter partition.
/home is mounted to a 500 GB secondary hdd that only spins at 7200rpm. So I mount the wineplatter to ~/mnt/ and I placed:
export WINEPREFIX=/home/jimblah/mnt/
cd ~/mnt/
into my .bashrc file at the top. That way terminator and my embedded terminals in gedit and nautilus open up there automatically. When I run winecfg the prefix is created there instead of ~/.wine and I don't have to fool around with hidden files whenever I want to look at it. I can also easily create a ramdrive in memory from the terminal, mount it somewhere, and use the same techniques to manage a wine prefix there. My current prefix with Orbiter 2010 directory is ~1.2 GB with hi res earth textures. This mobo is maxed out at 4GB but it works extremely well. My point is that your not restricted to a hidden folder.
Get the latest Orbiter and Ogla here:
I will update these links.
Get the Orbiter 2010 release zip file "orbiter100830.zip" here:
http://sourceforge.net/projects/orbitervis/files/Orbiter distribution/
and the latest Orbiter 2010 patch "orbiter101016-100830diff.7z" here:
http://sourceforge.net/projects/orbitervis/files/Orbiter beta files/
Get the OGLAClient O2010P1 (OGLA 110130) external renderer here:
http://orbides.1gb.ru/orbf/oglaclient-110130-core.zip
Get "ogla_earth_scatter.zip" here:
http://sourceforge.net/projects/orbitervis/files/OVP binaries/
Get "several demo vessels for it":
http://orbides.1gb.ru/orbf/oglaclient-110130-vesseldemos.zip
Get "scattering tables (air like in screenshot above) and terrain configs":
http://orbides.1gb.ru/orbf/oglaclient-110130-absurdgraphics.zip
Get OrbiterSound3.5:
http://orbiter.dansteph.com/download/OrbiterSound35.php
Case Sensitivity Issue:
oglavesseldemos' OrbiterSDK/ is named incorrectly. Cut and paste contents into Orbitersdk/ and delete OrbiterSDK, ogla_earth_scatter creates a second Textures/ directory. Cut and paste contents of second Textures directory into Textures.
And finally, a way to run Orbiter on wine with a little extra kick:
http://techreport.com/forums/viewtopic.php?f=7&t=70905
http://linux.about.com/library/cmd/blcmdl8_renice.htm
Syntax: renice priority [[-p ] pid ... ] [[-g ] pgrp ... ] [[-u ] user ... ]
"Renice alters the scheduling priority of one or more running processes"
With this command root reassigns a new scheduling priority to the pid of this terminal session, ie. it's temporary and restricted to the user's commands from this pid. The values are -20 to 19, the default is zero. At 19 the terminal's commands and processes are at the "back of the line" with respect to priority with other processes. At -20 your commands and processes are screaming for attention at the "begining of the line" with respect to priority. You can introduce system instability if you start at -20. If you want to try it start at the -5 and work your way up.
sudo renice -5 $BASHPID
wine Orbiter_ng.exe &> output.txt
All subsequent commands from this pid (terminal session) will "inherit" the same priority until the session is closed.
In closing I'd like to thank everyone posting to this thread and the Orbiter 2006 in Linux thread, and Artlav for his work on OglaClient without which this would not be possible. Each of you have inspired me to dig deep to contribute something instead of just running my mouth. I'm currently doing regression testing to bring lost functionality from 1.3.9 to 1.3.14. I'm working on a howto for using the environment variable WINEDEBUG=loaddll,+relay,+snoop to help take the guess work out of your Orbiter installs. And another one to use winedbg and the many debug channels that enable you to disect our Orbiter problems with the skill and precision of a surgeon. Artlav if you read this please dont stop working on Ogla. Без Вас я был бы потерян, потому что это не будет работать. Я говорю это со слезами. Soon I'll be able to give you all the relevant feedback you need and hopefully so will others, I'm piecing together a guide.:thumbup: