Bug 1305369

Summary: Video doesn't render properly with Intel Skylake using xv frontend
Product: [Fedora] Fedora Reporter: Eric Lavarde <elavarde>
Component: xorg-x11-drv-intelAssignee: Adam Jackson <ajax>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 23CC: ajax, hdegoede, xgl-maint
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-03-07 18:19:44 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
dmesg | grep -i -e intel -e skylake -e video -e graphic
none
Snapshot showing that the transparency of the icon is rendered black with glamor none

Description Eric Lavarde 2016-02-07 17:58:15 UTC
Created attachment 1121944 [details]
dmesg | grep -i -e intel -e skylake -e video -e graphic

Description of problem:
Independent of the video program I use (Skype, Dragon, vlc, mplayer), the video is jagged / teared if trying to render using xv whereas it works quite properly using OpenGL. In the following steps, I use mplayer to reproduce because that's where it's easier to control the output, but that's not related to the software (and neither to the film, though the tearing problem doesn't appear in films with low resolution, e.g. 240x180, but the other issues do).

The big issue is that not all video software is able to use something else than Xv (most noticeably Skype, which I absolutely need to contact my family).

Version-Release number of selected component (if applicable):
xorg-x11-drv-intel-2.99.917-16.20150729.fc23.x86_64
Kernel 4.3.4-300.fc23.x86_64

How reproducible:
Always

Steps to Reproduce:
1. start 'mplayer -vo xv somevideo'
2. the video is teared as if it would have been badly interlaced
3. resizing the application window doesn't resize the video
4. moving to another virtual desktop, the video is still being rendered
5. menus and other windows are disappearing behind the video
6. start 'mplayer -vo gl somevideo' (x11, sdl, vdpau similarly)
7. everything works as expected!

Actual results:
See above.

Expected results:
video in xv mode renders properly! (independent of the software, mplayer, dragon, vlc, skype)

Additional info:

I'm not the only one with the issue:
https://www.reddit.com/r/linux/comments/3wn5t9/no_accelerated_video_upscaling_with_skylake/

I tried to fix the problem by installing additional software, to no avail:
    Install libva-intel-driver-1.6.2-1.fc23.x86_64 @rpmfusion-free-updates-testing
    Upgraded linux-firmware-20151214-60.gitbbe4917c.fc23.noarch @updates
    Upgrade                 20160204-61.git91d5dd13.fc23.noarch @updates-testing
    Install libvdpau-va-gl-0.3.4-6.fc23.x86_64 @rpmfusion-free-updates-testing

Comment 1 Hans de Goede 2016-02-08 18:31:50 UTC
Hi,

Yes the xorg-x11-drv-intel driver does not support any sort of acceleration on skylake and as such also has quite limited Xv support.

The best solution is probably to remove the intel driver, this will cause Xorg to fallback to the glamor driver, which used the 3d engine (opengl) for accelleration, this will give you proper video support. I will discuss making glamor the default for skylake integrated graphics with the graphics team.

Regards,

Hans

Comment 2 Hans de Goede 2016-02-08 18:34:41 UTC
p.s.

To try this do:

sudo rpm -e xorg-x11-drivers xorg-x11-drv-intel

Comment 3 Eric Lavarde 2016-02-10 20:18:38 UTC
Created attachment 1122893 [details]
Snapshot showing that the transparency of the icon is rendered black with glamor

Comment 4 Eric Lavarde 2016-02-10 20:21:40 UTC
It felt a bit weird to remove the GPU's specific driver to fix the problem, but it fixed my issue, thanks a lot for this!

Two things are noticeable though:
- transparency of the Skype icon is not properly handled anymore (see attached snapshot)
- /var/log/Xorg.0.log contains multiple errors (not related to video or glxgears rendering, I checked)
Shall I create a new bug report for this?

# grep glamor Xorg.0.log
[     9.617] (II) Loading sub module "glamoregl"
[     9.617] (II) LoadModule: "glamoregl"
[     9.617] (II) Loading /usr/lib64/xorg/modules/libglamoregl.so
[     9.623] (II) Module glamoregl: vendor="X.Org Foundation"
[     9.623] (II) glamor: OpenGL accelerated X.org driver based.
[     9.651] (II) glamor: EGL version 1.4 (DRI2):
[     9.665] (II) modeset(0): glamor initialized
[     9.728] (EE) glamor0: GL error: FS SIMD8 shader: 36 inst, 0 loops, 102 cycles, 0:0 spills:fills, Promoted 0 constants, compacted 576 to 384 bytes.
[     9.728] (EE) glamor0: GL error: FS SIMD16 shader: 36 inst, 0 loops, 148 cycles, 0:0 spills:fills, Promoted 0 constants, compacted 576 to 384 bytes.
[     9.728] (EE) glamor0: GL error: VS SIMD8 shader: 8 inst, 0 loops, 30 cycles, 0:0 spills:fills, Promoted 0 constants, compacted 128 to 80 bytes.
[     9.737] (EE) glamor0: GL error: FS SIMD8 shader: 36 inst, 0 loops, 102 cycles, 0:0 spills:fills, Promoted 0 constants, compacted 576 to 416 bytes.
[     9.737] (EE) glamor0: GL error: FS SIMD16 shader: 36 inst, 0 loops, 148 cycles, 0:0 spills:fills, Promoted 0 constants, compacted 576 to 416 bytes.
[     9.737] (EE) glamor0: GL error: VS SIMD8 shader: 8 inst, 0 loops, 30 cycles, 0:0 spills:fills, Promoted 0 constants, compacted 128 to 80 bytes.
[... 93 error lines in total ...]
[  1763.764] (EE) glamor0: GL error: VS SIMD8 shader: 6 inst, 0 loops, 26 cycles, 0:0 spills:fills, Promoted 0 constants, compacted 96 to 64 bytes.

Comment 5 Hans de Goede 2016-02-29 15:15:34 UTC
(In reply to Eric Lavarde from comment #4)
> It felt a bit weird to remove the GPU's specific driver to fix the problem,
> but it fixed my issue, thanks a lot for this!
> 
> Two things are noticeable though:
> - transparency of the Skype icon is not properly handled anymore (see
> attached snapshot)

I can reproduce, please file a bug for this, not I do not think anyone will have time to seriously look into this, but it is probably still good to track.

> - /var/log/Xorg.0.log contains multiple errors (not related to video or glxgears rendering, I checked)

I cannot reproduce this, it would be good if you can figure out which app is triggering this, and then file a bug report (I'm on stock gnome3 with firefox + thunderbird + xterms).

Comment 6 Hans de Goede 2016-03-07 18:19:44 UTC
Hi,

xorg-x11-drv-intel has been patched for F24+ to not load on skylake and later so that we will use modesetting + glamor there.

Depending on how testing with F24 goes we may backport this change to F23 later.

Regards,

Hans