Jump to content

Euroscope on Linux HOWTO


Semir Gebran
 Share

Recommended Posts

Hello,

 

This is a HOWTO on how to use Euroscope and AFV on Linux(UBUNTU 20.04) under wine to help  Linux users avoid using a VM.

 

What works: All expected core functionality including most plugins I use(TopSky and Ground Radar)

What doesn't work: AFV Bridge, Proxy (client not fed data), Some ALERT messages from TopSky which could be related to the mentioned proxy issue.

 

This requires wine 6, so Install wine stable from the official wine PPA as described here:

https://wiki.winehq.org/Ubuntu

 

Install and, since the repository winetricks is outdated update winetricks with:
 

sudo apt-get install winetricks

sudo winetricks --self-update

 

Create a wine bottle and make sure it's configured to Windows 7, no virtual desktop.


 

WINEARCH=win32 WINEPREFIX=/home/your_username/Wine/vatsim wineboot

WINEARCH=win32 WINEPREFIX=/home/your_username/Wine/vatsim winecfg

 

Install the following additional software with winetricks:

  • dotnet40
  • dotnet45
  • dotnet46
  • dotnet461
  • dotnet462
  • dotnet472
  • dotnet48
  • iertutil
  • msls31
  • msxml6
  • urlmon
  • vcrun2010
  • vcrun2017
  • wininet

 

WINEARCH=win32 WINEPREFIX=/home/your_username/Wine/vatsim winetricks

 

Download Windows binaries. EuroScopeSetup32.msi and the beta EuroScopeBeta32r26.zip from:

https://www.euroscope.hu/install/EuroScopeSetup32.msi

https://www.euroscope.hu/install/EuroScopeBeta32a26.zip

 

Audio For VATSIM.msi from:

https://audio.vatsim.net/docs/2.0/atc/euroscope

 

Install Euroscope and friends into your wine bottle:

 

WINEARCH=win32 WINEPREFIX=/home/your_username/Wine/vatsim msiexec /i /home/your_username/Downloads/EuroScopeSetup32.msi

WINEARCH=win32 WINEPREFIX=/home/your_username/Wine/vatsim msiexec /i /home/your_username/Downloads/Audio\ For\ VATSIM.msi

 

Extract the Euroscope beta zip file into the wine bottle Program Files folder:

unzip -o /home/your_username/Downloads/Audio\ For\ Vatsim.msi -d /home/your_username/Wine/vatsim/drive_c/Program\ Files/EuroScope/

 

You can now launch Euroscope and AFV (or create a shell script which will do this for you):


 

WINEARCH=win32 WINEPREFIX=/home/your_username/Wine/vatsim wine start /unix "/home/your_username/Wine/vatsim/drive_c/AudioForVATSIM/AudioForVATSIM.exe"


WINEARCH=win32 WINEPREFIX=/home/your_username/Wine/vatsim wine start /unix /home/your_username/Wine/vatsim/drive_c/Program\ Files/EuroScope/EuroScope.exe

 

Hope this helps. Take care,

Semir

 

 

 

 

 

Edited by Semir Gebran
  • Thanks 3
19
Link to comment
Share on other sites

  • 1 month later...

Hello! Thanks for your tutorial. I followed it on my Mac (running macOS 11.3.1) and got AFV installed. However, shortly after seeing the GUI for a few seconds the application crashes with the following exception:

 

```

0009:err:eventlog:ReportEventW L"Application: AudioForVATSIM.exe\nFramework Version: v4.0.30319\nDescription: The process was terminated due to an unhandled exception.\nException Info: System.AccessViolationException\n   at System.Windows.Forms.UnsafeNativeMethods.CallWindowProc(IntPtr, IntPtr, Int32, IntPtr, IntPtr)\n  "...
0009:fixme:advapi:DeregisterEventSource (0xcafe4242) stub

Unhandled Exception: 002d:fixme:thread:NtGetCurrentProcessorNumber need multicore support (8 processors)
0037:fixme:thread:NtGetCurrentProcessorNumber need multicore support (8 processors)
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
   at System.Windows.Forms.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at System.Windows.Forms.NativeWindow.DefWndProc(Message& m)
   at System.Windows.Forms.WebBrowserBase.WebBrowserBaseNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.IWebBrowser2.Navigate2(Object& URL, Object& flags, Object& targetFrameName, Object& postData, Object& headers)
   at System.Windows.Forms.WebBrowser.PerformNavigate2(Object& URL, Object& flags, Object& targetFrameName, Object& postData, Object& headers)
   at System.Windows.Forms.WebBrowser.Navigate(String urlString)
   at AutoUpdaterDotNET.UpdateForm.UpdateFormLoad(Object sender, EventArgs e) in c:\projects\AutoUpdater.NET\AutoUpdater.NET\UpdateForm.cs:line 88
   at System.Windows.Forms.Form.OnLoad(EventArgs e)
   at System.Windows.Forms.Form.OnCreateControl()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.WmShowWindow(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WmShowWindow(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.SafeNativeMethods.ShowWindow(HandleRef hWnd, Int32 nCmdShow)
   at System.Windows.Forms.Control.SetVisibleCore(Boolean value)
   at System.Windows.Forms.Form.SetVisibleCore(Boolean value)
   at System.Windows.Forms.Control.set_Visible(Boolean value)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.RunDialog(Form form)
   at System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
   at System.Windows.Forms.Form.ShowDialog()
   at AutoUpdaterDotNET.AutoUpdater.ShowUpdateForm() in c:\projects\AutoUpdater.NET\AutoUpdater.NET\AutoUpdater.cs:line 269
   at AutoUpdaterDotNET.AutoUpdater.BackgroundWorkerOnRunWorkerCompleted(Object sender, RunWorkerCompletedEventArgs runWorkerCompletedEventArgs) in c:\projects\AutoUpdater.NET\AutoUpdater.NET\AutoUpdater.cs:line 230
   at System.ComponentModel.BackgroundWorker.OnRunWorkerCompleted(RunWorkerCompletedEventArgs e)
   at System.ComponentModel.BackgroundWorker.AsyncOperationCompleted(Object arg)
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
   at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
   at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.Run(Form mainForm)
   at GeoVR.VATSIM.VATSIMClient.WinForms.Program.Main()
0009:err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr 0x7bcafbc5

```

Link to comment
Share on other sites

46 minutes ago, Weiqi Yu said:

Hello! Thanks for your tutorial. I followed it on my Mac (running macOS 11.3.1) and got AFV installed. However, shortly after seeing the GUI for a few seconds the application crashes with the following exception:

 

```

0009:err:eventlog:ReportEventW L"Application: AudioForVATSIM.exe\nFramework Version: v4.0.30319\nDescription: The process was terminated due to an unhandled exception.\nException Info: System.AccessViolationException\n   at System.Windows.Forms.UnsafeNativeMethods.CallWindowProc(IntPtr, IntPtr, Int32, IntPtr, IntPtr)\n  "...
0009:fixme:advapi:DeregisterEventSource (0xcafe4242) stub

Unhandled Exception: 002d:fixme:thread:NtGetCurrentProcessorNumber need multicore support (8 processors)
0037:fixme:thread:NtGetCurrentProcessorNumber need multicore support (8 processors)
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
   at System.Windows.Forms.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at System.Windows.Forms.NativeWindow.DefWndProc(Message& m)
   at System.Windows.Forms.WebBrowserBase.WebBrowserBaseNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.IWebBrowser2.Navigate2(Object& URL, Object& flags, Object& targetFrameName, Object& postData, Object& headers)
   at System.Windows.Forms.WebBrowser.PerformNavigate2(Object& URL, Object& flags, Object& targetFrameName, Object& postData, Object& headers)
   at System.Windows.Forms.WebBrowser.Navigate(String urlString)
   at AutoUpdaterDotNET.UpdateForm.UpdateFormLoad(Object sender, EventArgs e) in c:\projects\AutoUpdater.NET\AutoUpdater.NET\UpdateForm.cs:line 88
   at System.Windows.Forms.Form.OnLoad(EventArgs e)
   at System.Windows.Forms.Form.OnCreateControl()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.WmShowWindow(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WmShowWindow(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.SafeNativeMethods.ShowWindow(HandleRef hWnd, Int32 nCmdShow)
   at System.Windows.Forms.Control.SetVisibleCore(Boolean value)
   at System.Windows.Forms.Form.SetVisibleCore(Boolean value)
   at System.Windows.Forms.Control.set_Visible(Boolean value)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.RunDialog(Form form)
   at System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
   at System.Windows.Forms.Form.ShowDialog()
   at AutoUpdaterDotNET.AutoUpdater.ShowUpdateForm() in c:\projects\AutoUpdater.NET\AutoUpdater.NET\AutoUpdater.cs:line 269
   at AutoUpdaterDotNET.AutoUpdater.BackgroundWorkerOnRunWorkerCompleted(Object sender, RunWorkerCompletedEventArgs runWorkerCompletedEventArgs) in c:\projects\AutoUpdater.NET\AutoUpdater.NET\AutoUpdater.cs:line 230
   at System.ComponentModel.BackgroundWorker.OnRunWorkerCompleted(RunWorkerCompletedEventArgs e)
   at System.ComponentModel.BackgroundWorker.AsyncOperationCompleted(Object arg)
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
   at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
   at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.Run(Form mainForm)
   at GeoVR.VATSIM.VATSIMClient.WinForms.Program.Main()
0009:err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr 0x7bcafbc5

```

Workaround: Manually update the AFV client so that the update window that triggers the exception wouldn't be displayed.

Link to comment
Share on other sites

14 hours ago, Weiqi Yu said:

Workaround: Manually update the AFV client so that the update window that triggers the exception wouldn't be displayed.

Very interesting indeed!

Yu, are you using WINE for both EuroScope and AFV? I ask because while I have VRC running natively on the mac via CrossOver, I haven't tried AFV yet. I went the CrossOver route because of space limitations at the time (I'm currently on a mid-2011 MBA, but plan to upgrade when the next Macbook Pros are released). I may be able to get a full install of WINE running and try it that way as well. If you could let us know if you're using WINE on the mac, I'll give that a shot. Thanks!

BL.

 

Brad Littlejohn

ZLA Senior Controller

27

Link to comment
Share on other sites

On 5/20/2021 at 2:31 AM, Brad Littlejohn said:

Very interesting indeed!

Yu, are you using WINE for both EuroScope and AFV? I ask because while I have VRC running natively on the mac via CrossOver, I haven't tried AFV yet. I went the CrossOver route because of space limitations at the time (I'm currently on a mid-2011 MBA, but plan to upgrade when the next Macbook Pros are released). I may be able to get a full install of WINE running and try it that way as well. If you could let us know if you're using WINE on the mac, I'll give that a shot. Thanks!

BL.

 

I installed wine on macOS 11.3.1 using Homebrew. You will find these links useful:

https://brew.sh/

https://github.com/Gcenx/homebrew-wine

Link to comment
Share on other sites

  • 4 months later...
On 5/19/2021 at 5:16 AM, Weiqi Yu said:

Workaround: Manually update the AFV client so that the update window that triggers the exception wouldn't be displayed.

Hey Weiqi, I am currently also trying to install AFV on wine, but I'm not sure how to manually update the AFV client. Can you explain?

I am currently expriencing this error:

 

Quote

000b:fixme:thread:create_user_shared_data_thread Creating user shared data update thread.
000d:fixme:thread:create_user_shared_data_thread Creating user shared data update thread.
0010:fixme:thread:create_user_shared_data_thread Creating user shared data update thread.
0017:fixme:thread:create_user_shared_data_thread Creating user shared data update thread.
001f:fixme:thread:create_user_shared_data_thread Creating user shared data update thread.
0009:fixme:thread:create_user_shared_data_thread Creating user shared data update thread.
0025:fixme:thread:create_user_shared_data_thread Creating user shared data update thread.
0009:fixme:mscoree:parse_supported_runtime sku=L".NETFramework,Version=v4.7.2" not implemented
0009:fixme:mscoree:parse_supported_runtime sku=L".NETFramework,Version=v4.7.2" not implemented
0009:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
0009:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0009:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
0009:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
0009:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented
0009:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented

Unhandled Exception:
System.TypeLoadException: Invalid type GeoVR.Client.UserClient for instance field GeoVR.VATSIM.VATSIMClient.WinForms.MainForm:GeoUserClient
  at (wrapper managed-to-native) System.RuntimeType.GetConstructors_native(System.RuntimeType,System.Reflection.BindingFlags)
  at System.RuntimeType.GetConstructors_internal (System.Reflection.BindingFlags bindingAttr, System.RuntimeType reflectedType) [0x00008] in <2b59a54be42b4db59a5b1855eee0c040>:0 
  at System.RuntimeType.GetConstructorCandidates (System.String name, System.Reflection.BindingFlags bindingAttr, System.Reflection.CallingConventions callConv, System.Type[] types, System.Boolean allowPrefixLookup) [0x00047] in <2b59a54be42b4db59a5b1855eee0c040>:0 
  at System.RuntimeType.GetConstructors (System.Reflection.BindingFlags bindingAttr) [0x00000] in <2b59a54be42b4db59a5b1855eee0c040>:0 
  at Ninject.Selection.Selector.SelectConstructorsForInjection (System.Type type) [0x00026] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Planning.Strategies.ConstructorReflectionStrategy.Execute (Ninject.Planning.IPlan plan) [0x00017] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Planning.Planner+<>c__DisplayClass9_0.<CreateNewPlan>b__0 (Ninject.Planning.Strategies.IPlanningStrategy s) [0x00000] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Infrastructure.Language.ExtensionsForIEnumerableOfT.Map[T] (System.Collections.Generic.IEnumerable`1[T] series, System.Action`1[T] action) [0x00010] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Planning.Planner.CreateNewPlan (System.Type type) [0x00053] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Planning.Planner.GetPlan (System.Type type) [0x00026] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Activation.Providers.StandardProvider.Create (Ninject.Activation.IContext context) [0x00053] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Activation.Context.ResolveInternal (System.Object scope) [0x00034] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Activation.Context.Resolve () [0x0008b] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.KernelBase.Resolve (Ninject.Activation.IRequest request, System.Boolean handleMissingBindings) [0x00282] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.KernelBase.Resolve (Ninject.Activation.IRequest request, System.Boolean handleMissingBindings) [0x00192] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.KernelBase.Resolve (Ninject.Activation.IRequest request) [0x00000] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.ResolutionExtensions.GetResolutionIterator (Ninject.Syntax.IResolutionRoot root, System.Type service, System.Func`2[T,TResult] constraint, System.Collections.Generic.IEnumerable`1[T] parameters, System.Boolean isOptional, System.Boolean isUnique) [0x0002f] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.ResolutionExtensions.Get[T] (Ninject.Syntax.IResolutionRoot root, Ninject.Parameters.IParameter[] parameters) [0x00000] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at GeoVR.VATSIM.VATSIMClient.WinForms.Program.Main () [0x00092] in <a906ff30dc024fed818c4f2cd432ebef>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: Invalid type GeoVR.Client.UserClient for instance field GeoVR.VATSIM.VATSIMClient.WinForms.MainForm:GeoUserClient
  at (wrapper managed-to-native) System.RuntimeType.GetConstructors_native(System.RuntimeType,System.Reflection.BindingFlags)
  at System.RuntimeType.GetConstructors_internal (System.Reflection.BindingFlags bindingAttr, System.RuntimeType reflectedType) [0x00008] in <2b59a54be42b4db59a5b1855eee0c040>:0 
  at System.RuntimeType.GetConstructorCandidates (System.String name, System.Reflection.BindingFlags bindingAttr, System.Reflection.CallingConventions callConv, System.Type[] types, System.Boolean allowPrefixLookup) [0x00047] in <2b59a54be42b4db59a5b1855eee0c040>:0 
  at System.RuntimeType.GetConstructors (System.Reflection.BindingFlags bindingAttr) [0x00000] in <2b59a54be42b4db59a5b1855eee0c040>:0 
  at Ninject.Selection.Selector.SelectConstructorsForInjection (System.Type type) [0x00026] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Planning.Strategies.ConstructorReflectionStrategy.Execute (Ninject.Planning.IPlan plan) [0x00017] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Planning.Planner+<>c__DisplayClass9_0.<CreateNewPlan>b__0 (Ninject.Planning.Strategies.IPlanningStrategy s) [0x00000] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Infrastructure.Language.ExtensionsForIEnumerableOfT.Map[T] (System.Collections.Generic.IEnumerable`1[T] series, System.Action`1[T] action) [0x00010] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Planning.Planner.CreateNewPlan (System.Type type) [0x00053] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Planning.Planner.GetPlan (System.Type type) [0x00026] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Activation.Providers.StandardProvider.Create (Ninject.Activation.IContext context) [0x00053] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Activation.Context.ResolveInternal (System.Object scope) [0x00034] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.Activation.Context.Resolve () [0x0008b] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.KernelBase.Resolve (Ninject.Activation.IRequest request, System.Boolean handleMissingBindings) [0x00282] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.KernelBase.Resolve (Ninject.Activation.IRequest request, System.Boolean handleMissingBindings) [0x00192] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.KernelBase.Resolve (Ninject.Activation.IRequest request) [0x00000] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.ResolutionExtensions.GetResolutionIterator (Ninject.Syntax.IResolutionRoot root, System.Type service, System.Func`2[T,TResult] constraint, System.Collections.Generic.IEnumerable`1[T] parameters, System.Boolean isOptional, System.Boolean isUnique) [0x0002f] in <3a736e96a8834fcb9bffa7392698e62c>:0 
  at Ninject.ResolutionExtensions.Get[T] (Ninject.Syntax.IResolutionRoot root, Ninject.Parameters.IParameter[] parameters) [0x00000] in <3a736e96a8834fcb9bffa7392698e62c>:0 
 

 

Edited by Jamie Kong
Attached log for more context
Link to comment
Share on other sites

6 hours ago, Jamie Kong said:

Hey Weiqi, I am currently also trying to install AFV on wine, but I'm not sure how to manually update the AFV client. Can you explain?

I am currently expriencing this error:

 

 

You may install and update the AFV on a Windows machine (or VM) and then copy the installation folder to your wine folder.

Link to comment
Share on other sites

  • 2 weeks later...

Hey! Thank you for this tutorial, it's great.

I've followed step by step (did it twice even with a fresh install in the middle) but still getting this error when I try to launch AFV:

Thank you!

 

Edited

Ok so I think I've managed to get it running, some things that might be useful for other folks:

  • When you install the additional software make sure you do it inside your wine bottle (aka: WINEARCH=win32 WINEPREFIX=/{your_path_to_wine}/vatsim winetricks dotnet48)
  • With the latest stable version of Wine some libraries are broken and the only way to bypass that error is by adding "--force" when installing them. I tried to upgrade to the latest development version of Wine, but whenever I ran the AudioForVATSIM installer it would throw an 4010 error and then quit so had no luck with it

 

Edited v2

The instalation went good but after I tried to connect to the AFV I got "Caught Connect Exception: The underlying connection was closed: An unexpected error occurred on a send." so I guess I will go back to VirtualBox 😢

Edited by Javier Escandarani
Link to comment
Share on other sites

  • 2 months later...

(Manjaro/arch wine-7.0-rc2)

AfV:

EDIT (1 day later): today it works 🙂 It probably needed a wineserver reset or similar?

Unfortunately I couldn't get AfV to run, even when letting it update itself first in a VirtualBox VM (current version is 1.8.1).

WINEARCH=win32 WINEPREFIX=~/Nextcloud/FS/VATSIM/EuroScope/.wine wine ~/Nextcloud/FS/VATSIM/EuroScope/.wine/drive_c/AudioForVATSIM/AudioForVATSIM.exe
 

leads to this exception:

Unhandled Exception: System.Runtime.InteropServices.COMException: Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED)
 

Nota bene: There is also a section about Linux/wine in the official user guide: https://audio.vatsim.net/storage/AFV User Guide.pdf

 

EuroScope:

Runs fine with these setup steps. Thank you!

I'd also like to cross-reference the Wine HQ entry https://appdb.winehq.org/objectManager.php?sClass=application&iId=9470

Edited by Jonas Eberle
Link to comment
Share on other sites

  • 2 weeks later...

I have put together a little script from the info in this thread:

https://github.com/jonaseberle/euroscope-afv-wine

 

I currently still have the problem with Audio For VATSIM in that it currently crashes while yesterday it didn't. I don't know yet what is going on there.

I am posting the problem to the AfV Linux section https://forums.vatsim.net/forum/354-maclinux/
 

Link to comment
Share on other sites

  • 4 weeks later...

@Jonas Eberle The new AFV update is causing some weird crashes which also exists in windows, it may throw an unhandled exception or just refuse to close, but on wine after it refuses to close or even when I close it for the first time it just refuses the start again. The issues are present in windows but you can restart the app but you can't start it after the crash in wine.

Link to comment
Share on other sites

On 2/24/2022 at 10:57 PM, Jamie Kong said:

@Jonas Eberle The new AFV update is causing some weird crashes which also exists in windows, it may throw an unhandled exception or just refuse to close, but on wine after it refuses to close or even when I close it for the first time it just refuses the start again. The issues are present in windows but you can restart the app but you can't start it after the crash in wine.

I currently only use the script to install EuroScope. I've given up permanently on AfV.

 

I am using https://github.com/pierr3/VectorAudio now. It is beta and it needs testers but it comes along nicely and I've had several sessions with it.

155853812-128c0e4d-70e8-40a2-9869-3844e3

 

 

Link to comment
Share on other sites

  • 1 month later...

I've got a quick question for all people, that run this. Does the heading tool work correctly for you, while you are using Euroscope with Wine? I've tried setting this up yesterday on my M1 Mac with CrossOver and it seems to be working all nice, but the heading tool is not. When I try to click and drag on the HDG-Tag on the aircraft, nothing happens. Any ideas?

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...