omriharel / deej

Set app volumes with real sliders! deej is an Arduino & Go project to let you build your own hardware mixer for Windows and Linux
https://deej.rocks
MIT License
4.82k stars 450 forks source link

Deej crash when closing a proton/wine game on linux #111

Open joe483 opened 5 months ago

joe483 commented 5 months ago

https://github.com/omriharel/deej/assets/121474841/fbdb7b2c-6e53-4c86-af90-b034c2459588 Notice the audio level on the status bar on the top of my screen.

When opening a windows game through proton on steam, closing the game will soft-crash deej as seen in the video above (the tray icon never disappears when deej stops working and I can still close and refresh the app list from the icon). I can open and close non-proton/wine apps without issue.

I ran a very similar experiment again with deej-release instead of deej-dev so I would get a log file. On this attempt deej stopped working before I got a chance to close the game:

2024-06-06 20:05:02.618 info    main                        Version info    {"gitCommit": "", "versionTag": "", "buildType": "release"}
2024-06-06 20:05:02.620 info    deej.config                 Loaded config successfully
2024-06-06 20:05:02.620 info    deej.config                 Config values   {"sliderMapping": "<5 sliders mapped to 8 targets>", "connectionInfo": {"COMPort":"/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0","BaudRate":9600}, "invertSliders": false}
2024-06-06 20:05:02.621 info    deej.sessions               Got all audio sessions successfully {"sessionMap": "<4 audio sessions>"}
2024-06-06 20:05:02.651 info    deej                        Run loop starting
2024-06-06 20:05:02.652 info    deej.serial./dev/serial/by-id/usb-1a86_usb_serial-if00-port0    Connected   {"conn": {}}
2024-06-06 20:05:02.652 info    deej.serial./dev/serial/by-id/usb-1a86_usb_serial-if00-port0    Detected sliders    {"amount": 5}
2024-06-06 20:05:02.684 info    deej.serial./dev/serial/by-id/usb-1a86_usb_serial-if00-port0    Detected sliders    {"amount": 7}
2024-06-06 20:05:02.690 info    deej.serial./dev/serial/by-id/usb-1a86_usb_serial-if00-port0    Detected sliders    {"amount": 5}
2024-06-06 20:05:48.890 info    deej.tray                   Quit menu item clicked, stopping
2024-06-06 20:05:48.891 info    deej                        Stopping

Also, here are the contents of my config.yaml:

slider_mapping:
  0:
    - brave
  1: 
    - vesktop
    - Ferdium
    - Discord
    - WebCord
  2: Spotify
  3: deej.unmapped
  4: master

invert_sliders: false

com_port: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
baud_rate: 9600

noise_reduction: low

I was initially unsure of the cause but was hinted to wine/proton being the issue from this thread on the deej discord: https://discord.com/channels/702940502038937667/1224327587493445653

DiggerTigger commented 5 months ago

Hi, i notice a very similar bug on Linux. I have the same soft-crashing behavior. For me it occurs whenever:

Closing Steam or a closing a non-native Steam game doesn't trigger the soft-crash for me. As @joe483 described, everything seems normal in debug, except that deej doesn't recognize any slider changes.

A few infos on my setup: OS: CachyOs (Arch-based) DE: KDE Plasma 6 Compositor: Wayland Sound-Framework: Pipewire (with pipewire-pulse)