Found at: http://linmag.no/article/articleprint/689/
|
FlightGear
Testsystem:
Dual Athlon XP 2.4 Ghz, 1GB DDR RAM
Skjermkort: NVIDIA GeForce4, 8x AGP (drivere: NVIDIA-Linux-x86-1.0-4349.run)
Lydkort: C-Media CM8738
Mandrake 9.1
Linux kernel 2.4.21 SMP
XFree86 4.3 og KDE 3.1
Lisens: GPL
Avhengigheter:
zlib og metakit (begge er inkludert i pakken SimGear-X.X.X.tar.gz, men må installeres separat)
Det har gått 2 år og 6 måneder siden vi omtalte FlightGear (http://www.FlightGear.org)de, en GPL flysimulator for Linux. Mye har skjedd med simulatoren, og jeg har fått ny hardware i form av en splitter ny dual Athlon XP 2.4 GHz.
Teksturene er bedre og mer detaljerte for de fleste flyplasser. Selv Andøya eksisterer med korrekt plasserte runways. Det er skralt med hus, men dette er det opp til norske brukere å legge til. I USA vil f.eks. San Francisco airport fremstå med både bygninger, samt korrekte opplyste rullebaner og taksebaner. Antallet modeller man kan fly har også økt betraktelig. Om du vil ta en rolig tur i en eldgammel Wright Flyer fra 1903, en litt mer komfortabel tur i en Cessna 172 eller skyte i været i en F16, ja det er opp til deg. For en tur i en to-motors Cessna anbefaler jeg --aircraft=c310 til kommandolinjen. Har du i tillegg brukbar lyd på systemet ditt vil jeg definitivt anbefale en take-off med en 747! Når du hører de fire General Electrics CF6-motorene spinne seg opp, bordet dirrer og flyet sakte setter seg i bevegelse, ja da er det moro med Linux! For de som ønsker stillhet og virkelig rolige flyturer kan jeg anbefale en runde i hangglider, som er blant de bortimot 60 valgene man har! FlightGear har også blitt tatt opp i det gode selskapet i European Space Agency (ESA). Dette skjedde slutten av 2002 hvor forskere innenfor ESA ønsker å benytte FlightGear som en plug-in i prosjekter hvor man simulerer navigering på andre planeter ved hjelp av terreng-gjenkjenning, samt i et annet prosjekt hvor målet er en autopilot beregnet for fartøyer som skal navigere rundt i mars-atmosfæren. I januar 2003 ble FlightGear tildelt prisen "Best Free Simulation" av Linux Game Tome. Så dere ser at dette bærer rette veien.
En del ting MÅ være på plass. Det første er et skikkelig 3D videokort, og da helst et NVIDIA GeForce, TNT eller et nyere ATI med hardware OpenGL-støtte. Uten et slikt 3D-kort vil "framerate" bli for lav. Du trenger følgende filer fra internet:
1. Kildekoden til selve simulatoren, ftp://ftp.FlightGear.org/pub/fgfs/Source/FlightGear-0.9.1.tar.gz
2. Tekstures, modeller, data og config-filer, ftp://ftp.FlightGear.org/pub/fgfs/Shared/fgfs-base-0.9.1a.tar.gz
3. Portability libraries og scene graph, http://plib.sourceforge.net/
4. Simulation construction tools. Du MÅ ha versjon SimGear-0.3.1 av SimGear for å få kompilert FlightGear 0.9.1, http://www.simgear.org/
Installasjon
1. Pakk ut plib og kompiler og installer iht INSTALL-filen. Legg merke til notisen om eventuelle OpenGL-problemer hvor du må fortelle plibs configure hvor include- og header-filer ligger. Jeg måtte ikke gjøre dette, men i tilfelle configure gir opp hjelper dette './configure --with-GL=/usr/include' dersom du har GL.h osv i /usr/include.
2. Pakk ut SimGear og sjekk deretter hvorvidt systemet ditt har installert zlib og zlib-devel fra før. Dette gjør du i slik på de fleste Linux-distroer som benytter RPM: 'rpm -qa |grep zlib'. Hos meg får jeg dette resultatet:
zlib1-1.1.4-4mdk
zlib1-devel-1.1.4-4mdk
Er kun selve zlib installert, men ikke zlib-devel installerer du bare den sistnevnte enten fra CDene dine, eller hent den fra nettet. Du kan også pakke ut zlib-filen som ligger i SimGear-0.3.1/src-libs og installere denne. I samme katalog finner du filen metakit-2.4.3-33.tar.gz. Denne pakker du også ut og installerer iht inkluderte INSTALL-fil. Til slutt gjenstår selve SimGear. For å minimalisere jobben med installasjonen av SimGear kjørte jeg configure med prefix=/usr. Første gangen jeg installerte den benyttet jeg prefix=/usr/local/FlightGear siden jeg ønsket alt dit, men dette medførte kun problemer, så jeg slettet alt og installerte SimGear på ny med './configure --prefix=/usr'. Jeg benyttet samme prefix også for plib og metakit.
3. Til slutt gjenstår kompilering av selve simulatoren, FlightGear-0.9.1 i skrivende stund. Pakk ut og kjør kommandoen './configure prefix=/usr/local/FlightGear'. På denne måten får du plassert systemet på en fast plass, uten å blande det med resten av programmene. Dersom du ikke gjør dette vil de kjørbare filene fra FlightGear havne i /usr/local/bin og simulatoren vil da forvente å finne data-filer, teksturer osv i /usr/local/lib/FlightGear. Er du interessert i å spille i nettverk sammen med andre må du legge inn --with-network-olk i tillegg når du kjører configure. Du kan da velge deg et callsign ved start av FlightGear.
4. Etter at simulatoren er kompilert og installert er det på tide å tilføre data-pakken fgfs-base-0.9.1a.tar.gz. Denne pakker du ut slik: 'tar zxvf fgfs-base-0.9.1a.tar.gz -C /usr/local/'. Alle filene vil da havne i /usr/local/FlightGear som vil ende opp med følgende kataloger: bin/ data/ man/.
Den første flyturen
Åpne et terminalvindu og kjør kommandoen ' /usr/local/FlightGear/bin/fgfs --fg-root=/usr/local/FlightGear/data/ --enable-game-mode --enable-hud --disable-panel'. Etter introen er du på rullebanen på San Francisco airport, med motoren i gang og klar for take-off. Er det dagtid i Norge når du gjør dette, vil det være mørkt på vestkysten av USA, så runwayen skulle være opplyst og vakker. Du ser også lysene fra "The San Francisco Skyline" i det fjerne. Huuu.... sier du kanskje? Hva i all verden gjør jeg nå? Vel, her er et "crash-kurs" i en take-off med den Cessna 172 du befinner deg i ved hjelp av tastaturet:
1. Shift-p gir deg tilbake instrumentpanelet.
2. "]" lar deg sette flaps. Sett den til 20 grader.
3. Shift-p igjen for å fjerne panelet (om du ønsker det)
4. Trykk Num Lock for å få tilgang til den delen av tastaturet.
5. "2" to ganger vil gi deg litt høyderor. Nok til å ta av med. HUD indikerer posisjonen på elevatoren.
6. "9" til max throttle, og du hører motoren ruse opp. Flyet starter å aksellerere. HUD indikerer posisjonen på throttle.
7. Hold flyet midt på stripa ved hjelp av "0 og Enter" på numeric-tastaturet. HUD indikerer posisjonen på roret.
8. I det flyet når en fart av 60-70 knop vil det sakte løfte seg av stripa av seg selv. Du skal bare være klar med fingrene på "4 og 6" slik at du kan kompensere for den svingen (bank på flyspråket) som følger rett etter take-off. Flyet vil nå fortsette å stige jevnt og trutt inntil du bestemmer annet.
9. Styr bort fra flyplassen, og når du har fått litt høyde (1000 ft) kan du trykke "[" to ganger for å trekke tilbake flaps som ikke lengre er nødvendig. Flyet vil tippe nesen litt ned i det dette skjer, men slapp av - du detter ikke ned!
10. Når du nærmer deg ønsket flyhøyde kan du ta av litt throttle ved å trykke et par ganger på "3". Deretter trimmer du elevatoren med "7" inntil du slutter å stige og høyden holder seg stabil. Gjør dette i flere trinn slik at du ikke "overshooter", men i stedet "levler" sakte ut. HUD indikerer posisjonen på throttle og trim. Whola! Du flyr!
11. Nå gjenstår det bare å venne deg til flygingen ved å benytte kontrollene. Utfør noen slake svinger til å begynne med. Du oppdager fort at etter å ha initiert en sving, så må du føre roret tilbake mot senter for å stoppe flyet fra å fortsette å bevegelsen. Gjør du ikke dette vil flyet til slutt rolle helt rundt, og det er IKKE ønskelig med mindre du er høyt nok til å kunne komme på rett kjøl igjen.
12. Hvordan du skal komme deg tilbake til flyplassen, og sikkert ned igjen finner du en leksjon på her: http://www.FlightGear.org/Docs/Tutorials/circuit/index.html
Videre muligheter
Det første du bør gjøre etter landing i San Francisco er å skaffe deg teksturene som lar deg fly i hjemlige trakter. Disse finner du enklest på http://www.FlightGear.org/Downloads/world-scenery.html. Klikk deg inn på det området du ønsker, last ned (varierer mellom 1 MB og opp til 60-70 MB per fil) og pakk ut slik: 'tar zxvf e010n60.tar.gz -C /usr/local/FlightGear/data/Scenery'. Denne er for midtre del av Nord-Norge, inkludert Andøya. så ved å gjøre dette '/usr/local/FlightGear/bin/fgfs --fg-root=/usr/local/FlightGear/data/ --enable-game-mode --enable-hud --disable-panel --lat=69:18.070 --lon=16:07.791 --heading=150' skulle du befinne deg på tverrvindbanen på Andøya Flystasjon, klar for take-off.
Laster du ned ftp://ftp.FlightGear.org/pub/fgfs/Scenery/e000n60.tar.gz og pakker den ut til samme sted som i forrige eksempel, for deretter å kjøre denne: '/usr/local/FlightGear/bin/fgfs --fg-root=/usr/local/FlightGear/data/ --enable-game-mode --enable-hud --disable-panel --lat=60:10.603 --lon=11:06.503 --heading=016' skulle en take-off fra Gardermoen være mulig.
Med de over 60 opsjonene på kommandolinjen kan du velge tidspunkt, skyer, tåke, instrumentering, autokoordinasjon, vind, motor-parametre osv.
Rosinen i pølsa
Mens du lå og "cruiset" blant skyene i det første eksempelet tenkte du sikkert at det ville vært fint å vite hvor du var i forhold til flyplassen og eventuelle andre steder under deg. FlightGear har ikke noe innebygget system som kan gi deg denne informasjonen, men det finnes en redning her og - Atlas. Atlas (http://atlas.sourceforge.net/) er et kartprogram som lar deg generere kvalitetskart ut av de områdene du har lastet ned og har liggende i /usr/local/FlightGear/data/Scenery. Etter at du har laget disse kartene kan du så koble sammen FlightGear og Atlas slik at du faktisk ser flyet ditt bevege seg over kartet fra Atlas. Jeg skal vise deg hvordan du går frem for å få dette til.
1. Last ned Atlas fra CVS for å få de siste nyvinninger som multiple projeksonsvinkler m.m.
cvs -d:pserver:anonymous@cvs.atlas.sourceforge.net:/cvsroot/atlas login
trykk enter for passord
cvs -z3 -d:pserver:anonymous@cvs.atlas.sourceforge.net:/cvsroot/atlas co Atlas
2. I katalogen Atlas kjører du så: 'aclocal && autoheader && automake -a && autoconf' for å lage en "configure"
3. Deretter kjører du './configure; make;make install' på vanlig måte.
4. Nå har tiden kommet for å teste sakene. Vi starter med å generere kartene. Dette gjøres som root slik:
'Map --atlas=/usr/local/FlightGear/data/Scenery/'
Du vil se prosessen som foregår ved at bilder flimrer forbi.
5. Nå må vi starte Atlas. Programmet legger seg i nettverket og vi må således velge en port hvor FlightGear senere kan kontakte Atlas. Den som er default - 5055 er ok hos meg. Start Atlas slik:
'Atlas --path=/usr/local/FlightGear/data/Atlas/ --udp=5055&'
Nå skulle et tomt kart dukke opp med flyet som et rødt fly-symbol i midten.
6. Start FlightGear slik:
'/usr/local/FlightGear/bin/fgfs --fg-root=/usr/local/FlightGear/data/ --enable-game-mode --enable-hud --disable-panel --lat=69:18.070 --lon=16:07.791 --heading=150 --nmea=socket,out,0.5,192.168.1.5,5055,udp'
hvor 192.168.1.5 er IPen til den maskinen du startet Atlas. Nå skulle du igjen befinne deg på Andøya, bare med den forskjellen at dersom du taster "Alt-Tab" vil Atlas dukke opp oppå FlightGear og du ser nå kartet over Andøyas nordspiss, flyplassen med nav-data og flyet plassert på stripa.
7. Gjenta take-off'en fra tidligere og observer det som nå skjer i Atlas mens du flyr - kartet oppdaterer seg kontinuerlig, flyet beveger seg over kartet og du kan zoome inn/ut slik du måtte ønske. Du kan også klikke bort nav-info du ikke ønsker å se, slik som VOR og NDB.
Dette var saker
Jeg er oppriktig imponert over hva som har skjedd med FlightGear siden sist. Ikke bare har man laget en gratis flysimulator god nok for selveste European Space Agency, men man har i tillegg klart å trekke til seg de rette menneskene når det gjelder utforming av flymodeller, teksturer og kart. FlightGear er fullt på høyde med kommersielle simulatorer og er absolutt verdt den jobben man eventuelt har med kompilering. Det finnes ferdige RPMer for noen distribusjoner som SuSE og Mandrake, men ulempen er at man som regel får eldre versjoner, samt at plasseringen av databaser osv ikke bestandig er den beste. Det som gjenstår er å bidra til at den norske delen av teksturene blir ytterligere forbedret ved at hus, gater og banelys kommer på plass. da blir alt ennå bedre og mere livaktig. Jeg føler meg ganske sikker på at mange av dere der ut besitter akkurat de egenskapene som skal til for å gjøre den jobben. Sjekk http://www.FlightGear.org/Docs/Scenery/SceneryGeneration/SceneryGeneration.html for mere info om hvordan dette gjøres.