flathub / com.microsoft.Edge

https://flathub.org/apps/details/com.microsoft.Edge
53 stars 9 forks source link

Proposal: Add Read Only Access to UDev To This Flatpak's Default Permissions #214

Open mindinsomnia opened 1 year ago

mindinsomnia commented 1 year ago

Hello,

If one uses Microsoft Edge on the Steam Deck right now and wishes to setup Xbox Game Pass on this gaming device, they will be lead to this instruction page on Microsoft's website:

https://support.microsoft.com/en-us/topic/xbox-cloud-gaming-in-microsoft-edge-with-steam-deck-43dd011b-0ce8-4810-8302-965be6d53296

Step 8 and 9 of the process requires the user to open a terminal window to enter a command to give Microsoft Edge access to UDev to receive controller input.

console

I understand the author of this Flatpak has described this as a workaround on the README.md for this repository, but as far as workarounds go, this one seems innocent enough to include it by default.

Having this available out of the box would reduce the steps in this process for new users.

For the Steam Deck particularly this would be a very nice UX improvement, as the Steam Deck's target demographic is not experienced Linux users, in many cases it includes people who have come straight from console gaming. Even if it's just 2 steps, helping those users avoid having to open a terminal to run a command would be nice.

As far as I can tell, this would only require only a one line change to com.microsoft.Edge.yaml, inserted after line 35:

- --filesystem=/run/udev:ro

If the maintainer of this Flatpak agrees I would be happy to make a push request myself to do the file modification.

TheEvilSkeleton commented 1 year ago

@rany2 @refi64 should we apply this change to all Chromium based browsers? I don't want to have this applied on one browser if others don't follow.

refi64 commented 1 year ago

My main hesitation here is that systemd's udev ABI is unstable and is prone to change at any time, and it's not really clear how unpleasant the UX from unexpected changes would be (e.g. does it just not work or straight-up).

I guess the Steam Deck could maybe get away with this in a bit more of a general case because the entire OS environment is controlled, but that doesn't exactly apply outside of there.

TheEvilSkeleton commented 1 year ago

and it's not really clear how unpleasant the UX from unexpected changes would be (e.g. does it just not work or straight-up).

To be fair it would be equally as unexpected if the user manually allows /run/udev:ro and this permission stops working eventually. There's no portal for this AFAIK, so IMO we should allow it by default and remove it once the necessary portal exists and gets on its way to distro repos. Whether Microsoft wants to support the portal (once available) or not is up to them.

mindinsomnia commented 1 year ago

I think that's a fair compromise TheEvilSkeleton. Without a portal there is no way to do this 'properly' right now and even if the ABI is unstable, people are using it right now already, since there's no alternative to it. As TheEvilSkeleton said, could remove this hack and use the portal instead once one is available.

TheEvilSkeleton commented 1 year ago

@refi64 thoughts? I'm fine with enabling this permission, but I'd like to know if we can do the same for Brave, Chrome and other Chromium based browsers for consistency.

tarmo888 commented 1 year ago

This is not just for Chromium based browsers, this makes the gamepad working on other flatpak apps (Firefox too). Can be tested with this website https://gamepad-tester.com/

toojays commented 1 month ago

This also lets WebMIDI work on Steam Deck.