So, when I last left you – bar my recent video – I was happily building consoles and pedestals and integrating my hardware.
I decided some months ago to go down the multi-channel route with Prepar3d; using multiple PCs networked together to render my outside views, primarily for performance reasons. Standalone image-generator PCs will always out-perform a single-PC system rendering multiple outside views. Since I needed a 180 degree view and this can’t be achieved with P3D (or FSX) because of the way that the view rendering works, I would have needed multiple side-by-side sectional windows to get a full outside view.
Many builders do this, and they claim to get good enough performance, but ‘good enough’ is relative, and I like to fly low and slow over some complex scenery, notably London, and in and out of Heathrow and City Airport, where the frames drop noticeably in default aircraft, let alone something beastly like a PMDG. So I wanted to try a multi-channel system, and up until recently the only way to do this was using a piece of software called WideView, or a more recent competitor called OpusFSI. These both work by running a separate copy of the simulator on each PC and then synchronising them over the network. Of course, there are drawbacks – you don’t get perfect synchronisation of clouds or other effects quite often – and the frame rates go up and down on each machine individually, giving a nasty tearing look to the output. Both programs have ways to tackle these, but they’re not perfect. Also, you need a licensed copy of the sim on each machine in the network. This can become pretty expensive.
As it happens, Lockheed Martin just restored a multi-channel feature that they had back in version 1.x of Prepar3d which was based on the existing multi-player functionality. It didn’t work super-well so they retired it for v2, but it came back in v3.3 a few months back. I abandoned my plans to go the WideView route and decided to go P3d multi-channel, and I set about building some more high-spec gaming PCs to be my image renderers. I have two projectors, so I built two new PCs. These are fairly expensive machines and it’s not for the faint of heart to spend all that money on the assumption you can make it work, but I’ve always had no common sense so I did it.
I also took the guts out of my existing simulator rig and put them into a new case with some new parts – notably new RAM – to upgrade that machine to the same spec.
Meantime, I finished off my work on the panels for the console. There are four of these, three across the MIP and one below. They house a combination of an Emuteq G1000 kit – PFD and audio panel on the left, MFD on the right, a large touch-screen in the middle with a Saitek switch / gear / engine panel below, and on the bottom panel a Saitek radio panel and two small 7″ touch-screens which will – eventually – serve as MCUs or other panels as needed. Into the glareshield I put an OpenCockpits 737 MCP v3, and also some annunciator lights on the ends.
Getting all of these wired up and working was a challenge. I decided to run all the hardware off the main host PC – which is my ‘old’ simulator rig in the new case – and use the image generator PCs for, well, generating images. That’s a whole lot of USB devices, and rather than have multiple hubs – which can cause problems with system resources – I found a fully-powered 13-port USB 3.0 hub. This is important, because a lot of USB 2.0 hubs don’t have enough power per-port to power all their devices if they draw the maximum current available. This one, however, does.
I had already disassembled my PFC yoke and removed the guts which are contained in a relatively small steel cage. This cage could then be mounted behind the left panel. I want to enable a co-pilot to fly the plane too, but I didn’t want to splash out on another PFC yoke just yet, so I managed to squeeze my Saitek Cessna yoke behind the right panel. Together with some CH pedals I have lying around, this gives the co-pilot a full set of controls.
In the mini-pedestal I have my Throttletek A380 flightbox, which combines a full-scale replica of the A380 thrust lever assembly – with two additional reverser levers added – with half-scale replicas of the speed brake and flaps controls, an engine start panel, and a parking brake control. I’ve put a power brick inside the pedestal to plug in the AC adapter for the backlighting, and also a power adapter for an iPad which I’ve added a slot for at the rear of the pedestal and will be used for moving maps etc.
(If you’re in the market for a realistic throttle quadrant replica and you don’t want to spend ultra-silly money, I thoroughly recommend Throttletek. They have a wide range, they will take on custom projects, and their kit is excellent. There is better stuff on the market but it’s many times more expensive. It was a pleasure to do business with them. And I’ve never received a parcel from South America before [they’re in El Salvador])!
Lastly, I ran an optical digital cable from the host PC to a Logitech 5.1-channel surround sound system. The speakers are arranged around my screen enclosure and the sub and control unit are placed behind the console.
The host PC sits in the middle section of the console behind the lower panel. The two image generator PCs are off to one side in a corner. This led to some fun with cable management, and to be honest it’s all become a bit of a rat’s nest at this point. Something to address in future!
For the last few weeks I’ve been working on the visual system. I purchased licenses for NThusim and have been working on warping and blending the projector displays. See my video on that topic for more gory details.
I’ve also learned how to do multi-channel P3D, thanks to some helpful forum posts and lots of experimentation. The documentation is, frankly, terrible! I may do a detailed post on that or a video soon, as it’s a big topic and there are a lot of pitfalls. Getting the views synchronised is particularly difficult. It seems not many people are using the option because it’s a Pro Plus only feature and Pro Plus is $2300 per instance. I’m surprised more people aren’t aware of the Developer subscription programmes that Lockheed Martin offer. For $9.95 a month you get two installs of P3D Pro, and for $19.95 two installs of P3D Pro Plus. Of course, you do need to be developing some kind of add-in or add-on for P3D to quality, but I don’t think LM actually ever checks. Given how many people are (cough, allegedly, cough) violating the license by using P3D for personal entertainment, I guess they figure if they actually bothered to validate people’s licensing they’d open a big can of worms. After all, Dovetail has the license to continue FSX for home entertainment purposes, and their new Dovetail Flight Simulator is due out in the first half of 2017 – they won’t want to have sales taken from them by P3D. I am coding some add-ins in the background – I haven’t talked about them on the blog, it’s very early days at the moment, but I’ll have more on those in a future post.
One of the minor drawbacks with a multi-channel solution is that you have to comb through the EULAs of all the add-ons, scenery and aircraft you’re using. Many, if not most, only allow installation on a single PC, so you have to buy extra licenses for all the client PCs in your cluster. I’m still finding out which of mine are like that, and I expect it’ll be expensive! Lockheed allow you to run as many copies of P3D as you like in client mode without additional licenses, but since the Pro Plus license is several times more expensive than the Pro license, I guess they’re not losing any revenue over it.
Anyway, I most recently spent a few days over Christmas stressing out over how to blend the left and right halves of the display in P3D without perspective problems. While NThusim corrects my display so that a straight line on the display surface looks like a straight line on the projector screen – provided you sit in the middle, there’s some perspective problems when you’re sitting to the left / right as I am, but that can’t be helped much on a non-collimated 2D display for reasons I may do a piece on one day – the simulator itself applies a progressively more spherical shape to the view depending on your zoom factor, aspect ratio, and view angle. With two 90-degree views you’re effectively looking 45 degrees left and right on each half of the screen, so the mid-point is actually on the edge of each view, and the spherical distortion starts at the edges and gets wider as your field of view expands, and you have to zoom in to get rid of it. I was having to zoom in to 4 or 5x in order to get rid of it, and that’s far too high a zoom factor.
Because 15% of the edge of each image overlaps, you need the images to match perfectly in that area, or it’s very obvious. The projector images have to align perfectly, and the sim has to generate the same pixels on both sides. The distortion meant that a strip a few pixels wide down the middle was synchronised, but beyond that nominally horizontal lines diverged. It was hugely frustrating and at one point I considered going down to a single image generator and attempting the widest FOV I could manage, which would fix the problems in the middle but make them much much worse at either edge of the screen.
I spent a while playing with custom cameras, and looked at a shader hack someone has produced which undoes the perspective correction, but I was having no luck. Until I decided to relax my FOV requirements and drop from a 180 degree FOV to a 120 degree FOV stretched across the 180 degrees of the screen. 70 degrees either side seems to be the magic number below which the distortion disappears at 1x zoom (1.49 was what I ended up with, which is fine). I still have blurries in the middle because it’s not absolutely 100% perfect, and I may experiment a bit more, but it works, and it made the sim flyable finally.
You still get perspective correction at the edges of the view. When a runway appears from the side it’s a bit bent, and as it travels up the screen the bend goes from downwards to straight to upwards. I’m hoping the shader hack will fix that, but the Dropbox link for it is dead and I only have the source code for an early version. Worst case, I’ll work on it myself.
I’m also hoping that NThusim will deliver adjustable blend zones, which is a much-requested feature that SimVisuals, the commercial version, appears to have. With that I could reduce the width of the blend zone and hence the area where I need pixel-perfect correspondence.
What’s next? Well, I need to set up a lot more software. Right now I only have P3D running ‘stock’ – with no add-on scenery or aircraft – and without proper drivers for some of the equipment. I’m not even sure there are SIOC scripts to use the OpenCockpits MCP with the built-in airliners or some of the planes I use, so I’m going to learn to program SIOC and connect it to FSUIPC. I need to install and set up the G1000 software I bought from Flight1 (the G1000 hardware + software was the most expensive single part of this whole project!). This is just the start of a long process to have a fully-functioning simulator. And that’s before I start thinking about adding more panels. I’m planning to add an audio panel to let me mix my headset / speakers. I want to rig up a single start button to switch on all the PCs, and then get them all configured to start P3D automatically. I need to make some custom cameras for my views so I don’t have to reset the zoom every time I start a scenario. Lots of stuff to do!
Also, I need to finally paint my screen with the ScreenGoo paint I bought a year ago. I really hope it’s still good – I didn’t open any of the bottles so I think it will be. And I need to look at the seating options for the sim. My pilot chair is now mounted on a custom wooden base I built, and it’s fine, but I’d like something better and I’d like two of them. It’s going to get very crowded in my little back bedroom!
Join me for the next stage of the journey in 2017! Subscribe to the blog. Subscribe to my YouTube channel. It’s finally going to become a proper, regular hobby after all these years of frustration and re-starting. The time has come.
It’s going to be awesome.