Commit graph

9994 commits

Author SHA1 Message Date
Mathieu Comandon 10c0354a90 Get rid of legacy.get_game_launcher, all installers on the website have been fixed 2024-04-03 13:46:40 -07:00
Mathieu Comandon cb17de4c8e Download media on manually added games 2024-04-03 04:20:16 -07:00
Mathieu Comandon 04c6d0da10 Don't raise error when Proton path not found, return nothing 2024-04-02 19:23:02 -07:00
Mathieu Comandon 8d5543d45c Fortnite mention can be removed since we no longer show the installers 2024-04-02 19:07:00 -07:00
Mathieu Comandon 5a3e2cd711 Updates for installer moderation 2024-04-02 19:05:35 -07:00
Mathieu Comandon bfe9b67747 Docstrings + handle category creation on updates 2024-04-02 18:32:18 -07:00
Mathieu Comandon eba3a88cc2 changed = True isn't needed here 2024-04-02 06:09:37 -07:00
Mathieu Comandon 3bc822a80b Updates for category sync 2024-04-02 06:06:15 -07:00
Mathieu Comandon acd7257a2b Category sync for newly created games 2024-04-02 05:39:04 -07:00
Mathieu Comandon 749c6ec06d Start refactoring LybrarySyncer (+ rebase with last commit) 2024-04-02 05:12:38 -07:00
Daniel Johnson a95ff285dc Make LibrarySyncer.is_sync a global variable again.
It really needs to be, or it's just useless - resulting in a UI error and potentially multiple threads syncing at once.

The problem is that _IS_LOCAL_LIBRARY_SYNCING is now a mutable global, and in Python this is treacherous. 'from x import G' copies G into scope, which is bad news for a global like this.

 'import x' followed by 'x.G' works, but this is real dark corner, so I've added a global function just to read the global variable; it reads the original, not a copy, even if you copy the function reference into scope with 'from x import f'.

 So this works without making LibrarySyncer a singleton.
2024-04-02 04:43:37 -04:00
Mathieu Comandon e2c68e1b41 Create LibrarySyncer class 2024-04-02 00:14:51 -07:00
Mathieu Comandon 7a10f9e2d2 Update version of ruff in Makefile 2024-04-01 23:52:18 -07:00
Mathieu Comandon eba175cbc5 Format code with newer Ruff version 2024-04-01 23:43:34 -07:00
Mathieu Comandon f7f5da433f Fix wrong name being applied in case of multiple GPUs from the same vendor 2024-04-01 20:32:18 -07:00
Daniel Johnson b09efe491b Make the file extension check for .AppImage case-insensitive.
The problem is that we often have .AppImage instead of the more Unixy .appimage, but the later occurs too.

So, We'll tolerate whatever CrAzY Casing you can come up with.

Resolves #5396
2024-04-01 16:53:58 -04:00
Mathieu Comandon 2abe2323f7 Return default ID if no game is provided 2024-03-28 23:14:52 -07:00
Mathieu Comandon 738bda4bb4 Allow picking WUA files for Cemu 2024-03-28 19:42:06 -07:00
Mathieu Comandon 8836eae836 Fix types 2024-03-28 14:37:45 -07:00
Mathieu Comandon 782e3330dd Add test for incorrect version 2024-03-28 14:28:57 -07:00
Mathieu Comandon 960c078e94 Add mock for runner version 2024-03-28 13:24:45 -07:00
Mathieu Comandon 916e8aa0db Start breaking up version code and add tests 2024-03-28 12:51:00 -07:00
Mathieu Comandon c490ae2a8d Move some runner tests in runners folder 2024-03-28 10:58:33 -07:00
Daniel Johnson 42b74a51c9 Provide explicit types for the execute methods. Also, make sure to return a tuple on every code path of _execute().
Resolves #5380
2024-03-27 16:56:25 -04:00
Daniel Johnson b2a819fb2b Add a gross hack to tolerate GE-Proton versions of Wine not having architectures on the end of them.
I feel dirty, but it's the best I can do.
2024-03-26 17:46:54 -04:00
Daniel Johnson ef5436edef Do not return the wrong version from get_default_runner_version_info() if a specific version is specified; this leads to crashes when we try to install a verison already installed. 2024-03-26 17:40:03 -04:00
Daniel Johnson cda7ce8871 Further, add a method to fix up the runner configuration, which contains the version, on a runner specific basis.
Ugly, but since we're fixing up the versions for the installer, we should do so for the game as well.

It's that or just insist that the game scripts all should be fixed to specify architecture for their wine versions.
2024-03-26 17:13:15 -04:00
Daniel Johnson eb96626451 Supply a missing architecture for a wine version taken from an install script.
Resolves #5362
2024-03-26 16:49:39 -04:00
Mathieu Comandon e513e442a6 Add umu update channel (not fully implemented yet) 2024-03-26 13:05:15 -07:00
Mathieu Comandon f4b370c38a Print warning when trying to use winetricks with Proton 2024-03-25 17:48:07 -07:00
Mathieu Comandon 1b57533bd8 Remove log about PROTONPATH. Show playtime log in seconds 2024-03-25 16:58:08 -07:00
Mathieu Comandon 74ff7899c4 Adapt winekill for umu 2024-03-25 16:43:52 -07:00
Tyrovox 676beb0495 Added Wezterm terminal support. 2024-03-22 13:43:17 -07:00
Mathieu Comandon 89ea5c7dbc Use a MonitoredCommand to create prefixes with umu 2024-03-22 00:16:02 -07:00
Mathieu Comandon 99567b8057 Add import fixing to ruff format 2024-03-21 22:34:46 -07:00
Mathieu Comandon 8c14d52457 Rename command module to monitored_command 2024-03-21 22:28:39 -07:00
Mathieu Comandon d1cb902954 umu: Print errors during prefix creation, force architecture to win64 2024-03-21 22:03:23 -07:00
Mathieu Comandon 2b1c2e52c5 Wait for prefix creation with both umu and wine 2024-03-21 20:52:08 -07:00
Mathieu Comandon ab911fb42e Provide default GAMEID when creating prefix 2024-03-21 20:29:50 -07:00
Mathieu Comandon a244174c02 Remove condition preventing 'Install another version' 2024-03-21 20:24:30 -07:00
Daniel Johnson 44c2419ac1 Replace game filter with more efficient version.
This will just leave the list alone if 'Installed games only' is off and the filter text is empty.

Also, it no longer strips the filter text over and over again, but just once at the start. It still has to strip each game name, but it's half the strippings now.

Also, fix some ruff issues.
2024-03-21 18:36:19 -04:00
Mathieu Comandon 7689a74660 Add default installer for CD32 2024-03-21 01:29:10 -07:00
Mathieu Comandon 5af6c3b37b Rename ulwgl to umu 2024-03-20 20:32:42 -07:00
Daniel Johnson fdeeb4304b
Merge pull request #5365 from R1kaB3rN/ulwgl
Update ULWGL paths
2024-03-19 16:58:03 -04:00
R1kaB3rN 8dd67de3f3
Update ULWGL paths
- Fixes the problem where the path ~/.local/share/ULWGL was the first path candidate which would cause lutris to run outdated files while the updated files pulled from the runtime would remain in the runtime directory. The current model expects clients to install ULWGL as a system package (e.g., flatpak, system package) and execute it.

- To ensure the ULWGL launcher and runtime files are synchronized or updated, this makes it so lutris never executes ulwgl_run.py in ~/.local/share/ULWGL and to instead prioritize the system package install then the lutris runtime directory.
2024-03-19 12:27:30 -07:00
Daniel Johnson 12a49aabdf Check against use of 'appid' when in 'Games' view
Resolves #5366
2024-03-19 05:47:43 -04:00
ItsAllAboutTheCode ed0f86e6f6 Add Vita3K runner support
A Unit Test script has also been added to validate the runner options.

resolves #5357
2024-03-18 17:47:11 -07:00
Daniel Johnson 71765daf4f Smarter searching in the LutrisWindow.
This PR no longer uses SQL to search for games, but instead does it in Python.

However, the benefit is a more forgiving search. The game names and search text are normalized to form KD, and combining characters are extra whitespace are stripped.

This means that "The Signal From Tölva" can now be found by searching for "from   Tolva".

This is a bit sloppy, and a bit "Do what I mean"- but even languages which consider 'ö' a distinct letter should be okay, since they surely won't have games that differ in their names only in that one letter. At least, not often.
2024-03-18 19:01:37 -04:00
Mathieu Comandon 22b0dac784 Prevent Proton usage on 32bit prefixes 2024-03-18 14:55:17 -07:00
Daniel Johnson 69fb6f3cdd Provide more extensive commenting 2024-03-18 17:23:44 -04:00