Open darksylinc opened 1 year ago
Please follow the template, don't delete any headingsit's important
We intentionally keep the system information result on a single line, so that it can be pasted in a single-line field in the issue form. This is because multiline fields don't provide browser autocompletion, so users can't easily submit issues with hardware information from previous issues. I personally rely on browser autocompletion a lot when reporting issues, so I don't want it to go away. We learned this the hard way.
Unfortunately, displaying the list of all adapters on a single line would make it too long. It would also break https://godotengine.github.io/issue-stats/, which I've spent a lot of effort on recently[^1] :slightly_frowning_face:
[^1]: It's possible to detect which GPUs are present on the system information line and only keep the dedicated GPU in the final report, but it's a lot of work for AMD and Intel (Arc) dedicated GPUs. For NVIDIA, you could assume the GPU is always dedicated, since NVIDIA hasn't produced integrated graphics for over 15 years now (remember nForce chipsets?).
Also, 99% of the time, you can assume whether the user is on a hybrid GPU system or not (depending on whether the GPU name ends with "M", "S", "Laptop GPU" or "with Max-Q Design"). There are a few laptops out there where you can disable hybrid graphics entirely in the UEFI, but the IGP is usually enabled by default in those machines. These are generally the highest-end gaming laptops that don't care about battery life, such as those sporting RTX 4090/4080 Laptop GPU. If all else fails, the CPU model name will likely give you a hint too.
If we know the user is on a laptop, we can apply the advice to tell them to update both their IGP and dedicated GPU drivers (from Intel/AMD/NVIDIA's website, not the laptop OEM, not Windows Update).
If we really want to provide an option for full system diagnostics, we could have a separate option that includes much more information (such as audio outputs/inputs, display resolutions, OS scale factor, etc). https://github.com/godotengine/godot/pull/75025 does this when running Godot in verbose mode already. This would definitely not fit in a single-line field though.
OK those are all fair points.
I have no problem if it gets moved to another option (e.g. "Copy Detailed System Report") that we can request on demand or be part of the Github template that can be left blank unless related to certain topics (like device lost events, system freeze/hang, and TDR).
Also, 99% of the time, you can assume whether the user is on a hybrid GPU system or not (depending on whether the GPU name ends with "M", "S", "Laptop GPU" or "with Max-Q Design"). There are a few laptops out there where you can disable hybrid graphics entirely in the UEFI, but the IGP is usually enabled by default in those machines. These are generally the highest-end gaming laptops that don't care about portability, such as those sporting RTX 4090/4080 Laptop GPU. If all else fails, the CPU model name will likely give you a hint too.
The reason for this detailed info is that rather than "suspecting", it would be great to detect a pattern. SPECIALLY because Optimus laptops and Device Lost have a great correlation (it's by design).
This is otherwise hard to ask because it can quickly & unintentionally devolve into a quite personal "it's your [system] fault".
System information
Godot v4.2.dev (262d1eaa6) - Ubuntu 20.04.6 LTS (Focal Fossa) - X11 - Vulkan (Forward+) - dedicated AMD Radeon RX 6800 XT - AMD Ryzen 9 5900X 12-Core Processor (24 Threads)
Describe the project you are working on
None.
Describe the problem or limitation you are having in your project
Following what I said in https://github.com/godotengine/godot/issues/71929#issuecomment-1657193151 Godot does not print enough data we need to troubleshoot some problems.
Right now on my system it prints:
Whereas it should print:
This is important because on some Optimus laptops the version of the Intel driver is relevant even though they're using the NVIDIA card. Users should be advised to update to the latest drivers for both NV and Intel, not just the NV one.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
It should report what's been described. In Editor Go to -> Help -> Copy System Info
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
I haven't thought of it yet, but I will look into the code and make the necessary adjustments since Godot already has all the available data.
If this enhancement will not be used often, can it be worked around with a few lines of script?
Well, the user could post the full output of vulkaninfo by hand.
Is there a reason why this should be core and not an add-on in the asset library?
It's relevant for better bug diagnosing.
Is there a reason why this should be core and not an add-on in the asset library?