Bug 108518 - i915 [drm] GPU HANG: ecode 8:0:0x0fdfffff, in Xorg [718], reason: Hang on rcs0
Summary: i915 [drm] GPU HANG: ecode 8:0:0x0fdfffff, in Xorg [718], reason: Hang on rcs0
Status: RESOLVED MOVED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: medium blocker
Assignee: Intel 3D Bugs Mailing List
QA Contact: Intel 3D Bugs Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-10-22 21:37 UTC by djn4823
Modified: 2019-09-25 19:14 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
various log files and hardware config reports. (61.62 KB, application/zip)
2018-10-22 21:37 UTC, djn4823
Details
Results of drm.debug=0x1e (171.36 KB, application/zip)
2018-10-27 18:06 UTC, djn4823
Details
GPU crash dump for kernel ver 4.15.0-29-generic (xubuntu 18.04.1) (4.56 KB, application/zip)
2018-10-29 21:38 UTC, djn4823
Details
Here's Xorg.0.log from a run with modesetting_drv.so removed. (33.71 KB, text/x-log)
2018-11-11 21:42 UTC, djn4823
Details
Syslog from same run (676.66 KB, text/plain)
2018-11-11 21:43 UTC, djn4823
Details
Requested /sys/devices/pci0000:00/0000:00:02.0/drm/card0/error (13.43 KB, text/plain)
2018-11-11 21:52 UTC, djn4823
Details

Description djn4823 2018-10-22 21:37:46 UTC
Created attachment 142143 [details]
various log files and hardware config reports.

Problem description:

xubuntu 18.04.1 on HP Stream 13 starts to display xfce panels, pauses
and then repeatedly blanks and resets the screen.  Sometimes it displays
the login screen even though the login screen should be bypassed because
I don't require a password.

I have been using this system with xubuntu 16.04 (either version 1 or the
original release - not sure) without problems.  The live CD for 16.04.3 works as expected,
but the live CD for 16.04.4 and 16.04.5 have the same (or similar) problem.

In kern.log I see:
[drm] GPU HANG: ecode 8:0:0x0fdfffff, in Xorg [718], reason: Hang on rcs0, action: reset

Multiple gpu resets follow.  In this boot, I have attempted to turn off
acceleration with the following two configuration files.  It gets a little
further with the manual Xorg configuration, but the behavior is much the
same.  With the manual configuration, it will display the top bar (panel),
put a few widgets on it at the right side, and usually display the mouse
icon in the upper left corner.  Sometimes it displays the wavy background
image for ubuntu 18.04, but with irregular chunks of the image missing.

With or without the xorg.conf files I get the GPU HANG message as above.

Attempts to turn off modesetting don't work either - I get a white screen
background with what look like Thai characters - even during the boot
messages (I remove "quiet" and "splash" from the grub command line).

It could be that I'm not turning off modesetting correctly, so perhaps
it would be best to send me instructions on how to do that.

/etc/X11/xorg.conf.d/20-i915:

  Section "Device"
    Identifier  "Intel Graphics"
    Busid "PCI:0:2:0"
    Driver      "vesa"
    Option      "NoAccel" "true"
    # An alternate: Option "DRI" "False"
    # An alternate: Option      "AccelMethod"  "sna"
    # An alternate: Option      "AccelMethod"  "uxa"
  EndSection

and /l/tr/etc/X11/xorg.conf.d/90-disable-glx

  Section "Extensions"
    Option "GLX" "Disable"
  #   Option "DRI" "Disable"
  #   Option "DRI2" "Disable"
  #   Option "DRI3" "Disable"
  #   Option "SGI-GLX" "Disable"
  EndSection

**************************************
Comment 1 Lionel Landwerlin 2018-10-23 08:36:54 UTC
Any change you could capture the error state from sysfs? (/sys/devices/pci0000:00/0000:00:02.0/drm/card0/error)
Comment 2 Denis 2018-10-23 11:58:05 UTC
Hi, maybe it will help. For me (ubuntu and debian) these instructions worked fine:


    cd /usr/share/X11/xorg.conf.d
    sudo gedit 20-intel.conf
    #this will create an empty txt file with a name 20-intel.conf
    Paste text below:

Section "Device"

    Identifier "Intel"

    Driver "intel"

    Option "TearFree" "true"

    Option "DRI" "3"

EndSection

4. Save document

5. Logout from your session and login again

6. Check used driver:


egrep -i " connected|card detect|primary dev|Setting driver" /var/log/Xorg.0.log


If you need to change back to modesetting, simply in "Driver" - type "modesetting"
Comment 3 djn4823 2018-10-27 18:06:47 UTC
Created attachment 142236 [details]
Results of drm.debug=0x1e

Kernel version is latest xubuntu live CD 18.10, booted from a USB stick.

ubnkern: Linux kernel x86 boot executable bzImage, version 4.18.0-10-generic (buildd@lcy01-amd64-023) #11-Ubuntu SMP Thu O, RO-rootFS, swap_dev 0x7, Normal VGA

kernel parameters were drm.debug=0x1e log_buf_len=4M.  quiet and splash were removed.

When I first booted the live CD image, The top bar, with at least some but not all widgets appeared.  Half of the desktop appeared, but with holes.

<some messing around, trying to get log files off a live CD boot>

Second boot just gave a blank screen, with cursor at upper left.  I shut the system down (Magic-R + ctrl-alt-F2 + shutdown now), and pulled the log files out of casper-rw.

auth.log
faillog
gpu-manager.log
syslog
Xorg.0.log

The following *.out files were from a subsequent run.  This time I didn't add the drm.debug parameter, but instead stopped at systemd.unit=rescue.target.  Again, none of the desktop appeared after I resumed execution.  It just sat there with the cursor at upper left.

lshw.out
lsmod.out
lspci.out
lsusb.out
modinfo.out
Comment 4 djn4823 2018-10-27 18:17:32 UTC
forgot to mention...

There were no files under /sys (actually /upper/sys) in casper-rw.
Comment 5 djn4823 2018-10-27 18:18:59 UTC
(In reply to Denis from comment #2)
> Hi, maybe it will help. For me (ubuntu and debian) these instructions worked
> fine:
> 
> 
>     cd /usr/share/X11/xorg.conf.d
>     sudo gedit 20-intel.conf
>     #this will create an empty txt file with a name 20-intel.conf
>     Paste text below:
> 
> Section "Device"
> 
>     Identifier "Intel"
> 
>     Driver "intel"
> 
>     Option "TearFree" "true"
> 
>     Option "DRI" "3"
> 
> EndSection
> 
> 4. Save document
> 
> 5. Logout from your session and login again
> 
> 6. Check used driver:
> 
> 
> egrep -i " connected|card detect|primary dev|Setting driver"
> /var/log/Xorg.0.log
> 
> 
> If you need to change back to modesetting, simply in "Driver" - type
> "modesetting"

Thanks for the suggestion, but alas the results were worse than ever.  I also tried Option "DRI" "1" with no luck there either.
Comment 6 djn4823 2018-10-28 23:11:52 UTC
Some possible answers and a host of questions:

  * Looks to me like that intel display adapter has firmware, and that
    the firmware may be out of date.  Evidence: compare modinfo reports
    for i915 from 16.04 to 18.04.

  * From my limited research, the "microcode" module is obsolete anyway,
    replaced by other files (/etc/kernel/preinst.d/intel-microcode??),
    and these files update the microcode in the Intel CPU rather than the
    i915 GPU.  ???? Not solid on this conclusion.

  * If I do update the microcode for the GPU and then try to boot my existing
    Xubuntu 16.04 (working and very much needed on a daily basis), will I
    have another firmware incompatibility that will render my working system
    unusable?

  * Why such a number of firmware files with repetitive names in the 18.04
    version of i915.ko?  Are these firmware *.bin files really PATCHES to
    be applied to the GPU's firmware?  If so, what provision is there for
    going back to an earlier version.

From my working xubuntu 16.04 system:

    filename:       /lib/modules/4.4.0-131-generic/kernel/drivers/gpu/drm/i915/i915.ko
    license:        GPL and additional rights
    description:    Intel Graphics
    author:         Intel Corporation
    author:         Tungsten Graphics, Inc.
    firmware:       i915/bxt_dmc_ver1.bin
    firmware:       i915/skl_dmc_ver1.bin
    firmware:       i915/skl_guc_ver4.bin

    # These files are from /lib/firmware/i915:
        -rw-r--r-- 1 root root   5872 Jun 25 09:09 bxt_dmc_ver1_04.bin
        -rw-r--r-- 1 root root   5872 Jun 25 09:09 bxt_dmc_ver1_05.bin
        -rw-r--r-- 1 root root   8380 Jun 25 09:09 bxt_dmc_ver1_06.bin
        -rw-r--r-- 1 root root   8380 Nov 17  2017 bxt_dmc_ver1_07.bin
        lrwxrwxrwx 1 root root     19 Nov 17  2017 bxt_dmc_ver1.bin -> bxt_dmc_ver1_07.bin
        -rw-r--r-- 1 root root 154432 Dec  5  2017 bxt_huc_ver01_07_1398.bin
        -rw-r--r-- 1 root root   8800 Apr 24  2018 glk_dmc_ver1_04.bin
        -rw-r--r-- 1 root root   8616 Nov 17  2017 kbl_dmc_ver1_01.bin
        lrwxrwxrwx 1 root root     19 Nov 17  2017 kbl_dmc_ver1.bin -> kbl_dmc_ver1_01.bin
        -rw-r--r-- 1 root root 218688 Dec  5  2017 kbl_huc_ver02_00_1810.bin
        -rw-r--r-- 1 root root   8824 Mar 29  2017 skl_dmc_ver1_23.bin
        -rw-r--r-- 1 root root   8928 Mar 29  2017 skl_dmc_ver1_26.bin
        lrwxrwxrwx 1 root root     19 Mar 29  2017 skl_dmc_ver1.bin -> skl_dmc_ver1_26.bin
        -rw-r--r-- 1 root root 109636 Jun 25 09:09 skl_guc_ver1_1059.bin
        lrwxrwxrwx 1 root root     21 Jun 25 09:09 skl_guc_ver1.bin -> skl_guc_ver1_1059.bin
        -rw-r--r-- 1 root root 128320 Jun 25 09:09 skl_guc_ver4_3.bin
        lrwxrwxrwx 1 root root     18 Jun 25 09:09 skl_guc_ver4.bin -> skl_guc_ver4_3.bin
        -rw-r--r-- 1 root root 129024 Mar 29  2017 skl_guc_ver6_1.bin
        lrwxrwxrwx 1 root root     18 Mar 29  2017 skl_guc_ver6.bin -> skl_guc_ver6_1.bin
        -rw-r--r-- 1 root root 140992 Dec  5  2017 skl_huc_ver01_07_1398.bin

    srcversion:     D40D91AC624CA68839C71A2
    alias:          pci:v00008086d000022B3sv*sd*bc03sc*i*
    alias:          pci:v00008086d000022B2sv*sd*bc03sc*i*
    alias:          pci:v00008086d000022B1sv*sd*bc03sc*i*
    alias:          pci:v00008086d000022B0sv*sd*bc03sc*i*
    alias:          pci:v00008086d0000162Dsv*sd*bc03sc*i*
    alias:          pci:v00008086d0000162Asv*sd*bc03sc*i*
    alias:          pci:v00008086d0000162Esv*sd*bc03sc*i*
    alias:          pci:v00008086d0000162Bsv*sd*bc03sc*i*
    alias:          pci:v00008086d00001626sv*sd*bc03sc*i*
    alias:          pci:v00008086d00001622sv*sd*bc03sc*i*
    alias:          pci:v00008086d0000161Dsv*sd*bc03sc*i*
    alias:          pci:v00008086d0000161Asv*sd*bc03sc*i*
    alias:          pci:v00008086d0000160Dsv*sd*bc03sc*i*
    alias:          pci:v00008086d0000160Asv*sd*bc03sc*i*
    alias:          pci:v00008086d0000161Esv*sd*bc03sc*i*
    alias:          pci:v00008086d0000161Bsv*sd*bc03sc*i*
    alias:          pci:v00008086d00001616sv*sd*bc03sc*i*
    alias:          pci:v00008086d00001612sv*sd*bc03sc*i*
    alias:          pci:v00008086d0000160Esv*sd*bc03sc*i*
    alias:          pci:v00008086d0000160Bsv*sd*bc03sc*i*
    alias:          pci:v00008086d00001606sv*sd*bc03sc*i*
    alias:          pci:v00008086d00001602sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000155sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000157sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000F33sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000F32sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000F31sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000F30sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000D26sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000D16sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000D06sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000A2Esv*sd*bc03sc*i*
    alias:          pci:v00008086d00000A1Esv*sd*bc03sc*i*
    alias:          pci:v00008086d00000A0Esv*sd*bc03sc*i*
    alias:          pci:v00008086d00000A26sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000A16sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000A06sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000C26sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000C16sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000C06sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000426sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000416sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000406sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000D2Esv*sd*bc03sc*i*
    alias:          pci:v00008086d00000D1Esv*sd*bc03sc*i*
    alias:          pci:v00008086d00000D0Esv*sd*bc03sc*i*
    alias:          pci:v00008086d00000D2Bsv*sd*bc03sc*i*
    alias:          pci:v00008086d00000D1Bsv*sd*bc03sc*i*
    alias:          pci:v00008086d00000D0Bsv*sd*bc03sc*i*
    alias:          pci:v00008086d00000D2Asv*sd*bc03sc*i*
    alias:          pci:v00008086d00000D1Asv*sd*bc03sc*i*
    alias:          pci:v00008086d00000D0Asv*sd*bc03sc*i*
    alias:          pci:v00008086d00000D22sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000D12sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000D02sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000A2Bsv*sd*bc03sc*i*
    alias:          pci:v00008086d00000A1Bsv*sd*bc03sc*i*
    alias:          pci:v00008086d00000A0Bsv*sd*bc03sc*i*
    alias:          pci:v00008086d00000A2Asv*sd*bc03sc*i*
    alias:          pci:v00008086d00000A1Asv*sd*bc03sc*i*
    alias:          pci:v00008086d00000A0Asv*sd*bc03sc*i*
    alias:          pci:v00008086d00000A22sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000A12sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000A02sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000C2Esv*sd*bc03sc*i*
    alias:          pci:v00008086d00000C1Esv*sd*bc03sc*i*
    alias:          pci:v00008086d00000C0Esv*sd*bc03sc*i*
    alias:          pci:v00008086d00000C2Bsv*sd*bc03sc*i*
    alias:          pci:v00008086d00000C1Bsv*sd*bc03sc*i*
    alias:          pci:v00008086d00000C0Bsv*sd*bc03sc*i*
    alias:          pci:v00008086d00000C2Asv*sd*bc03sc*i*
    alias:          pci:v00008086d00000C1Asv*sd*bc03sc*i*
    alias:          pci:v00008086d00000C0Asv*sd*bc03sc*i*
    alias:          pci:v00008086d00000C22sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000C12sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000C02sv*sd*bc03sc*i*
    alias:          pci:v00008086d0000042Esv*sd*bc03sc*i*
    alias:          pci:v00008086d0000041Esv*sd*bc03sc*i*
    alias:          pci:v00008086d0000040Esv*sd*bc03sc*i*
    alias:          pci:v00008086d0000042Bsv*sd*bc03sc*i*
    alias:          pci:v00008086d0000041Bsv*sd*bc03sc*i*
    alias:          pci:v00008086d0000040Bsv*sd*bc03sc*i*
    alias:          pci:v00008086d0000042Asv*sd*bc03sc*i*
    alias:          pci:v00008086d0000041Asv*sd*bc03sc*i*
    alias:          pci:v00008086d0000040Asv*sd*bc03sc*i*
    alias:          pci:v00008086d00000422sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000412sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000402sv*sd*bc03sc*i*
    alias:          pci:v00008086d0000016Asv*sd*bc03sc*i*
    alias:          pci:v00008086d0000015Asv*sd*bc03sc*i*
    alias:          pci:v00008086d00000162sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000152sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000166sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000156sv*sd*bc03sc*i*
    alias:          pci:v00008086d0000016Asv0000152Dsd00008990bc03sc*i*
    alias:          pci:v00008086d00000126sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000116sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000106sv*sd*bc03sc*i*
    alias:          pci:v00008086d0000010Asv*sd*bc03sc*i*
    alias:          pci:v00008086d00000122sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000112sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000102sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000046sv*sd*bc03sc*i*
    alias:          pci:v00008086d00000042sv*sd*bc03sc*i*
    alias:          pci:v00008086d0000A011sv*sd*bc03sc*i*
    alias:          pci:v00008086d0000A001sv*sd*bc03sc*i*
    alias:          pci:v00008086d00002E92sv*sd*bc03sc*i*
    alias:          pci:v00008086d00002E42sv*sd*bc03sc*i*
    alias:          pci:v00008086d00002E32sv*sd*bc03sc*i*
    alias:          pci:v00008086d00002E22sv*sd*bc03sc*i*
    alias:          pci:v00008086d00002E12sv*sd*bc03sc*i*
    alias:          pci:v00008086d00002E02sv*sd*bc03sc*i*
    alias:          pci:v00008086d00002A42sv*sd*bc03sc*i*
    alias:          pci:v00008086d00002A12sv*sd*bc03sc*i*
    alias:          pci:v00008086d00002A02sv*sd*bc03sc*i*
    alias:          pci:v00008086d000029D2sv*sd*bc03sc*i*
    alias:          pci:v00008086d000029C2sv*sd*bc03sc*i*
    alias:          pci:v00008086d000029B2sv*sd*bc03sc*i*
    alias:          pci:v00008086d000029A2sv*sd*bc03sc*i*
    alias:          pci:v00008086d00002992sv*sd*bc03sc*i*
    alias:          pci:v00008086d00002982sv*sd*bc03sc*i*
    alias:          pci:v00008086d00002972sv*sd*bc03sc*i*
    alias:          pci:v00008086d000027AEsv*sd*bc03sc*i*
    alias:          pci:v00008086d000027A2sv*sd*bc03sc*i*
    alias:          pci:v00008086d00002772sv*sd*bc03sc*i*
    alias:          pci:v00008086d00002592sv*sd*bc03sc*i*
    alias:          pci:v00008086d0000258Asv*sd*bc03sc*i*
    alias:          pci:v00008086d00002582sv*sd*bc03sc*i*
    alias:          pci:v00008086d00002572sv*sd*bc03sc*i*
    alias:          pci:v00008086d0000358Esv*sd*bc03sc*i*
    alias:          pci:v00008086d00003582sv*sd*bc03sc*i*
    alias:          pci:v00008086d00002562sv*sd*bc03sc*i*
    alias:          pci:v00008086d00003577sv*sd*bc03sc*i*
    depends:        drm,drm_kms_helper,video,i2c-algo-bit
    retpoline:      Y
    intree:         Y
    vermagic:       4.4.0-131-generic SMP mod_unload modversions 686 retpoline 
    parm:           modeset:Use kernel modesetting [KMS] (0=disable, 1=on, -1=force vga console preference [default]) (int)
    parm:           panel_ignore_lid:Override lid status (0=autodetect, 1=autodetect disabled [default], -1=force lid closed, -2=force lid open) (int)
    parm:           semaphores:Use semaphores for inter-ring sync (default: -1 (use per-chip defaults)) (int)
    parm:           enable_rc6:Enable power-saving render C-state 6. Different stages can be selected via bitmask values (0 = disable; 1 = enable rc6; 2 = enable deep rc6; 4 = enable deepest rc6). For example, 3 would enable rc6 and deep rc6, and 7 would enable everything. default: -1 (use per-chip default) (int)
    parm:           enable_fbc:Enable frame buffer compression for power savings (default: -1 (use per-chip default)) (int)
    parm:           lvds_channel_mode:Specify LVDS channel mode (0=probe BIOS [default], 1=single-channel, 2=dual-channel) (int)
    parm:           lvds_use_ssc:Use Spread Spectrum Clock with panels [LVDS/eDP] (default: auto from VBT) (int)
    parm:           vbt_sdvo_panel_type:Override/Ignore selection of SDVO panel mode in the VBT (-2=ignore, -1=auto [default], index in VBT BIOS table) (int)
    parm:           reset:Attempt GPU resets (default: true) (bool)
    parm:           enable_hangcheck:Periodically check GPU activity for detecting hangs. WARNING: Disabling this can cause system wide hangs. (default: true) (bool)
    parm:           enable_ppgtt:Override PPGTT usage. (-1=auto [default], 0=disabled, 1=aliasing, 2=full) (int)
    parm:           enable_execlists:Override execlists usage. (-1=auto [default], 0=disabled, 1=enabled) (int)
    parm:           enable_psr:Enable PSR (default: false) (int)
    parm:           preliminary_hw_support:Enable preliminary hardware support. (int)
    parm:           disable_power_well:Disable display power wells when possible (-1=auto [default], 0=power wells always on, 1=power wells disabled when possible) (int)
    parm:           enable_ips:Enable IPS (default: true) (int)
    parm:           fastboot:Try to skip unnecessary mode sets at boot time (default: false) (bool)
    parm:           prefault_disable:Disable page prefaulting for pread/pwrite/reloc (default:false). For developers only. (bool)
    parm:           load_detect_test:Force-enable the VGA load detect code for testing (default:false). For developers only. (bool)
    parm:           invert_brightness:Invert backlight brightness (-1 force normal, 0 machine defaults, 1 force inversion), please report PCI device ID, subsystem vendor and subsystem device ID to dri-devel@lists.freedesktop.org, if your machine needs it. It will then be included in an upcoming module version. (int)
    parm:           disable_display:Disable display (default: false) (bool)
    parm:           disable_vtd_wa:Disable all VT-d workarounds (default: false) (bool)
    parm:           enable_cmd_parser:Enable command parsing (1=enabled [default], 0=disabled) (int)
    parm:           use_mmio_flip:use MMIO flips (-1=never, 0=driver discretion [default], 1=always) (int)
    parm:           mmio_debug:Enable the MMIO debug code for the first N failures (default: off). This may negatively affect performance. (int)
    parm:           verbose_state_checks:Enable verbose logs (ie. WARN_ON()) in case of unexpected hw state conditions. (bool)
    parm:           nuclear_pageflip:Force atomic modeset functionality; asynchronous mode is not yet supported. (default: false). (bool)
    parm:           edp_vswing:Ignore/Override vswing pre-emph table selection from VBT (0=use value from vbt [default], 1=low power swing(200mV),2=default swing(400mV)) (int)
    parm:           enable_guc_submission:Enable GuC submission (default:false) (bool)
    parm:           guc_log_level:GuC firmware logging level (-1:disabled (default), 0-3:enabled) (int)

From the defective xubuntu 18.04.1 system

filename:       /lib/modules/4.15.0-29-generic/kernel/drivers/gpu/drm/i915/i915.ko
license:        GPL and additional rights
description:    Intel Graphics
author:         Intel Corporation
author:         Tungsten Graphics, Inc.
firmware:       i915/bxt_dmc_ver1_07.bin
firmware:       i915/bxt_guc_ver8_7.bin
firmware:       i915/bxt_huc_ver01_07_1398.bin
firmware:       i915/kbl_dmc_ver1_01.bin
firmware:       i915/kbl_guc_ver9_14.bin
firmware:       i915/kbl_huc_ver02_00_1810.bin
firmware:       i915/skl_dmc_ver1_26.bin
firmware:       i915/skl_guc_ver6_1.bin
firmware:       i915/skl_huc_ver01_07_1398.bin

HOWEVER, xubuntu 18.04 blacklists the module that would update the firmware:
         xubuntu 16.04 does the same:

In initrd, /etc/modprobe.d/intel-microcode-blacklist.conf:
            # The microcode module attempts to apply a microcode update when
            # it autoloads.  This is not always safe, so we block it by default.
            blacklist microcode


            -rw-r--r-- 1 root root   8380 Nov 17  2017 bxt_dmc_ver1_07.bin
            lrwxrwxrwx 1 root root     19 Oct 13 14:26 bxt_dmc_ver1.bin -> bxt_dmc_ver1_07.bin
            -rw-r--r-- 1 root root 140928 May 18 14:09 bxt_guc_ver8_7.bin
            -rw-r--r-- 1 root root 146432 May 18 14:09 bxt_guc_ver9_29.bin
            -rw-r--r-- 1 root root 154432 Dec  5  2017 bxt_huc_ver01_07_1398.bin
            -rw-r--r-- 1 root root  11224 May 18 14:09 cnl_dmc_ver1_06.bin
            -rw-r--r-- 1 root root  11268 May 18 14:09 cnl_dmc_ver1_07.bin
            -rw-r--r-- 1 root root   8800 Apr 24  2018 glk_dmc_ver1_04.bin
            -rw-r--r-- 1 root root   8616 Nov 17  2017 kbl_dmc_ver1_01.bin
            -rw-r--r-- 1 root root   8840 May 18 14:09 kbl_dmc_ver1_04.bin
            lrwxrwxrwx 1 root root     19 Oct 13 14:26 kbl_dmc_ver1.bin -> kbl_dmc_ver1_01.bin
            -rw-r--r-- 1 root root 142656 May 18 14:09 kbl_guc_ver9_14.bin
            -rw-r--r-- 1 root root 147776 May 18 14:09 kbl_guc_ver9_39.bin
            -rw-r--r-- 1 root root 218688 Dec  5  2017 kbl_huc_ver02_00_1810.bin
            -rw-r--r-- 1 root root   8824 Mar 29  2017 skl_dmc_ver1_23.bin
            -rw-r--r-- 1 root root   8928 Mar 29  2017 skl_dmc_ver1_26.bin
            -rw-r--r-- 1 root root   8928 May 18 14:09 skl_dmc_ver1_27.bin
            lrwxrwxrwx 1 root root     19 Oct 13 14:26 skl_dmc_ver1.bin -> skl_dmc_ver1_26.bin
            -rw-r--r-- 1 root root 109636 May 18 14:09 skl_guc_ver1.bin
            -rw-r--r-- 1 root root 128320 May 18 14:09 skl_guc_ver4.bin
            -rw-r--r-- 1 root root 129024 Mar 29  2017 skl_guc_ver6_1.bin
            lrwxrwxrwx 1 root root     18 Oct 13 14:26 skl_guc_ver6.bin -> skl_guc_ver6_1.bin
            -rw-r--r-- 1 root root 147520 May 18 14:09 skl_guc_ver9_33.bin
            -rw-r--r-- 1 root root 140992 Dec  5  2017 skl_huc_ver01_07_1398.bin


srcversion:     A11BCB3D08FB6049CC2B4D7
alias:          pci:v00008086d00005A79sv*sd*bc03sc*i*
alias:          pci:v00008086d00005A71sv*sd*bc03sc*i*
alias:          pci:v00008086d00005A49sv*sd*bc03sc*i*
alias:          pci:v00008086d00005A41sv*sd*bc03sc*i*
alias:          pci:v00008086d00005A59sv*sd*bc03sc*i*
alias:          pci:v00008086d00005A51sv*sd*bc03sc*i*
alias:          pci:v00008086d00005A4Asv*sd*bc03sc*i*
alias:          pci:v00008086d00005A42sv*sd*bc03sc*i*
alias:          pci:v00008086d00005A5Asv*sd*bc03sc*i*
alias:          pci:v00008086d00005A52sv*sd*bc03sc*i*
alias:          pci:v00008086d00003EA8sv*sd*bc03sc*i*
alias:          pci:v00008086d00003EA7sv*sd*bc03sc*i*
alias:          pci:v00008086d00003EA6sv*sd*bc03sc*i*
alias:          pci:v00008086d00003EA5sv*sd*bc03sc*i*
alias:          pci:v00008086d00003EA2sv*sd*bc03sc*i*
alias:          pci:v00008086d00003EA9sv*sd*bc03sc*i*
alias:          pci:v00008086d00003EA3sv*sd*bc03sc*i*
alias:          pci:v00008086d00003EA0sv*sd*bc03sc*i*
alias:          pci:v00008086d00003EA4sv*sd*bc03sc*i*
alias:          pci:v00008086d00003EA1sv*sd*bc03sc*i*
alias:          pci:v00008086d00003E94sv*sd*bc03sc*i*
alias:          pci:v00008086d00003E9Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00003E9Asv*sd*bc03sc*i*
alias:          pci:v00008086d00003E96sv*sd*bc03sc*i*
alias:          pci:v00008086d00003E92sv*sd*bc03sc*i*
alias:          pci:v00008086d00003E91sv*sd*bc03sc*i*
alias:          pci:v00008086d00003E99sv*sd*bc03sc*i*
alias:          pci:v00008086d00003E93sv*sd*bc03sc*i*
alias:          pci:v00008086d00003E90sv*sd*bc03sc*i*
alias:          pci:v00008086d0000593Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00005927sv*sd*bc03sc*i*
alias:          pci:v00008086d00005926sv*sd*bc03sc*i*
alias:          pci:v00008086d00005923sv*sd*bc03sc*i*
alias:          pci:v00008086d0000591Dsv*sd*bc03sc*i*
alias:          pci:v00008086d0000591Asv*sd*bc03sc*i*
alias:          pci:v00008086d0000591Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00005912sv*sd*bc03sc*i*
alias:          pci:v00008086d0000591Esv*sd*bc03sc*i*
alias:          pci:v00008086d00005921sv*sd*bc03sc*i*
alias:          pci:v00008086d00005917sv*sd*bc03sc*i*
alias:          pci:v00008086d00005916sv*sd*bc03sc*i*
alias:          pci:v00008086d0000590Asv*sd*bc03sc*i*
alias:          pci:v00008086d0000590Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00005908sv*sd*bc03sc*i*
alias:          pci:v00008086d00005902sv*sd*bc03sc*i*
alias:          pci:v00008086d0000590Esv*sd*bc03sc*i*
alias:          pci:v00008086d00005906sv*sd*bc03sc*i*
alias:          pci:v00008086d00005915sv*sd*bc03sc*i*
alias:          pci:v00008086d00005913sv*sd*bc03sc*i*
alias:          pci:v00008086d00003185sv*sd*bc03sc*i*
alias:          pci:v00008086d00003184sv*sd*bc03sc*i*
alias:          pci:v00008086d00005A85sv*sd*bc03sc*i*
alias:          pci:v00008086d00005A84sv*sd*bc03sc*i*
alias:          pci:v00008086d00001A85sv*sd*bc03sc*i*
alias:          pci:v00008086d00001A84sv*sd*bc03sc*i*
alias:          pci:v00008086d00000A84sv*sd*bc03sc*i*
alias:          pci:v00008086d0000193Asv*sd*bc03sc*i*
alias:          pci:v00008086d0000192Asv*sd*bc03sc*i*
alias:          pci:v00008086d0000193Dsv*sd*bc03sc*i*
alias:          pci:v00008086d0000193Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00001932sv*sd*bc03sc*i*
alias:          pci:v00008086d0000192Dsv*sd*bc03sc*i*
alias:          pci:v00008086d0000192Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00001927sv*sd*bc03sc*i*
alias:          pci:v00008086d00001926sv*sd*bc03sc*i*
alias:          pci:v00008086d00001923sv*sd*bc03sc*i*
alias:          pci:v00008086d0000191Dsv*sd*bc03sc*i*
alias:          pci:v00008086d0000191Asv*sd*bc03sc*i*
alias:          pci:v00008086d0000191Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00001912sv*sd*bc03sc*i*
alias:          pci:v00008086d0000191Esv*sd*bc03sc*i*
alias:          pci:v00008086d00001921sv*sd*bc03sc*i*
alias:          pci:v00008086d00001916sv*sd*bc03sc*i*
alias:          pci:v00008086d0000190Asv*sd*bc03sc*i*
alias:          pci:v00008086d0000190Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00001902sv*sd*bc03sc*i*
alias:          pci:v00008086d0000190Esv*sd*bc03sc*i*
alias:          pci:v00008086d00001906sv*sd*bc03sc*i*
alias:          pci:v00008086d000022B3sv*sd*bc03sc*i*
alias:          pci:v00008086d000022B2sv*sd*bc03sc*i*
alias:          pci:v00008086d000022B1sv*sd*bc03sc*i*
alias:          pci:v00008086d000022B0sv*sd*bc03sc*i*
alias:          pci:v00008086d0000163Dsv*sd*bc03sc*i*
alias:          pci:v00008086d0000163Asv*sd*bc03sc*i*
alias:          pci:v00008086d0000163Esv*sd*bc03sc*i*
alias:          pci:v00008086d0000163Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00001636sv*sd*bc03sc*i*
alias:          pci:v00008086d00001632sv*sd*bc03sc*i*
alias:          pci:v00008086d0000162Dsv*sd*bc03sc*i*
alias:          pci:v00008086d0000162Asv*sd*bc03sc*i*
alias:          pci:v00008086d0000162Esv*sd*bc03sc*i*
alias:          pci:v00008086d0000162Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00001626sv*sd*bc03sc*i*
alias:          pci:v00008086d00001622sv*sd*bc03sc*i*
alias:          pci:v00008086d0000161Dsv*sd*bc03sc*i*
alias:          pci:v00008086d0000161Asv*sd*bc03sc*i*
alias:          pci:v00008086d0000161Esv*sd*bc03sc*i*
alias:          pci:v00008086d0000161Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00001616sv*sd*bc03sc*i*
alias:          pci:v00008086d00001612sv*sd*bc03sc*i*
alias:          pci:v00008086d0000160Dsv*sd*bc03sc*i*
alias:          pci:v00008086d0000160Asv*sd*bc03sc*i*
alias:          pci:v00008086d0000160Esv*sd*bc03sc*i*
alias:          pci:v00008086d0000160Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00001606sv*sd*bc03sc*i*
alias:          pci:v00008086d00001602sv*sd*bc03sc*i*
alias:          pci:v00008086d00000155sv*sd*bc03sc*i*
alias:          pci:v00008086d00000157sv*sd*bc03sc*i*
alias:          pci:v00008086d00000F33sv*sd*bc03sc*i*
alias:          pci:v00008086d00000F32sv*sd*bc03sc*i*
alias:          pci:v00008086d00000F31sv*sd*bc03sc*i*
alias:          pci:v00008086d00000F30sv*sd*bc03sc*i*
alias:          pci:v00008086d00000D26sv*sd*bc03sc*i*
alias:          pci:v00008086d00000A2Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000A26sv*sd*bc03sc*i*
alias:          pci:v00008086d00000C26sv*sd*bc03sc*i*
alias:          pci:v00008086d00000D2Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000D2Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000D2Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000D22sv*sd*bc03sc*i*
alias:          pci:v00008086d00000A2Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000A2Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000A22sv*sd*bc03sc*i*
alias:          pci:v00008086d00000C2Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000C2Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000C2Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000C22sv*sd*bc03sc*i*
alias:          pci:v00008086d0000042Esv*sd*bc03sc*i*
alias:          pci:v00008086d0000042Bsv*sd*bc03sc*i*
alias:          pci:v00008086d0000042Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000422sv*sd*bc03sc*i*
alias:          pci:v00008086d00000D16sv*sd*bc03sc*i*
alias:          pci:v00008086d00000A1Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000A16sv*sd*bc03sc*i*
alias:          pci:v00008086d00000C16sv*sd*bc03sc*i*
alias:          pci:v00008086d00000426sv*sd*bc03sc*i*
alias:          pci:v00008086d00000416sv*sd*bc03sc*i*
alias:          pci:v00008086d00000D1Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000D1Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000D1Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000D12sv*sd*bc03sc*i*
alias:          pci:v00008086d00000A1Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000A1Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000A12sv*sd*bc03sc*i*
alias:          pci:v00008086d00000C1Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000C1Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000C1Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000C12sv*sd*bc03sc*i*
alias:          pci:v00008086d0000041Esv*sd*bc03sc*i*
alias:          pci:v00008086d0000041Bsv*sd*bc03sc*i*
alias:          pci:v00008086d0000041Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000412sv*sd*bc03sc*i*
alias:          pci:v00008086d00000D06sv*sd*bc03sc*i*
alias:          pci:v00008086d00000A0Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000A06sv*sd*bc03sc*i*
alias:          pci:v00008086d00000C06sv*sd*bc03sc*i*
alias:          pci:v00008086d00000406sv*sd*bc03sc*i*
alias:          pci:v00008086d00000D0Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000D0Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000D0Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000D02sv*sd*bc03sc*i*
alias:          pci:v00008086d00000A0Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000A0Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000A02sv*sd*bc03sc*i*
alias:          pci:v00008086d00000C0Esv*sd*bc03sc*i*
alias:          pci:v00008086d00000C0Bsv*sd*bc03sc*i*
alias:          pci:v00008086d00000C0Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000C02sv*sd*bc03sc*i*
alias:          pci:v00008086d0000040Esv*sd*bc03sc*i*
alias:          pci:v00008086d0000040Bsv*sd*bc03sc*i*
alias:          pci:v00008086d0000040Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000402sv*sd*bc03sc*i*
alias:          pci:v00008086d0000016Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000162sv*sd*bc03sc*i*
alias:          pci:v00008086d0000015Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000152sv*sd*bc03sc*i*
alias:          pci:v00008086d00000166sv*sd*bc03sc*i*
alias:          pci:v00008086d00000156sv*sd*bc03sc*i*
alias:          pci:v00008086d0000016Asv0000152Dsd00008990bc03sc*i*
alias:          pci:v00008086d00000126sv*sd*bc03sc*i*
alias:          pci:v00008086d00000116sv*sd*bc03sc*i*
alias:          pci:v00008086d00000106sv*sd*bc03sc*i*
alias:          pci:v00008086d00000122sv*sd*bc03sc*i*
alias:          pci:v00008086d00000112sv*sd*bc03sc*i*
alias:          pci:v00008086d0000010Asv*sd*bc03sc*i*
alias:          pci:v00008086d00000102sv*sd*bc03sc*i*
alias:          pci:v00008086d00000046sv*sd*bc03sc*i*
alias:          pci:v00008086d00000042sv*sd*bc03sc*i*
alias:          pci:v00008086d0000A011sv*sd*bc03sc*i*
alias:          pci:v00008086d0000A001sv*sd*bc03sc*i*
alias:          pci:v00008086d00002E92sv*sd*bc03sc*i*
alias:          pci:v00008086d00002E42sv*sd*bc03sc*i*
alias:          pci:v00008086d00002E32sv*sd*bc03sc*i*
alias:          pci:v00008086d00002E22sv*sd*bc03sc*i*
alias:          pci:v00008086d00002E12sv*sd*bc03sc*i*
alias:          pci:v00008086d00002E02sv*sd*bc03sc*i*
alias:          pci:v00008086d00002A42sv*sd*bc03sc*i*
alias:          pci:v00008086d00002A12sv*sd*bc03sc*i*
alias:          pci:v00008086d00002A02sv*sd*bc03sc*i*
alias:          pci:v00008086d000029D2sv*sd*bc03sc*i*
alias:          pci:v00008086d000029C2sv*sd*bc03sc*i*
alias:          pci:v00008086d000029B2sv*sd*bc03sc*i*
alias:          pci:v00008086d000029A2sv*sd*bc03sc*i*
alias:          pci:v00008086d00002992sv*sd*bc03sc*i*
alias:          pci:v00008086d00002982sv*sd*bc03sc*i*
alias:          pci:v00008086d00002972sv*sd*bc03sc*i*
alias:          pci:v00008086d000027AEsv*sd*bc03sc*i*
alias:          pci:v00008086d000027A2sv*sd*bc03sc*i*
alias:          pci:v00008086d00002772sv*sd*bc03sc*i*
alias:          pci:v00008086d00002592sv*sd*bc03sc*i*
alias:          pci:v00008086d0000258Asv*sd*bc03sc*i*
alias:          pci:v00008086d00002582sv*sd*bc03sc*i*
alias:          pci:v00008086d00002572sv*sd*bc03sc*i*
alias:          pci:v00008086d0000358Esv*sd*bc03sc*i*
alias:          pci:v00008086d00003582sv*sd*bc03sc*i*
alias:          pci:v00008086d00002562sv*sd*bc03sc*i*
alias:          pci:v00008086d00003577sv*sd*bc03sc*i*
depends:        drm_kms_helper,drm,video,i2c-algo-bit
retpoline:      Y
intree:         Y
name:           i915
vermagic:       4.15.0-29-generic SMP mod_unload 686 
parm:           modeset:Use kernel modesetting [KMS] (0=disable, 1=on, -1=force vga console preference [default]) (int)
parm:           panel_ignore_lid:Override lid status (0=autodetect, 1=autodetect disabled [default], -1=force lid closed, -2=force lid open) (int)
parm:           semaphores:Use semaphores for inter-ring sync (default: -1 (use per-chip defaults)) (int)
parm:           enable_rc6:Enable power-saving render C-state 6. Different stages can be selected via bitmask values (0 = disable; 1 = enable rc6; 2 = enable deep rc6; 4 = enable deepest rc6). For example, 3 would enable rc6 and deep rc6, and 7 would enable everything. default: -1 (use per-chip default) (int)
parm:           enable_dc:Enable power-saving display C-states. (-1=auto [default]; 0=disable; 1=up to DC5; 2=up to DC6) (int)
parm:           enable_fbc:Enable frame buffer compression for power savings (default: -1 (use per-chip default)) (int)
parm:           lvds_channel_mode:Specify LVDS channel mode (0=probe BIOS [default], 1=single-channel, 2=dual-channel) (int)
parm:           panel_use_ssc:Use Spread Spectrum Clock with panels [LVDS/eDP] (default: auto from VBT) (int)
parm:           vbt_sdvo_panel_type:Override/Ignore selection of SDVO panel mode in the VBT (-2=ignore, -1=auto [default], index in VBT BIOS table) (int)
parm:           reset:Attempt GPU resets (0=disabled, 1=full gpu reset, 2=engine reset [default]) (int)
parm:           vbt_firmware:Load VBT from specified file under /lib/firmware (charp)
parm:           error_capture:Record the GPU state following a hang. This information in /sys/class/drm/card<N>/error is vital for triaging and debugging hangs. (bool)
parm:           enable_hangcheck:Periodically check GPU activity for detecting hangs. WARNING: Disabling this can cause system wide hangs. (default: true) (bool)
parm:           enable_ppgtt:Override PPGTT usage. (-1=auto [default], 0=disabled, 1=aliasing, 2=full, 3=full with extended address space) (int)
parm:           enable_execlists:Override execlists usage. (-1=auto [default], 0=disabled, 1=enabled) (int)
parm:           enable_psr:Enable PSR (0=disabled, 1=enabled - link mode chosen per-platform, 2=force link-standby mode, 3=force link-off mode) Default: -1 (use per-chip default) (int)
parm:           alpha_support:Enable alpha quality driver support for latest hardware. See also CONFIG_DRM_I915_ALPHA_SUPPORT. (bool)
parm:           disable_power_well:Disable display power wells when possible (-1=auto [default], 0=power wells always on, 1=power wells disabled when possible) (int)
parm:           enable_ips:Enable IPS (default: true) (int)
parm:           fastboot:Try to skip unnecessary mode sets at boot time (default: false) (bool)
parm:           prefault_disable:Disable page prefaulting for pread/pwrite/reloc (default:false). For developers only. (bool)
parm:           load_detect_test:Force-enable the VGA load detect code for testing (default:false). For developers only. (bool)
parm:           force_reset_modeset_test:Force a modeset during gpu reset for testing (default:false). For developers only. (bool)
parm:           invert_brightness:Invert backlight brightness (-1 force normal, 0 machine defaults, 1 force inversion), please report PCI device ID, subsystem vendor and subsystem device ID to dri-devel@lists.freedesktop.org, if your machine needs it. It will then be included in an upcoming module version. (int)
parm:           disable_display:Disable display (default: false) (bool)
parm:           enable_cmd_parser:Enable command parsing (true=enabled [default], false=disabled) (bool)
parm:           mmio_debug:Enable the MMIO debug code for the first N failures (default: off). This may negatively affect performance. (int)
parm:           verbose_state_checks:Enable verbose logs (ie. WARN_ON()) in case of unexpected hw state conditions. (bool)
parm:           nuclear_pageflip:Force enable atomic functionality on platforms that don't have full support yet. (bool)
parm:           edp_vswing:Ignore/Override vswing pre-emph table selection from VBT (0=use value from vbt [default], 1=low power swing(200mV),2=default swing(400mV)) (int)
parm:           enable_guc_loading:Enable GuC firmware loading (-1=auto, 0=never [default], 1=if available, 2=required) (int)
parm:           enable_guc_submission:Enable GuC submission (-1=auto, 0=never [default], 1=if available, 2=required) (int)
parm:           guc_log_level:GuC firmware logging level (-1:disabled (default), 0-3:enabled) (int)
parm:           guc_firmware_path:GuC firmware path to use instead of the default one (charp)
parm:           huc_firmware_path:HuC firmware path to use instead of the default one (charp)
parm:           enable_dp_mst:Enable multi-stream transport (MST) for new DisplayPort sinks. (default: true) (bool)
parm:           inject_load_failure:Force an error after a number of failure check points (0:disabled (default), N:force failure at the Nth failure check point) (uint)
parm:           enable_dpcd_backlight:Enable support for DPCD backlight control (default:false) (bool)
parm:           enable_gvt:Enable support for Intel GVT-g graphics virtualization host support(default:false) (bool)

*******************************************************
Comment 7 djn4823 2018-10-29 21:38:52 UTC
Created attachment 142262 [details]
GPU crash dump for kernel ver 4.15.0-29-generic (xubuntu 18.04.1)

managed to get a GPU crash dump from my xubuntu 18.04 system (kernel ver 4.15.0-29-generic).  It wasn't readily apparent that the trick was to copy the file by name, even though ls couldn't find it or any of its parent folders.
Comment 8 djn4823 2018-10-31 22:40:10 UTC
https://en.wikipedia.org/wiki/Coreboot/VBT notes that UEFI extends it's ugly
fingers into the i915 driver.

In my system BIOS, I have compatibility mode ON and "secure boot" OFF, which
I think means that I have disabled UEFI.  I formatted the hard drive (an mmx
flash drive actually) with a plain old DOS partition header.

I think the VBT must contain correct information because A display with the
correct resolution is found.  No idea if what it found is actually THE correct
display.  My documentation for the HP Stream 13 doesn't say what display it
actually has built into it.

This is a part of my configuration that I haven't mentioned before.  It may
pertinent to anyone trying to reproduce my problem.
Comment 9 djn4823 2018-11-11 19:03:23 UTC
1) 64 -vs- 32 bit...
--------------------

My problems have been with the 32 bit version of xubuntu 18.04.1.  How about the 64 bit version?  It boots to the desktop without problems!  However 64 bit is not an acceptable solution for me because I absolutely need to run a 32 bit Windows program under Wine.  Wine64 will not run 32 bit programs, and Wine32 will not install on 64 bit xubuntu.

2) Modesetting
--------------

Several comments elsewhere recommended turning off modesetting.  But all my efforts to do this failed.  So, I moved modesetting_drv.so out of
/usr/lib/xorg/modules/drivers into a new folder under /usr/lib.  XUBUNTU BOOTS TO THE DESKTOP!!  There are a lot of ugly looking error messages in Xorg.log.0, but it doesn't hang.  Looking at the Xorg.log.0, I noticed that xorg didn't load intel_drv.so either.  I'm assuming that loading of intel_drv.so is driven by modesetting_drv.so.  Could the problems be due to intel_drv.so rather than modesetting_drv.so?  So I moved modesetting back to its proper place and moved out intel_drv.so.  The system no longer booted to the desktop.  The problems could be in be in modesetting_drv.so or intel_drv.so or both, or maybe even in the way those two together drive i915.ko or drm.ko.

Comparing Xorg.0.log between the 64 bit xubuntu that worked and the Xorg.0.log of the 32 bit version that failed, the version numbers of all the LOADED *.so files under /usr/lib/xorg/modules... matched.  In fact, almost everything in those two log files was the same, though the 64 bit version had one error message that the 32 bit version did not:

xf86EnableIOPorts: failed to set IOPL for I/O (Operation not permitted)

3) Where does Xorg get its *.conf files.
----------------------------------------

It appears to me that Xorg only reads xorg.conf.d/* from the
/usr/share/X11/xorg.conf.d directory.  How do I know this?  When I put this config file into /usr/share/X11/xorg.conf.d,the system wouldn't boot to the desktop (modesetting_drv.so removed):

Section "Device"
  Identifier  "Intel Graphics"
  Busid "PCI:0:2:0"
  Driver "intel"
  # Driver      "vesa"
  # Option      "NoAccel" "true"
  # An alternate: Option "DRI" "False"
  # Option      "AccelMethod"  "sna"
  # An alternate: Option      "AccelMethod"  "uxa"
EndSection

# Section "Device"
#     Identifier "Intel"
#     Driver "intel"
#     Option "TearFree" "true"
#     Option "DRI" "1"
# EndSection

Examination of Xorg.0.log showed that the intel driver had loaded.  Interestingly, when loaded from the *.conf file like this, intel_drv.so gave different messages in Xorg.0.log than it did when it was loaded (my guess here) by modesetting_drv.so.  Does modesetting load other drivers in some kind of quiet mode?

Then I moved that same *.conf file to /etc/X11/xorg.conf.d, and the system booted to the desktop correctly (well, with all those error messages).

Next post will have Xorg.0.log of the 32 bit xubuntu that boots to the desktop.

Also, I missed this suggestion:
Any change you could capture the error state from sysfs? (/sys/devices/pci0000:00/0000:00:02.0/drm/card0/error)

I will follow up with this.
Comment 10 djn4823 2018-11-11 21:42:46 UTC
Created attachment 142436 [details]
Here's Xorg.0.log from a run with modesetting_drv.so removed.

Next attachment has syslog from same run.

Interestingly, syslog shows the original error:

Nov 11 11:37:59 zyngoid-AOD260 kernel: [   24.837898] [drm] GPU HANG: ecode 8:0:0x0fdfffff, in Xorg [714], reason: Hang on rcs0, action: reset

several times, but it doesn't seem to be fatal this time.

************* Hmmm -- looks like reboot after application of automatic updates may have fixed the GPU hang problem STAY TUNED FOR VERIFICATION.  Auto updates also downloaded a new copy of modesetting_drv.so.  Need to test this too.
Comment 11 djn4823 2018-11-11 21:43:37 UTC
Created attachment 142437 [details]
Syslog from same run
Comment 12 djn4823 2018-11-11 21:52:06 UTC
Created attachment 142438 [details]
Requested /sys/devices/pci0000:00/0000:00:02.0/drm/card0/error
Comment 13 djn4823 2018-11-12 20:45:39 UTC
Downloaded and installed all updates.  Got a new modesetting_drv.so, but that didn't fix the problem - still can't boot to desktop, and still getting GPU hangs.

HOWEVER, when I remove modesetting_drv.so and intel_drv.so, and reboot, I DON'T get any GPU hangs.
Comment 14 Lionel Landwerlin 2018-11-13 01:29:42 UTC
This commit recently fixed issues with 32bits kernels : https://cgit.freedesktop.org/drm/drm-intel/commit/?id=83b466b1dc5f0b4d33f0a901e8b00197a8f3582d

Since you reported no problem with 64bit ubuntu, it might be worth giving it a try.
Comment 15 GitLab Migration User 2019-09-25 19:14:51 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/1766.


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.