FreeBSDDesktop / DEPRECATED-freebsd-base-graphics

Fork of FreeBSD's base repository to work on graphics-stack-related projects
Other
49 stars 13 forks source link

Iris Graphics 540 + f16dfbd(drm-next-4.7)-dirty = regular panic #101

Closed olevole closed 7 years ago

olevole commented 7 years ago

uname:

FreeBSD my.domain 12.0-CURRENT FreeBSD 12.0-CURRENT #0 f16dfbd(drm-next-4.7)-dirty: Mon Nov  7 15:03:35 MSK 2016     root@my.domain:/usr/obj/usr/src/sys/GENERIC  amd64

sysctl hw.model:

hw.model: Intel(R) Core(TM) i5-6260U CPU @ 1.80GHz

pciconv -vl for graphics chip:

vgapci0@pci0:0:2:0:     class=0x030000 card=0x20638086 chip=0x19268086 rev=0x0a hdr=0x00
vendor     = 'Intel Corporation'
device     = 'Iris Graphics 540'
class      = display
subclass   = VGA

FreeBSD builds: drm-next-4.7 from https://github.com/FreeBSDDesktop/freebsd-base-graphics.git

System panic or reboot when i try to launch any X application. WM (fluxbox or KDE) started as usual. But if i try to execute appliaction from menu or execute from 'alt+f2' applet (launch application in WM), system get panic or reboot.

No any kernel dump available, i think generation of core on panic for FreeBSD is broken: I've test savecore and swap/dumpdev settings via:

sysctl debug.kdb.enter=1

And this works. But when i get panics related to DRM -

savecore -fkvvz /var/crash /dev/ada0p3

not found anything (in single mode).

So, i can attach only low-quality screenshots. This is the best that I could get

Other settings:

/boot/loader.conf:

kld_list="i915kms"
dev.drm.skip_ddb="1
dev.drm.drm_debug_persist=1

/etc/sysctl.conf:


kern.coredump=1

debug.debugger_on_panic=0

dev.drm.skip_ddb="1" << playing with this without any effect

dev.drm.drm_debug_persist=1 << playing with this without any effect

dev.drm.drm_debug=-1


All userland build from 
xserver-next branch ( https://github.com/freebsd/freebsd-ports-graphics )

> pkg info | egrep "xorg-server|intel"

xf86-video-intel-2.99.917.20160614 Driver for Intel integrated graphics chipsets xorg-server-1.18.4,1 X.Org X server and related programs

olevole commented 7 years ago

p_20161107_142034 p_20161107_175720 p_20161110_140516 p_20161110_142921 p_20161110_142925

nomadlogic commented 7 years ago

This looks like a similar panic that I see when I run chromium browser on my Skylake system using the drm-next code. As few workarounds I've used to prevent this from happening are:

1) stopped using chrome - not that great of a solution tbh

2) Used the "modesetting" Xorg driver, this disables GPU accelerated graphics but does allow me to run chromium and is a bit more stable

3) Used the "scfb" Xorg driver, this also disables all acceleration but is also a bit more stable that modesetting even.

I think mmacy's resources are pretty tight at the moment but hopefully others more familiar with the codebase can help triage this issue.

olevole commented 7 years ago

@nomadlogic

1) stopped using chrome - not that great of a solution tbh

it's funny, but in my work most of panic/freezed was when i launch firefox ;-), so i switch to chromium in this host.

I've try to play with your hints. But I have noticed a huge difference in the frequency of freezes/panic when using GENERIC-NODEBUG. Without this:

INVARIANTS
INVARIANT_SUPPORT
WITNESS
WITNESS_SKIPSPIN
BUF_TRACKING
DEADLKRES
FULL_BUF_TRACKING

my system sometimes can work from several minutes till hours with frequent starting of application.

On GENERIC kernel, panic appears on first/second launching of any application!

olevole commented 7 years ago

@nomadlogic can you share setup with modesettings? As far as I understand, it something like:

Section "Device"
    Identifier  "Intel Graphics"
    Driver      "modesetting"
    # Option      "AccelMethod"    "glamor"
    Option      "DRI"            "3"
    # Option      "Backlight"      "intel_backlight"
EndSection

?

olevole commented 7 years ago

@nomadlogic Also if you have similar panic, can you try GENERIC-NODEBUG kernel with "intel" driver ? This significantly increases the stability, so may be problem in FreeBSD kernel with debug-witness-related code ;-)

nomadlogic commented 7 years ago

hey there - I actually have been running the GENERIC-NODEBUG kernel for a while and I agree it certainly helps. Although I still get the deadlock that you saw with chromium - so something is lurking there, just need time to work through the code to get a hit as to what the issue might be.

Regarding modesetting driver - your config looks correct. I have on additional option which helps fix an issue I have on skylake and my pointer not rendering correctly:

Option "SWcursor" "on"

nomadlogic commented 7 years ago

Hi is this still an issue on your end? I've been running drm-next without a predefined Xorg configuration for a while now. This will enable modesetting + glamorgl for acceleration. I also have been using Chrome daily without issues as well.

olevole commented 7 years ago

All known problems are over for me, I also use the latest versions without any problems. Thanks! Close issue