Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux #28

Closed
trymeouteh opened this issue Jun 19, 2021 · 17 comments
Closed

Linux #28

trymeouteh opened this issue Jun 19, 2021 · 17 comments
Labels
linux Linux specific question or issue

Comments

@trymeouteh
Copy link

Please create a Linux Appimage of Libation

@rmcrackan
Copy link
Owner

There are a few key parts that I currently only know how to do for windows. Hopefully one day I'll figure out how to do all pieces for mac and linux also.

@sgausman
Copy link

sgausman commented Aug 1, 2021

Other Linux users may have discovered this already, but Libation will run on a fresh 64-bit WINE prefix without any extra dependencies (dotnetX, etc.). At least it did for me. I didn't do exhaustive testing of the features, but I was able to log in, download, and convert all of my library without issues. This is running WINE 6.11 on openSUSE Tumbleweed.

@rmcrackan
Copy link
Owner

This is great news! Thanks for sharing

@Mbucari : tagging you in case it affects how you feel about our recent UI conversation

@Mbucari
Copy link
Collaborator

Mbucari commented Aug 2, 2021

@Mbucari : tagging you in case it affects how you feel about our recent UI conversation

Possibly. I've made some headway with the Avalonia port. It's kind of slow going as I'm still learning the framework. It would be a lot easier if I had ever worked with WPF, but I haven't. Still, it makes a very pretty UI. And if I can fully wrap my head around MVVM I think the whole UI could be a lot cleaner. So I think I'll still peruse it, but maybe with less gusto now that it seems to work under wine.

@rmcrackan
Copy link
Owner

And it sounds like I will have my work cut out for me with whatever change audible must have made with the logins. See other new issues

@atylmo
Copy link

atylmo commented Jun 20, 2022

Libation 6.5.1 and newer is broken in WINE. I can get the initial setup screen but after that I get variations of this in the debug log:

0104:err:virtual:virtual_setup_exception stack overflow 2064 bytes in thread 0104 addr 0x170031810 stack 0x207f0 (0x20000-0x21000-0x1a0000)

No window appears; it just seems to hang there.

I did some regression testing and 6.4.4 was the last to work (except the options to pick a folder were blank). This is using a new 64-bit prefix. I've tried different combinations of Mono, dotnet, and WINE versions on Ubuntu and Fedora but I can't seem to get past it. Not sure if Tumbleweed is affected.

Maybe something related to switching to .NET 6?

@rmcrackan
Copy link
Owner

@atylmo Sorry, I have no experience with WINE nor any machine with which to test it. A currently open issue #275 seems to be running 8.x in WINE, albeit with a different issue at the moment. I recommend joining that conversation. Maybe @kfbest has some advice.

@atylmo
Copy link

atylmo commented Jun 20, 2022

Gotcha. Will do! Thanks for your work :)

I have a Mac so I’ll also see what happens there.

@atylmo
Copy link

atylmo commented Jun 21, 2022

I got it working on Linux! I'm using it through Lutris, so my configuration is:

  • lutris-GE-Proton7-16x86_64
  • "Output debugging info" is set to "Inherit from environment"
  • WINEDEBUG is set to fixme-all,+seh under the environment variable section. (not that this would matter, but hey, it's working with it :D)
  • I have installed dotnetcoredesktop3 through Winetricks (accessed with the second button next to "Play")
  • In that same menu, under Wine Control Panel, I installed: Visual C++ 2015-2019 Redistributable (x86) and 2015-2022 Redistributable (x64), both 32 and 64-bit versions of the Windows Desktop Runtime 3.1.10, and the x64 version of Windows Desktop Runtime 6.0.6 from here. To install that I used the Install button on the Add/Remove Programs applet. You have to select *.exe in the file type drop-down to browse to it.
  • I installed the corefonts package with Winetricks. If it matters the fonts I have now are Andale. Arial, Comic Sans, Courier, Georgia, Times, Trebuchet, Verdana, and Webdings.
  • In the initial setup for the app I unchecked "Automatically run periodic scans" and set the folder to save to and the folder for in-progress files as my Documents folder in the WINE prefix.

I'm not sure that all of this is needed but it's what I ended up with when it started working so I'm including it for the sake of completeness.

Hope this helps someone :)

@atylmo
Copy link

atylmo commented Jun 21, 2022

Just a note: I get a crash dialog after I download two or three things. It still works as long as you keep the exception dialog open. I don't notice anything wrong other than the message.

It says:

`The collection has been disposed.
Object name: 'BlockingCollection'.

   at System.Collections.Concurrent.BlockingCollection`1.CheckDisposed()
   at System.Collections.Concurrent.BlockingCollection`1.CompleteAdding()
   at FileManager.BackgroundFileSystem.Stop() in C:\Dropbox\DinahsFolder\coding\_NET\Visual Studio 2022\Libation\Source\FileManager\BackgroundFileSystem.cs:line 83
   at FileManager.BackgroundFileSystem.Init() in C:\Dropbox\DinahsFolder\coding\_NET\Visual Studio 2022\Libation\Source\FileManager\BackgroundFileSystem.cs:line 58
   at FileManager.BackgroundFileSystem.FileSystemWatcher_Error(Object sender, ErrorEventArgs e) in C:\Dropbox\DinahsFolder\coding\_NET\Visual Studio 2022\Libation\Source\FileManager\BackgroundFileSystem.cs:line 98
   at System.IO.FileSystemWatcher.OnError(ErrorEventArgs e)
   at System.IO.FileSystemWatcher.NotifyInternalBufferOverflowEvent()
   at System.IO.FileSystemWatcher.ReadDirectoryChangesCallback(UInt32 errorCode, UInt32 numBytes, AsyncReadState state)
   at System.IO.FileSystemWatcher.<>c.<StartRaisingEvents>b__83_0(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* overlappedPointer)
   at System.Threading._IOCompletionCallback.IOCompletionCallback_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pNativeOverlapped)`

@rmcrackan
Copy link
Owner

@atylmo Thanks for your details! I linked to that post from the main documentation

WINE seems to have issues with some threading stuff. I added a way to handle this specific case. No telling what else might come up. The fix will be included in the next version

@kfbest
Copy link

kfbest commented Jun 22, 2022

@atylmo Thanks for your details! I linked to that post from the main documentation

WINE seems to have issues with some threading stuff. I added a way to handle this specific case. No telling what else might come up. The fix will be included in the next version

yeah - I'm getting lots of notices in the terminal about threads. Repeats of the following:

01c4:fixme:thread:NtQueryInformationThread ThreadIsIoPending info class not supported yet
0190:fixme:thread:NtGetCurrentProcessorNumber need multicore support (8 processors)

Still trying to figure out how to do the stuff that @atylmo described. I installed WINE using Homebrew, so there isn't any sort of GUI. Not sure if that is typical for WINE or not. Reading thru the documentation now.

@atylmo
Copy link

atylmo commented Jun 22, 2022

@rmcrackan You're welcome! Thanks for the patch :)

I tried 8.1.1 too and it also works fine. All I needed I think was Wine 7.15 and .NET Desktop Runtime 6. I installed corefonts too but I'm pretty sure you don't have to have it.

@kfbest Sorry, the way I wrote it was really specific to my setup on Linux. Just a sec and I'll try to write out a guide! Once I got it on Linux I was so excited I never did try on my Mac ;D I wanted to make sure it was documented somewhere because I'm awful at remembering stuff.

I'm not too sure of how WINE works on Mac, but I'll play around with it!

@kfbest
Copy link

kfbest commented Jun 22, 2022 via email

@atylmo
Copy link

atylmo commented Jun 22, 2022

Yeah, unfortunately I think it's borked for the M1. I did actually try it a bit yesterday on an M1 and also had trouble but didn't chase it. I'm trying on an Intel Mac now but dotnet is giving me trouble too. Trying to install the Runtime I get:

Application could not be started, or no application associated with the specified file.
ShellExecuteEx failed: Internal error.

I also get "wrong CPU type" errors sometimes. I think the problem here might be the lack of 32-bit support after Catalina. You can make a 32-bit prefix for WINE but if the platform doesn't support it then WINE can't do it either. Hm.

Maybe I could copy over the files from the Linux installation instead of running the installer. It could be that the installer is 32-bit but the files it unpacks aren't.

@shuvashish76
Copy link
Contributor

+1 for AppImage
AppImage is a community project & you could install without the need for a centralized store...

@Mbucari
Copy link
Collaborator

Mbucari commented Jul 24, 2022

It just so happens there's a Linux beta in the works.

#321

@rmcrackan rmcrackan added the linux Linux specific question or issue label Jan 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
linux Linux specific question or issue
Projects
None yet
Development

No branches or pull requests

7 participants