Problem with devicesorting.txt
-
Are any of you running Falcon BMS as Admin? I do not and never have…
-
@CriticalMass Do you have OneDrive setup so the files are always stored locally and then updated in the cloud only when they are changed on the PC?
OneDrive can cause permission issues also as it thinks it’s the “owner” of the file, not your PC. -
@SemlerPDX I do. I’m sure it was needed for some other software, but that was a while ago:
- VA with your profile (obvs) (Admin)
- Helios (Admn)
- spacedesk (Not Admin)
- Opentrack (Admin)
- JoyStick Gremlin (Admin)
Do you run these? And do you run them as Admin?
-
@SemlerPDX thou hast summoned me… lol
if you want to get hardcore on the readonly thing … you can try setting the UAC elevation flag on DeviceSorting.txt … and run BMS as non-elevated.
WARNING: that might make BMS crash when it attempts to overwrite the file … or throw a UAC prompt or something? idk haven’t tried. be sure to make a backup copy of the file before doing this.
(run from an elevated CMD prompt) icacls "\Falcon BMS 4.36\User\Config\DeviceSorting.txt" /setintegritylevel H:NW
-
@TxMtb Hmm, OK, I’ll move it back to F4 BMS folder. This is what it looks like
-
@SemlerPDX fwiw I also never run BMS elevated… never have. but I’ve only been flying since 2019 (end of 4.34 / start of 4.35 era) so maybe it used to be necessary, long ago?
maybe some other tools in the ecosystem require admin privs… but if so, they should still be able to see into BMS shared-memory and/or write to pipes, etc. just not other way around.
-
@CriticalMass I also have my User/Config folder redirected to a spot within my OneDrive tree… thought I was the only crazy person here.
-
@airtex2019 COUGH
That’s not the only place - as soon as my SSD nears 25% space left, I’m looking for stuff to “move”
-
So I would be the second one, huh? Too bad, I love to be the first always.
To all those (yours too) above:
- lucky you, I’m experiencing this absolutely not capital “issue” since I installed Windows 7 -64 bit, and I am “on” Windows 11 Pro 22H2 now;
- I have no one of those softwares you quoted installed on my PC/system;
- I never felt the need to run any version of Falcon as an administrator;
- I always installed Falcon in its default directory (C:/Falcon BMS or the like) since years;
- there is currently almost 67% of space free on my 1Tb SSD after Falcon has installed.
With best regards.
-
So, regardless of being admin, it’s only when I run Falcon BMS via Alternative Launcher (not admin) that the
Devicesorting.txt
file reverts from read-only to write.Might need to raise this with @chihirobelmo
-
@CriticalMass said in Problem with devicesorting.txt:
@SemlerPDX I do. I’m sure it was needed for some other software, but that was a while ago:
- VA with your profile (obvs) (Admin)
- Helios (Admn)
- spacedesk (Not Admin)
- Opentrack (Admin)
- JoyStick Gremlin (Admin)
Do you run these? And do you run them as Admin?
I run my own AVCS profile for VA as Admin, because it is needed. That doesn’t mean that BMS itself also needs elevated permissions.
I don’t (yet) run Helios, was not aware this program requires to be run as Admin, but again, if so, that doesn’t mean that the BMS program also needs to be run as admin, unless Helios forces that requirement… does it?
I use TrackIR, and I do not run it as admin. When I used OpenTrack during VR testing in BMS, I do not recall having to run it as Admin, yet again, even if so, I didn’t run BMS as admin during those tests.
I do not use Joystick Gremlin (or spacedesk, or autohotkey, or any other utility other than VoiceAttack).
I also do not use Alternative Launcher.
-
Do all users here who have issues with Devicesorting.txt being overwritten ALSO use Alternative Launcher? Would be nice if it was as simple as this, because that could be coded differently and then we’d have a proper solution instead of just a workaround.
If any of you do NOT use Alternative Launcher and have this Devicesorting.txt overwrite issue, please reply and let us know.
-
@SemlerPDX So there was an unwritten rule (or a myth maybe) that if any software interacted with BMS they both had to have the elevated permissions - maybe VA was the original culprit being the one that seems to have administrator rights as a requirement: maybe that is no longer needed (I’m certainly going to set all my BMS related software to non-admin - except VA).
Looking at the changelog for AL v2.1.0 this line pops out
Sort Device Order, the device assigning more numbers of DX will come first.
v2.1.0 was when support for 128 DX devices was added, so maybe needs to overwrite the sorting file.
-
@SemlerPDX I also don’t use AL and don’t have this problem.
Definitely AL must write DeviceSorting.txt … as it goes hand in hand with the .key file.
I think they added a “no overwrite” mode to prevent that kind of thing, once you get your bindings and axes all dialed in…
But tbh, AL is nice when configuring your keybd and hotas bindings. But for actual launching? I just make a desktop shortcut to
\Falcon BMS 4.36\Bin\x64\Falcon BMS.exe
and whatever other tools I need (WDP? IVC? RTT?) and be done with it. -
(the ampersand & and the tilde ~ used this way, are a shorthand to mean “turn off the ReadOnly flag”)
-
@Cop23rd so, putting aside the readonly flag stuff, and going back to square zero … the original bug report … can you confirm if the problem (repeated lines in DeviceSorting.txt) happens when you launch BMS directly … not through Alt Launcher?
at this point I don’t know if that is an Alt Launcher bug, or a BMS bug.
-
AL rewrites DeviceSorting no matter its read-only or not.
-
@airtex2019 'I dont use alternate launcher. The lines with additional controllers are not listet visibly in devicesorting list in read only status, but they are still avtive, when I test the buttons.
If devicesorting file is writable, the lines will be added… -
dang - was hoping we were onto something here.
If Cop23rd doesn’t use AL, then it’s kinda back to square one. The best thing that could be done would be to try to create dependable steps that can recreate this issue on any computer, and narrow it from there… is it only one WinOS version? Are there WinOS security or configuration changes that matter such as installation location, etc.?
Fun in the sun here we come - weeeeeee
-
@SemlerPDX it aligns with my earlier theory of how it all works:
- BMS enumerates all HID game/button devices, at startup
- it orders those in a way to align with what it reads in DeviceSorting.txt
- the remaining devices, if any, are (implicitly) appended to end of that list, held in memory (presumably, in whatever arbitrary order the OS enumerates them)
- button-ranges in the .key file are mapped to the devices, according to that (in-memory) view of device order, and per the g_nButtonsPerDevice cfg of course.
- if DeviceSorting.txt is writeable, this new order is written to disk so it stays consistent for next time
The issue of AL turning off the readonly flag and overwriting, is completely separate.
Possible Bug #1: I don’t know if or why BMS is continually re-appending those 6 specific devices, over and over … workaround appears to be to set the readonly flag. But root cause, seems like something worth deeper investigation.
Possible Bug #2: (this one very arguable) that if the OS enumerates a device that’s not in DeviceSorting.txt, should BMS assign buttons from key file to it at all?
One one hand it seems ridiculously arbitrary … there is no guarantee what order the OS enumerates the devices in (that is the whole reason for DeviceSorting.txt after all)
But on other hand, it would be weird and lame if someone simply replaced one joystick with another, and all of a sudden none of the buttons worked.
I think BMS team probably made the right tradeoff. Users with high-end hotas, vjoy and MFD panels etc, are going to be expected to hand-manage their DeviceSorting.txt file… vs random newb replacing one stick with another, suddenly confused why no buttons work.