The online racing simulator
One Computer Running Multiple LFS Players (VMWare)
(16 posts, started )
One Computer Running Multiple LFS Players (VMWare)
Has anyone done this yet?

I have it working for the most part.

Only 3 working in this photo, but all keep bouncing off of the 100 fps limit, and plenty more computer and graphics power left. Each VM is running with only 3 CPU cores out of the 32 in the machine. And The graphics card I am using is massive overkill for LFS with 16GB of ram. Smile

The biggest issue is sharing a mouse and keyboard... I actually have to use a separate mouse and keyboard for each virtual machine, or LFS just freezes if I try to change the current keyboard/mouse to a different Virtual Machine. I was hoping to use ONE for all of them.

Since I will be doing 12 players, and all the mice and keyboards are named the same, it is a pain in the rear to sort them all out.

Anyone have a quick fix or ideas?

If you are wondering WHY I am even trying to setup 12 players, it is for this:
A: 12 licences are required unless you have an agreement with the Devs.

Yo, Ho, Ho is not approved of...... LOLZ Smile. Yes, I got the message.......

Ok, so now your legally licensed, normally with VM's you would run a thin client or PC/laptop etc, or equivalent for each client/user/racer to actually provide input (Mouse/kb, logon for networking) or in your case controllers.

Personally, I think you need to technically review what you are doing.

IMHO, run a basic server doing server stuff, run enough thin clients/PC's to do the client stuff, this is the graphics/controller input etc.

Think of a LAN party, same rules apply....

While I do appreciate what you are trying to do, I can't see a way of getting it to work ATM with todays tech.

Now, someone else please show how wrong I am here .... Smile

Yes, if your using a virtual desktop etc thats cool, I just believe you will need separate user hardware to get this to work. Just fire out the desktops to the hardware. And while you can virtualize desktop graphics, I do have my doubts in the real world, And absolutely with gaming.

Anyway, all the best and I hope you can get this working.
#3 - Ped7g
I sort of wonder why not single cheap pc with each seat...
Does the single pc has such advantage? Probably better power consumption, less space, those seems obvious.

But per-seat dedicated hw will be overall more robust; a failure of one desk will not shut down whole van, also having a cheap replacement desk somewhere around sounds like an option. Than the cabling... If I understand it correctly, some LCD cords will have to have several metres. Does that even work? With several of them starting together? And the input wheel cord ... which is USB... which will not work? So you probably already are planning some kind of wireless, like BT.. which will include further input lag, and 12 of them at the same place may do some interfering already. And you can power off per-seat, when not used, saving the lifetime of HW (for example renting just 6 seats for that particular party).

I'm afraid your main constraint is power consumption, so that's the real reason why you are trying to achieve it with single board. And I'm too lazy to dig into your page/reasoning, or do my own calculations. I just find this solution a bit risky (and of course you will hit some issues while setting it up).

About keyboard/mouse input problem: in the end, maybe you can try to run each seat virtual PC without it? Can't be most of it controlled trough network anyway? On the OS level surely so, not sure about LFS, how much server can command clients. Probably not enough.. maybe ask Scawen nicely, for some remote control? But it would have serious security implications (for all LFS players), so better not to. Big grin

But.. anyway.. so how about running 12+1 virtual PC on the server, the +1 being one with keyboard+mouse and RDP (teamviewer , VNC, ...), which will connect trough it to the other 12 as needed? This should work flawlessly?

About GPU power... I don't think the amount of RAM is the biggest issue, I wonder how the rendering power will handle it, rendering 12 times resolution sounds like huge task. Then again, I don't follow new HW development for 10+ years, so maybe I have no idea of its capabilities today.
#4 - Ped7g
BTW, LFS client doesn't require windows?
You can run it under linux trough wine. Although I'm not sure what's the legal status of wine. And you would need to install the real DX runtime into it, which may be further legal burden, even if wine itself is clear.
Hmm it should say Commercial License under my user name Smile

There are times I wish I went the route with separate computers... but I am still hopeful that this was the better way.

Right now my server cost about $7000.00, and that is with more RAM in it then I really needed (128GB Ram!). I guess I went this way, because I was too tempted with expensive hardware what was 50% off. Without these discounts I may have gone with individual computers.

If I did 12 or more individual PC's each would have to be less than $500 to make it worth the cost difference. And while such a computer would run LFS great... it may not do so well with other programs I may run.

The server is running 2 to 4 seats of LFS at 60-100FPS, and that is with only 3 cores, 8GB of ram, 2GB Graphics, allocated to each seat. I have enough in the server now for all 12 to have MORE then that, and I can still DOUBLE it, because it is a quad socket mother board that is only using 2 sockets right now.

The server as it is now could likely run 18 player stations, and I could easily add hardware to the server to double that. So in the future I can use the server for lan parties, without the race stations.

Separate PCs Could also pull about 2 to 3 times as much power as the single server. So instead of 1 generator burning gas to power the server, I would need 2 or 3! or a really big one.

Setting up the network is also easy, because there isn't one!
The only cables that will be going to each seat from the server are Video and USB.

The biggest blunder on my part was underestimating how much the server itself weighs. It is about 100 pounds... too heavy to remove from the trailer to do indoor events, unless I put it on a cart.

I guess I will just have to hide a mini keyboard under the seat at each station... to solve the keyboard mouse issue. When I played other games, I was able to use the main server keyboard/mouse.

As far as Linux... the last time I used Linux it was command prompt only, on a server that was a brand new 386mhz PC.... I hated that server, always having to shuffle the ram around to get it to work. LOL
However now that I am playing with VM's I intend to install Linux, Mac, Ubuntu etc... and play with them. I need to use Ubuntu to customize Anki Drive anyway. Smile
#6 - w126
From LFS/docs/Commands.txt :
Quote :Local commands:
Most of these text commands replicate functions usually controlled by
pressing on-screen buttons but can be useful in other situations, for
example when controlling LFS from an external program using InSim.

Maybe it could be used as a workaround and also potentially lead to more efficient way of managing multiple LFS programs.
Maybe I am wrong, but I do not think the server computer would be capable of pressing buttons on the client machines. Pressing ESC a few times is usually how I get it to unfreeze.
#8 - Ped7g
With remote desktop you can simply join the desktop of virtual PC and do whatever you want there. Did you miss that idea, or am I missing something? If you already use windows OS in those VMs, there's native RDP app from MS? There was one, back then, when I was using windows (WinXP I think?).
I have mentioned that I am using VM's a few times, I am already using VMware.
That very page you linked to was part of my reassurance to go ahead and do this, months ago.

That page is pretty much what I am doing, except the computer I built, has enough resources to give 12 to 16 separate 4K monitors, each their own: 500GB HDD, 4 CPU Cores, 8GB RAM, and 2GB Video RAM.

When I say one computer cannot manipulate the other I mean through LFS...

As far as Remote desktop, I've not even tried it yet, because I am so use to disabling that for security sake, and forgetting about it. I have not used Remote Desk Top like this before, but I think it might be easier to just plug in a keyboard at each pc, then try to log in and re-login to each of those computers. I will likely give it a try soon though...

The server mouse cursor can just move across each monitor, and click on items on the screen, just not in LFS. I was just hoping to make use of it. I might be able to allocate an ESC Key press to one of the race wheel buttons, and use that to unfreeze each system when it happens, but then the players will be able to find the menu, and I was going to hide that from them.

I also keep forgetting that there is a virtual keyboard in VM Ware, that might actually be enough to do the trick.
Ok, VM101, from my experience.

1: You need a device to provide input to your VM.

2: You need a device to feed back the output from your VM.

3: You need a machine to actually supply the VM and 'everything else'.

As I have had to explain to other people, Remote desktop gives limited access (Limited by client number times platform client limitation)
VM does not generally provide gaming graphics. (There are exeptions, just throw $$$$$$)

VM is not a magic solution to anything.
The cloud is not a magic solution to anything.

If you throw enough $$$ at any problem, you may, very possibly, create a solution, if not you have 2 choices....

1: Throw many, many, many, more $$$$$$, this is the accepted solution. It probably will only make the IT Fwits who claim their half arsed idea will work rich, everyone else gets to go bust.......

2: Be realistic and go with a proven solution that can be demonstrated to work. (Dull, boring, but cost effective.)

My advice is go with option 2, but please feel free to ignore this advice. Smile
To me it sounds, like he has it working, he just needs sometimes keyboard and mouse for particular client station... at that point I think the RDP will work good, so he can have each VM with only LCD output + USB wheel input + virtual network interface ... and to have one "console" VM with keyboard+mouse connected, from where he can enter any other client VM and control it.

I have zero experience with "server mouse" or keyboard, to me it sounds risky, depends how the VM host connects it to each client, it may generate quite some confusion to LFS.exe if the mouse is sending some appear/disappear messages (maybe LFS does use even DirectInput for mouse, which would probably fail even more spectacularly). I would expect the OS installed under VM has permanent mouse+keyboard (physically not existing) connected into it, and the RDP will just take temporarily control over it? So the DirectInput and similar would be able to acquire it at initialization and not lose it?

About network security.. as all the network traffic will happen only within the virtual network inside VM host, you can firewall it like that.
(the local network game doesn't need any connection to master server? Except one time LFS client unlock, and occasional update, both of them can be done in off hours with temporary firewall settings)

Actually the most puzzling bit for me is the length of cables, I though the USB has quite some serious limitations, so it would need some repeaters with amplification and overall it will be prone to failures? And in the days of analogue monitor signals having 12 output cables together at the beginning would cause total havoc (or you would need probably not ordinary cable), the length of the cable being 4+m would very likely introduce additional noise in image. Now with hdmi it's all digital, so it will either work good, or not at all. But this part is probably fine. Also I don't believe that much into performance of VM hosting, so 12 LFS @60-100Hz with single beast GPU sounds to me unreal (without some hiccups under full load). Yeah, I'm pessimist, and I would be glad to hear I'm proven wrong. Wink

And the single point of failure risk would made the pessimist in me cry... Big grin
Yea I have VM Ware working... have not had any time to even turn on the server the last few days though. Busy doing slot-car events.

Cable Length is currently my biggest fear...

The way I am currently setting up the trailer, I know that I can get cables to at least 8 of the computers... the other 4... are going to be pushing the length limit.

I will be using Micro DisplayPort, since the video card I am using has 6 of them, and I have 2 of the video cards. The length of these is a little less than HDMI... so I may have to convert to HDMI.

The video card that I am using can power 3 4K Monitors at 60hz, or 6 4K monitors at 30hz. Look up FirePro W9100, MSRP is about $4000 for ONE of them... I paid about $2500 for TWO of them, I couldn't pass it up. And if I really wanted to melt-down my server case, I could fit a 3rd in there. LOL

The monitors I will be using are only 1/3 the pixels of 4K. so I could run 9 of them at 60hz with each of the two video cards. So I should be able to run 6 3440x1440 monitors through each card at 60hz or more.

Also on a MAC, Micro DisplayPort also carries USB... so with any luck, I will find a way to only need 1 cable going to each monitor, but I will likely need to use 4 LONG USB lines to each group of 3 Stations, wich will each have a small 3.0 hub, then each monitor will be plugged into that hub. The Monitor I intend to use has a hub built into it. The new Acer Monitor.

I use to be worried about the SOUND working on each machine, no sound card in the server, but thankfully the Video Card has digital sound in it that gets sent through the video line, and I will have USB head phones anyway. So wound works great.
messed with it late last night... tried the unity mode in VMware.
This lets the mouse be shared better, but LFS and or VMware still gets confused on wich monitor to run on... and blinks black.

Ignore what I am saying, it was late and I was tired...
Hey Ron,

From another thread:

Quote from :My next event only hired me for 4 cockpits, so, for that event I can run all 4 at 60FPS the way I have things setup now.
However, when I finally get the trailer and at least 8 cockpits setup inside it, I will need to disable the off-focus throttling.

I was always curious about your trailer project. How is it coming along?
I am no longer using VMWare, so I sort of ignored and let this thread pass. I do not need VM Ware now, because LFS is programed well enough to run it as multiple instances on each machine.

So, I have been posting more about it in this thread:

Right now I can get 12 instances of LFS, 10 Drivers, 1 host, 1 extra spectator screen, running on 2 identical Ryzen 1700 PCs, at 75mhz/75FPS each. (which cost far less than half what the Server I started with cost)

The trailer however, I am once again re-doing the design... I must be on version 50 or so, at least. There is no solution that is affordable, fits in a small trailer (less than 20ft long), and can cram in almost a dozen cockpits and people. I also cannot find anyone that will build it in the USA, any one that builds custom trailers, really just builds cookie cutter trailers or "add windows and things" to existing trailers. googling for stage trailers, yields LOTS of trailers that will work, however NONE of them are in the USA... or the few that are, have fenders in the way.

The current design I have drawn up (a 7x19 foot box with stage door) may work, but it makes it too tall, and maybe top heavy, but there is a chance if I widen it to a full 8 foot trailer width.

I will likely just be buying a small cheap trailer or truck to temporarily lug them around in, but it will not be usable as a shelter to operate them in. I will be limited to only setting up at indoor events, which negates my desire to setup TRACK SIDE at race events and car shows. When I pay off all this crap I purchased to do this, I will re-invest it in the trailer.

One Computer Running Multiple LFS Players (VMWare)
(16 posts, started )