bobhelander / EDForceFeedback

Elite Dangerous Force Feedback
MIT License
33 stars 11 forks source link

linux/wine #19

Open kishalmi opened 1 year ago

kishalmi commented 1 year ago

o7 CMDR Axe_

great effort. love this little gem on my windows system. since we can nowadays run E:D on linux, I wouldn't want to miss EDForceFeedback. without much tinkering, this is what I get running it with wine EDForceFeedback.exe

10:37:01 fail: Journals.Client[0] Device Initialization failed: 001b045e-0000-0000-0000-504944564944: SideWinder Force Feedback 2 Joystick
0024:err:eventlog:ReportEventW L"Category: Journals.Client\r\nEventId: 0\r\n\r\nDevice Initialization failed: 001b045e-0000-0000-0000-504944564944: SideWinder Force Feedback 2 Joystick\r\n"
10:37:01 info: EliteAPI.EliteDangerousApi[0] Initializing EliteAPI v3.0.0-alpha.1188
10:37:01 dbug: EliteAPI.Event.Processor.EventsEventProcessor[0] Detecting event handlers
10:37:01 dbug: EliteAPI.Event.Processor.EventsEventProcessor[0] 230 event-handlers were registered in 72ms
10:37:01 dbug: EliteAPI.Event.Processor.AttributeEventProcessor[0] Detecting event handlers
10:37:01 dbug: EliteAPI.Event.Processor.AttributeEventProcessor[0] 0 event-handlers were registered in 2ms
10:37:01 dbug: EliteAPI.Journal.Provider.JournalProvider[0] No configuration value for JournalPath set, defaulting to standard
10:37:01 dbug: EliteAPI.Journal.Provider.JournalProvider[0] No valid journal directory could not be found, please specify the correct journal director
y in the configuration EliteAPI.Exceptions.JournalDirectoryNotFoundException: The journal directory does not exist
10:37:01 warn: EliteAPI.EliteDangerousApi[0] Could not find journal directory EliteAPI.Exceptions.JournalDirectoryNotFoundException: The journal direc
tory does not exist   at EliteAPI.EliteDangerousApi.SetJournalDirectory () [0x0006d] in <9b8a729d8e2840ce928bd0f7b48f3411>:0
10:37:01 fail: EliteAPI.EliteDangerousApi[0] EliteAPI could not be initialized EliteAPI.Exceptions.JournalDirectoryNotFoundException: The journal dire
ctory does not exist   at EliteAPI.EliteDangerousApi.SetJournalDirectory () [0x000da] in <9b8a729d8e2840ce928bd0f7b48f3411>:0    at EliteAPI.EliteDangerousApi.InitializeAsync () [0x001a2] in <9b8a729d8e2840ce928bd0f7b48f3411>:0
0024:err:eventlog:ReportEventW L"Category: EliteAPI.EliteDangerousApi\r\nEventId: 0\r\n\r\nEliteAPI could not be initialized\r\n\r\nException: \r\nEliteAPI.Exceptions.JournalDirectoryNotFoundException: The journal directory does not exist\r\n  at EliteAPI.EliteDangerousApi.SetJournalDirectory () [0x000da] in <9b8a729d8e2"...
10:37:01 crit: EliteAPI.EliteDangerousApi[0] EliteAPI could not be started EliteAPI.Exceptions.JournalDirectoryNotFoundException: The journal director
y does not exist   at EliteAPI.EliteDangerousApi.SetJournalDirectory () [0x000da] in <9b8a729d8e2840ce928bd0f7b48f3411>:0    at EliteAPI.EliteDangerou
sApi.InitializeAsync () [0x001a2] in <9b8a729d8e2840ce928bd0f7b48f3411>:0
0024:err:eventlog:ReportEventW L"Category: EliteAPI.EliteDangerousApi\r\nEventId: 0\r\n\r\nEliteAPI could not be started\r\n\r\nException: \r\nEliteAPI.Exceptions.JournalDirectoryNotFoundException: The journal directory does not exist\r\n  at EliteAPI.EliteDangerousApi.SetJournalDirectory () [0x000da] in <9b8a729d8e2840c"...

maybe all we need, is a configuration option for the journal path? I'll gladly help with testing/debugging.

CMDR Elemgee :man_astronaut:

kishalmi commented 1 year ago

update, solved the path issues after some more tinkering.. still get Device Initialization failed

realized, that the path issue is actually within EliteAPI and we can easily set values for these options. still think it could be useful to mention it here. (not only for linux users)

steam uses its own copy of "C://", somewhere in ~/.steam/steam/steamapps/compatdata/359320/pfx/drive_c/ so you either have to use these as the paths for EliteAPI, or symlink those into your users wine root. simply create a new file in the EDForceFeedback dir named appsettings.json containing something like:

{
  "EliteAPI": {
    "JournalPath": "~/.steam/debian-installation/steamapps/compatdata/359320/pfx/drive_c/users/steamuser/Saved Games/Frontier Developments/Elite Dangerous",
    "OptionsPath": "~/.steam/debian-installation/steamapps/compatdata/359320/pfx/drive_c/users/steamuser/AppData/Local/Frontier Developments/Elite Dangerous/Options"
  }

these worked for me on ubuntu 22.04.1