Lutris - start game & connect to particular URL/Server

I am doing and online retraining at the moment which is being help through a game-like 3d Windows application.

In the original scenario the app is being started though a hyperlink on a website which starts the application and connects to a particular server (which is not exactly the same as the hyperlink). I can make the application to run in a Lutris environment (without wine) on my Manjaro laptop but can not figure out how to connect to the right server.

So I guess my question is how to start a lutris game via a hyperlink.

as mentioned I have no wine involved but would be more then happy to add it to the mix whether it was helping with this.

So as I understand:

  1. There is a Link on a website.
  2. The Link is a “x-scheme-handler”, which refers to the installed application and start it.

The custom protocol have to be known. Here is an example: https://unix.stackexchange.com/questions/497146/create-a-custom-url-protocol-handler

So is it running in the browser or is it a native linux application?

it’s a native windows.exe which runs inside Lutris.
Only the link to the correct server is added through the mentioned link (even though it is not the exact same URL as the links URL) via the browser.

On first sight I don’t understand much of that thread I am afraid but will study it in more depth in the coming days.

Can you specify which connections (windows.exe --> server i.e.) protocol you are referring to here? I guess I could get that info from the IT support of my school (which is not supporting this issue in general, which is why I am asking here)

Ok, but just to be clear: Lutris is a manager. So it is running wine as a runner beside all kind of runners. So by saying “without wine”, one would assume: No windows exe, since Lutris can also run other runners.

What I mean is for example this: zoommtg://us04web.zoom.us/

zoommtg is a fake protocol which is used to open a link on the browser which will refer to an application. It opens Zoom.

The protocol have to be added to the desktop file of your wine application. Like that:

MimeType=x-scheme-handler/zoommtg

Usually wine desktop files are created here while installation: ~/.local/share/applications/wine/

And then update the database:

update-desktop-database ~/.local/share/applications/

Now the fake protocol is known and the native Browser will refereed to the desktop file and start the application. The content of the link will be handed over to application.

Hope that makes sense.

Otherwise, install at your wine prefix also a webbrowser and the linking will be handled purely by wine. That can be done with winetricks.

hm I see. Well I said that (wine ist not involved due to that message I get when I run the app)

image

still the application seems to be running normally (same visual impression as when I run it on a Win machine), which made me think I can live without it. I am assuming now you’d recommend to install wine then, right?

I digged a bit further and got this

in Windows the connection is being achieved via a link through a parameter -Infoip.
practically C:\wbs_learnspace_3d\application.exe -infoip https://s25.learnspace3d.net

I believe there is a similar path like that in the Game Options tab (/path/to/application.exe). I guess I’ll try to add the -Infoip option to the Arguments field right below the Executable there and see where it is leading me.

1 Like

that actually seems to work. I can login to the right “Classroom” now, but the whole thing is very unstable, neither could I very yet how audio works.

My next step is to install all “additional dependencies” listed for the Lutris package which are not there yet apparently (wine, vkd3d & lib32-vkd3d) and see whether that does any good. Thanks thus far.


Edit: this seems to be the place to go for getting further probably

1 Like

no healing from this unfortunately. I can login but as I move inside the 3d space it crashes almost instantly.

here are some logs, which I am overwhelmed with to be honest.

  1. Messages like that:
(wine:26254): GStreamer-WARNING **: 07:25:06.152: Failed to load plugin '/home/username/.local/share/lutris/runners/wine/lutris-6.4-x86_64/lib/gstreamer-1.0/libgstcurl.so': libcurl-gnutls.so.4: cannot open shared object file: No such file or directory

Just simply means that the system libary are not there. Install wine and all its dependencies:

pamac install wine
  1. There is an incomplete vulkan support for your Intel GPU:
MESA-INTEL: warning: Ivy Bridge Vulkan support is incomplete

You might have a better chance to run it without Vulkan “DXVK/VK3D”, but with OpenGL “DirectD3D”. So just disable “DXVK/VK3D” and install directx with winetricks. Install all native d3d files like d3dx9 etc…

OR just use a GPU which fully support Vulkan.

  1. Looks like the permissions are not set:
wine: Read access denied for device L"\\??\\Z:\\", FS volume label and serial are not available.

Z:\ is normally / on Linux.

I did install wine already, so …

$ sudo pamac install wine
Warning: wine-6.13-1 is up to date -- skipping

… comes not as a surprise. I’ll look into the other suggestion in the coming days. Maybe something is working out in the end. If not … I’ll have to swallow a Win10 VM at some point I am afraid.

I tried a bit and DXVK don’t work here. It seems there there is a problem… no idea what it is right now.

But the OpenGL Layer worked although it was laggy, but stable.

By testing I wrote this script here. Maybe it helps:

#!/usr/bin/env bash
# needed: wine, winetricks

export HOME=$PWD
export ROOT=tricat
export WINE=/usr/bin/wine
export WINEPREFIX=$HOME/$ROOT/prefix
export WINEARCH=win64
export WINEPATH=$HOME/$ROOT
export W_CACHE=$HOME/$ROOT/cache

export DXVK_STATE_CACHE=1
export DXVK_STATE_CACHE_PATH=$WINEPATH/cache
export DXVK_HUD="fps,compiler"



if [[ "$1" == "-rm" ]]
then
	if [[ -d $WINEPREFIX ]]
	then
		#wineboot --kill --force --shutdown
		killall wine
		rm -R -f -v $WINEPREFIX
	else
		echo "NO PREFIX IS THERE."
	fi

	exit 1

fi

if [[ "$1" == "--save" ]]
then
	rsync -avu \
		$WINEPREFIX/drive_c/users/$USER/AppData/Local/TriCAT/ \
		$W_CACHE/TriCAT
	exit 1
elif [[ "$1" == "--restore" ]]
then
	rsync -avu \
		$W_CACHE/TriCAT/ \
		$WINEPREFIX/drive_c/users/$USER/AppData/Local/TriCAT
	exit 1
fi


if [[ ! -d $WINEPREFIX  ]]; then
	
	if [[ ! -f $WINEPATH/$ROOT.exe ]]
	then
		curl "https://releases.tricat.net/spaces/live/client/downloadlatestpcstarter.php" \
		--output $WINEPATH/$ROOT.exe
	fi
        
	if [[ "$1" == "-gl" ]]
	then
		DIRECTX="d3dx9_43 d3dcompiler_43 d3dcompiler_47 d3dx11_43 dx10_43"
		# only dx9: d3dx9_43 d3dcompiler_43 d3dcompiler_47
		# add this for dx11 and dx10 support: d3dx11_43 dx10_43
		
		mkdir -p -v $WINEPREFIX
		wineboot --init
		winetricks fontsmooth=rgb renderer=gl vd=1024x768 sound=pulse grabfullscreen=y \
		$DIRECTX arial win8
		wine $ROOT.exe
	elif [[ "$1" == "-vk" ]]
	then
		DIRECTX="dxvk d3dcompiler_43 d3dcompiler_47"
		#d9vk (deprecated)
		#full support dx9/10/11: dxvk

		mkdir -p -v $WINEPREFIX
		wineboot --init
		winetricks fontsmooth=rgb renderer=vulkan vd=1024x768 sound=pulse grabfullscreen=y \
		$DIRECTX arial win8 
		wine $ROOT.exe
	else
		echo "choose $0 -vk or $0 -gl"
		exit 1

	fi 


else
	wine $ROOT.exe
	#exit 1
fi

But I guess, although its made with with unity3d, it is optimized for windows and not with compatibility with wine in mind. Also Mac is supported, but not fully. Maybe the Proton version of Wine works better?