# Linux playground

#### Matias Saibene

##### Orbiter Linux Beta Tester
I have tried Orbiter again and here are my reports of what works and what doesn't.

On the DeltaGlider and DeltaGlider-S ALT+B does not close the aerobrake.

SCRAM sound continues to sound even though SCRAM is not activated.

The Scenario Editor crashes Orbiter when I delete ships quickly.

DG-XR1 does not refuel with scenario editor. Goes back to 1%.

Orbiter doesn't respawn after closing scenario.

DeltaGlider crashes after entering and exiting the virtual cockpit.

XR2 fails on every scenario and cannot be added via the Scenario Editor.

What works:
Everything else and now the buttons to push the 3D buttons work perfectly.

I'm also starting to test screen recording to better detail the issues I'm encountering.

Last edited:

#### Gondos

##### Active member
I have tried Orbiter again and here are my reports of what works and what doesn't.

On the DeltaGlider and DeltaGlider-S ALT+B does not close the aerobrake.

SCRAM sound continues to sound even though SCRAM is not activated.

The Scenario Editor crashes Orbiter when I delete ships quickly.

DG-XR1 does not refuel with scenario editor. Goes back to 1%.

Orbiter doesn't respawn after closing scenario.

DeltaGlider crashes after entering and exiting the virtual cockpit.

XR2 fails on every scenario and cannot be added via the Scenario Editor.

What works:
Everything else and now the buttons to push the 3D buttons work perfectly.

I'm also starting to test screen recording to better detail the issues I'm encountering.
Thanks for the feedback
I'll look into it
I watched some of your videos, are you compiling with mingw on windows or is it a skin?

Last edited:

#### Matias Saibene

##### Orbiter Linux Beta Tester
Thanks for the feedback
I'll look into it
I watched some of your videos, are you compiling with mingw on windows or is it a skin?
It's a Windows Vista skin for KDE I made myself.
It brings me nostalgia for my early days with the computer (back in 2007).
Dial-up noise intensifies

#### Gondos

##### Active member
Alt-B not working looks like a bug in the manual? The code is explicitly filtering out the ALT modifier...
Code:
int Airbrake::clbkConsumeBufferedKey (int key, bool down, char *kstate)
{
if (KEYMOD_ALT(kstate) || KEYMOD_SHIFT(kstate))
return 0;
if (key == OAPI_KEY_B) {
if (KEYMOD_CONTROL(kstate))
Retract();
else
Extend();
return 1;
}
return 0;
}

#### Gondos

##### Active member
Refueling of the XR vessels not working : it needs to be enabled in the config file
Code:
    // allow auto-refueling if the user configured it in the prefs file OR if the ship is NOT landed (i.e., allow fuel MFD refueling in space)
if (GetXR1().GetXR1Config()->OrbiterAutoRefuelingEnabled || (!GetXR1().GroundContact()))
return;     // allow external refueling

#### Gondos

##### Active member
The scenario editor crash was a tricky one : imgui was mistakenly linked inside the plugins (cmake is my nemesis ) and would share function pointers with the imgui from the core. Bad things would happen when the plugin is unloaded and the dangling function pointers are called...
I got a fix for it, but it involves changing a lot of CMakeLists.txt files because I don't understand the expected roles of ORBITER_BINARY_SDK vs ORBITER_SOURCE_SDK_INCLUDE_DIR (maybe one is for the core, the other for plugins?)

#### jedidia

##### shoemaker without legs
I would expect the include dir is is for the header files, the binary dir for compiled code?

#### martins

##### Orbiter Founder
Orbiter Founder
The scenario editor crash was a tricky one : imgui was mistakenly linked inside the plugins (cmake is my nemesis ) and would share function pointers with the imgui from the core. Bad things would happen when the plugin is unloaded and the dangling function pointers are called...
I got a fix for it, but it involves changing a lot of CMakeLists.txt files because I don't understand the expected roles of ORBITER_BINARY_SDK vs ORBITER_SOURCE_SDK_INCLUDE_DIR (maybe one is for the core, the other for plugins?)
The problem, I think, is that the SDK samples (vessels, plugins, etc.) are meant to be buildable without the Orbiter core sources, just with the API header files and dlls that are installed in the Orbitersdk folder. So the idea is that the makefiles for these modules don't refer to the source folder, but to the Sdk folder in the build directory. This is mainly a leftover from the closed-source Orbiter days, but I think it is still useful now in keeping the dependencies clean. The addon modules should communicate with the core only via the API, they should never link to the sources directly.

#### Linguofreak

##### Well-known member
It's a Windows Vista skin for KDE I made myself.
It brings me nostalgia for my early days with the computer (back in 2007).
Dial-up noise intensifies

My setup is a Frankenstein of KDE and MATE: MATE provides the full richness of GNOME 2 panels, KDE browbeats GTK3 into respecting arbitrary system themes.

#### jedidia

##### shoemaker without legs
but I think it is still useful now in keeping the dependencies clean
Yeah, I think forcing people to have the full orbiter source code to compile an add-on wouldn't be a great idea.

It brings me nostalgia for my early days with the computer (back in 2007).
Dial-up noise intensifies

If you still had dial-up in 2007, I do have to wonder where you live...

#### Gondos

##### Active member
The problem, I think, is that the SDK samples (vessels, plugins, etc.) are meant to be buildable without the Orbiter core sources, just with the API header files and dlls that are installed in the Orbitersdk folder. So the idea is that the makefiles for these modules don't refer to the source folder, but to the Sdk folder in the build directory. This is mainly a leftover from the closed-source Orbiter days, but I think it is still useful now in keeping the dependencies clean. The addon modules should communicate with the core only via the API, they should never link to the sources directly.
OK thanks, I got confused because some builtin plugins and vessels are using \${ORBITER_SOURCE_SDK_INCLUDE_DIR} but they are part of the main repository so I guess it's OK.
Since this port is using Dear ImGUI to provide the user interface, its headers must be added to the SDK for the plugins to be able to use it, and I'm not sure where best to put them. For now I'll copy them in the build directory at build time.
Regarding the API, some preparation has been done to compile with the "-fvisibility=hidden" option to have something similar to the __declspec(dllexport) behavior of the windows platform and enforce proper usage.

#### Linguofreak

##### Well-known member
If you still had dial-up in 2007, I do have to wonder where you live...

My family, in the suburban US, only got DSL in 2004 or 2005. We had it available before that, but we were lower-middle-class and we were and still are fairly frugal, so bandwidth upgrades weren't a priority for us (we're better off financially now, but they still aren't a huge priority).

AT&T is installing FTTH on our street, the extra bandwidth is attractive, but we're doing fine with what we have now, and the lowest tier option would double what we're paying for a link that we're already not saturating. The only thing that I think I could gain from it would be the uplink bandwidth to do offsite network backup. Also, they've managed to hit power and gas while working (fortunately not in the same incident!), and I'm not sure we want to reward them for that!

#### jedidia

##### shoemaker without legs
My family, in the suburban US, only got DSL in 2004 or 2005. We had it available before that, but we were lower-middle-class and we were and still are fairly frugal, so bandwidth upgrades weren't a priority for us (we're better off financially now, but they still aren't a huge priority).
That's kinda funny... My father, a man with a bit of a ludite streak, staunchly refused any internet in our home until DSL came around, because he was afraid of high phone bills (and the phone being blocked while he worked). With the advent of DSL, bringing flat rates and not messing with your phone line, and not needing any sort of refit, like digital telephony did at the time, I could finally convince him to get us a connection in the house. I think it was somewhere around the 2000s... ?

#### Linguofreak

##### Well-known member
That's kinda funny... My father, a man with a bit of a ludite streak, staunchly refused any internet in our home until DSL came around, because he was afraid of high phone bills (and the phone being blocked while he worked). With the advent of DSL, bringing flat rates and not messing with your phone line, and not needing any sort of refit, like digital telephony did at the time, I could finally convince him to get us a connection in the house. I think it was somewhere around the 2000s... ?

The one thing that I miss about the dial-up days (maybe "miss" is the wrong word, I was not network educated enough at that point to worry about such things) is the clean separation between the provider of the physical layer (and the dialing part of the link layer) and the provider of the upper layers.

When the physical-layer providers got in on providing internet service, they started lobbying to be regulated under the more liberal regulatory regime that dial-up ISPs enjoyed (which was so liberal because dial-up ISPs, not being physical layer providers, didn't enjoy the benefit of having the cost of running cable serve as a barrier to upstart competitors entering their market), and have largely succeeded.

#### Gondos

##### Active member
The one thing that I miss about the dial-up days (maybe "miss" is the wrong word, I was not network educated enough at that point to worry about such things) is the clean separation between the provider of the physical layer (and the dialing part of the link layer) and the provider of the upper layers.

When the physical-layer providers got in on providing internet service, they started lobbying to be regulated under the more liberal regulatory regime that dial-up ISPs enjoyed (which was so liberal because dial-up ISPs, not being physical layer providers, didn't enjoy the benefit of having the cost of running cable serve as a barrier to upstart competitors entering their market), and have largely succeeded.
Please guys, this is a bit off topic...

#### Gondos

##### Active member
Took a weekend trip away from bugs and down memory lane with an HP-42S simulator. Would have preferred an HP48 but this one being a simulator, no ROM shenanigans are necessary to set it up. Bi-linear filtering craps up the display, I'll have to add an oapiSurface call to change that

#### yitianetie

##### Member
Hi everyone,

I give you some return about using the linux version of Orbiter on Debian. I have successfully compiled Orbiter and a lot of scenarios (not all) seem to run fine. Gondos is doing a good job. Nonetheless, I notice that the transX MFD doest not work and crash the app with the message, in a terminal : "Exception en point flottant" or Floating point exception in english. The other issue is the font that does not well displayed everywhere : For example, I get very crispy and oversized fonts for the secondary HUD in the XR2 Vanguard vessel. But as I read the previous messages in the topic, it seems I am not the only one to have this issue.

Anyways and although I am not very available, I just can say one thing : keep up the good work !

#### Gondos

##### Active member
Hi everyone,

I give you some return about using the linux version of Orbiter on Debian. I have successfully compiled Orbiter and a lot of scenarios (not all) seem to run fine. Gondos is doing a good job. Nonetheless, I notice that the transX MFD doest not work and crash the app with the message, in a terminal : "Exception en point flottant" or Floating point exception in english. The other issue is the font that does not well displayed everywhere : For example, I get very crispy and oversized fonts for the secondary HUD in the XR2 Vanguard vessel. But as I read the previous messages in the topic, it seems I am not the only one to have this issue.

Anyways and although I am not very available, I just can say one thing : keep up the good work !
Merci
Regarding the transX crash, I pushed a modification to disable FPU exceptions in release builds.
The Scenario Editor crashes Orbiter when I delete ships quickly.
This should be fixed.
However I could not reproduce your crashes with the XR2 or DG, did you recompile the whole project after updating? Can you try a "make clean" before recompiling?
It could help if you start the program from a terminal, maybe it'll show a hint as to what is causing the error...

#### Matias Saibene

##### Orbiter Linux Beta Tester
Merci
Regarding the transX crash, I pushed a modification to disable FPU exceptions in release builds.

This should be fixed.
However I could not reproduce your crashes with the XR2 or DG, did you recompile the whole project after updating? Can you try a "make clean" before recompiling?
It could help if you start the program from a terminal, maybe it'll show a hint as to what is causing the error...
I can't do git submodule update --init --recursive The system told me that there is an error with the fingerprint. I then fixed it with ssh-keyscan github.com >> ~/.ssh/known_hosts But now I get the following error. I don't know if it's my computer problem:

Bash:
git submodule update --init --recursive
ssh: connect to host github.com port 22: Connection timed out
fatal: No se pudo leer del repositorio remoto.

Por favor asegúrate de que tengas los permisos de acceso correctos
y que el repositorio exista.
fatal: clonación de '[email protected]:TheGondos/Orb42S.git' en la ruta de submódulo '/home/matias/orbiter_test/Orbiter/orbiter/Addons/Orb42S' falló
[email protected]: Permission denied (publickey).
fatal: No se pudo leer del repositorio remoto.

Por favor asegúrate de que tengas los permisos de acceso correctos
y que el repositorio exista.
fatal: clonación de '[email protected]:TheGondos/Orb42S.git' en la ruta de submódulo '/home/matias/orbiter_test/Orbiter/orbiter/Addons/Orb42S' falló
Falló al clonar 'Addons/Orb42S' una segunda vez, abortando

#### Gondos

##### Active member
I can't do git submodule update --init --recursive The system told me that there is an error with the fingerprint. I then fixed it with ssh-keyscan github.com >> ~/.ssh/known_hosts But now I get the following error. I don't know if it's my computer problem:

Bash:
git submodule update --init --recursive
ssh: connect to host github.com port 22: Connection timed out
fatal: No se pudo leer del repositorio remoto.

Por favor asegúrate de que tengas los permisos de acceso correctos
y que el repositorio exista.
fatal: clonación de '[email protected]:TheGondos/Orb42S.git' en la ruta de submódulo '/home/matias/orbiter_test/Orbiter/orbiter/Addons/Orb42S' falló
[email protected]: Permission denied (publickey).
fatal: No se pudo leer del repositorio remoto.

Por favor asegúrate de que tengas los permisos de acceso correctos
y que el repositorio exista.
fatal: clonación de '[email protected]:TheGondos/Orb42S.git' en la ruta de submódulo '/home/matias/orbiter_test/Orbiter/orbiter/Addons/Orb42S' falló
Falló al clonar 'Addons/Orb42S' una segunda vez, abortando
Oops, looks like I messed up when creating the repos
I made a change, can you try again?

Replies
117
Views
9K
Replies
74
Views
4K
Replies
6
Views
521
Replies
1
Views
628
Replies
45
Views
2K