You are not logged in.
Hello i have an Asus 1215N netbook. This laptop has both Intel and Nvidia cards. Bumblebee works perfect but i can't yet play videos smoothly. In Mplayer or VLC video is slow as hell and audio comes from 15 seconds before.
I try to use VDPAU or VA-API (by the way what difference those have?) but this doesn't seem to work either. Which packages should i install and how can i get good video performance?
Last edited by Paingiver (2015-03-05 01:40:45)
Offline
Bumblebee works perfect but i can't yet play videos smoothly
If you tried watching videos with optimus/primusrun and they don't play smoothly this is far from working perfectly....
Does this happen for specific types of videos only? (e.g. h264 codec or specific resolution or something like that)
I put at button on it. Yes. I wish to press it, but I'm not sure what will happen if I do. (Gune | Titan A.E.)
Offline
I can clearly see the difference between Intel and Nvidia in glxspheres or games. I guess Bumblee works. I don't know what is problem in videos. I have only tried one video and it is H.264 1080p resolution. Running it in Intel card or Nvidia makes no difference.
And i can't get to work VDPAU or VA-API. How can enable that?
Offline
Could it also be a PulseAudio issue? Mplayer has sound but lagging but VLC got no sound.
Offline
Ok. I have installed:
libva
libvdpau
libvdpau-va-gl
vdpauinfo
Running "optirun vdpauinfo"
display: :0 screen: 0
[VS] Software VDPAU backend library initialized
[VS] error (glXGetSelectedEvent): can't get glXBindTexImageEXT address
Error creating VDPAU device: 23
Offline
Considering how much resources bumblebee takes in copying things around, and considering just powering up the Nvidia GPU takes a lot of resources, it makes absolutely no sense to try to use VDPAU on Nvidia. Because you'll be using a lot more power than with plain software decoding.
The only thing that makes sense is forgetting the Nvidia GPU and decode with the Intel GPU using VAAPI. So install libva-intel-driver, check with vainfo that it's working, then use mpv with "--hwdec=vaapi --vo=vaapi". That's the only way you'll actually save power. VLC has VAAPI support as well, but not in zero-copy mode, so the benefit is minimal.
Offline
VLC has VAAPI support as well, but not in zero-copy mode, so the benefit is minimal.
I think this was fixed with 2.2, see http://www.videolan.org/press/vlc-2.2.0.html
New hardware acceleration mechanism, GPU 0-copy decoding, faster and implementations for Linux, Android, and Raspberry Pi. (Other OSes will have it in 3.0.0)
Offline
That's just for VDPAU, not for VAAPI.
Offline
Can anyone tell me the difference and connection between VDPAU and VAAPI?
Offline
Can anyone tell me the difference and connection between VDPAU and VAAPI?
I wrote a small post not long ago that explains it, let me find it. Basically, it's just two different ways to achieve the same thing - access hardware video decoders.
Here's the post: https://bbs.archlinux.org/viewtopic.php … 8#p1497828
Offline
Paingiver wrote:Can anyone tell me the difference and connection between VDPAU and VAAPI?
I wrote a small post not long ago that explains it, let me find it. Basically, it's just two different ways to achieve the same thing - access hardware video decoders.
Here's the post: https://bbs.archlinux.org/viewtopic.php … 8#p1497828
This should go to the wiki. Thanks!
Offline
vainfo
libva info: VA-API version 0.37.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/i915_drv_video.so
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit
grep -i vdpau /var/log/Xorg.0.log
(II) intel(0): [DRI2] VDPAU driver: i915
pacman -Rsn libvdpau
error: failed to prepare transaction (could not satisfy dependencies)
:: ffmpeg: requires libvdpau
:: gstreamer0.10-bad-plugins: requires libvdpau
Last edited by Paingiver (2015-03-04 18:17:31)
Offline
Ah, i915. Well, no hardware decoding for you then, i915 doesn't have hardware decoders. You're better off using software decoding.
Last edited by Gusar (2015-03-04 18:18:04)
Offline
Edit: Ninja post.
Last edited by Paingiver (2015-03-04 18:22:01)
Offline
Ah, i915. Well, no hardware decoding for you then, i915 doesn't have hardware decoders. You're better off using software decoding.
Oh! Could i get hardware encoding from Nvidia(GT218 - ION2)? You told about the power thing but when i use laptop as plugged in i want to be able do hardware decoding.
Offline
Oh! Could i get hardware encoding from Nvidia(GT218 - ION2)?
In the past, bumblebee was for OpenGL only, not for VDPAU. It seems this hasn't changed.
You told about the power thing but when i use laptop as plugged in i want to be able do hardware decoding.
You could try running everything on the Nvidia GPU instead of using bumblebee (I think it's called nvidia-prime), but no idea how to set that up or if VDPAU will work then.
PS. Funny story, the reason I have a new netbook since a few months is because I was on a train with my old netbook and drained the battery in less than half an hour trying to watch HD videos. So I was like "ok, I think I need something new, something with a hardware video decoder ".
Offline
Uninstalled the intel vaapi driver. Now trying Nvidia:
optirun vdpauinfo
display: :0 screen: 0
Failed to open VDPAU backend libvdpau_i915.so: cannot open shared object file: No such file or directory
Error creating VDPAU device: 1
Intel card runs the video with an error:
mpv Birdman.mp4
Playing: Birdman.mp4
(+) Video --vid=1 (*) (h264)
(+) Audio --aid=1 --alang=eng (*) (aac)
(+) Subs --sid=1 'Birdman.srt' (subrip) (external)
[b][vo/opengl/x11] X11 error: GLXBadFBConfig[/b]
[vo/opengl] Could not create GL3 context. Retrying with legacy context.
AO: [pulse] 48000Hz stereo 2ch float
VO: [opengl] 1920x1040 yuv420p
AV: 00:27:19 / 01:59:17 (22%) A-V: 0.000
No error on Nvidia but so much tearing:
optirun mpv Birdman
Playing: Birdman.mp4
(+) Video --vid=1 (*) (h264)
(+) Audio --aid=1 --alang=eng (*) (aac)
(+) Subs --sid=1 'Birdman.srt' (subrip) (external)
AO: [pulse] 48000Hz stereo 2ch float
VO: [opengl] 1920x1040 yuv420p
AV: 00:42:08 / 01:59:17 (35%) A-V: 0.000
Offline
Paingiver wrote:Oh! Could i get hardware encoding from Nvidia(GT218 - ION2)?
In the past, bumblebee was for OpenGL only, not for VDPAU. It seems this hasn't changed.
Paingiver wrote:You told about the power thing but when i use laptop as plugged in i want to be able do hardware decoding.
You could try running everything on the Nvidia GPU instead of using bumblebee (I think it's called nvidia-prime), but no idea how to set that up or if VDPAU will work then.
PS. Funny story, the reason I have a new netbook since a few months is because I was on a train with my old netbook and drained the battery in less than half an hour trying to watch HD videos. So I was like "ok, I think I need something new, something with a hardware video decoder ".
I liked your story I generally use it to browse web outside and sometimes i watch videos at home. I don't like the idea of always on Nvidia setting. My battery is very good with Bumblebee(lasts 3-4 hours) and now i am buying an SSD it will even get higher.
I don't know but at Nvidia settings i have this:
optirun -b none nvidia-settings -c :8
Last edited by Paingiver (2015-03-04 18:46:26)
Offline
[vo/opengl/x11] X11 error: GLXBadFBConfig
Yeah, that looks like OpenGL for Intel isn't set up properly. What does glxinfo (from mesa-demos) say? Probably the same thing. That's what you need to fix.
Then there's this: Considering how weak this GPU is (it's a GMA950, right?), you're probably better off using --vo=xv instead of --vo=opengl.
Offline
[vo/opengl/x11] X11 error: GLXBadFBConfig
Yeah, that looks like OpenGL for Intel isn't set up properly. What does glxinfo (from mesa-demos) say? Probably the same thing. That's what you need to fix.
Then there's this: Considering how weak this GPU is (it's a GMA950, right?), you're probably better off using --vo=xv instead of --vo=opengl.
Edit: OK, i found out from:
http://en.wikipedia.org/wiki/List_of_In … sing_units
It is Intel GMA3150.
lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller (rev 02)
05:00.0 VGA compatible controller: NVIDIA Corporation GT218 [ION 2] (rev ff)
It seems no error on glxinfo:
name of display: :0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
GLX_ARB_create_context, GLX_ARB_create_context_profile,
GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB, GLX_ARB_multisample,
GLX_EXT_create_context_es2_profile, GLX_EXT_framebuffer_sRGB,
GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info,
GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer,
GLX_OML_swap_method, GLX_SGIS_multisample, GLX_SGIX_fbconfig,
GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, GLX_SGI_swap_control
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
GLX_ARB_create_context, GLX_ARB_create_context_profile,
GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float,
GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample,
GLX_EXT_buffer_age, GLX_EXT_create_context_es2_profile,
GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB,
GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info,
GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer,
GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer,
GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_SGI_make_current_read,
GLX_SGI_swap_control, GLX_SGI_video_sync
GLX version: 1.4
GLX extensions:
GLX_ARB_create_context, GLX_ARB_create_context_profile,
GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB,
GLX_ARB_get_proc_address, GLX_ARB_multisample,
GLX_EXT_create_context_es2_profile, GLX_EXT_framebuffer_sRGB,
GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info,
GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer,
GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer,
GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_SGI_make_current_read,
GLX_SGI_swap_control, GLX_SGI_video_sync
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) IGD
OpenGL version string: 2.1 Mesa 10.4.5
OpenGL shading language version string: 1.20
OpenGL extensions:
GL_3DFX_texture_compression_FXT1, GL_AMD_shader_trinary_minmax,
GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5,
GL_APPLE_object_purgeable, GL_APPLE_packed_pixels,
GL_APPLE_vertex_array_object, GL_ARB_ES2_compatibility,
GL_ARB_clear_buffer_object, GL_ARB_compressed_texture_pixel_storage,
GL_ARB_copy_buffer, GL_ARB_debug_output, GL_ARB_depth_texture,
GL_ARB_draw_buffers, GL_ARB_draw_elements_base_vertex,
GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location,
GL_ARB_fragment_program, GL_ARB_fragment_shader,
GL_ARB_framebuffer_object, GL_ARB_get_program_binary,
GL_ARB_half_float_pixel, GL_ARB_internalformat_query,
GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment,
GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multisample,
GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_pixel_buffer_object,
GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_provoking_vertex,
GL_ARB_robustness, GL_ARB_sampler_objects, GL_ARB_separate_shader_objects,
GL_ARB_shader_objects, GL_ARB_shading_language_100, GL_ARB_shadow,
GL_ARB_sync, GL_ARB_texture_border_clamp, GL_ARB_texture_compression,
GL_ARB_texture_cube_map, GL_ARB_texture_env_add,
GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar,
GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat,
GL_ARB_texture_non_power_of_two, GL_ARB_texture_rectangle,
GL_ARB_texture_storage, GL_ARB_transpose_matrix,
GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_binding,
GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader,
GL_ARB_window_pos, GL_ATI_blend_equation_separate, GL_ATI_draw_buffers,
GL_ATI_separate_stencil, GL_ATI_texture_env_combine3, GL_EXT_abgr,
GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_equation_separate,
GL_EXT_blend_func_separate, GL_EXT_blend_minmax, GL_EXT_blend_subtract,
GL_EXT_compiled_vertex_array, GL_EXT_copy_texture,
GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_framebuffer_blit,
GL_EXT_framebuffer_object, GL_EXT_gpu_program_parameters,
GL_EXT_multi_draw_arrays, GL_EXT_packed_depth_stencil,
GL_EXT_packed_pixels, GL_EXT_pixel_buffer_object, GL_EXT_point_parameters,
GL_EXT_polygon_offset, GL_EXT_provoking_vertex, GL_EXT_rescale_normal,
GL_EXT_secondary_color, GL_EXT_separate_specular_color,
GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap,
GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D,
GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_s3tc,
GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp,
GL_EXT_texture_env_add, GL_EXT_texture_env_combine,
GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic,
GL_EXT_texture_lod_bias, GL_EXT_texture_object, GL_EXT_texture_rectangle,
GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_decode, GL_EXT_vertex_array,
GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip,
GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate,
GL_KHR_context_flush_control, GL_KHR_debug, GL_MESA_pack_invert,
GL_MESA_window_pos, GL_MESA_ycbcr_texture, GL_NV_blend_square,
GL_NV_light_max_exponent, GL_NV_packed_depth_stencil,
GL_NV_texgen_reflection, GL_NV_texture_env_combine4,
GL_NV_texture_rectangle, GL_OES_EGL_image, GL_OES_read_format,
GL_S3_s3tc, GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp,
GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SUN_multi_draw_arrays
OpenGL ES profile version string: OpenGL ES 2.0 Mesa 10.4.5
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16
OpenGL ES profile extensions:
GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5,
GL_APPLE_texture_max_level, GL_EXT_blend_minmax,
GL_EXT_discard_framebuffer, GL_EXT_map_buffer_range,
GL_EXT_multi_draw_arrays, GL_EXT_read_format_bgra,
GL_EXT_separate_shader_objects, GL_EXT_texture_compression_dxt1,
GL_EXT_texture_filter_anisotropic, GL_EXT_texture_format_BGRA8888,
GL_EXT_texture_type_2_10_10_10_REV, GL_EXT_unpack_subimage,
GL_KHR_context_flush_control, GL_NV_draw_buffers,
GL_NV_fbo_color_attachments, GL_NV_read_buffer, GL_OES_EGL_image,
GL_OES_depth24, GL_OES_depth_texture, GL_OES_element_index_uint,
GL_OES_fbo_render_mipmap, GL_OES_get_program_binary, GL_OES_mapbuffer,
GL_OES_packed_depth_stencil, GL_OES_rgb8_rgba8, GL_OES_stencil8,
GL_OES_surfaceless_context, GL_OES_texture_3D, GL_OES_texture_npot,
GL_OES_vertex_array_object
12 GLX Visuals
visual x bf lv rg d st colorbuffer sr ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a F gb bf th cl r g b a ns b eat
----------------------------------------------------------------------------
0x020 24 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None
0x021 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None
0x074 24 tc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None
0x075 24 tc 0 32 0 r . . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None
0x076 24 tc 0 32 0 r . . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None
0x077 24 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 16 16 16 16 0 0 Slow
0x078 24 dc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None
0x079 24 dc 0 32 0 r . . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None
0x07a 24 dc 0 32 0 r . . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None
0x07b 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None
0x07c 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 16 16 16 16 0 0 Slow
0x05b 32 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None
24 GLXFBConfigs:
visual x bf lv rg d st colorbuffer sr ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a F gb bf th cl r g b a ns b eat
----------------------------------------------------------------------------
0x05c 0 tc 0 16 0 r y . 5 6 5 0 . . 0 0 0 0 0 0 0 0 0 None
0x05d 0 tc 0 16 0 r . . 5 6 5 0 . . 0 0 0 0 0 0 0 0 0 None
0x05e 0 tc 0 16 0 r y . 5 6 5 0 . . 0 16 0 0 0 0 0 0 0 None
0x05f 0 tc 0 16 0 r . . 5 6 5 0 . . 0 16 0 0 0 0 0 0 0 None
0x060 24 tc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None
0x061 24 tc 0 32 0 r . . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None
0x062 24 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None
0x063 24 tc 0 32 0 r . . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None
0x064 0 tc 0 16 0 r y . 5 6 5 0 . . 0 16 0 0 0 0 0 0 0 None
0x065 0 tc 0 16 0 r y . 5 6 5 0 . . 0 16 0 16 16 16 0 0 0 Slow
0x066 32 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None
0x067 24 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 16 16 16 16 0 0 Slow
0x068 0 dc 0 16 0 r y . 5 6 5 0 . . 0 0 0 0 0 0 0 0 0 None
0x069 0 dc 0 16 0 r . . 5 6 5 0 . . 0 0 0 0 0 0 0 0 0 None
0x06a 0 dc 0 16 0 r y . 5 6 5 0 . . 0 16 0 0 0 0 0 0 0 None
0x06b 0 dc 0 16 0 r . . 5 6 5 0 . . 0 16 0 0 0 0 0 0 0 None
0x06c 24 dc 0 32 0 r y . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None
0x06d 24 dc 0 32 0 r . . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None
0x06e 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None
0x06f 24 dc 0 32 0 r . . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None
0x070 0 dc 0 16 0 r y . 5 6 5 0 . . 0 16 0 0 0 0 0 0 0 None
0x071 0 dc 0 16 0 r y . 5 6 5 0 . . 0 16 0 16 16 16 0 0 0 Slow
0x072 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None
0x073 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 16 16 16 16 0 0 Slow
Last edited by Paingiver (2015-03-04 19:06:46)
Offline
I guess it is GMA950.
From your lspci output, it's a GMA3150. Same crap really , both GMA950 and GMA3150 are "gen3", Intel's third generation GPUs. Intel didn't have good GPUs until the sixth generation (gen6 aka Sandy Bridge).
It seems no error on glxinfo
Yeah, that looks fine. Perhaps mpv now requires OpenGL features that don't exist on this old GPU, which means Xv is your only option.
What does xv option do?
Xv is a really old interface for displaying video. It has some limitations (subtitles won't look as good as with modern video output options), but it's the best option for old GPUs that don't have enough OpenGL power. There used to be a --vo=opengl-old in mpv which didn't require modern features, but it got removed recently.
Last edited by Gusar (2015-03-04 19:07:53)
Offline
I have Sandy Bridge i5-2500k on my desktop Plus a Geforce 560 Ti. But in that case i guess the Intel GPU is wasted. Not running ever.
What a real crap... My hopes went high when i first saw the 3150 - the higher number- but as you've said it seems the same
Oh thanks again. With xv it is running alright. With that warning:
[vo/xv] X11 can't keep up! Waiting for XShm completion events...
Now i am looking at that tearing issues both on Nvidia and Intel. Wow... What a problem to play videos!
Last edited by Paingiver (2015-03-04 19:20:51)
Offline
Ok using mpv on Intel card and compton the video is awesome. For destroying the tears on video look at this:
(Edit: It seems better with -xv option. )
http://ubuntuforums.org/showthread.php? … st12644745
Last edited by Paingiver (2015-03-05 01:43:26)
Offline