-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
checks: Add various detections specific to Linux #161
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If a commit changes one file in checks/
, the commit prefix is that file's name without the file extension.
Always capitalize the first word in the commit message subject after the prefix.
I don't use Linux, so I'll probably need someone else to comment on the substance of the changes themselves.
1642751
to
49891e9
Compare
Fixed up. Also added a note regarding the missing default plugins in OP. Edit: |
2bdb5d6
to
aa89b4d
Compare
Adjustments for unified PipeWire source in 30.2:
For the Wayland logging, I already put a note in there that Global Hotkeys won't work, would it make sense to add Browser docks to that note as well? |
aa89b4d
to
80378f0
Compare
Rebased to current master to keep it up to date. |
Groundwork for future linux-specific checks similar to the Windows and MacOS specific checks.
80378f0
to
823e84b
Compare
Rebased to current master and also fixed the name for the VLC plugin being wrong. |
I still need someone familiar with Linux or Linux support to give some insight here. |
checks/linux.py
Outdated
if len(hasV4L2Module) > 0: | ||
return [LEVEL_INFO, "VCam not available", | ||
"""Using the Virtual Camera requires the <code>v4l2loopback</code> kernel module to be installed.<br> | ||
If required, please refer to our <a href="https://github.com/obsproject/obs-studio/wiki/install-instructions#prerequisites-for-all-versions">Install Instructions</a> on how to install this on your distribution.<br> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps we should link to https://obsproject.com/kb/virtual-camera-troubleshooting instead (which also links to https://github.com/obsproject/obs-studio/wiki/install-instructions#prerequisites-for-all-versions).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I figured the KB page doesn't really have useful information to actually get it running, so I linked to the Install Instructions instead to save a round trip.
I don't really mind either way, just figured going to the instructions directly is faster.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't have a strong opinion. This is better than no message.
823e84b
to
f92ef0f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Besides the use of split and indices, I agree with all additions and can speak to their usefulness for linux support.
9f35c5c
to
a169dc9
Compare
overall its fine, im not sure I agree with trying to explain which captures to use on your platform for every log uploaded but we can always change it later if it becomes distracting to users. |
I think also they are useful. Also I have the feeling that we have more user in #linux-support, they don't like to follow the instructions for uploading the log and paste it via pastebin or co in. For me, who is sometimes on mobile, it is a pain to access it. So a more verbose log analyzer output is here helpful. In general, I have the feeling, that the windows side has always more useful information in the analyzer output. Like the windows version/build. So the additions here with info about the linux distro/flatpak and which Display-Server is running is on my side welcome as someone who give support there. PS: And the possibility that users getting more info's, how a problem can be fixed by their own, is also a good thing. |
That was the point I was trying to make in this review thread. |
a169dc9
to
be1fcbe
Compare
Since there were no objections to the altered wording in the review thread above I went ahead and pushed it. Let me know if you want further changes 😄 |
Can someone provide sample logs that would cause the INFO Wayland and INFO X11 items to be emitted? I am tempted to ask that we remove the INFO Wayland and INFO X11 items from this PR so we can land everything else, and then we can consider those two INFO items in a separate PR. |
Log examples are in the PR description, although pretty much all of them should emit it.
I'm not opposed to removing one or both of the helptexts, however I would strongly advocate for keeping the bullet point itself. This is one of the things we need to check in almost every log, so having it in OBS bot's response on Discord would be a major time-saver. For most questions/issues users come into the support chat for the answer depends on whether the user is running on X11 or Wayland. It was one of the things that kicked off this PR in the first place. |
be1fcbe
to
615076a
Compare
If it is okay for my perspective, helping in #linux-support: Almost every log, I scan the log for two/three things: The build name of obs, sometimes the Distroname if the build name doesn't give me a clear answer (both to check if it is the official package) and if the session type is X11 or wayland. We had also sometimes user, they know the difference but didn't realize that their session was changed to wayland. Especial on new Ubuntu versions, when they want the newest version, but the update path is not released from Canonical, they do a fresh install and forget, that ubuntu goes default to wayland on a fresh installation. Since the feature set is quite different in X11 vs wayland and will be for the next couple of years, I think the info is in the log analyzer quite important. |
00ade95
to
03a2708
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added some verbiage changes and my opinion on the vcam stuff.
03a2708
to
6b4749d
Compare
6b4749d
to
7a9865a
Compare
Description
This adds various detections aimed at helping us in linux-support to provide help quicker without having to dive deep into the log with every user. This should cover the most of the common questions and issues, and the myriad of possible combinations encountered on Discord.
Changes in detail:
wayland.py
tolinux.py
since this isn't just for Wayland anymorelinux.py
CRITICAL
XWayland was already loggedINFO
Wayland was previously already detected, but not loggedINFO
X11 Logging + recommended capturesWARNING
Also logs PipeWire capture sources being used on X11. Currently this is only relevant for very recent GNOME versions and for recent(-ish) KDE versions. KDE doesn't actually support this either, but still advertises availability.CRITICAL
On Wayland this also logs when no PipeWire captures are availableINFO
Log usage of the Flatpak packageINFO
Distro + Version if available (unfortunately not on Flatpak)INFO
Desktop EnvironmentINFO
Missing default pluginsINFO
Missing v4l2loopback module for VCam functionalityMotivation and Context
The current lack of output by the OBS Bot requires us to manually check for the same information on every log we are getting in linux-support. The detections and help texts (suggestions welcome!) should give users some pointers to help themselves when there is currently no supporter around (since linux-support isn't as frequented as the others). Obviously it also helps supporters to give faster responses without having to check every log manually.
Of course Linux has an inherent multitude of possible setups, which I tried to cover as best as possible without checking for every eventuality. It should cover the most frequent issues and questions collected over quite some time.
How Has This Been Tested?
Grabbed a random assortment of logs from the Discord:
Types of changes
Checklist: