vkBasalt icon indicating copy to clipboard operation
vkBasalt copied to clipboard

Steam Deck support?

Open CHJ85 opened this issue 2 years ago • 132 comments

Hi there. In order to get vkBasalt working I have to install it system wide with root access, which doesn't work on the Steam Deck. Is there a workaround for this? Can I somehow install vkBasalt locally to my home directory and still be able to point Steam games to it in the Launch Options?

CHJ85 avatar Apr 09 '22 23:04 CHJ85

I'm quite interested in this too. There is a 'vkBasalt' flatpak package in the Discover application but as far as I can tell there is no way to apply it to a game.

Tonux599 avatar May 05 '22 18:05 Tonux599

Can I somehow install vkBasalt locally to my home directory and still be able to point Steam games to it in the Launch Options?

You can install a program anywhere and call it globally if you add it to your $PATH in your .bashrc

Example:

export PATH="$HOME/.local/bin:$PATH"

This would then allow any programs under the ~/.local/bin to be called from anywhere as long as it's under the same user.

I'm not sure what $user the steam game UI runs under but if it's the deck user then you should be able to add it to a games run command.

ENABLE_VKBASALT=1 %command%

I don't know how this will interact with gamescope, gamemode, etc nor do I know if this will work at all but it's worth a try. Just FYI.

HellishINC avatar May 07 '22 23:05 HellishINC

For steam: https://github.com/flathub/com.valvesoftware.Steam.Utility.vkBasalt/blob/master/README.md For other example, package org.freedesktop.Platform.VulkanLayer.vkBasalt (yuzu flatpak): flatpak override --user --env=ENABLE_VKBASALT=1 org.yuzu_emu.yuzu Key HOME enable/disable vkBasalt, but by default it's enabled

varlesh avatar May 31 '22 11:05 varlesh

Awesome. But could you name the flatpaks so that in the Discover store it says "vkBasalt (for Steam)" and "vkBasalt (for YUZU Emulator)"? And also. You said it's for the Steam flatpak. Does that mean it's not gonna work for the Steam Deck, or does it recognize both the flatpak version and the regular version? I'm curious because the Steam client on Steam Deck is not a flatpak.

EDIT: Never mind. It's for flatpak steam only. And it's from 2020. @varlesh Is this flatpak gonna work on the Steam Deck?

CHJ85 avatar May 31 '22 12:05 CHJ85

For steam: https://github.com/flathub/com.valvesoftware.Steam.Utility.vkBasalt/blob/master/README.md

Do note that all users should use org.freedesktop.Platform.VulkanLayer.vkBasalt, which includes Steam users. com.valvesoftware.Steam.Utility.vkBasalt is deprecated https://github.com/flathub/com.valvesoftware.Steam.Utility.vkBasalt/commit/0b2a360e11a2179fd370cb654f7194e5d424cc29.

EDIT: Never mind. It's for flatpak steam only. And it's from 2020.

Unfortunately yes. The vkBasalt flatpak only works with other flatpaks, not with system packages.

TheEvilSkeleton avatar Jun 01 '22 20:06 TheEvilSkeleton

@TheEvilSkeleton Right. That's why I was wondering how this flatpak was related to this issue. Perhaps @varlesh misunderstood. EDIT: if it'd be possible to modify the flatpak and allow it to work with system wide packages, I guess that would solve the problem. However. There is one problem. The Steam Deck's file system is immutable (hence the need for flatpak support). That means we're back to square one.

CHJ85 avatar Jun 01 '22 22:06 CHJ85

Sorry, I didn't know this package was outdated

The Steam Deck's file system is immutable

It's not worked?

sudo passwd root
sudo steamos-readonly disable

After this you can install base-devel, yay, git and more packages from AUR.

varlesh avatar Jun 02 '22 02:06 varlesh

@varlesh That's not a solution though. It'll reset when there's a new Steam Deck update from Valve thus every change you made systemwide will be reset. I'm not gonna enable root access on my Steam Deck. That's just idiotic. And you can't expect others to do that either. It needs to be a locally installed flatpack and it needs to recognize the systemwide Steam installation.

CHJ85 avatar Jun 02 '22 19:06 CHJ85

It needs to be a locally installed flatpack and it needs to recognize the systemwide Steam installation.

Unfortunately that can't be done, sorry.

It'd be really cool if Valve officially published and shipped the one from Flathub so these extensions could be easily integrated.

TheEvilSkeleton avatar Jun 02 '22 20:06 TheEvilSkeleton

@TheEvilSkeleton I agree. That's what they should have done. Or perhaps not. Wouldn't that give all kinds of issues with Wine/Proton?

CHJ85 avatar Jun 02 '22 22:06 CHJ85

In my experience I haven't had any problems with Proton recently. I've been using the Steam flatpak and Bottles without any issues on Fedora Silverblue, which is an immutable distribution just like SteamOS.

TheEvilSkeleton avatar Jun 04 '22 00:06 TheEvilSkeleton

@TheEvilSkeleton Right. Proton itself is not the issue. I use Proton GE versions from ProtonUP-QT. But all of Valve's Steam Deck tweaks are on system level. Things like APU modules in the kernel, FSR support, running games off of an SD card and stuff like that. Not sure if this will work properly if the steam client is sandboxed. But I could be totally wrong. Honestly I don't know enough about this.

CHJ85 avatar Jun 04 '22 12:06 CHJ85

vkBasalt has absolutely nothing to do with the Steam Deck project. It existed before the Steam Deck and other consoles. You have already been given 2 solutions to problems that you have not even tried to use. System update? Write a script! Everything can be solved - this is the Linux principle. A fully open game console is in your hands. Only you can update it, set the root password, another operating system. This is the power of open source. At the expense of flatpack, it's a container, read about it. But I dare say that thousands of Linux computers work with ROOT access and no one complains. Take an example, Android. Where a bunch of firmware and the ability to get ROOT are released. I hope you will understand that in the Linux world, no one owes you anything, but responds with help and support.

varlesh avatar Jun 04 '22 14:06 varlesh

Your console - your rules! You can modify it! You can install Windows. You can to brake it (sorry for that, it's joke). This project is amazing, support it and don't ask stupid questions. No offense :)

varlesh avatar Jun 04 '22 14:06 varlesh

@varlesh I don't see how that's a stupid question. I myself would hate to tamper my system just to get vkBasalt running. This is obviously impractical and shouldn't be recommended to an average user.

Things like APU modules in the kernel, FSR support, running games off of an SD card and stuff like that. Not sure if this will work properly if the steam client is sandboxed.

@CHJ85 Keep in mind that kernel modules are, well, baked in the kernel. As for FSR, that's baked in Proton, so whether the app is a flatpak or not, it'll work. I do agree with the SD card, though. For that, you have to use Flatseal to give more permissions.

Either way, needing to tamper the system or having to installl the Steam flatpak and thus have two Steam apps installed just to get vkBasalt running is really bad UX. I do admit that this can be vastly improved on SteamOS's end. They could start treating Flatpak as a first class citizen or ship those extensions by default. Unfortunately, for now, these are the only options I know of. I suggest the latter because I've had no problems with the Steam flatpak recently.

TheEvilSkeleton avatar Jun 04 '22 14:06 TheEvilSkeleton

@TheEvilSkeleton You can tell that to thousands of Linux computers and Android mobile devices. I understand that this is a problem for the average user. But the console is completely open. I think the author should find out what Linux is and what console he uses. I think you don't understand what prospects are open for this console.

varlesh avatar Jun 04 '22 14:06 varlesh

A console being open is not an excuse of needing to duplicate installs or tamper the system just to get something this basic installed.

TheEvilSkeleton avatar Jun 04 '22 14:06 TheEvilSkeleton

@TheEvilSkeleton Why this question on this tread? Why not on Steam?

varlesh avatar Jun 04 '22 14:06 varlesh

Cut them some slack. I've made the same mistakes too. It's difficult to contact the "right" developers. This is still a practical issue and the solutions we offered are horrible solutions. This doesn't make it less of a problem.

TheEvilSkeleton avatar Jun 04 '22 14:06 TheEvilSkeleton

Do you want to repeat once again that this project existed before the Steam Deck appeared? And that Steam Deck is a complete open platform with which you can do what your heart desires

varlesh avatar Jun 04 '22 14:06 varlesh

You can install vkbasalt - make it! It's hard for you? Sorry, not use it! :)

varlesh avatar Jun 04 '22 14:06 varlesh

Do you want to repeat once again that this project existed before the Steam Deck appeared? And that Steam Deck is a complete open platform with which you can do what your heart desires

No, I don't. I already made myself clear. You are free to be ignorant.

TheEvilSkeleton avatar Jun 04 '22 14:06 TheEvilSkeleton

Elitists like you @varlesh are hilarious. Are you just looking for issues to attack the average user as a hobby? Looking kinda pathetic here tbh.

Kellegram avatar Jun 04 '22 15:06 Kellegram

A possible solution to the issue might be to manually compile vkBasalt but instead of using --prefix=/usr using --prefix=~/.local, which would install all files in the home directory.

axtloss avatar Jun 04 '22 15:06 axtloss

Maybe you should read what flatpack is. How does it work? What kind of security? Or maybe you need to understand that the Steam Deck operating system is a stripped-down (formally) Archlinux. And even better, if you want to add an improvement, then maybe you should study how it works and и built in. You have already been told that this is not possible. And you are continuing this discussion again.

varlesh avatar Jun 04 '22 15:06 varlesh

If you don't want to discuss it then how about you just ignore it? By having this completely useless discussion you aren't helping anyone. Why not just stay on-topic and help op to fix their issue?

axtloss avatar Jun 04 '22 15:06 axtloss

@axtloss I offered a solution, but in response I got idiocy

varlesh avatar Jun 04 '22 15:06 varlesh

Give root and write script - it's idiocy? Please tell me Linux users

varlesh avatar Jun 04 '22 15:06 varlesh

You know what a good response to "idiocy" is? Nothing. If something is idiotic then ignore it and don't clutter the issue with useless discussions.

axtloss avatar Jun 04 '22 15:06 axtloss

So did the ts try to solve the problem or can he only be indignant?

varlesh avatar Jun 04 '22 15:06 varlesh