Tuesday, June 1, 2010

X-Plane Flight Sim in Ubuntu 10.04 64bit

After installing Ubuntu 10.04, I realized that I was going to really miss my flying games.  In an attempt to passify myself I downloaded and installed FlightGear, which is entirely free and I must admit it is pretty incredible.  However, FlightGear for Linux has one huge flaw that bugs me every time I play it.  You can not switch Aircraft or Scenery without restarting the game.  Also, it is not intuative as scenery and plane must be chosen at the command line.  To get around this, I started using FGO! a Python based FlightGear launcher.  Eventually, I decided that I didn't really like the scenery in FlightGear, and so in an attempt to get something closer to Microsoft Flight Sim-X on Linux, I decided to attempt just that.  I first attempted installing FSX and all its dependencies in Wine, this did not work so well.  Then I attempted to install it in a Windows XP Virtual Box, and I did manage to get it working.  However, the graphics all displayed in about 4 shades of black and white.  Upon trying to adjust the graphic settings, my Sun Virtual Box would abort and I'd be left frustrated once again.

I gave in finally and decided to buy X-plane, which has a native Linux version, great right?  Well fairly great... As I waited for the CD's to arrive, I noticed that there was a demo version online, so I downloaded and installed it.  At which point I ran into my first problem.  My 64bit version of Ubuntu was missing a lib file needed for the installer to run.  After hours of searching the net, I was able to place the correct 32bit lib file in the correct 32bit lib folder, and then create a link from there to the 64bit lib files.  At last the installer worked.  After hours of downloading the rather large installer, X-plane hiccuped on install, missing another file.  I patched that file in and tried it one more time.  It worked, I watched the sweet intro, and played it a bit with the keyboard and mouse as I awaited the arrival of the game.

Thankfully my previous experiences with the demo versioned had prepared my machine for the full version, so I was up and running quickly.  However, the install is enormus, it is about 70 gigs of scenery data.  Now granted, the scenery is nice, and runways follow the contours of the earth so you will find some that aren't flat etc... but is that really worth 70 gigs of space?  So here comes my first question!  How does Microsoft make decent looking  scenery for the world fit into roughtly 15 gigs?

Figuring that I might as well get on with the flying, I plugged in my Microsoft Sidewinder Force Feedback 2.  At this point I encountered my second large problem.  Apperently Windows reports hat switches as buttons, and Linux reports them as axises.  When I assigned, look left, right, up, down to my hat switch it did exactly that, immediately to the full extent with no smooth panning action like I'm used to.  Figuring that some one else probably ran into this problem, I Googled it only to find that lots of people were having this problem.  The disturbing thing was that Austin (apparently the creator of X-Plane) is aware of this, yet because it is something needs addressed in the Linux kernel, he doesn't seem willing to in the meantime patch the game.  I found a program called Jhat which is meant to solve the problem.  Delighted, I downloaded and compiled it using make, only to find that Jhat is complicated.  It identifies your Joystick by its Windows name as displayed in Linux.  I was easily able to find the string that identifies my Joystick, yet I could never get Jhat to recognize my controller.  



Finally I gave up and looked at different solutions.  Qjoypad looked like it might work.  This program turns joystick events into keyboard inputs, so if I mapped my Joystick to the keyboard, and then my keyboard to the view-look controls in X-Plane...  Yes indeed it worked, but then I noticed something else, when I was in a 3D-cockpit
rolling over the earth the mouse point on my screen was moving with my joystick, and so when I rolled or banked the aircraft I was also looking around.  Very frustrating to try and fly in a simulator like this.  Also, my force feedback controller didn't have force feedback...  I found a plugin for force feedback functionality, but it was only for OS-X.  



X-Plane continues to be developed, while the Microsoft Flight Simulator series ended with FSX.  The hope is that X-Plane will get better and better.  I hope the developers at X-Plane will realize that their Linux customer is important.  I believe neither X-Plane or FSX have the flight physics entirely right, so why not concentrate a little more on user interaction:) 

6 comments:

  1. I do not have a Windows machine anymore, so I also went the X-plane route. I find the user interface annoying. Had FSX existed for Linux or Mac, I wouldn't have hesitated to stick with FSX.

    ReplyDelete
  2. I've been an X-Plane 9.xx user on Ubuntu 64 bit since 1 year or so. Once you get it running, you simply don't miss MSFS. The community site http://www.x-plane.org is full of planes and sceneries, and very useful help. On linux 64 bit I recommend to make a link on /usr/lib32/libopenal.so.xxx.xxx to libopenal.so.0 so the updater will work :-).

    ReplyDelete
  3. I guess the real clue is in the name of the object under discussion - the MICROSOFT Sidewinder etc etc.

    At some point it is best to realise that the Redmond beast plays its own game.

    Simplest answer is to buy a new joystick.

    ReplyDelete
  4. Wow! trials and tribulations seem to await the Linux Gamer!! But you sure are persistent.

    Gaming is Linux's downfall, but the game selection is slowly getting better. It is difficult for the programmers to stay ahead of each release.

    I personally use Windows for games, but rest of my life on computer is on Ubuntu + selection of games I got from Playdeb www.playdeb.net/

    ReplyDelete
  5. In reply to MrSumms...

    While I do like other joysticks better than the MS Sidewinder, the manufacture of the Joystick hardware is slightly irrelevant. The issue is more with how Linux treats the hat as an axis, while windows treats it as buttons. You can read more about Jhat below. http://hans.fugal.net/blog/2007/06/02/joystick-hat-in-x-plane-in-linux/

    Here is an additional thread on the X-Plane forum regarding this very issue.
    http://forums.x-plane.org/index.php?showtopic=29762

    ReplyDelete
  6. Background info on the size of scenery for X-Plane by the desginer: http://bit.ly/XP_Blog_100208

    Here are my own Linux and X-Plane experiences: http://bit.ly/42MqjD

    GlowWorm,
    Armchair Pilot

    ReplyDelete