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