Bug 77333

Summary: [NV108] Unable to use nouveau GK208 as offloadsink provider
Product: xorg Reporter: Nirbheek Chauhan <nirbheek.chauhan>
Component: Driver/nouveauAssignee: Nouveau Project <nouveau>
Status: VERIFIED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg | grep -E "nouveau|drm"
none
grep EE /var/log/Xorg.0.log.old
none
lspci -v
none
DRI_PRIME=1 glxinfo
none
dmesg | grep -E "nouveau|drm" -- drm-next + nouveau.config=NvGrUseFW=1 none

Description Nirbheek Chauhan 2014-04-11 15:44:55 UTC
Steps to reproduce:

$ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x64 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 3 outputs: 2 associated providers: 1 name:Intel
Provider 1: id: 0x3f cap: 0x5, Source Output, Source Offload crtcs: 0 outputs: 0 associated providers: 1 name:nouveau

$ xrandr --setprovideroffloadsink nouveau Intel

$ DRI_PRIME=1 glxinfo | grep "OpenGL vendor string"
[segfault]

I'm running kernel 3.14 on Fedora 20, with Xorg 1.14.4, xf86-video-nouveau-1.0.9, Mesa 10.0.4. Logs are attached below.
Comment 1 Nirbheek Chauhan 2014-04-11 15:45:38 UTC
Created attachment 97223 [details]
dmesg | grep -E "nouveau|drm"
Comment 2 Nirbheek Chauhan 2014-04-11 15:46:02 UTC
Created attachment 97224 [details]
grep EE /var/log/Xorg.0.log.old
Comment 3 Nirbheek Chauhan 2014-04-11 15:47:24 UTC
Created attachment 97225 [details]
lspci -v
Comment 4 Nirbheek Chauhan 2014-04-11 16:33:29 UTC
Created attachment 97228 [details]
DRI_PRIME=1 glxinfo

With xf86-video-nouveau, the segfault goes away, but DRI_PRIME doesn't work either. Log attached.
Comment 5 Nirbheek Chauhan 2014-04-12 07:48:26 UTC
Created attachment 97250 [details]
dmesg | grep -E "nouveau|drm" -- drm-next + nouveau.config=NvGrUseFW=1

Situation does not change with a kernel compiled from commit c39b0695 on drm-next, and by using external firmware.
Comment 6 Ilia Mirkin 2014-05-06 18:51:48 UTC
I just noticed that you mention using xf86-video-nouveau 1.0.9. However GK208 is only supported starting 1.0.10. Please upgrade.

If the issue persists, please attach full logs.
Comment 7 Ilia Mirkin 2014-05-06 18:52:57 UTC
Oh, also, make sure to grab mesa 10.2-rc1 -- there are a bunch of fixes for GK208 in there (although it still won't be perfect).
Comment 8 Nirbheek Chauhan 2014-05-07 05:03:17 UTC
(In reply to comment #6)
> I just noticed that you mention using xf86-video-nouveau 1.0.9. However
> GK208 is only supported starting 1.0.10. Please upgrade.
> 
> If the issue persists, please attach full logs.

Sorry, I should've been clearer in comment 4. I forgot to mention that those are the logs with xf86-video-nouveau 1.0.10.
Comment 9 Ilia Mirkin 2014-08-21 22:28:32 UTC
(In reply to comment #8)
> (In reply to comment #6)
> > I just noticed that you mention using xf86-video-nouveau 1.0.9. However
> > GK208 is only supported starting 1.0.10. Please upgrade.
> > 
> > If the issue persists, please attach full logs.
> 
> Sorry, I should've been clearer in comment 4. I forgot to mention that those
> are the logs with xf86-video-nouveau 1.0.10.

Can you confirm that you were also using mesa 10.2.x? (10.2.2 and later should work largely fine on GK208.)
Comment 10 Nirbheek Chauhan 2014-08-23 03:37:23 UTC
(In reply to comment #9)
> Can you confirm that you were also using mesa 10.2.x? (10.2.2 and later
> should work largely fine on GK208.)

I can't remember if I was, but I can try again and report back. Will try this out today.
Comment 11 Nirbheek Chauhan 2014-09-17 02:21:40 UTC
(In reply to comment #10)
> (In reply to comment #9)
> > Can you confirm that you were also using mesa 10.2.x? (10.2.2 and later
> > should work largely fine on GK208.)
> 
> I can't remember if I was, but I can try again and report back. Will try
> this out today.

"Today" happened, I was able to test and now it works!

$ DRI_PRIME=0 glxinfo | grep "OpenGL vendor string"
OpenGL vendor string: Intel Open Source Technology Center

$ DRI_PRIME=1 glxinfo | grep "OpenGL vendor string"
OpenGL vendor string: nouveau

$ DRI_PRIME=1 glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
6721 frames in 5.0 seconds = 1344.181 FPS

(that's such a lie, but at least it's working!)

This is with kernel 3.16.2-200.fc20, xorg 1.14.4, mesa-10.1.5, xf86-video-nouveau-1.0.10. I wasn't able to find Fedora 20 packages for mesa-10.2.x, but I'm guessing this works with 10.2 as well.

Closing as FIXED, thanks!
Comment 12 Nirbheek Chauhan 2014-09-17 02:41:20 UTC
(In reply to comment #11)
> This is with kernel 3.16.2-200.fc20, xorg 1.14.4, mesa-10.1.5,
> xf86-video-nouveau-1.0.10. I wasn't able to find Fedora 20 packages for
> mesa-10.2.x, but I'm guessing this works with 10.2 as well.
> 

I tested with mesa-10.2.5 using a Fedora COPR[1], and it works better! I'm not getting rendering artifacts while running things other than glxgears.

1. http://copr.fedoraproject.org/coprs/jujuxiii/testing-fc20/

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.