Bug 101282

Summary: [GLK] launching glbenchmark pruduces Error: XOpenDisplay() failed
Product: DRI Reporter: maria guadalupe <maria.g.perez.ibarra>
Component: DRM/IntelAssignee: maria guadalupe <maria.g.perez.ibarra>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: critical    
Priority: high CC: intel-gfx-bugs
Version: XOrg git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard: ReadyForDev
i915 platform: GLK i915 features:
Attachments:
Description Flags
dmesg
none
script_output
none
Xorg.0.log
none
dmesg2.log
none
Xorg.0.log.modesetting
none
Xorg.0.log.SNA none

Description maria guadalupe 2017-06-02 23:00:06 UTC
Created attachment 131687 [details]
dmesg

==Bug detailed description==
--------------------------------------------------
launching glbenchmark pruduces Error: XOpenDisplay() failed
This issue is seen either with GuC loaded and without GuC

==Steps to reproduce==
--------------------------------------------------
Download and run
http://gfxbench.com/download/gfxbench_gl-linux-qt-4.0.0+community_64bit.sh"

==Actual results==
--------------------------------------------------
a White window is opened but no benchmark is launched.
Script used to run returns the following errors:
xset:  unable to open display ""
xset:  unable to open display ""
COMMAND: build_x86_64/binaries/GLBenchmark -w 1366 -ow 1366 -h 768 -oh 768 -t 2700800 (MSAA: 0)
Error: XOpenDisplay() failed
Error: eglInitialize() failed.


==Expected results==
--------------------------------------------------
Benchmark should be launched without errors or corruption.

==Hardware configuration==
--------------------------------------------------
platform                   : Geminilake
motherboard model          : Geminilake
cpu family id              : 6
cpu information            : Genuine Intel(R) CPU @ 1.10GHz
gpu card                   : Intel Corporation Device 3184 (rev 01) (prog-if 00 [VGA controller])
displays connected         : eDP-1

==Software configuration==
--------------------------------------------------
kernel version              : 4.12.0-rc3-drm-tip-ww22-commit-187376e+
architecture                : x86_64
os version                  : Ubuntu 17.04
os codename                 : zesty
kernel driver               : i915
bios revision               : 43.30
bios release date           : 04/11/2017
ksc                         : 1.25
modesetting               : modesetting_drv.so
xorg-xserver              : 1.19.3
libdrm                    : 2.4.76
libva                     : 1.7.3-2
vaapi (intel-driver)      : 1.7.3
cairo                     : 1.14.8-1

==Attachments==
--------------------------------------------------
dmesg
script_output
Comment 1 maria guadalupe 2017-06-02 23:00:38 UTC
Created attachment 131688 [details]
script_output
Comment 2 Chris Wilson 2017-06-03 11:01:37 UTC
First question, is X even running?
Comment 3 maria guadalupe 2017-06-05 21:55:54 UTC
(In reply to Chris Wilson from comment #2)
> First question, is X even running?

yes, X is working
Comment 4 Chris Wilson 2017-06-05 23:03:38 UTC
Be so kind as to attach the logs for X. Check the environment for the script as it cannot find $DISPLAY.
Comment 5 maria guadalupe 2017-06-15 01:02:16 UTC
the issue still happen with the most recently configuration.

 Software
======================================
kernel version              : 4.12.0-rc4-drm-tip-88097109-cold-boot-g8809710
architecture                : x86_64
os version                  : Ubuntu 17.04
os codename                 : zesty
kernel driver               : i915
bios revision               : 49.61
bios release date           : 05/27/2017
ksc                         : 1.25
hardware acceleration       : disabled
swap partition              : enabled on (/dev/sda2)

======================================
        Graphic drivers
======================================
modesetting                 : enabled
modesetting compiled for    : 1.19.3 X.Org Video Driver
xorg-xserver                : 1.19.3

======================================
             Hardware
======================================
platform                   : Geminilake
motherboard model          : Geminilake
motherboard id             : GLKRVP1DDR4(05)
form factor                : Hand Held
manufacturer               : IntelCorp.
cpu family                 : Other
cpu family id              : 6
cpu information            : Genuine Intel(R) CPU @ 1.10GHz
gpu card                   : Intel Corporation Device 3184 (rev 01) (prog-if 00 [VGA controller])
memory ram                 : 7.36 GB
max memory ram             : 16 GB
cpu thread                 : 4
cpu core                   : 4
cpu model                  : 122
cpu stepping               : 0
socket                     : Other
hard drive                 : 111GiB (120GB)
current cd clock frequency : 158400 kHz
maximum cd clock frequency : 316800 kHz
displays connected         : DSI-1

======================================
             Firmware
======================================
dmc fw loaded             : yes
dmc version               : 1.4
guc fw loaded             : SUCCESS
guc version wanted        : 10.56
guc version found         : 10.56

======================================
             kernel parameters
======================================
drm.debug=0xe i915.enable_guc_loading=2 i915.enable_guc_submission=2
Comment 6 maria guadalupe 2017-06-15 01:03:48 UTC
Created attachment 131964 [details]
Xorg.0.log
Comment 7 Chris Wilson 2017-06-15 12:49:17 UTC
[     5.975] (EE) modeset(0): [DRI2] No driver mapping found for PCI device 0x8086 / 0x3184
[     5.975] (EE) modeset(0): Failed to initialize the DRI2 extension.

Then a bug in -modesetting that it tried to close DRI2 after failing to open it and exploding. Fix is easier in dri2 itself, but all other ddxes already handle the failure gracefully.
Comment 8 Elizabeth 2017-06-15 17:35:48 UTC
(In reply to Chris Wilson from comment #7)
> [     5.975] (EE) modeset(0): [DRI2] No driver mapping found for PCI device
> 0x8086 / 0x3184
> [     5.975] (EE) modeset(0): Failed to initialize the DRI2 extension.
> 
> Then a bug in -modesetting that it tried to close DRI2 after failing to open
> it and exploding. Fix is easier in dri2 itself, but all other ddxes already
> handle the failure gracefully.

Hello Chris, 
Is there any patch that fixes the DRI2? If not, can it be fixed directly? 
Thank you in advance.
Comment 9 Chris Wilson 2017-06-15 17:51:05 UTC
-intel should work.

diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c
index f9f9859e1..e3fd7f11a 100644
--- a/hw/xfree86/dri2/dri2.c
+++ b/hw/xfree86/dri2/dri2.c
@@ -1656,6 +1656,9 @@ DRI2CloseScreen(ScreenPtr pScreen)
 {
     DRI2ScreenPtr ds = DRI2GetScreen(pScreen);
 
+    if (!ds)
+        return;
+
     pScreen->ConfigNotify = ds->ConfigNotify;
     pScreen->SetWindowPixmap = ds->SetWindowPixmap;
 
will prevent the crash, as would fixing -modesetting not to invoke DRI2CloseScreen if it DRI2OpenScreen didn't succeed which is how it is normally handled.

To fix DRI2OpenScreen, you need to add the pci-ids to hw/xfree86/dri2/pci_ids/pci_id_driver_map.h for -modesetting support.
Comment 10 Elizabeth 2017-06-16 16:01:49 UTC
(In reply to Chris Wilson from comment #9)

Thanks for the information Chris, it'll be used if it's need to on the specific platform.
Comment 11 Ander Conselvan de Oliveira 2017-06-21 09:51:44 UTC
(In reply to Chris Wilson from comment #9)
> To fix DRI2OpenScreen, you need to add the pci-ids to
> hw/xfree86/dri2/pci_ids/pci_id_driver_map.h for -modesetting support.

commit 368f60d461421fe5e2bbd90652d6ac858dbff8fe
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Fri Mar 17 13:45:04 2017 -0700

    dri2: Sync i965_pci_ids.h from Mesa.
    
    Copied from Mesa with no modifications.  Gives us Geminilake PCI IDs.
    
    Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
    Acked-by: Eric Anholt <eric@anholt.net>
Comment 12 Ricardo 2017-07-25 15:03:46 UTC
patch no submitted yet... we need this upstream in order to update
Comment 13 vladimir.campos 2017-08-02 20:12:21 UTC
Hi Chris, Can you take a look on this Bug, patch is pending to be submitted, according comment#11 -thanks
Comment 14 Chris Wilson 2017-08-03 09:17:38 UTC
That a commit identifier was given should have been the clue that the pci-ids had been added. So what is the remaining issue?
Comment 15 maria guadalupe 2017-08-07 22:30:04 UTC
The patch does not seem to be integrated and the test is still failing with the below configuration 
 
======================================
             Software
======================================
kernel version              : 4.13.0-rc3-drm-tip-ww31-commit-fcb630a+
hostname                    : gfx-desktop
architecture                : x86_64
os version                  : Ubuntu 17.04
os codename                 : zesty
[sudo] password for gfx: kernel driver               : i915
bios revision               : 52.23
bios release date           : 06/24/2017
ksc                         : 1.36
hardware acceleration       : enabled
swap partition              : enabled on (/dev/sda2)

======================================
        Graphic drivers
======================================
mesa                        : 17.3.0-devel (git-8c47ccb13a
modesetting                 : enabled
modesetting compiled for    : 1.19.99.1 X.Org Video Driver
xorg-xserver                : 1.19.99.1
intel-gpu-tools             : 1.17-1

======================================
             Hardware
======================================
platform                   : Geminilake
motherboard model          : Geminilake
motherboard id             : GLKRVP1DDR4(05)
form factor                : Hand Held
manufacturer               : IntelCorp.
cpu family                 : Other
cpu family id              : 6
cpu information            : Genuine Intel(R) CPU @ 1.10GHz
gpu card                   : Intel Corporation Device 3184 (rev 01) (prog-if 00 [VGA controller])
memory ram                 : 5.64 GB
max memory ram             : 16 GB
display resolution         : 1920x1080
cpu thread                 : 4
cpu core                   : 4
socket                     : Other
hard drive                 : 223GiB (240GB)
current cd clock frequency : 79200 kHz
maximum cd clock frequency : 316800 kHz

======================================
             kernel parameters
======================================
quiet splash drm.debug=0xe
Comment 16 maria guadalupe 2017-08-07 22:31:06 UTC
Created attachment 133370 [details]
dmesg2.log
Comment 17 Jari Tahvanainen 2017-08-17 07:50:30 UTC
Please attach the logs for X too on this latest execution round.
Comment 18 maria guadalupe 2017-08-21 20:33:51 UTC
retested with the most recent configuration with xf86 and modesetting, the tests are still failing in both cases due to "segmentation fault (core dumped)"

Software
======================================
kernel version              : 4.13.0-rc5-drm-tip-ww34-commit-dbfb2f6+
architecture                : x86_64
os version                  : Ubuntu 17.04
os codename                 : zesty
kernel driver               : i915
bios revision               : 52.23
bios release date           : 06/24/2017
ksc                         : 1.36

======================================
        Graphic drivers
======================================
Component: drm
    tag: libdrm-2.4.82-13-g687d250
    commit: 687d250797ff0028fee949cdd66c9f012f69992d

Component: mesa
    tag: 17.2-branchpoint-611-g91d93aa
    commit: 91d93aa62162f98d6377e5c796b63faa263f2c18

Component: macros
    tag: util-macros-1.19.1-2-g39f07f7
    commit: 39f07f7db58ebbf3dcb64a2bf9098ed5cf3d1223

Component: xproto
    tag: xproto-7.0.31-6-gab86666
    commit: ab8666661fc68f075b8d6ffabe22c6b577c30ac1

Component: glproto
    tag: glproto-1.4.17-5-g500b137
    commit: 500b137bbdba1cd8ae943849fef6e79fdd4eca40

Component: dri2proto
    tag: dri2proto-2.8-4-gb118dfb
    commit: b118dfbf91dcec6d82dfddc3f41031e23ea3c039

Component: xserver
    tag: xorg-server-1.19.0-367-gf801191
    commit: f80119120c487581ac050ce741808f7c8f438f35

Component: libXfont
    tag: libXfont2-2.0.1-12-g9112a68
    commit: 9112a6846b9d8ff18f7568c58e06d0a450e25814

Component: xf86-input-evdev
    tag: xf86-input-evdev-2.10.5-3-g8c1058f
    commit: 8c1058f2ebd9355068fb1b67329f3428ca64775b

Component: xf86-input-libinput
    tag: xf86-input-libinput-0.25.1-4-g87f9fe3
    commit: 87f9fe3a6fafe60134c69419c0e551b9dbc112b7

Component: xf86-video-fbdev
    tag: xf86-video-fbdev-0.4.4-11-g3cf9923
    commit: 3cf99231199bd5bd9e681e85d9da1f9eb736e3e7

Component: xf86-video-vesa
    tag: xf86-video-vesa-2.3.4-5-gb9f9c95
    commit: b9f9c95ca2383460aa283adeeee6e0a66eed722b

Component: xf86-video-vmware
    tag: xf86-video-vmware-13.0.2-51-ged0fd2f
    commit: ed0fd2f2823917a5dfefa3d3af774d4cdb40f958

Component: xf86-video-qxl
    tag: xf86-video-qxl-0.1.5-9-gee8f904
    commit: ee8f904ab0d590c741e640e9548c472e6a58b3cc

Component: xf86-video-amdgpu
    tag: xf86-video-amdgpu-1.3.0-22-ga47c009
    commit: a47c0093338d80d84e7033ad15d051925d542ca0

Component: xf86-video-ati
    tag: xf86-video-ati-7.9.0-20-g7d7abf9
    commit: 7d7abf99b5441ddb04dbee99bc8fa7abc30d4c46

Component: xf86-video-chips
    tag: xf86-video-chips-1.2.7-5-gc2711ee
    commit: c2711eedaac20af973721111a909a6f575078410

Component: x11proto
    tag: xproto-7.0.31-6-gab86666
    commit: ab8666661fc68f075b8d6ffabe22c6b577c30ac1

Component: libxtrans
    tag: xtrans-1.3.5-12-g2836667
    commit: 28366676effaa512e43bfd2276a317389a992511

Component: libX11
    tag: libX11-1.6.5-5-g4fe66b1
    commit: 4fe66b1c5112b07bd09e28bbc021911d08a9621f

Component: libXext
    tag: libXext-1.3.3-7-ga07b4bb
    commit: a07b4bb8290d0c1bba7bcecd5bb6896fbe1b169c

Component: xrdb
    tag: xrdb-1.1.0-15-gae86081
    commit: ae86081a92522653ff1523c92524ff892f75d496

Component: xf86-video-intel
    tag: 2.99.917-779-g2100efa
    commit: 2100efa105e8c9615eda867d39471d78e500b1bb

Component: xkbcomp
    tag: xkbcomp-1.4.0
    commit: 3fcd5f4490adee266eb4c0110d058c7f4e515e36

Component: xf86-input-wacom
    tag: xf86-input-wacom-0.34.2-8-gb0a0554
    commit: b0a055425dfb983163b1d3c673a36aebf9536430

Component: pixman
    tag: pixman-0.33.6-24-g85467ec
    commit: 85467ec308f8621a5410c007491797b7b1847601

Component: libpciaccess
    tag: libpciaccess-0.13.5
    commit: 4f1ac52e828eed1c410ee66304fcb7a17f25da40

Component: libinput
    tag: 1.8.1
    commit: cc9a4debd3889a3b3a5139576ea873eebcf7dde7

Component: xkeyboard-config
    tag: xkeyboard-config-2.21-5-g8824e4e
    commit: 8824e4e17bed27f160c15a519fc09b7856443d05

Component: xf86-input-mouse
    tag: xf86-input-mouse-1.9.2-4-g3c8f243
    commit: 3c8f243b750a92d5837a449d344ff884dbd02b57

Component: xf86-input-keyboard
    tag: xf86-input-keyboard-1.9.0-2-gac04d59
    commit: ac04d59b3757390cce31295d1029bf65ae3102c2

Component: xf86-input-synaptics
    tag: xf86-input-synaptics-1.9.0-2-gafa8d7b
    commit: afa8d7bb469e7ce01d9239f0dd790d3d620bfbd6

Component: libva
    tag: 1.8.1-40-gae7318f
    commit: ae7318f3d996e9459e73be443521bb8adf7a0e66

Component: libva-utils
    tag: 1.8.1-22-gf6c9dcf
    commit: f6c9dcfed1371534bfb4da7b8547919948369773

Component: intel-vaapi-driver
    tag: glk-alpha-95-gf5e479f
    commit: f5e479ff422fcadd685de29b44f5f2c282cd7353

Component: cairo
    tag: 1.15.6-14-gf351595
    commit: f3515954e0bc9c9ca413a84a8dd842145cec83a7

Component: intel-gpu-tools
    tag: intel-gpu-tools-1.19-186-gb0081ea
    commit: b0081ea9cb7d39234fd0fcc64dd56ed4f5d50b05

Component: piglit
    tag: piglit-v1
    commit: abec9d84269353f34d8a2b8e91307621beb94e88

======================================
             Hardware
======================================
platform                   : Geminilake
motherboard model          : Geminilake
motherboard id             : GLKRVP1DDR4(05)
form factor                : Hand Held
manufacturer               : IntelCorp.
cpu family                 : Other
cpu family id              : 6
cpu information            : Genuine Intel(R) CPU @ 1.10GHz
gpu card                   : Intel Corporation Device 3184 (rev 01) (prog-if 00                                                                                                              [VGA controller])
memory ram                 : 7.64 GB
max memory ram             : 16 GB
display resolution         : 1920x1080
cpu thread                 : 4
cpu core                   : 4
cpu model                  : 122
cpu stepping               : 0
hard drive                 : 111GiB (120GB)
current cd clock frequency : 79200 kHz
maximum cd clock frequency : 316800 kHz
displays connected         : eDP-1

======================================
             attachments
======================================
Xorg.0.log.SNA, which is the log for xf86-video-intel
Xorg.0.log.modesetting, which is the log for glamour
Comment 19 maria guadalupe 2017-08-21 20:34:22 UTC
Created attachment 133655 [details]
Xorg.0.log.modesetting
Comment 20 maria guadalupe 2017-08-21 20:34:54 UTC
Created attachment 133656 [details]
Xorg.0.log.SNA
Comment 21 Chris Wilson 2017-08-21 20:50:53 UTC
X is advertising DRI now, so you now need to post details of the client segfault.
Comment 22 Eero Tamminen 2017-08-29 14:36:03 UTC
(In reply to maria guadalupe from comment #18)
> retested with the most recent configuration with xf86 and modesetting, the
> tests are still failing in both cases due to "segmentation fault (core
> dumped)"

Your test command line is missing the required "-skip_load_frames" option, without that GLB segfaults (because it gets compilation error from its buggy load frame shader).

For more details, see:
  https://bugs.freedesktop.org/show_bug.cgi?id=97532
Comment 23 maria guadalupe 2017-08-29 22:00:09 UTC
(In reply to Eero Tamminen from comment #22)
> (In reply to maria guadalupe from comment #18)
> > retested with the most recent configuration with xf86 and modesetting, the
> > tests are still failing in both cases due to "segmentation fault (core
> > dumped)"
> 
> Your test command line is missing the required "-skip_load_frames" option,
> without that GLB segfaults (because it gets compilation error from its buggy
> load frame shader).
> 
> For more details, see:
>   https://bugs.freedesktop.org/show_bug.cgi?id=97532

I verified glbenchmark with "-skip_load_frames" option but the problem persists, how can I obtain segfault log?
I also executed GFXBench and the result was successfull Maybe this Issue is related to xorg driver and not to i915 driver.

https://gfxbench.com/linux-download/
Comment 24 Elio 2017-09-21 21:40:55 UTC
The benchmark was executed without problems with the following configuration:

======================================
             Software
======================================
kernel version              : 4.13.0-CI-Nightly_1106+
hostname                    : testrunner-Geminilake
architecture                : x86_64
os version                  : Ubuntu 16.04.3 LTS
os codename                 : xenial
kernel driver               : i915
bios revision               : 62.30
bios release date           : 08/22/2017
ksc                         : 1.41
hardware acceleration       : disabled
swap partition              : enabled on (/dev/sda3)

======================================
        Graphic drivers
======================================
grep: /opt/X11R7/var/log/Xorg.0.log: No such file or directory
libdrm                      : 2.4.76

======================================
             Hardware
======================================
platform                   : Geminilake
motherboard model          : Geminilake
motherboard id             : GLKRVP1DDR4(05)
form factor                : Hand Held
manufacturer               : IntelCorp.
cpu family                 : Other
cpu family id              : 6
cpu information            : Genuine Intel(R) CPU @ 1.10GHz
gpu card                   : Intel Corporation Device 3185 (rev 03) (prog-if 00 [VGA controller])
memory ram                 : 3.69 GB
max memory ram             : 16 GB
cpu thread                 : 2
cpu core                   : 2
cpu model                  : 122
cpu stepping               : 1
socket                     : Other
hard drive                 : 111GiB (120GB)
current cd clock frequency : 79200 kHz
maximum cd clock frequency : 316800 kHz
displays connected         : eDP-1

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.