Hey guys,
I’m new to Lutris. The last time I tried Linux for gaming was some years ago but since then the possibilities have evolved.
Recently I wanted to play around with a plug and play multi-boot drive for gaming. Now I have triple OS bootable external 1 TB HDD with Pop!_OS, Garuda KDE Dr460nized and Garuda LXQT-Kwin.
All three OS’ are supposed to have their own root partition but share a common media partition on which games and game-related media and downloads are supposed to land. I installed Garuda twice because I want to see if one performs better than the other due to a different desktop enviroment (and hence less resources being used in the background while playing a game). Once I know which Garuda perfoms better I will delete the other.
Here a screenshot from gparted summarising the drive:
If for some reason the screenshot does not load:
sudo lsblk -o NAME,FSSIZE,FSUSE%,FSTYPE,LABEL,PARTUUID,PARTLABEL,PTTYPE /dev/sdb
NAME FSSIZE FSUSE% FSTYPE LABEL PARTUUID PARTLABEL PTTYPE
sdb gpt
├─sdb1 72b80af3-d558-46f2-9e27-78bac4b65870 gpt
├─sdb2 vfat BOOTLOADER a8d4e4f3-076d-45ed-8c66-b5810feb4d8c gpt
├─sdb3 swap shared swap 1eaa1460-74bd-48dd-8ae2-10bd46a7f57b shared swap gpt
├─sdb4 117,6G 15% ext4 Pop!_OS 61fb1bf2-8e50-4b4d-a14e-69ec6e09443f Pop!_OS (22.04 amd64 NVIDIA) gpt
├─sdb5 58,8G 38% ext4 GarudaDragonized 19290383-bc55-4af6-8924-ff6499149e15 Garuda Linux (dragonized) gpt
├─sdb6 58,8G 23% ext4 GarudaLXQT-Kwin 6f542995-f5e6-4d1e-9791-fd4728f36a18 Garuda Linux (LXQT-Kwin) gpt
└─sdb7 659,6G 27% ext4 shared media e89bcb1e-2355-4c41-9601-d503f8613cfa shared media gpt
My test case is to get Horizon Zero Dawn running and using Vulkan.
I had several problems with installing/playing the game. It is now installed but it does not run (tried on Pop_OS! only) using Lutris
The struggle I believe to have, is that I do not understand how Lutris operates/handles my wine prefix which I have set up by a sh bash script that I run on each OS after initialising wine. When I initially checked the winecfg I noticed, that several windows drives are mapped/linked to parts of my drive, that I do not want to modify by accident by using wine, lutris or proton.
First of all my current folder structure on the shared media partition:
tree -L 2 /media/$USER/shared\ media/
/media/oparilames/shared media/
├── Downloads
│ ├── Benchmarks
│ └── GoG-Cache
├── fakeWindows
│ ├── ProgramData
│ ├── Program Files
│ ├── Program Files (x86)
│ ├── !ThisIsFakeWindows
│ ├── users
│ └── windows
├── Games
│ ├── !ThisIsGames
│ ├── horizon-zero-dawn
│ ├── Horizon Zero Dawn
│ └── Metro 2033 Redux
├── null -> /dev/null
├── pop!install.log
├── popOS_afterwine
└── Wallpapers
└── 8e3c63bcb9cd8ece08e11e29e4d531ac.jpg
The !ThisIs
directories are indicators that help me to immediately see if I’m in the intended place when installing/handling files via wine or Lutris.
Here the script I wrote:
#!/bin/bash
# This script overrides the faked windows directory structure in /home/$USER/.wine to only keep C:, D:, and G: for windows/wine stuff (C:), Downloads (D:) and Games (G:)
# Just in case folder structure does not exist yet:
mkdir -p ~/.wine/dosdevices
# move any existing windows related files created from wine to our new C folder:
mv -v ~/.wine/drive_c/* /media/$USER/shared\ media/fakeWindows
# remove remaining folder/file in .wine folder:
rm -rvf ~/.wine/drive_c
# other stuff in order to overwrite:
rm -vf ~/.wine/dosdevices/*:
ln -s /media/$USER/shared\ media/fakeWindows ~/.wine/dosdevices/c:
ln -s /media/$USER/shared\ media/Downloads ~/.wine/dosdevices/d:
ln -s /media/$USER/shared\ media/Games ~/.wine/dosdevices/g:
# recreate empty files like wine did (placeholders?)
cd ~/.wine/dosdevices && touch a:: b:: e:: f:: h:: i:: j:: k:: l:: m:: n:: o:: p:: q:: r:: s:: t:: u:: v:: w:: x:: y:: z::
If I already missed an easy way to let all versions of wine an Lutris know where I want the windows drives to point to (as default, not by creating a new wineprefix that I would have to pass to each windows application), please let me know.
I will give you further information, once I know what is required.
Please help me with some questions/ideas. In the next post I will attach a (debug) log created from Lutris to demonstrate what happens, when I try to start the game.