flathub / org.xonotic.Xonotic

https://flathub.org/apps/details/org.xonotic.Xonotic
6 stars 5 forks source link

Please revert the latest change that makes it use wayland instead of xwayland #9

Closed pizzadude closed 2 years ago

pizzadude commented 2 years ago

Please revert the latest change that makes it use wayland instead of xwayland. The game is not as smooth with wayland. On xwayland it works fine.

This is on Fedora 34 KDE with intel graphics. For now I used flatseal to revert the change locally.

AsciiWolf commented 2 years ago

Hmm, interesting. It works fine on my F34 system with AMD graphics. Also, I thought that the change was only for x11 systems and the game was already using native Wayland (because it have the wayland socket). @Eonfge Any idea?

Eonfge commented 2 years ago

There can be a few things, although it does sound like it's an Intel graphics issue since you otherwise have identical systems.

There are some other things we could try. Xonotic right now is not build against SDL 2.0.12, which has a weaker Wayland implementation. If you got some time to fix the 21.08 runtime build, then that might be enough to make Intel Graphics run smoothly.

If @pizzadude this has this issue after we update Xonotic to 21.08, then we'll have to look further

Eonfge commented 2 years ago

Can you both test this update;

https://github.com/flathub/org.xonotic.Xonotic/pull/7

Was a big effort, but this should bring Xonotic to SDL 2.0.16

AsciiWolf commented 2 years ago

Oops, sorry, I did not notice that you asked @pizzadude to test the PR too. I have already merged it.

Eonfge commented 2 years ago

Well... he still has to test it to find out of the SDL update has any effect. For the rest of the users, this update is good anyway.

pizzadude commented 2 years ago

When I first tested that update ( https://dl.flathub.org/build-repo/58880/org.xonotic.Xonotic.flatpakref ), it played smoothly. But then I realized it wasn't running on wayland. I had to disable the x11 socket in flatseal. For some reason, when running on wayland, despite the in-game fps meter saying it's running at 100+ fps, it's not as smooth as when running on xwayland. I have no idea why. It must be something related to Intel graphics drivers, or maybe KDE.

Eonfge commented 2 years ago

So, what's next? I'm glad to hear that it's not unplayable, but this does sound like something that Intel and/or KDE has to address.

Also good to know, it that you can easily change the permissions with Flatseal to fix your performance.

pizzadude commented 2 years ago

I'm not sure. Maybe it would be a good idea to say if you have problems with running it in wayland, that you can easily revert to xwayland with flatseal. Maybe put this on flatpak description or github or both.

pizzadude commented 2 years ago

What is odd is now on wayland I seem to be getting fine performance. This is confusing.

pizzadude commented 2 years ago

It doesn't seem like an issue anymore, but maybe it would still be good to put that in the flatpak description in case other people have the issue. Thanks for your patience and sorry for the conflicting test results.

Eonfge commented 2 years ago

No problem Pizza. It's good to communicate your issues, and it encourages us maintainers to look into the details of a package. Without your encouragement, I would have stalled the 21.08 update another week or two :stuck_out_tongue:

If any future issues arise, with this or other packages, please get in contact. As for a 'try-it-without-wayland' sign, that goes for all games at the moment. Wayland is great, and it's nearly there, but it still comes with a caveat emptor.

pizzadude commented 2 years ago

@Eonfge Since KDE 5.23.x I have this issue with wayland only games, like the xonotic flatpak, so disabling the wayland socket is a must. (for me atleast)

https://bugs.kde.org/show_bug.cgi?id=444962

AsciiWolf commented 2 years ago

This seems to be a KDE bug, so it should ideally be fixed in KDE instead of reverting to using x11 socket for the Xonotic Flatpak.

AsciiWolf commented 2 years ago

I don't have any problems running Xonotic on my laptop with Fedora 35/GNOME 41 (Wayland session) and Intel GPU.

pizzadude commented 2 years ago

Not everyone uses gnome. Also, I don't see any benefit for forcing Xonotic to use wayland.

AsciiWolf commented 2 years ago

It's not about using GNOME, it's about this being a KDE bug (that should be fixed in KDE) if I understand it correctly.

AsciiWolf commented 2 years ago

@Eonfge What is your opinion about this?

pizzadude commented 2 years ago

Well, some users of KDE might run across this bug and blame the Xonotic flatpak.

pizzadude commented 2 years ago

@Eonfge @AsciiWolf It's not just KDE users who have issues with the Xonotic flatpak. I was playing with a person who uses Fedora 35, Gnome wayland, intel graphics, and they had to disable the wayland socket as well or else the game wasn't responding to input.

Regarding https://bugs.kde.org/show_bug.cgi?id=444962 (which now in KDE 5.23.3 causes the games to open as 1 pixel window (making them effectively invisible), I also have the same issue with some other flatpaks, such as Yamagi Quake 2. Disabling the wayland socket fixes the issue.

I know it works for you @AsciiWolf but what's the harm in disabling the wayland socket by default, given me and some other people have issues with it being enabled?

I also don't think that KDE bug will get fixed any time soon as it is currently unnoticed by the KDE developers.

Eonfge commented 2 years ago

@AsciiWolf Let's roll it back, until Upstream gets involved; https://github.com/flathub/org.xonotic.Xonotic/pull/10

@pizzadude Yamagi too? Mmh. Could you make a separate issue there so I can track them both

pizzadude commented 2 years ago

I would be opening a lot of issues, here are the games I had to disable the wayland socket with:

cd ~/.local/share/flatpak/overrides/ grep -R !wayland org.zdoom.GZDoom:sockets=!fallback-x11;!wayland com.zandronum.Zandronum:sockets=!wayland org.dhewm3.Dhewm3:sockets=!wayland io.github.fabiangreffrath.Doom:sockets=!wayland org.xonotic.Xonotic:sockets=!wayland org.yamagi.YamagiQ2:sockets=!fallback-x11;!wayland io.github.freedoom.FreeDM:sockets=!fallback-x11;!wayland io.github.freedoom.Phase1:sockets=!fallback-x11;!wayland io.github.freedoom.Phase2:sockets=!fallback-x11;!wayland

pizzadude commented 2 years ago

I haven't run into this issue with any non-flatpak game, if that matters.

pizzadude commented 2 years ago

Here is a recording of the problem with the yamagi quake 2 flatpak with wayland socket enabled: https://youtu.be/dwFMap8-r1E

With Xonotic, it trashes my game config so I have to restore from a backup after disabling wayland socket.

Eonfge commented 2 years ago

That's quite concerning. I maintain all of them but I have not had a single complaint yet for any of them. Perhaps it might be something with your client after all? :thinking:

One game not working is a bug with the game, all games not working, is likely a client issue.

For example, I can run GZDoom (https://github.com/coelckers/gzdoom/issues/1480) on my pinebook pro, with Wayland, so I have been able to confirm that one as working.

pizzadude commented 2 years ago

What do you mean by "client"? Do you mean distro, desktop environment, intel graphics driver, config (because I tested with a clean config and I had the same issue)?

pizzadude commented 2 years ago

This issue started happening after release of KDE 5.23.x. But KDE 5.23.2 had a different outcome to the issue. (The games were in the corner of the screen)

Again, my friend using gnome had a seperate issue (no input in xonotic) with wayland socket enabled.

Eonfge commented 2 years ago

Client = your computer. I don't think it's the distribution since I'm on Fedora 35, but there might be an issue with the (configuration of) KDE. Really, this is a rabbit hole where it will be almost impossible to know for sure.

For Xonotic, I would say that we roll it back @AsciiWolf

Graphics card prices really need to go down... I need an AMD card for some more testing.

pizzadude commented 2 years ago

All these games use SDL so maybe it's an SDL issue? I'm not sure.

Xonotic from dnf repos worked fine.

Eonfge commented 2 years ago

with 21.08, SDL in Flatpak was updated from 1.12 to 1.16. 1.16 should have vastly improved Wayland support, so that has certainly changed.

pizzadude commented 2 years ago

Is there a security risk in running games in Xwayland? Is that why the change was made to the flatpak?

pizzadude commented 2 years ago

P.S. Sorry if this issue is taking up too much of your time. I appreciate the packaging of these games in the first place.

Eonfge commented 2 years ago

Wayland is the (more secure) future, but for desktop users it's a bit of a double edged blade. There are now three ways of running games:

X11 host:

When you're on Wayland, and we flag a package as X11-only, then you'll have to run it with XWayland which is included with Wayland for backwards compatibility.

Honestly, for open source games there is no security reason to use Wayland. For proprietary software, it's more important to use Wayland since there are inherently more security risks.

pizzadude commented 2 years ago

@AsciiWolf @Eonfge It's not just my computer. Someone on the KDE bug report was able to reproduce the same issue, after I posted the bug report on reddit.

image

Source: https://bugs.kde.org/show_bug.cgi?id=444962

pizzadude commented 2 years ago

The issues were fixed in KDE 5.23.5.