FaithLife-Community / LogosLinuxInstaller

A Python application that helps install and maintain FaithLife's Logos Bible (Verbum) Software on Linux through Wine.
MIT License
27 stars 9 forks source link

WINE_EXE doesn't get set correctly in Logos_on_Linux.json #104

Closed Fiyorin closed 2 months ago

Fiyorin commented 4 months ago

was trying to install logos on debian 12 but ran into this error: https://pastebin.com/raw/BEkrz7na

looks like WINE_EXE in Logos_on_Linux.json was not set to a valid wine binary, even though i had wine-staging installed before. so i manually changed the path of WINE_EXE in the config and the installation proceeded

thw26 commented 4 months ago

I am doing some work in #99 and I believe I came across this while I was working on it and fixed it there.

Specifically, see:

https://github.com/FaithLife-Community/LogosLinuxInstaller/pull/99/commits/6e2b9ef1fdd5614af78e5c93192cc705e1cb2583

I will push my latest changes. Would you be willing to test it?

clawoflight commented 4 months ago

Doesn't seem to work for me. I have problems with wine detection in general - It doesn't find my system installation nor lets me use a manually downloaded appimage.

This is on arch, in a venv.

thw26 commented 4 months ago

The system installations on an Arch system won't be found because their version is greater than 9.0. Wine made some kind of change in 9.0+ that broke our usage.

We need someone to be willing to do a bisect between wine 8.26, or thereabouts, and 9.0+ to figure out what is going on.

See https://github.com/FaithLife-Community/LogosLinuxInstaller/blob/70ffcc090f5d4025733e4753cd47253862563cff/wine.py#L109-L159 for what we are doing.


The AppImage is a different story. Is the AppImage not appearing at all in the list, or what error are you seeing?

clawoflight commented 4 months ago

If I ever get this working and find the time, I can give the bisection a go :)

The AppImage doesn't appear in the list. In fact, I can never get any wine executable to show up in any way. I'm at my work machine now, but IIRC it even logs a file not found at some point when I try to force the appimage using the command-line parameter. In the TUI I simply cannot select anything, it shows the path as ~/Logos*/**/None.

thw26 commented 4 months ago

I have not seen that one yet. When you can, provide the logs and I'll review. It may be a regression.

clawoflight commented 3 months ago

This is everything useful I get in the terminal:

2024-06-05 20:07:37 ERROR: HTTP error occurred: 401
2024-06-05 20:07:37 CRITICAL: Could not get latest release URL.
2024-06-05 20:07:37 CRITICAL: Unable to set LogosLinuxInstaller release without URL.
2024-06-05 20:07:37 ERROR: HTTP error occurred: 401
2024-06-05 20:07:37 CRITICAL: Could not get latest release URL.
2024-06-05 20:07:37 CRITICAL: Unable to set recommended appimage config without URL.

Which Wine AppImage or binary should the script │
                                                                     │ use to install Logos v29.1.0.0022 in            │
                                                                     │ /home/bennett/LogosBible10?                     │
                                                                     │ ┌─────────────────────────────────────────────┐ │
                                                                     │ │ 1  /home/bennett/LogosBible10/data/bin/None │ │

Traceback (most recent call last):
  File "/home/bennett/Github/LogosLinuxInstaller/./main.py", line 358, in <module>
    main()
  File "/home/bennett/Github/LogosLinuxInstaller/./main.py", line 347, in main
    config.ACTION()
  File "/home/bennett/Github/LogosLinuxInstaller/./main.py", line 259, in run_control_panel
    curses.wrapper(tui_app.control_panel_app)
  File "/usr/lib/python3.12/curses/__init__.py", line 94, in wrapper
    return func(stdscr, *args, **kwds)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bennett/Github/LogosLinuxInstaller/tui_app.py", line 580, in control_panel_app
    TUI(stdscr).run()
  File "/home/bennett/Github/LogosLinuxInstaller/tui_app.py", line 179, in run
    self.display()
  File "/home/bennett/Github/LogosLinuxInstaller/tui_app.py", line 162, in display
    self.active_screen.display()
  File "/home/bennett/Github/LogosLinuxInstaller/tui_screen.py", line 175, in display
    _, _, self.choice = tui_dialog.menu(self.app, self.question, self.options, self.height, self.width,
    ^^^^^^^^^^^^^^^^^
TypeError: cannot unpack non-iterable NoneType object

Let me know if I can generate additional logs! Edit: I don't know why I didn't think to check for a verbose option. But that at least reveals part of the problem:

<snip>
2024-06-05 20:11:24 INFO: Starting new download for https://api.github.com/repos/FaithLife-Community/wine-appimages/releases.
2024-06-05 20:11:24 ERROR: HTTP error occurred: 401
2024-06-05 20:11:24 CRITICAL: Could not get latest release URL.
2024-06-05 20:11:24 CRITICAL: Unable to set recommended appimage config without URL.
**2024-06-05 20:11:24 INFO: AppImage file /home/bennett/Downloads/wine-devel_8.19-x86_64.AppImage not added: Binary is not executable.**

That should maybe be logged as a warning :) Anyway I can progress the installer now, and WINE_EXE is set correctly (on 53af2f355d5937574f5a6e4b086bb6fa79ff6483), so this can be closed with #105 :+1:

Final Edit: I got lots of winetricks exit 1 errors, but running the same commands directly on the correct WINEPREFIX worked. The install never continued after the logos installer finished, and I cannot run it again - it gives weird errors about mismatched tuple lengths. But I can start logos manually and it seems to work. I get very ugly black bands around what I assume is shadow rendering - some transparency works, but obviously not fully. It's also painfully slow. Anyway this is already quite impressive, thanks for all the work! Not sure that it's usable for me in it's current state, but maybe I can help get it there :)

thw26 commented 3 months ago

I get very ugly black bands around what I assume is shadow rendering - some transparency works, but obviously not fully. It's also painfully slow. Anyway this is already quite impressive, thanks for all the work! Not sure that it's usable for me in it's current state, but maybe I can help get it there :)

These are in app display issues?

Lag can be the result of indexing. We recommend running your indexing while not using the app. Then once it runs, back it up in case it corrupts. :)

clawoflight commented 3 months ago

These are in app display issues?

Yes, I see this around every tooltip or other dialog:

20240607_14h01m06s_grim

Lag can be the result of indexing. We recommend running your indexing while not using the app. Then once it runs, back it up in case it corrupts. :)

It still feels very slow after indexing is completed, at least the UI doesn't indicate any active background tasks. But I'm not very familiar with Logos, I mostly used BibleTime until now.

thw26 commented 3 months ago

I haven't seen that one, but usually those are due to a compositing issue. Usually either the wine renderer needs to be changed or there is a setting in the desktop environment. I haven't seen the black boxes look that way before, but they're common. By default I think we set the renderer either to GDI or Vulkan, but I'd have to double-check.

thw26 commented 3 months ago

It still feels very slow after indexing is completed, at least the UI doesn't indicate any active background tasks. But I'm not very familiar with Logos, I mostly used BibleTime until now.

When I use Logos, I usually notice the program slows down over time, almost like a memory leak. Usually restarting it fixes it.

Otherwise I would need to know more about your machine. There's not a lot we do on our end that affects program speed.

clawoflight commented 3 months ago

Should I open a new issue or just email you? I'm completely derailing this issue, but I appreciate the help :)

I was able to get better performance by switching to the vulkan renderer (from GDI) and using my system wine, which is 9.9. That seemed to bring a significant performance improvement, but not sure if that version can run the installer successfully.

There is definitely something wrong with transparency. I noticed the drawing mode in the menu, and that creates a black overlay instead of a transparent one. Maybe the bit depth is wrong or the alpha channel is not reported correctly somewhere. It may have something to do with the fact that it's running in XWayland - I am using Sway, so my main session is wayland and X11 is another compatibility layer. I tried the experimental wayland support available in wine 9.3+, but none of the popups or overlays were working at all there, so I could not even check whether the transparency works there.

If there was a way to disable shadows in logos, it might be usable for me now...

thw26 commented 3 months ago

Should I open a new issue or just email you? I'm completely derailing this issue, but I appreciate the help :)

I am definitely not the strongest on graphics issues. Frank Sauer, in the chat group, is perhaps best at that to my knowledge. I was hoping the a renderer change would fix it. Idk how Sway handles its compositing. I use Plasma and there is (was?) a menu option for monkeying with the compositing.

We might want to change our default renderer from GDI to Vulkan.

thw26 commented 3 months ago

There was this old request: #20. See the original issue linked there.