PredatH0r / ChanSort

TV channel list editor for Samsung, LG, Sony, Hisense, Panasonic, Philips, Sharp, Toshiba and MANY more.
842 stars 115 forks source link

Preconditions? How to run ChanSort on Linux? #228

Closed bearhoney closed 3 years ago

bearhoney commented 3 years ago

The Readme.md states that ChanSort requires .NET 4.6 or higher. Does that include .NET 4.6 to 4.8 only, or also .NET core - and if so, version 2, 3 or 5? How about Xamarin Mono? Is it helpful, or even required, to run ChanSort on Linux?

I tried for several days to run ChanSort (version 2021-02-24) with Wine on Linux Mint 18 and Manjaro Linux, adding various versions of .NET, without success so far. However I guess some clarification regarding the questions above might help users on Windows or mobile platforms, too.

It would be great if we found some guidelines in Readme.md and/or the FAQ, pointing out suitable versions of .NET and (if applicable) Wine, Mono, or other components.

PredatH0r commented 3 years ago

The current versions of ChanSort are based on the Microsoft .NET Framework 4.8, the WinForms user interface system and custom controls from DevExpress, which are only available for Windows. Older versions of the .NET Framework, .NET core 1-3, .NET 5 and Mono do not work. I will look into migrating to .NET 5 in the future, but WinForms/DevExpress will never be supported outside of Windows. Unfortunately there is no stable cross-platform UI for .NET (yet) and even if one existed, rewriting the whole user interface would be way too much effort.

To run ChanSort on Linux, you need to install Winetricks, use or create a wineprefix for 32-bit (x86), select "Install a Windows DLL or component" and then "dotnet48". In addition, you need to install the "Microsoft Visual C++ 2010 Redistributable Package (x86)" (https://www.microsoft.com/en-us/download/details.aspx?id=5555 It is important to use 32-bit and NOT 64-bit because ChanSort uses native 32-bit DLLs to access Sqlite databases, which are used by many TV manufacturers for their channel lists.

I have used it successfully in the past, but haven't tried it for a long time since. In a first quick check right now it started, but then crashed. I'm running Ubuntu 5.0 in a VM for testing and will look into this in more detail a bit later.

PredatH0r commented 3 years ago

After updating my Ubuntu and reinstalling the "Microsoft Visual C++ 2010 Redistributable Package (x86)" (https://www.microsoft.com/en-us/download/details.aspx?id=5555) it works fine again.

grafik

aryoda commented 3 years ago

Thanks a lot for this great installation howto!

I have just successfully started ChanSort on Ubuntu 20.04 by installing the depencies via winetricks as described by @PredatH0r above.

Two important notes I would like to add:

  1. There is no need to download and install the Visual C++ 2010 Redist runtime manually since winetricks offers this choice too now
  2. If you have created a wine prefix (in my example ChanSort32) in winetricks (which is recommended) the command line to start ChanSort is:

    WINEPREFIX=~/.local/share/wineprefixes/ChanSort32/ wine ChanSort.exe

I could then read a Samsung channel list zip file successfully.

PredatH0r commented 3 years ago

These instructions are now included in the standard readme / start page of chansort.com. The VC++ 2010 Redist is no longer needed, ChanSort runs with both 32 bit and 64 bit wine prefixes and starting with version 2021-07-27 has some performance improvement for Linux/Wine.