News:

Precision Simulator update 10.173 (24 February 2024) is now available.
Navburo update 13 (23 November 2022) is now available.
NG FMC and More is released.

Main Menu

PSX confirmed "working" on Raspberry PI 3 model B *UPDATED*

Started by Kurt, Wed, 10 Jan 2018 21:21

Kurt

Update 12th of Jan:

A lot more experiments done today and I just have to state that I am so amazed on what is possible on this tiny little Raspberry Pi 3 (And also amazed of the lean and effective programming of PSX by Hardy. - PSX and the OS together only uses max around 600MB of RAM on the PI with everything in PSX turned on except sound on a busy situ).

I now have PSX running at 72 FPS steady at 1080P with basically NO purple bar showing at all -even on busy situations BUT only under the following circumstances:

1: No visible PFD/ND in view (ok with RMI),
2: No moving Throttles visible (when throttles are steady its 72 FPS but drops when it moves inside of any selected view)
3: WXR/TERRAIN on the ND´s must be turned off on both the EFIS´s. Enabling WXR/TERRAIN on the EFIS control panel cuts the FPS down to about 40 FPS with occasional purple bar showing but only minor impact on fluidity with little stuttering - perfectly flyable.

SWAP file is disabled on the PI and GPU memory is set to no higher than 16MB (VERY important for frame rates for some reason)

So to "conclude": The PI version 3 is absolutely sufficient for tasks in a PSX system for displaying/interacting with anything but the PFDs, NDs and throttles. It is perfect for acting as a standalone Instructor station, Center pedestal. CDU´s and Upper/Lower EICAS, Circuit breakers and overhead.

Just impressive what you can get for 25 Euros..... Looking at the tiny 1cm2 CPU chip on the PI with no heatsink just crunching away running PSX nicely and barely reaching 60 degrees in temperature is beyond me :D

Next up is to figure out if I can get sound in PSX working and if interfacing to touchscreen will work on the little PI ... :D

Have great weekend all.

Cheers

Kurt


----------
//Original message://

Hi all.

Got inspired by the other Raspberry PI thread to see if I could get PSX to run on the newest version of the Pi Version 3 model B.

And yes after a couple of hours of messing around with settings I got PSX up and running on the PI working surprisingly well taken into account what specs it offers (Quadcore 1.2GHz with 1GB RAM and SD card as storage).

Observations:

I have noted the following FPS observations on different views:

Overhead, Circuit breakers, center pedestal 10-46 FPS depending on situation

Main view in one section with all glass visible : 7-20 FPS - depending on situation

Just the PFD visible in a window sized to real size on a 21.5inch screen gave 40-45 FPS on busy situation with Raspberry PI as Client with a PSX Server running on a Mac.

Both CDU´s and lower EICAS in one window: 35 FPS

Common  issue for all tests and situations, running as a server or client was that the Indicator Bar under the FPS was VERY Purple indicating that the hardware is struggling heavily keeping up with PSX demands :)

Enabling windscreen view reduced the FPS a bit but not as much as I would have expected  - I just did a nice takeoff flying with mouse without any issues other than slow frame rate (8-15FPS)

Rightclicking and moving the layout around dropped frame rate to 1-2 FPS :D

Subjective observations:

Is it flyable as standalone PSX installation - NO - Not recommended - As the frame rate drops down to single digit sometimes it becomes hard to control - also enabling autopilot makes it oscillate violently in yoke movements - surely due to the fact that the PI simply do not have the power needed for the realtime demand from PSX dynamic flight model and systems.

Is it usable as a client showing smaller parts of the flight deck? - Yes -  It seems so as my tests depicted above shows but again I only have a couple of hours of experience testing it and I am not sure if the severe overloaded PSX Client can create havoc in other synced instances of PSX ( I have only tried Raspberry PSX as a client - will try the other way round during the weekend)

Key to getting PSX past 31% loading was disabling sound in the preference file :)

Will revert when more testing is done..

Best regards

Kurt



Best regards
Kurt

Hardy Heinlin

Hi Kurt,

thanks for the test.

The primary purpose of the magenta bar under the FPS indicator is not to show how much CPU power is missed; it does show that, but the FPS shows that too: The lower the FPS, the more CPU power is missed.

The primary purpose of the magenta bar is to show the smoothness of the frame rate.

The bar indicates the duration of each time frame. E.g. if the FPS is 50 Hz, the frame duration is 20 ms.

However, the FPS indication only shows the average FPS of the last 1000 ms. It's updated once per second so that the number is better readable. So it doesn't show FPS fluctuations within these 1000 ms. But the magenta bar is updated in every frame. The longer the magenta bar, the longer the current frame duration. This info can also be derived from the FPS. But the bar shows more: When the bar length fluctuates intensively -- long, short, long, short -- not only the general CPU performance can be seen but also whether there are any micropauses in the animation flow. For example, a smooth FPS of 30 is better than an unstable FPS of 50. The 50 is just an average of each last second; the actual FPS may fluctuate between 30 and 70 all the time. You just don't see these fluctuating numbers as they are too quick. But you see the quick flickering of the bar. When the bar is steady, the FPS is smooth (good), regardless of the bar length. When the bar flickers, the FPS is not smooth (bad), even if the FPS is high.

In short words: Just use the bar to check whether the frame rate is smooth, not whether it's high (that's indicated by the numbers).

It's similar to the volume meters in audio systems: The FPS indicator is like a VU meter (slow response), and the bar is like a peak meter (fast response). -- Not exactly the same principle, but almost ...


Cheers,

|-|ardy

Kurt

Quote from: Hardy Heinlin on Thu, 11 Jan 2018 01:52

It's similar to the volume meters in audio systems: The FPS indicator is like a VU meter (slow response), and the bar is like a peak meter (fast response). -- Not exactly the same principle, but almost ...


Hi Hardy  - I had originally struggled to undertand the purple bar but this explains it perfectly - thanks.

FYI Post has been updated with further observations.

It could be fun to define a baseline for performance to test up against - right now I am using the DEMO LOOP situation with added STA,WPT,ARPT,DATA and POS selected on EFIS in addition to WXR/TERRAIN to bring PSX in the most demanding state. Do you have SITU that really pushes PSX even further?

Thanks

Best regards

Kurt
Best regards
Kurt

Hardy Heinlin



Mark

I had a go running PSX on a Pi 4 with a display I had lying around that is an almost exact match for the size of the standby alt. The frame rate is sadly too low:

https://www.youtube.com/watch?v=5rlHicJr4KU

junkun459

Hi Mark

Very interesting challenge.  good work!!
And I'm also interested in the square small display.  It is very difficult to find square display.

best regards

Jun