[UNOFFICIAL] Tutorial and FAQ for running BMS on Linux
-
Ask questions
This tutorial is incomplete without FAQ. It’s also very dry. Please send your questions and suggestions.
The tutorial and FAQ are also fully unofficial. The BMS team doesn’t provide any support for running BMS on Linux.
Client on Linux
For servers, see [1] and [2]. This howto is about Linux.
Use the VM option unless you can’t fulfill the hardware requirements, the Wine method is heavily inferior. The VM method gives 100% native performance and compatibility.
Head tracking
With TrackIR hardware, use [1], otherwise [2]. Client via Wine
1. If you have a Radeon GPU, use wine-staging with gallium-nine patches. In that case, use the newest prerelease Linux kernel AND the Mesa library. Look up all the technical terms in this point, I’m not explaining them.
2. Turn off triple buffering to avoid a crash on startup.
3. In the events of crashes in general, run `wine “Falcon BMS.exe”’ in a terminal and look for any suspicious errors.
4. Turn off desktop compositing while Falcon BMS is running. At least KDE has the option.
5. Don’t need to set CPU affinity.For (1): gallium-nine is a direct implementation of Direct3D 9 on Linux. It doesn’t involve any translation layers.
Client on Windows in a VM
This is the superior option for Linux users. You can run Falcon BMS, as well as other games, with native speed. It only works for relatively new Intel and AMD CPUs.
BIOS setup
Enable your internal GPU and disable the external one. Connect the display cable to the internal GPU.
Kernel setup
1. Read [1[/URL]] fully, also [2]
2. Set up vfio-pci as per (1). You’ll end up with something like this in modprobe.conf:
options vfio-pci ids=1002:6810,1002:aab0 disable_vga=1 disable_idle_d3=13. You should end up with the similar
lspci -k
output:1:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]
Subsystem: ASUSTeK Computer Inc. Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]
Kernel driver in use: vfio-pci
Kernel modules: radeon
01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Cape Verde/Pitcairn HDMI Audio [Radeon HD 7700/7800 Series]
Subsystem: ASUSTeK Computer Inc. Cape Verde/Pitcairn HDMI Audio [Radeon HD 7700/7800 Series]
Kernel driver in use: vfio-pci
Kernel modules: snd_hda_intel4. Again, don’t bother proceeding until PCI passthrough is fully set up in the kernel!
VM setup
1. Add a PCI redirection for the GPU. You should see it as if it was physically present in the VM.
2. Set up a Realtek ac97 sound driver. qemu+spice has choppy sound otherwise. On Windows 10 you need to specify the .inf file for the driver directly, runningsetup.exe' isn't enough. This is NOT the HD Audio driver, it's ac97 also from realtek. Use the Vista driver. 3\. Add a second display cable from the real GPU to the display. If you have DVI+VGA or HDMI+VGA, use the other one than your existing cable. Switch using "input select" on the display OSD. In win10, you may need to press Win+P then down arrow in case the real display isn't lighting up. Then select "primary display" on the right side of the desktop. Alternatively try "secondary display". You want to disable the other display. 4\. Set virt-manager's release keystroke to something you don't press often, like ctrl+win+alt. 5\. The general full reference to virtual machine configuration is [[3]](https://libvirt.org/formatdomain.html#elementsOS). Use it to set up (1). 6\. Redirect the HOTAS as a USB device. 7\. It's best to put Windows as a separate partition. If you can't use the "raw" type, qcow is too punishing in terms of performance. Set up VirtIO as the disk driver. This is way easier when doing a fresh install (look up virtio-win iso), but also possible on an existing install. 8\. Add the network card. You may want to use the
bridge’ interface rather than defaultmacvtap
. The latter has no support for VM<->host communication, and no ipv6.
9. For heavy sims like X-Plane 11 or Prepar3d you may want 10+ GB RAM.
10. Set up “hugepages”, see (1), (3).
11. I didn’t lie, this is your native performance with full compatibility. -
Reserved for Wine FAQ
-
Reserved for VM FAQ