bottlesdevs / Bottles

Run Windows software and games on Linux
https://usebottles.com
GNU General Public License v3.0
6.19k stars 258 forks source link

[Request]: Adding more info to Bottles running from terminal #2637

Open Qronikarz opened 1 year ago

Qronikarz commented 1 year ago

Tell us the problem or your need

Would it be a good idea to add more checks to Bottles when you run it from terminal? It could be used to check if the debugging information from the GUI is the same (I vaguely recall seeing a report that had different stuff in debugging info and in terminal logs) or to allow easily seeing what people are using when they just post the output from terminal. Right now it looks like this:

00:00:00 (INFO) Bottles Started! 
00:00:00 (INFO) Performing Bottles checks… 
00:00:00 (INFO) Dxvks found:
     - dxvk-2.0

00:00:00 (INFO) Vkd3ds found:
     - vkd3d-proton-2.8

00:00:00 (INFO) Nvapis found:
     - dxvk-nvapi-v0.6

00:00:00 (INFO) Latencyflexs found:
     - latencyflex-v0.1.1

00:00:00 (INFO) Runners found:
     - sys-wine-7.0.1
     - caffe-7.20

00:00:00 (INFO) Bottles found:
     - bottletest

I think it would be good to add info about: Bottles version, used DE/WM, X/Wayland and maybe Linux kernel version(?).

Describe the solution you'd like

Add some more checks to the Bottles when you run it from terminal

Other solutions?

No response

Additional context and references

No response

TheEvilSkeleton commented 1 year ago

I agree, given that many reporters can't get troubleshooting information due to Bottles not starting sometimes. I don't believe that those information should be when launching Bottles, as users will need to hunt them down by scrolling up; I believe we should have it under a flag, like bottles-cli --info, which will only list system information. What do you think?

Edit: Huh, interestingly there is bottles-cli info health-check, which basically addresses my concern.

Qronikarz commented 1 year ago

If you ask me I think it should just be available without any flag. Is there any point in running Bottles from terminal other than to get all the possible info? 4 more lines of info shouldn't be a bother. And I also think if it's decided to hide it behind the flag then the other Bottle checks should be hidden too which I don't know how to feel about it - cleaner but less info at default.

EDIT: Forgot about one thing by the way. Bottles found: should rather be bottles found: since it was decided that Bottles is a program that manages Wine bottles. But then other things found also should be in lowercase to not look out of place.

TheEvilSkeleton commented 1 year ago

Keep in mind that it's not 4 more lines, but more than 20. If we check my laptop's info through health check, it's something like this:

Official Package: true
Version: '50.2'
DE/WM: gnome
Display:
    X.org: true
    X.org (port): :0
    Wayland: true
Graphics:
    vendors:
        amd:
            vendor: amd
            envs:
                DRI_PRIME: '1'
            icd: /usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/radeon_icd.x86_64.json:/usr/lib/i386-linux-gnu/GL/vulkan/icd.d/radeon_icd.i686.json
    prime:
        integrated: null
        discrete: null
Kernel:
    Type: Linux
    Version: 6.1.8-200.fc37.x86_64
Disk:
    Total: 3828510720
    Free: 3828350976
RAM:
    MemTotal: 7.1GiB
    MemAvailable: 2.3GiB
Bottles_envs: null

I'm not really sure how I feel about this, as the terminal provides enough info on what it's doing in the background, meanwhile the GUI provides enough info for the system.

TheEvilSkeleton commented 1 year ago

/cc @mirkobrombin @Kinsteen

Kinsteen commented 1 year ago

I think having the full blown health check at startup is not a good thing as it's too big. But having a maybe shorter version with only a few things would be good? I'm thinking of:

Maybe adding the PRETTY_NAME field from /etc/os-release (standard by freedesktop) would be good too?

TheEvilSkeleton commented 1 year ago

Yeah that's essentially what @MrQuerter proposed. I don't mind having them, but I find them useless, to be honest. For troubleshooting purposes we'd want the health check anyway.

Qronikarz commented 1 year ago

Full health check is definitely not needed in the terminal at default. I'd even say from my reading of reports that it could be possible to make it even shorter in the GUI since I don't remember any issue that depended on the RAM and Disk size (well except my issue with RAM text formatting). Just those 4-5 lines would be enough to get some basic quick info in case you can't start Bottles or to double check if it's valid. Added the PRETTY_NAME too (if it's possible to be seen from the flatpak version) and the graphics vendor, but not sure if it would be useful.

00:00:00 (INFO) Bottles Started! 
00:00:00 (INFO) Performing Bottles checks…
00:00:00 (INFO) Official Package: true
00:00:00 (INFO) Bottles version: 50.2
00:00:00 (INFO) DE/WM: cinnamon (X.org)
00:00:00 (INFO) Kernel: Linux 5.15.0-58-generic
00:00:00 (INFO) OS name: Linux Mint 21.1
00:00:00 (INFO) Graphics: amd
00:00:00 (INFO) Dxvks found:
     - dxvk-2.0

00:00:00 (INFO) Vkd3ds found:
     - vkd3d-proton-2.8

00:00:00 (INFO) Nvapis found:
     - dxvk-nvapi-v0.6

00:00:00 (INFO) Latencyflexs found:
     - latencyflex-v0.1.1

00:00:00 (INFO) Runners found:
     - sys-wine-7.0.1
     - caffe-7.20

00:00:00 (INFO) Bottles found:
     - test

00:00:00 (INFO) Library saved 
00:00:00 (INFO) Catalog installers loaded 
00:00:00 (INFO) Catalog dependencies loaded 
00:00:00 (INFO) Catalog components loaded 

I have no idea how to replace Bottles found: so it doesn't use the capital letter and doesn't look out of place.