Bug 91722

Summary: [NVE4] PGRAPH - grctx template channel unload timeout, failed to construct context, init failed, -16
Product: Mesa Reporter: Kyle De'Vir <kyle.devir>
Component: Drivers/DRI/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED MOVED QA Contact: Nouveau Project <nouveau>
Severity: major    
Priority: medium CC: stevewilliams
Version: 10.6   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: dmesg.log without patches
Xorg.0.log from nvidia driver
mmiotrace.log.xz-part-aa from nvidia driver
mmiotrace.log.xz-part-ab from nvidia driver
mmiotrace.log.xz-part-ac from nvidia driver
dmesg.txt with c800 nouveau patch
dmesg.log with 205877f9156daebb975fb46205488da6fdf5b3f5 patch
journal log -b-1 failed boot

Description Kyle De'Vir 2015-08-22 01:52:42 UTC
I have an Nvidia GeForce GTX 880M, which nouveau does not play with nicely. I have installed nouveau-fw, so the proprietary firmware is available.

When I boot my laptop, I get these errors:

nouveau E[  PGRAPH][0000:01:00.0] grctx template channel unload timeout
nouveau E[  PGRAPH][0000:01:00.0] failed to construct context
nouveau E[  PGRAPH][0000:01:00.0] init failed, -16

Operating system: Chakra OS (64-bit)

Relevant packages:
 - linux-ck 4.1.6
 - libdrm 2.4.64
 - mesa 10.6.4
 - mesa-vdpau 10.6.4
 - opencl-mesa 10.6.4
 - libva-mesa-driver 10.6.4
 - xf86-video-nouveau 1.0.11
 - nouveau-fw 340.32

I will also post my dmesg.log, Xorg.0.log and mmiotrace.log.xz.

Many thanks in advance. :)
Comment 1 Kyle De'Vir 2015-08-22 01:53:30 UTC
Created attachment 117849 [details]
dmesg.log without patches
Comment 2 Kyle De'Vir 2015-08-22 01:53:54 UTC
Created attachment 117850 [details]
Xorg.0.log from nvidia driver
Comment 3 Ilia Mirkin 2015-08-22 02:06:55 UTC
(In reply to kyle.devir from comment #0)
> I have an Nvidia GeForce GTX 880M, which nouveau does not play with nicely.

Please try the following patch: http://cgit.freedesktop.org/~darktama/nouveau/commit/?h=hack-gk106m&id=64b75967fe13499f12876ec10a31d9141e828714

Make sure to use nouveau.runpm=0
Comment 4 Kyle De'Vir 2015-08-22 02:20:59 UTC
My mmiotrace.log.xz is 5.6 MiB... I will have to split it, I guess, because I have already compressed it with "xz -9".
Comment 5 Kyle De'Vir 2015-08-22 02:22:17 UTC
Created attachment 117851 [details]
mmiotrace.log.xz-part-aa from nvidia driver
Comment 6 Kyle De'Vir 2015-08-22 02:23:06 UTC
Created attachment 117852 [details]
mmiotrace.log.xz-part-ab from nvidia driver
Comment 7 Kyle De'Vir 2015-08-22 02:23:50 UTC
Created attachment 117853 [details]
mmiotrace.log.xz-part-ac from nvidia driver
Comment 8 Kyle De'Vir 2015-08-22 02:24:38 UTC
Thanks Ilia. I will test it out, and get back to you.
Comment 9 Kyle De'Vir 2015-08-22 03:13:05 UTC
Created attachment 117854 [details]
dmesg.txt with c800 nouveau patch

The patch did nothing except turn off the screen, for some reason. With some careful typing, I saved the dmesg output.
Comment 10 Kyle De'Vir 2015-08-22 04:47:40 UTC
Are there any other patches that you could recommend trying?
Comment 11 Adam Williamson 2015-09-23 15:20:48 UTC
We have a downstream reporter with what looks like much the same issue:

https://bugzilla.redhat.com/show_bug.cgi?id=1264872

Sep 23 20:06:31 w50.localdomain kernel: nouveau E[  PGRAPH][0000:01:00.0] wait for idle timeout (en: 1, ctxsw: 0, busy: 1)
Sep 23 20:06:33 w50.localdomain kernel: nouveau E[  PGRAPH][0000:01:00.0] wait for idle timeout (en: 1, ctxsw: 0, busy: 1)
Sep 23 20:06:35 w50.localdomain kernel: nouveau E[  PGRAPH][0000:01:00.0] wait for idle timeout (en: 1, ctxsw: 0, busy: 1)
Sep 23 20:06:37 w50.localdomain kernel: nouveau E[  PGRAPH][0000:01:00.0] wait for idle timeout (en: 1, ctxsw: 0, busy: 1)
Sep 23 20:06:39 w50.localdomain kernel: nouveau E[  PGRAPH][0000:01:00.0] grctx template channel unload timeout
Sep 23 20:06:39 w50.localdomain kernel: nouveau E[  PGRAPH][0000:01:00.0] failed to construct context
Sep 23 20:06:39 w50.localdomain kernel: nouveau E[  PGRAPH][0000:01:00.0] init failed, -16
Sep 23 20:06:39 w50.localdomain gnome-session[1428]: nvc0_screen_create:716 - Error allocating PGRAPH context for M2MF: -16

Adapter there is:

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK106GLM [Quadro K2100M] [10de:11fc] (rev a1)
Comment 12 Ilia Mirkin 2015-09-23 15:51:37 UTC
Ben pushed an improved version of that c800 patch into 4.3-rc --

http://cgit.freedesktop.org/nouveau/linux-2.6/commit/?h=linux-4.3&id=205877f9156daebb975fb46205488da6fdf5b3f5

and enabled it by default on the Tecra W50:

http://cgit.freedesktop.org/nouveau/linux-2.6/commit/?h=linux-4.3&id=778613e583994d947960a7f177226d0e7b5ef124

If you have different hw, you can try it out by booting with

nouveau.config=War00C800_0=1
Comment 13 Kyle De'Vir 2015-09-24 03:56:34 UTC
The patch kind of works. A full Plasma session on Xorg did not work. Screen updates froze, updating every full minute, or so. From that observation, the desktop did work. With some luck, I opened an application, which only showed up after a long while.

Also, I was able to start Weston, but there were minor visual glitches with applications I started on Xwayland.

I was also able to start kwin_wayland with plasmashell running on Xwayland, but plasmashell soon crashed.
Comment 14 Ilia Mirkin 2015-09-24 03:57:27 UTC
afaik plasmashell has its own independent problems with nouveau, so not a great thing to start testing with :)
Comment 15 Kyle De'Vir 2015-09-24 04:00:27 UTC
Created attachment 118419 [details]
dmesg.log with 205877f9156daebb975fb46205488da6fdf5b3f5 patch

Here is my dmesg.log from use of the updated patch.

I used nouveau.config=War00C800_0=1 and nouveau.runpm=0 as my kernel options. My software versions are still the same.
Comment 16 Kyle De'Vir 2015-09-24 04:01:54 UTC
(In reply to Ilia Mirkin from comment #14)
> afaik plasmashell has its own independent problems with nouveau, so not a
> great thing to start testing with :)

That was a shockingly fast reply! Thanks, Ilia. :)

So... shall I continue testing with Weston and Xwayland, then? What issues does plasmashell have with Nouveau? Where should I start looking?
Comment 17 Ilia Mirkin 2015-09-24 04:07:34 UTC
(In reply to kyle.devir from comment #16)
> (In reply to Ilia Mirkin from comment #14)
> > afaik plasmashell has its own independent problems with nouveau, so not a
> > great thing to start testing with :)
> 
> That was a shockingly fast reply! Thanks, Ilia. :)
> 
> So... shall I continue testing with Weston and Xwayland, then? What issues
> does plasmashell have with Nouveau? Where should I start looking?

https://bugs.freedesktop.org/show_bug.cgi?id=92077
Comment 18 Kyle De'Vir 2015-09-24 04:17:31 UTC
Ah, thanks, Ilia! I will keep track of it, then. :)
Comment 19 Steve 2015-09-25 02:03:06 UTC
Created attachment 118437 [details]
journal log -b-1 failed boot

I am the user Adam Williamson is referring to above with the Toshiba w50
Trying Fedora 23 beta with all installed updates.

I tried with kernel options:

noveau.config=War00c800_0=1

and:

noveau.config=War00c800_0=1 nouveau.runpm=0

It still fails to boot.
Comment 20 Ilia Mirkin 2015-09-25 02:44:31 UTC
Linux version 4.2.1-300.fc23.x86_64

Don't know what fedora patches are in there, but the upstream 4.2.1 doesn't have the nouveau logic in question. You need 4.3-rc1 (or rc2) to get it.
Comment 21 Steve 2015-09-29 00:32:32 UTC
I have tested and can confirm that using rawhide kernel 4.3.0-0.rc2.git1.2.fc24.x86_64 fixes the issues for me and boots using default options.

Thanks.
Comment 22 GitLab Migration User 2019-09-18 20:40:44 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/1081.

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.