Commit graph

8961 commits

Author SHA1 Message Date
Daniel Johnson
775290c207 Rework the special Wine version lookup
The raw config sections aren't the right thing; we need to look at the 'levels', which contain the settings loaded from .yaml files, so we will see them if they are in the files, and not if they weren't.

This still avoids picking up the normal default version, but should see explicitly set versions better.

Resolves #4950
2023-07-27 18:55:12 -04:00
Daniel Johnson
daabfe4393 Better error handling when the prefix is missing 2023-07-27 18:35:32 -04:00
Daniel Johnson
b409392aab Add error dialogs in the game bar.
It beats crashing!
2023-07-27 18:27:36 -04:00
Daniel Johnson
f62feaef06 Update the 'Show Lutris' item in the indicator menu to 'Hide Lutris' when appropriate.
Also, it's okay to hide the window when a hidden transient is present.
2023-07-19 19:09:04 -04:00
Daniel Johnson
9b43e767d3 Center the InstallerWindow spinner
This looks less goofy on Ubuntu.
2023-07-18 19:02:43 -04:00
Daniel Johnson
cd66ba2d2d Tweak 'is_game_displayed' to work on Lutris categories again.
This means 'Remove from favorites' will cause the game to disappear from the favorites view immediately.
2023-07-15 16:01:29 -04:00
Mathieu Comandon
3e346b7ec6
Merge pull request #4926 from lutris/dj/missing_badge
Badge for missing games
2023-07-14 17:06:53 -07:00
Daniel Johnson
9fb8a27990 Replace the 3/4 fudge factor with an exact scale factor.
This will make the 'Missing' badge exactly the height of the platform badges.
2023-07-11 18:50:19 -04:00
Daniel Johnson
2e67624e51 Restore some commas that I deleted by accident 2023-07-09 14:02:36 -04:00
Daniel Johnson
1ac20c55b5 Remove COL_MISSING in favor of COL_ID
By using the game ID, we can only check for the directories of the games you can see. That should make this perform well even on big libraries.
2023-07-09 13:55:23 -04:00
Daniel Johnson
be366abb72 Tidy and comment the 'Missing' text rendering. 2023-07-09 13:43:27 -04:00
Daniel Johnson
b9b96a4f0c Add in memory caching for the patch cache
Just use @lru_cache() to keep it, and just discard it entirely on any change. Nothing clever, but this should allow for quick lookups from StoreItem.

I am not caching the actual missing status because the user could fix this by renaming things, and that would leave us with a stale cache. Let us hope we don't need that cached.
2023-07-09 09:56:45 -04:00
Daniel Johnson
668cd25220 Add a 'missing' column for the game store; use this to display a badge in teh grid view.
The initialization of this thing is not very efficient though.
2023-07-09 09:48:03 -04:00
Daniel Johnson
89b191af70 Add a method to render textual badge 2023-07-09 09:48:03 -04:00
Daniel Johnson
8d26b0a3a1 Factor the badge color and size data into fields - so it can be shared more easily
Yeah, this is skanky, but we're passing so many parameters its getting silly.
2023-07-09 09:48:03 -04:00
Daniel Johnson
cc32b06bde Avoid prelaunch if the prefix is missing, and also assume a WINE arch that matches the system.
This allows Lutris to proceed until it gets to the 'exe not found' error.
2023-07-09 09:47:45 -04:00
Daniel Johnson
fc0f08bdf1 Oops, we actually do want the display name.
This code will piece it together if it appeared to have spaces in it.
2023-07-02 10:00:47 -04:00
Mathieu Comandon
54480f1c69
Merge pull request #4920 from Zynetic/master
Add dxvk_version to installer documentation
2023-07-01 17:31:15 -07:00
Matt
668ae21167
Update installers.rst 2023-07-01 14:05:22 +00:00
Mathieu Comandon
d908066d97 Make message clearer 2023-06-28 11:33:13 -07:00
Daniel Johnson
dffcc2802a Use the default version from the Lutris website, not just the first in the list.
This affects the default you get for a new game or a new install, if you haven't configured some other version.

The last commit makes us download the newest version; this one makes us use it.
2023-06-27 19:31:27 -04:00
Daniel Johnson
9afa5d8022 Merge remote-tracking branch 'origin/master' 2023-06-27 19:06:04 -04:00
Daniel Johnson
aba1f07cb1 Restore the download of new Wine versions during game install. 2023-06-27 19:05:52 -04:00
Mathieu Comandon
779de9e6b8 Do not allow running Lutris as root 2023-06-27 13:53:00 -07:00
Mathieu Comandon
279ccf891b Don't run fix_path_case on relative paths 2023-06-27 02:13:21 -07:00
Mathieu Comandon
a11bd78a70 Fix for free Itch.io games 2023-06-27 00:51:50 -07:00
Daniel Johnson
324f448e2b Move column sort setup a bit so the model will always have its sort functions set up.
Resolves #4916
2023-06-26 19:17:53 -04:00
Daniel Johnson
06cd70cc7e Parse xrandr output more carefully
We'll try to cope with spaces in the names of monitors. We look for the 'connected' token after the first token which we hope is the name. This will tolerate a name with spaces in it, so long as it does not contain 'connected' as a separate word.

Also, put more of the parsing code under the exception handler so we get better error reporting here.

Resolves #4915
2023-06-25 08:46:23 -04:00
Daniel Johnson
5a7adea534
Merge pull request #4913 from tridoxx/patch-2
Update es.po
2023-06-22 18:22:32 -04:00
tridoxx
695e9d66bb
Update es.po
The "enable discord rich presence for avalible games" line is modified, since "rich presence" was being translated, which is a proper English word "it would be like translating software like "facebook" which should not be done, it is also I add in parentheses information about what requires installing pypresence for it to work
2023-06-22 11:11:24 -05:00
Daniel Johnson
f22b0cdaa7 Move old-NVidia-driver-version warning to the configuration dialogs.
This way it doesn't bug you on startup, but you still get a warning. This does not prevent you from trying to use DXVK.
2023-06-21 18:46:53 -04:00
Mathieu Comandon
da04087b8a Remove unused api.get_bundle 2023-06-21 14:37:10 -07:00
Mathieu Comandon
bccc260516 Add WIP module for EA App integration 2023-06-21 14:21:20 -07:00
Daniel Johnson
91f891e0e4 Fix compatibility issue with Python 3.7
Resolves #4909
2023-06-18 11:16:08 -04:00
Daniel Johnson
ade6f90c66 Extend Vulkan checks to cover DXVK-NVAPI.
It appears to be based on DXVK, so I can't image it'll work without Vulkan either.
2023-06-18 05:54:50 -04:00
Daniel Johnson
3ecc1da0fd Revise Vulkan support checks
Make them consistent and less buggy - you need to pass all the checks to have Vulkan.
2023-06-18 05:46:30 -04:00
Daniel Johnson
9b43adf475 Whoops, pylint is clever- I meant % not , here. 2023-06-18 05:33:16 -04:00
Daniel Johnson
d118ae5603 Move the check for missing Vulkan per-architecture libraries to the options.
Like libvulkan problems, these result in DXVK and VKD3D being disabled in the config UI, and they won't be used. Maybe this is excessive - some games might have worked perhaps- but something is clearly broken.

The checks for non-VULKAN libraries are still done at startup, but result in log entries only.
2023-06-18 05:31:41 -04:00
Daniel Johnson
41ee2ded3a Revise NVidia version info lookup
If the /proc/drivers/nvidia/version file is missing, that will fallback also onto glxinfo.

If we fail altogether, we now raise an exception. The callers would just crash anyway if they got {} back, and Lutris would fail to start. This way the error is a bit more relevant, though it will likely be about GlxInfo.
2023-06-18 05:26:41 -04:00
Daniel Johnson
07119b3a21 The config error feature must set the sensitivity on every update
As it was, it would leave DXVK and VKD3D disabled all the time. Oops.
2023-06-18 05:03:11 -04:00
Mathieu Comandon
a2a1a600e7 More fault tolerant env parser 2023-06-17 12:38:47 -07:00
Daniel Johnson
e8ad7c308c Revise Vulkan-not-available message to be less repetitive, and to disable the rest of the relevant options. 2023-06-17 05:05:38 -04:00
Daniel Johnson
0c2d4bb1c3 Fix- DXVK and VKD3D should be disabled even if turned off! 2023-06-16 20:04:37 -04:00
Daniel Johnson
382e4e2b12 Revise error reporting for Vulkan being unavailable entirely
The config window ill show new 'error' entries and will disable the DXVK and VKD3D options. These show the text from the old game-start warning, with the link.

If you play a game in the face of this, Lutris will not warn you further, but it will disable DXVK and VKD3D.
2023-06-16 20:00:57 -04:00
Mathieu Comandon
7163b47f5b Fix order of actions 2023-06-16 14:38:06 -07:00
Daniel Johnson
8f1e4d2605 Fix stray old argument for vulkan error 2023-06-15 16:57:40 -04:00
Mathieu Comandon
92fe3935be Fix for fsync detection with system wine 2023-06-14 13:46:51 -07:00
Mathieu Comandon
b368f82e26 Add TkG to versions that support Fsync 2023-06-14 12:38:24 -07:00
Mathieu Comandon
e1221288d9 Remove unneeded variable from constant 2023-06-14 12:37:55 -07:00
Mathieu Comandon
c724b70e64 Remove MIN_SAFE_VERSION 2023-06-14 09:56:25 -07:00