amonakov / primus

Low-overhead client-side GPU offloading
ISC License
216 stars 20 forks source link

Can't run VLC under bumblebee/primus #186

Open Fry-kun opened 8 years ago

Fry-kun commented 8 years ago

I had recently upgraded Fedora 23 -> 24, now "primusrun vlc" doesn't work. Everything else still works (optirun vlc, primusrun glxgears, primusrun smplayer...) After upgrade, bumblebee-nvidia --check showed some errors, but after running suggested tasks now says "ok"

Full output:

$ primusrun vlc
VLC media player 3.0.0-git Vetinari (revision 2.2.0-git-8332-g9d27766)
[000055f20d64b1c8] core libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
../../../include/vlc_xlib.h:46:vlc_xlib_init: Xlib not initialized for threads.
This process is probably using LibVLC incorrectly.
Pass "--no-xlib" to libvlc_new() to fix this.
[000055f20d888fb8] qt interface error: Xlib not initialized for threads
../../../include/vlc_xlib.h:46:vlc_xlib_init: Xlib not initialized for threads.
This process is probably using LibVLC incorrectly.
Pass "--no-xlib" to libvlc_new() to fix this.
[000055f20d888fb8] skins2 interface error: Xlib not initialized for threads
[000055f20d888fb8] skins2 interface error: initializing xlib for multi-threading failed
[000055f20d888fb8] skins2 interface error: cannot initialize OSFactory
[000055f20d888fb8] [cli] lua interface: Listening on host "*console".
VLC media player 3.0.0-git Vetinari
Command Line Interface initialized. Type `help' for help.
> 

The reason for using "primusrun vlc" was because intel driver sometimes glitches on or even refuses to play certain clips. Probably has to do with VAAPI/VDPAU problems (Note: vlc seems to prefer using VDPAU if it's available).. but my workaround was to use the nvidia card to play those clips.. and now I don't even have that luxury :( I definitely remember some high resolution clips not playing correctly with just intel driver - possibly some played with lagging.

@gsgatlin replicated the problem on a clean F24 install (see https://github.com/Bumblebee-Project/Bumblebee/issues/784#issuecomment-235410152) and asked that I file an issue here to help troubleshoot this further.

Fry-kun commented 8 years ago

Looks like this had been resolved with a new kernel update... no idea where the issue was

melroy89 commented 7 years ago

It's not kernel issue. I think it's a LibXUtil which is part of VLC. I guess they solved the issue with a new version of VLC/Libx.

Issue can be closed? It's not related to Primus at all.

tpruzina commented 7 years ago

VLC has a opengl backend but it does little more than display pixels on the screen (and maybe draw fonts), e.g. no accelerated decoding or anything like that.

Non-openGL apps don't benefit in any way from primus, there is no accelerated decoding or anything like that.

Fry-kun commented 7 years ago

FWIW, on hybrid graphics (Intel/Nvidia) laptop, vlc couldn't play some HD content without stuttering and/or errors. When I would run vlc with primusrun, the playback was buttery smooth and errors were easily skipped over. No idea if vlc was using opengl backend, but I think I tried switching between the backends with similar results back then.