celluloid-player / celluloid

A simple GTK+ frontend for mpv
https://celluloid-player.github.io
GNU General Public License v3.0
1.16k stars 93 forks source link

Celluloid crashes in Ubuntu Mate 20.04 with x11 intel driver #577

Open starbrights opened 4 years ago

starbrights commented 4 years ago

Overview Description:

When startin Celluloid it crashes with a memory access error. It happens without starting a movie. Per default in Ubuntu Mate 20.04 modeset driver is used. But tearing is bad, so I use intel driver with tearfree option. mpv had a problem to, but I could solve that with setting this to environment: MESA_LOADER_DRIVER_OVERRIDE=i965 This helps for mpv, but not for celluloid :(

Version: 0.18.2

gnome-mpv commented 4 years ago

MESA_LOADER_DRIVER_OVERRIDE=i965

How did you set this env variable?

This helps for mpv, but not for celluloid :(

Did you start Celluloid from command line?

starbrights commented 4 years ago

Mh, set this in ~./xsessionrc. But right, export in shell and starting from shell works. Strange. What is best place to set this? I try also a entry in ~/.local/share/application something like exec env MESA_LOADER_DRIVER_OVERRIDE=i965 /usr/bin/celluloid

TingPing commented 4 years ago

i965 is the only supported driver for your hardware so something is quite broken in your installation and setting that env var is just a workaround.

starbrights commented 4 years ago

Honestly I don't understand anything about that. I just read about that workarond here and used it. https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/1876219

The only thing I know that I have been changed is using the intel driver instead of modeset. But again, the modeset driver causes tearing here.

I even created a shell script - but that doesn't work either ?!? I think I need help

#!/bin/sh
export MESA_LOADER_DRIVER_OVERRIDE=i965 
/usr/bin/celluloid

What the hell is the difference between doing that manual line by line?!?

TingPing commented 4 years ago

Had no clue Ubuntu switched to iris so soon. Anyway its clearly just not ready and it has nothing to do with this project.

gnome-mpv commented 4 years ago

When you launch Celluloid using D-Bus activation (e.g. by double-clicking on a file in Nautilus), it won't see regular env vars. You need to use dbus-update-activation-environment to set the env vars you want it to see, e.g. dbus-update-activation-environment MESA_LOADER_DRIVER_OVERRIDE='i965'.

You can automatically run the command on login by creating a desktop file for the command and putting it in ~/.config/autostart.

[Desktop Entry]
Type=Application
Name=Update D-Bus Activation Environment
X-GNOME-Autostart-enabled=true
Exec=dbus-update-activation-environment MESA_LOADER_DRIVER_OVERRIDE='i965'
starbrights commented 4 years ago

That "dbus-update-activation-environment MESA_LOADER_DRIVER_OVERRIDE='i965'" helps - thank you so much. I don't understand what this means with iris driver? I think there are just the modset and the (older, less maintained) intel driver. For some reason Ubuntu switched to modeset, but - back luck for me - it has tearing. Intel driver on the other hand doesn't play well with mpv and celluloid. But for now the problems seems to be fixed. Thank you and sorry for opening in issue here - but how can I know where exactly the problem is?