Created attachment 100992 [details] i-v-o debug output Greetings. I'm using today's git of xf86-video-intel (but the same can be observed on 2.99.912). xorg-server-1.15.0. Gentoo Linux. Thinkpad W520 (SNB) with Nvidia Quadro 2000M (handled via bumblebee). I'm trying to get i-v-o to work. I can start the second X server on the discrete GPU and have it enable the external display. It is disabled again when I start i-v-o. so far so good. Main X is on :0 and the secondary X on :8. I now go ahead and enable the virtual output on :0 $ xrandr --output VIRTUAL1 --auto --right-of LVDS1 As soon as I do that, i-v-o crashes with: XIO: fatal IO error 9 (Bad file descriptor) on X server ":0.0" Also see the attached log. There is nothing suspicious in either X's logfiles. If you need any additional logs, let me know. What's going on here? How can I help?
You can quickly confirm the cause is 67b37332bd45dd4cea297107bfdc9df21984fdcd by reverting it: $ git revert 67b37332bd45dd4cea297107bfdc9df21984fdcd
Ok, I think this should be it: commit c8074b6bcfa8c208433574721135faa4d919d32a Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Jun 13 18:37:15 2014 +0100 intel-virtual-output: Check for an error creating the DRI3 fd Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79994 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> I had expected it to generate a regular XError no XIOError.
Created attachment 100996 [details] i-v-o debug output Heh, that was quick! :) Indeed, this fixes the crash. But now a new problem arises: X11 error from display :8, serial=89, error=2, req=130.3, repeated several times Also see attachment. The external display is activated, but stays black. I'm unsure if this is related or a separate bug, tho.
Yes, that is due to X11 error from display :8, serial=89, error=2, req=130.3 which says the SHMPutImage to the dGPU failed. :|
Try: commit 0c6fa0cdf0cebcd592281e578da7a7f53cbfe186 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Jun 13 19:29:41 2014 +0100 intel-virtual-output: Initialise image after clone As the image inherits its width/height from the clone, we need to set those first on the clone. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79994 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk
aaaand fixed. :) Thanks! You're quite fast (small side note: i've noticed that terminating i-v-o leaves the outputs on the discrete gpu active. they should probably be shut down before terminating :)
commit 8a92261b22a8c134a48d1491627ac05136563603 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Jun 13 19:59:16 2014 +0100 intel-virtual-output: Disable outputs on remote displays upon shutdown References: https://bugs.freedesktop.org/show_bug.cgi?id=79994 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Unfortunately it triggers compilation errors: virtual.c: In function ‘display_cleanup’: virtual.c:3067:2: error: ‘res’ undeclared (first use in this function) virtual.c:3067:2: note: each undeclared identifier is reported only once for each function it appears in virtual.c: In function ‘context_cleanup’: virtual.c:3085:23: error: request for member ‘display’ in something not a structure or union
I keep forgetting that that machine doesn't actually compile i-v-o. commit 05fdfe3b2813495ea122471ed6dde340e538aa65 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Jun 13 21:41:16 2014 +0100 intel-virtual-output: Compile fixes Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
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.