Bug 71958 - xrandr --setprovideroffloadsink fails on Lenovo Y470p
Summary: xrandr --setprovideroffloadsink fails on Lenovo Y470p
Status: RESOLVED NOTOURBUG
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: 7.7 (2012.06)
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Chris Wilson
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-11-24 09:46 UTC by carasin
Modified: 2013-11-24 16:05 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
lspci -v log (11.92 KB, text/plain)
2013-11-24 09:46 UTC, carasin
no flags Details
lsmod log (4.54 KB, text/plain)
2013-11-24 09:46 UTC, carasin
no flags Details
X.org log (64.21 KB, text/plain)
2013-11-24 09:47 UTC, carasin
no flags Details
dmesg log (87.80 KB, text/plain)
2013-11-24 09:47 UTC, carasin
no flags Details

Description carasin 2013-11-24 09:46:17 UTC
Created attachment 89703 [details]
lspci -v log

Description of problem:

Fedora 20, fresh installation, up to date. I wanted to try launching some 3D-application via discrete card. Earlier I did so (on Fedora 19):

   $ xrandr --setprovideroffloadsink <prov_xid> <sink_xid>
   $ DRI_PRIME=<prov_num> <app_name>

The numbers <prov_xid> and <sink_xid> were decimals (from xrandr --listproviders output). But now I have the following xrandr output (on Fedora 20):

   $ xrandr --listproviders 
   Providers: number : 2
   Provider 0: id: 0x7b cap: 0x0 crtcs: 2 outputs: 4 associated providers: 0 name:Intel
   Provider 1: id: 0x55 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 6 outputs: 0 associated providers: 0 name:radeon

The numbers <prov_xid> and <sink_xid> are the hexadecimals now. xrandr --setprovideroffloadsink fails with them:

   $ xrandr --setprovideroffloadsink 0x55 0x7b
   X Error of failed request:  BadValue (integer parameter out of range for operation)
     Major opcode of failed request:  139 (RANDR)
     Minor opcode of failed request:  34 ()
     Value in failed request:  0x7b
     Serial number of failed request:  16
     Current serial number in output stream:  17
_______________________

Version-Release number of selected component (if applicable):

xorg-x11-server-utils-7.7-2.fc20.x86_64
kernel-3.11.8-300.fc20.x86_64
xorg-x11-drv-intel-2.21.15-4.fc20.x86_64
xorg-x11-drv-ati-7.2.0-3.20131101git3b38701.fc20.x86_64
mesa-dri-drivers-9.2.3-1.20131114.fc20.x86_64
kde-4.11.3-3.fc20.x86_64
_______________________

How reproducible:

always
_______________________

Steps to Reproduce:

1. $ xrandr --listproviders 
   Providers: number : 2
   Provider 0: id: 0x7b cap: 0x0 crtcs: 2 outputs: 4 associated providers: 0 name:Intel
   Provider 1: id: 0x55 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 6 outputs: 0 associated providers: 0 name:radeon

2. $ xrandr --setprovideroffloadsink 0x55 0x7b
   X Error of failed request:  BadValue (integer parameter out of range for operation)
     Major opcode of failed request:  139 (RANDR)
     Minor opcode of failed request:  34 ()
     Value in failed request:  0x7b
     Serial number of failed request:  16
     Current serial number in output stream:  17
_______________________

Actual results:

xrandr --setprovideroffloadsink <prov_xid> <sink_xid> fails.
_______________________

Expected results:

xrandr --setprovideroffloadsink <prov_xid> <sink_xid> works fine.
_______________________
Additional info:

Lenovo Y470p
GPU 1: Intel HD3000
GPU 2: AMD Radeon HD 7690M
Comment 1 carasin 2013-11-24 09:46:38 UTC
Created attachment 89704 [details]
lsmod log
Comment 2 carasin 2013-11-24 09:47:08 UTC
Created attachment 89705 [details]
X.org log
Comment 3 carasin 2013-11-24 09:47:27 UTC
Created attachment 89706 [details]
dmesg log
Comment 4 carasin 2013-11-24 11:04:52 UTC
I've downgraded xorg-x11-drv-intel package to 2.21.14-1.fc20.x86_64 and now xrandr --setprovideroffloadsink 0x55 0x7b works fine.

This bug is a regression at the xf86-video-intel-2.21.15 driver.
Comment 5 carasin 2013-11-24 14:59:11 UTC
Package xorg-x11-drv-intel-2.21.15-4.fc20.x86_64 is built with two xwayland patches: 0001-xwayland-Add-xwayland-support.patch and 0002-xwayland-shortcut-Enter-ExitVT.patch

I've locally built xorg-x11-drv-intel-2.21.15-4 without both xwayland patches.
Now xrandr --setprovideroffloadsink 0x55 0x7b works fine!

   $ xrandr --listproviders 
   Providers: number : 3
   Provider 0: id: 0x7b cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 2 outputs: 4 associated providers: 2 name:Intel
   Provider 1: id: 0x55 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 6 outputs: 0 associated providers: 2 name:radeon
   Provider 2: id: 0x55 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 6 outputs: 0 associated providers: 2 name:radeon

   $ xrandr --setprovideroffloadsink 0x55 0x7b

There is no error output. That's DRI_PRIME=1 glxinfo output:

   $ DRI_PRIME=1 glxinfo | grep OpenGL
   OpenGL vendor string: X.Org
   OpenGL renderer string: Gallium 0.4 on AMD TURKS
   OpenGL core profile version string: 3.1 (Core Profile) Mesa 9.2.3
   OpenGL core profile shading language version string: 1.40
   OpenGL core profile context flags: (none)
   OpenGL core profile extensions:
   OpenGL version string: 3.0 Mesa 9.2.3
   OpenGL shading language version string: 1.30
   OpenGL context flags: (none)
   OpenGL extensions:

This bug is located at the xwayland patches.
Comment 6 Chris Wilson 2013-11-24 16:05:07 UTC
So the way the rpm is built is causing the breaking.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.