Bug 87942

Summary: [NVE7] Unable to use nouveau
Product: xorg Reporter: Bruno Pagani <bruno.n.pagani>
Component: Driver/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED DUPLICATE QA Contact: Xorg Project Team <xorg-team>
Severity: major    
Priority: medium CC: ariscop, bruno.n.pagani
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Xorg.8.log
none
xorg.conf.nouveau
none
Xorg.0.log none

Description Bruno Pagani 2015-01-01 18:20:43 UTC
Whenever I try to modprobe nouveau, I face this:

[  449.052494] MXM: GUID detected in BIOS
[  449.052560] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20140724/nsarguments-95)
[  449.052599] ACPI Warning: \_SB_.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20140724/nsarguments-95)
[  449.052683] pci 0000:02:00.0: optimus capabilities: enabled, status dynamic power, hda bios codec supported
[  449.052684] VGA switcheroo: detected Optimus DSM method \_SB_.PCI0.PEG0.PEGP handle
[  449.052715] nouveau 0000:02:00.0: enabling device (0006 -> 0007)
[  449.053208] nouveau  [  DEVICE][0000:02:00.0] BOOT0  : 0x0e7240a2
[  449.053211] nouveau  [  DEVICE][0000:02:00.0] Chipset: GK107 (NVE7)
[  449.053212] nouveau  [  DEVICE][0000:02:00.0] Family : NVE0
[  449.053228] nouveau  [   VBIOS][0000:02:00.0] checking PRAMIN for image...
[  449.053235] nouveau  [   VBIOS][0000:02:00.0] ... signature not found
[  449.053236] nouveau  [   VBIOS][0000:02:00.0] checking PROM for image...
[  449.053291] nouveau  [   VBIOS][0000:02:00.0] ... signature not found
[  449.053292] nouveau  [   VBIOS][0000:02:00.0] checking ACPI for image...
[  452.219933] nouveau  [   VBIOS][0000:02:00.0] ... appears to be valid
[  452.219937] nouveau  [   VBIOS][0000:02:00.0] using image from ACPI
[  452.220062] nouveau  [   VBIOS][0000:02:00.0] BIT signature found
[  452.220064] nouveau  [   VBIOS][0000:02:00.0] version 80.07.b3.00.10
[  452.220328] nouveau  [ DEVINIT][0000:02:00.0] adaptor not initialised
[  452.220336] nouveau  [   VBIOS][0000:02:00.0] running init tables
[  452.377876] nouveau 0000:02:00.0: irq 38 for MSI/MSI-X
[  452.377885] nouveau  [     PMC][0000:02:00.0] MSI interrupts enabled
[  452.377933] nouveau  [     PFB][0000:02:00.0] RAM type: GDDR5
[  452.377934] nouveau  [     PFB][0000:02:00.0] RAM size: 2048 MiB
[  452.377935] nouveau  [     PFB][0000:02:00.0]    ZCOMP: 0 tags
[  452.380181] nouveau  [    VOLT][0000:02:00.0] GPU voltage: 600000uv
[  452.409895] nouveau  [  PTHERM][0000:02:00.0] FAN control: none / external
[  452.409901] nouveau  [  PTHERM][0000:02:00.0] fan management: automatic
[  452.409912] nouveau  [  PTHERM][0000:02:00.0] internal sensor: yes
[  452.409942] nouveau  [     CLK][0000:02:00.0] 07: core 405 MHz memory 810 MHz 
[  452.410000] nouveau  [     CLK][0000:02:00.0] 0a: core 405-1058 MHz memory 1600 MHz 
[  452.410076] nouveau  [     CLK][0000:02:00.0] 0f: core 405-1058 MHz memory 5000 MHz 
[  452.410213] nouveau  [     CLK][0000:02:00.0] --: core 405 MHz memory 810 MHz 
[  452.450870] nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000002 FAULT at 0x4188ac [ IBUS ]
[  452.450919] vga_switcheroo: enabled
[  452.451052] [TTM] Zone  kernel: Available graphics memory: 8169116 kiB
[  452.451054] [TTM] Zone   dma32: Available graphics memory: 2097152 kiB
[  452.451055] [TTM] Initializing pool allocator
[  452.451061] [TTM] Initializing DMA pool allocator
[  452.451073] nouveau  [     DRM] VRAM: 2048 MiB
[  452.451075] nouveau  [     DRM] GART: 1048576 MiB
[  452.451079] nouveau E[     DRM] Pointer to TMDS table invalid
[  452.451082] nouveau  [     DRM] DCB version 4.0
[  452.451084] nouveau E[     DRM] Pointer to flat panel table invalid
[  452.458570] nouveau  [     DRM] MM: using COPY for buffer copies
[  452.458580] [drm] Initialized nouveau 1.2.0 20120801 for 0000:02:00.0 on minor 1

Then, I’m unable to use the card (through Bumblebee or DRI_PRIME, this is an Optimus system).

I’m running ArchLinux, with the following package versions:

linux 3.17.6
mesa 10.4.1
xf86-video-nouveau 1.0.11

Please tell me if I can do anything helping you to fix this bug.
Comment 1 Ilia Mirkin 2015-01-01 18:27:12 UTC
You haven't really described the issue beyond "not working".

http://nouveau.freedesktop.org/wiki/Optimus/

Where in those instructions do you run into trouble? I would advise against bumblebee -- nouveau will automatically put the card to sleep if it's not being used, and bumblebee will only interfere with that.
Comment 2 Bruno Pagani 2015-01-01 18:33:53 UTC
Created attachment 111620 [details]
Xorg.8.log

Well, in Bumblebee, this result in the attached Xorg.8.log, this is when trying to run glxinfo through optirun, and glxinfo works, but the output states this is not nouveau, but Gallium using LLVM pipe.

With bumblebee and bbswitch disabled, and after clean reboot, the result of modprobing nouveau is naturally still the same, and I can’t use DRI_PRIME since:

xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x49 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 4 outputs: 6 associated providers: 0 name:Intel
Comment 3 Ilia Mirkin 2015-01-01 18:44:30 UTC
[151022.040] (EE) NOUVEAU(0): Failed to initialise context object: 2D_NVC0 (0)
[151022.040] (EE) NOUVEAU(0): Error initialising acceleration.  Falling back to NoAccel

Two observations --

(a) nouveau isn't being added as a GPU but rather as a "primary" video card. I had assumed you had one of the new-fangled optimus situations where the screens are attached to the igpu and 3d offloading can be done to the secondary gpu -- is that not the case? Using an xorg.conf with Device entries tends to mess all of that up, btw.

(b) That error should have caused some nasties to be printed to dmesg. I think I know what they are, but I still want to see them.
Comment 4 Bruno Pagani 2015-01-01 19:01:41 UTC
Created attachment 111622 [details]
xorg.conf.nouveau

(In reply to Ilia Mirkin from comment #3)
> 
> Two observations --
> 
> (a) nouveau isn't being added as a GPU but rather as a "primary" video card.

That is supposed to be the behavior of Bumblebee (two X.org server, one with the integrated card only, another with the dedicated one only, fired up at demand, i.e. when you do optirun something), unless I misunderstood something somewhere.

> I had assumed you had one of the new-fangled optimus situations where the
> screens are attached to the igpu and 3d offloading can be done to the
> secondary gpu -- is that not the case? Using an xorg.conf with Device
> entries tends to mess all of that up, btw.

Indeed, every outputs are attached to my igpu. About xorg.conf files, I have /etc/bumblebee/xorg.conf.nouveau, which is used by Bumblebee and is attached, but I’ve also just seen that I have this in /etc/X11/xorg.conf.d/20-intel.conf:

Section "ServerLayout"
    Identifier  "Layout0"
    Option      "AutoAddGPU" "false"
EndSection

I’m going to comment that section and restart X to see if it changes anything about DRI_PRIME.

> (b) That error should have caused some nasties to be printed to dmesg. I
> think I know what they are, but I still want to see them.

You’re absolutely right, here they are:

On first attempt:
nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000000 FAULT at 0x418880 [ IBUS ]
nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000000 FAULT at 0x418c64 [ IBUS ]
nouveau E[   PIBUS][0000:02:00.0] GPC0: 0x419f74 0x00000555 (0x3800820c)
nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000000 FAULT at 0x41bff8 [ IBUS ]
nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000002 FAULT at 0x500914 [ IBUS ]
nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000002 FAULT at 0x4188ac [ IBUS ]
nouveau E[    PBUS][0000:02:00.0] MMIO write of 0xbadf1008 FAULT at 0x419cc0 [ IBUS ]
nouveau E[   PIBUS][0000:02:00.0] GPC0: 0x419cc0 0xbadf1008 (0x3800820c)
nouveau E[    PBUS][0000:02:00.0] MMIO write of 0xbadf1000 FAULT at 0x419eb4 [ IBUS ]
nouveau E[   PIBUS][0000:02:00.0] GPC0: 0x419eb4 0xbadf1000 (0x3800820c)
nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000000 FAULT at 0x405804 [ IBUS ]
nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x3f800000 FAULT at 0x405804 [ IBUS ]
nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000000 FAULT at 0x405804 [ IBUS ]
nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x3f800000 FAULT at 0x405804 [ IBUS ]
nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000000 FAULT at 0x405818 [ IBUS ]
nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x3f800000 FAULT at 0x405818 [ IBUS ]
nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000000 FAULT at 0x40581c [ IBUS ]
nouveau E[   PIBUS][0000:02:00.0] HUB0: 0x404170 0x00000012 (0x0e008201)
nouveau E[  PGRAPH][0000:02:00.0] HUB_INIT timed out
nouveau E[  PGRAPH][0000:02:00.0] 409000 - done 0x00000204
nouveau E[  PGRAPH][0000:02:00.0] 409000 - stat 0x00000000 0x00000000 0x00000000 0x00000000
nouveau E[  PGRAPH][0000:02:00.0] 409000 - stat 0x00000000 0x00000000 0x00000002 0x00000009
nouveau E[  PGRAPH][0000:02:00.0] 502000 - done 0x00000300
nouveau E[  PGRAPH][0000:02:00.0] 502000 - stat 0x00000000 0x00000000 0x00000000 0x00000000
nouveau E[  PGRAPH][0000:02:00.0] 502000 - stat 0x00000000 0x00000000 0x00000000 0x00000000
nouveau E[  PGRAPH][0000:02:00.0] init failed, -16

And next ones are all identical to:

nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000000 FAULT at 0x418880 [ IBUS ]
nouveau E[   PIBUS][0000:02:00.0] GPC0: 0x419eb4 0xbadf1000 (0x3800820c)
nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000002 FAULT at 0x405820 [ IBUS ]
nouveau E[   PIBUS][0000:02:00.0] HUB0: 0x404170 0x00000012 (0x0e008201)
nouveau E[  PGRAPH][0000:02:00.0] HUB_INIT timed out
nouveau E[  PGRAPH][0000:02:00.0] 409000 - done 0x00000204
nouveau E[  PGRAPH][0000:02:00.0] 409000 - stat 0x00000000 0x00000000 0x00000000 0x00000000
nouveau E[  PGRAPH][0000:02:00.0] 409000 - stat 0x00000000 0x00000000 0x00000002 0x00000009
nouveau E[  PGRAPH][0000:02:00.0] 502000 - done 0x00000300
nouveau E[  PGRAPH][0000:02:00.0] 502000 - stat 0x00000000 0x00000000 0x00000000 0x00000000
nouveau E[  PGRAPH][0000:02:00.0] 502000 - stat 0x00000000 0x00000000 0x00000000 0x00000000
nouveau E[  PGRAPH][0000:02:00.0] init failed, -16
Comment 5 Ilia Mirkin 2015-01-01 19:09:04 UTC
(In reply to bruno.pagani from comment #4)
> /etc/X11/xorg.conf.d/20-intel.conf:
> 
> Section "ServerLayout"
>     Identifier  "Layout0"
>     Option      "AutoAddGPU" "false"
> EndSection

Right, so this will disable adding the nouveau as a "GPU" screen, which means no prime.
> 
> > (b) That error should have caused some nasties to be printed to dmesg. I
> > think I know what they are, but I still want to see them.
> 
> You’re absolutely right, here they are:
> 
> On first attempt:
> nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000000 FAULT at 0x418880
> [ IBUS ]
> nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000000 FAULT at 0x418c64
> [ IBUS ]
> nouveau E[   PIBUS][0000:02:00.0] GPC0: 0x419f74 0x00000555 (0x3800820c)
> nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000000 FAULT at 0x41bff8
> [ IBUS ]
> nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000002 FAULT at 0x500914
> [ IBUS ]
> nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000002 FAULT at 0x4188ac
> [ IBUS ]
> nouveau E[    PBUS][0000:02:00.0] MMIO write of 0xbadf1008 FAULT at 0x419cc0
> [ IBUS ]
> nouveau E[   PIBUS][0000:02:00.0] GPC0: 0x419cc0 0xbadf1008 (0x3800820c)
> nouveau E[    PBUS][0000:02:00.0] MMIO write of 0xbadf1000 FAULT at 0x419eb4
> [ IBUS ]
> nouveau E[   PIBUS][0000:02:00.0] GPC0: 0x419eb4 0xbadf1000 (0x3800820c)
> nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000000 FAULT at 0x405804
> [ IBUS ]
> nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x3f800000 FAULT at 0x405804
> [ IBUS ]
> nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000000 FAULT at 0x405804
> [ IBUS ]
> nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x3f800000 FAULT at 0x405804
> [ IBUS ]
> nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000000 FAULT at 0x405818
> [ IBUS ]
> nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x3f800000 FAULT at 0x405818
> [ IBUS ]
> nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000000 FAULT at 0x40581c
> [ IBUS ]
> nouveau E[   PIBUS][0000:02:00.0] HUB0: 0x404170 0x00000012 (0x0e008201)
> nouveau E[  PGRAPH][0000:02:00.0] HUB_INIT timed out
> nouveau E[  PGRAPH][0000:02:00.0] 409000 - done 0x00000204
> nouveau E[  PGRAPH][0000:02:00.0] 409000 - stat 0x00000000 0x00000000
> 0x00000000 0x00000000
> nouveau E[  PGRAPH][0000:02:00.0] 409000 - stat 0x00000000 0x00000000
> 0x00000002 0x00000009
> nouveau E[  PGRAPH][0000:02:00.0] 502000 - done 0x00000300
> nouveau E[  PGRAPH][0000:02:00.0] 502000 - stat 0x00000000 0x00000000
> 0x00000000 0x00000000
> nouveau E[  PGRAPH][0000:02:00.0] 502000 - stat 0x00000000 0x00000000
> 0x00000000 0x00000000
> nouveau E[  PGRAPH][0000:02:00.0] init failed, -16
> 
> And next ones are all identical to:
> 
> nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000000 FAULT at 0x418880
> [ IBUS ]
> nouveau E[   PIBUS][0000:02:00.0] GPC0: 0x419eb4 0xbadf1000 (0x3800820c)
> nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000002 FAULT at 0x405820
> [ IBUS ]
> nouveau E[   PIBUS][0000:02:00.0] HUB0: 0x404170 0x00000012 (0x0e008201)
> nouveau E[  PGRAPH][0000:02:00.0] HUB_INIT timed out
> nouveau E[  PGRAPH][0000:02:00.0] 409000 - done 0x00000204
> nouveau E[  PGRAPH][0000:02:00.0] 409000 - stat 0x00000000 0x00000000
> 0x00000000 0x00000000
> nouveau E[  PGRAPH][0000:02:00.0] 409000 - stat 0x00000000 0x00000000
> 0x00000002 0x00000009
> nouveau E[  PGRAPH][0000:02:00.0] 502000 - done 0x00000300
> nouveau E[  PGRAPH][0000:02:00.0] 502000 - stat 0x00000000 0x00000000
> 0x00000000 0x00000000
> nouveau E[  PGRAPH][0000:02:00.0] 502000 - stat 0x00000000 0x00000000
> 0x00000000 0x00000000
> nouveau E[  PGRAPH][0000:02:00.0] init failed, -16

Yep, those are the errors I was afraid of. Try booting with "nouveau.runpm=0" -- this will disable the auto-sleep thing I talked about. Not a permanent solution, but I want to see if that gets things going or not.
Comment 6 Bruno Pagani 2015-01-01 19:27:03 UTC
cat /proc/cmdline returns nouveau.runpm=0 correctly, but optirun glxinfo is still failing with the exact same error and:

[  250.843476] nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000000 FAULT at 0x418880 [ IBUS ]
[  250.843564] nouveau E[   PIBUS][0000:02:00.0] GPC0: 0x419eb4 0xbadf1000 (0x3800820c)
[  250.843617] nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x3f800000 FAULT at 0x405804 [ IBUS ]
[  250.843773] nouveau E[   PIBUS][0000:02:00.0] HUB0: 0x404170 0x00000012 (0x0e008201)
[  252.845769] nouveau E[  PGRAPH][0000:02:00.0] HUB_INIT timed out
[  252.845777] nouveau E[  PGRAPH][0000:02:00.0] 409000 - done 0x00000204
[  252.845787] nouveau E[  PGRAPH][0000:02:00.0] 409000 - stat 0x00000000 0x00000000 0x00000000 0x00000000
[  252.845796] nouveau E[  PGRAPH][0000:02:00.0] 409000 - stat 0x00000000 0x00000000 0x00000002 0x00000009
[  252.845799] nouveau E[  PGRAPH][0000:02:00.0] 502000 - done 0x00000300
[  252.845804] nouveau E[  PGRAPH][0000:02:00.0] 502000 - stat 0x00000000 0x00000000 0x00000000 0x00000000
[  252.845808] nouveau E[  PGRAPH][0000:02:00.0] 502000 - stat 0x00000000 0x00000000 0x00000000 0x00000000
[  252.845810] nouveau E[  PGRAPH][0000:02:00.0] init failed, -16

And as for what is concerning PRIME, commenting the AutoAddGPU device didn’t changed anything, except for Xorg.0.log reporting this obviously:
[   136.219] (==) Automatically adding GPU devices

It think the issue is somewhere here (from the page you’ve linked):
KMS drivers for both GPUs loaded.
DDX drivers for both GPUs loaded.

nouveau does not load automatically at boot, I need to modprobe it manually. Is there a way to check or ensure nouveau KMS is loaded?
Comment 7 Ilia Mirkin 2015-01-01 19:33:12 UTC
(In reply to bruno.pagani from comment #6)
> cat /proc/cmdline returns nouveau.runpm=0 correctly, but optirun glxinfo is
> still failing with the exact same error and:
> 
> [  250.843476] nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000000
> FAULT at 0x418880 [ IBUS ]
> [  250.843564] nouveau E[   PIBUS][0000:02:00.0] GPC0: 0x419eb4 0xbadf1000
> (0x3800820c)
> [  250.843617] nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x3f800000
> FAULT at 0x405804 [ IBUS ]
> [  250.843773] nouveau E[   PIBUS][0000:02:00.0] HUB0: 0x404170 0x00000012
> (0x0e008201)
> [  252.845769] nouveau E[  PGRAPH][0000:02:00.0] HUB_INIT timed out
> [  252.845777] nouveau E[  PGRAPH][0000:02:00.0] 409000 - done 0x00000204
> [  252.845787] nouveau E[  PGRAPH][0000:02:00.0] 409000 - stat 0x00000000
> 0x00000000 0x00000000 0x00000000
> [  252.845796] nouveau E[  PGRAPH][0000:02:00.0] 409000 - stat 0x00000000
> 0x00000000 0x00000002 0x00000009
> [  252.845799] nouveau E[  PGRAPH][0000:02:00.0] 502000 - done 0x00000300
> [  252.845804] nouveau E[  PGRAPH][0000:02:00.0] 502000 - stat 0x00000000
> 0x00000000 0x00000000 0x00000000
> [  252.845808] nouveau E[  PGRAPH][0000:02:00.0] 502000 - stat 0x00000000
> 0x00000000 0x00000000 0x00000000
> [  252.845810] nouveau E[  PGRAPH][0000:02:00.0] init failed, -16

This means you're not going to get acceleration no matter how hard you try to change your config, I'm afraid. See bug 70354.

> 
> And as for what is concerning PRIME, commenting the AutoAddGPU device didn’t
> changed anything, except for Xorg.0.log reporting this obviously:
> [   136.219] (==) Automatically adding GPU devices
> 
> It think the issue is somewhere here (from the page you’ve linked):
> KMS drivers for both GPUs loaded.
> DDX drivers for both GPUs loaded.
> 
> nouveau does not load automatically at boot, I need to modprobe it manually.
> Is there a way to check or ensure nouveau KMS is loaded?

X has to start after nouveau loads, otherwise it doesn't know about the nouveau adapter. (This may no longer be the case with DRI3-based offloading actually...)
Comment 8 Bruno Pagani 2015-01-01 19:40:56 UTC
(In reply to Ilia Mirkin from comment #7)
> This means you're not going to get acceleration no matter how hard you try
> to change your config, I'm afraid. See bug 70354.
>

So in fact PRIME would not be working either?
 
> X has to start after nouveau loads, otherwise it doesn't know about the
> nouveau adapter. (This may no longer be the case with DRI3-based offloading
> actually...)

Then, is there a way to force nouveau to load at boot, and else, is restarting X after loading nouveau supposed to work (for the record, tried that, and it doesn’t work either, but I’m not sure if it is supposed to work since it looks like I’m indeed affected by the issue you’ve linked).
Comment 9 Ilia Mirkin 2015-01-01 19:43:22 UTC
(In reply to bruno.pagani from comment #8)
> (In reply to Ilia Mirkin from comment #7)
> > This means you're not going to get acceleration no matter how hard you try
> > to change your config, I'm afraid. See bug 70354.
> >
> 
> So in fact PRIME would not be working either?

The GPU's graph unit, responsible for all acceleration, is having trouble initializing. You would still be able to use reverse-prime though, I think. (i.e. use the intel gpu to render to screens attached to the nvidia gpu -- sometimes HDMI/etc are that way).

>  
> > X has to start after nouveau loads, otherwise it doesn't know about the
> > nouveau adapter. (This may no longer be the case with DRI3-based offloading
> > actually...)
> 
> Then, is there a way to force nouveau to load at boot, and else, is
> restarting X after loading nouveau supposed to work (for the record, tried
> that, and it doesn’t work either, but I’m not sure if it is supposed to work
> since it looks like I’m indeed affected by the issue you’ve linked).

Depends on the "it" that you're talking about. You should be seeing NOUVEAU(GPU-0) messages in your xorg log if you start X after nouveau has loaded. Do you not?
Comment 10 Bruno Pagani 2015-01-01 21:23:55 UTC
Created attachment 111625 [details]
Xorg.0.log

(In reply to Ilia Mirkin from comment #9)
> The GPU's graph unit, responsible for all acceleration, is having trouble
> initializing. You would still be able to use reverse-prime though, I think.
> (i.e. use the intel gpu to render to screens attached to the nvidia gpu --
> sometimes HDMI/etc are that way).

OK, but that’s pointless here, I’ve choose this laptop after being sure that HDMI and mini-DP were wired to the Intel GPU.

> > > X has to start after nouveau loads, otherwise it doesn't know about the
> > > nouveau adapter. (This may no longer be the case with DRI3-based offloading
> > > actually...)
> > 
> > Then, is there a way to force nouveau to load at boot, and else, is
> > restarting X after loading nouveau supposed to work (for the record, tried
> > that, and it doesn’t work either, but I’m not sure if it is supposed to work
> > since it looks like I’m indeed affected by the issue you’ve linked).
> 
> Depends on the "it" that you're talking about. You should be seeing
> NOUVEAU(GPU-0) messages in your xorg log if you start X after nouveau has
> loaded. Do you not?

I was talking of restarting X after loading nouveau, since I know no way to force nouveau to load at boot. I wasn’t seeing those lines, but I’ve figured out it was because of this section of the multiple xorg.conf files:

Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option      "Backlight"     "intel_backlight"
EndSection

Since I’m currently not needing it (because in my actual configuration it has no effect, but that’s another story), I commented this out, and it does “work”, in the sense that I get the attached Xorg.0.log, and obviously the following lines in dmesg:

[ 6509.306972] nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x00000000 FAULT at 0x418880 [ IBUS ]
[ 6509.307022] nouveau E[   PIBUS][0000:02:00.0] GPC0: 0x419eb4 0xbadf1000 (0x3800820c)
[ 6509.307071] nouveau E[    PBUS][0000:02:00.0] MMIO write of 0x3f800000 FAULT at 0x405804 [ IBUS ]
[ 6509.307263] nouveau E[   PIBUS][0000:02:00.0] HUB0: 0x404170 0x00000012 (0x0e008201)
[ 6511.309246] nouveau E[  PGRAPH][0000:02:00.0] HUB_INIT timed out
[ 6511.309254] nouveau E[  PGRAPH][0000:02:00.0] 409000 - done 0x00000204
[ 6511.309263] nouveau E[  PGRAPH][0000:02:00.0] 409000 - stat 0x00000000 0x00000000 0x00000000 0x00000000
[ 6511.309273] nouveau E[  PGRAPH][0000:02:00.0] 409000 - stat 0x00000000 0x00000000 0x00000002 0x00000009
[ 6511.309276] nouveau E[  PGRAPH][0000:02:00.0] 502000 - done 0x00000300
[ 6511.309281] nouveau E[  PGRAPH][0000:02:00.0] 502000 - stat 0x00000000 0x00000000 0x00000000 0x00000000
[ 6511.309285] nouveau E[  PGRAPH][0000:02:00.0] 502000 - stat 0x00000000 0x00000000 0x00000000 0x00000000
[ 6511.309287] nouveau E[  PGRAPH][0000:02:00.0] init failed, -16

Also:

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

But after “xrandr --setprovideroffloadsink nouveau Intel”, “DRI_PRIME=1 glxinfo” results in X.org crashing with:

[  7519.419] (EE) 
[  7519.419] (EE) Backtrace:
[  7519.419] (EE) 0: /usr/bin/Xorg.bin (xorg_backtrace+0x56) [0x594276]
[  7519.419] (EE) 1: /usr/bin/Xorg.bin (0x400000+0x1983c9) [0x5983c9]
[  7519.419] (EE) 2: /usr/lib/libc.so.6 (0x7f51e163a000+0x33b20) [0x7f51e166db20]
[  7519.419] (EE) 3: /usr/bin/Xorg.bin (0x400000+0x1632a4) [0x5632a4]
[  7519.419] (EE) 4: /usr/bin/Xorg.bin (0x400000+0x1632dd) [0x5632dd]
[  7519.419] (EE) 5: /usr/bin/Xorg.bin (DRI2Connect+0x3d) [0x56537d]
[  7519.419] (EE) 6: /usr/bin/Xorg.bin (0x400000+0x16611a) [0x56611a]
[  7519.419] (EE) 7: /usr/bin/Xorg.bin (0x400000+0x37807) [0x437807]
[  7519.419] (EE) 8: /usr/bin/Xorg.bin (0x400000+0x3b9a6) [0x43b9a6]
[  7519.419] (EE) 9: /usr/lib/libc.so.6 (__libc_start_main+0xf0) [0x7f51e165a040]
[  7519.419] (EE) 10: /usr/bin/Xorg.bin (0x400000+0x25dce) [0x425dce]
[  7519.419] (EE) 
[  7519.419] (EE) Segmentation fault at address 0x28
[  7519.420] (EE) 
Fatal server error:
[  7519.420] (EE) Caught signal 11 (Segmentation fault). Server aborting
[  7519.420] (EE) 
[  7519.420] (EE) 
Please consult the The X.Org Foundation support 
         at http://wiki.x.org
 for help. 
[  7519.420] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[  7519.420] (EE) 
[  7519.420] (II) AIGLX: Suspending AIGLX clients for VT switch
[  7519.435] (EE) Server terminated with error (1). Closing log file.

So I suppose that now this can be closed and that I should follow on bug 70354.
Comment 11 Bruno Pagani 2015-01-01 21:44:41 UTC
Oh, and thank you for you very quick answers and your help figuring this issue out!
Comment 12 Samuel Pitoiset 2015-11-24 16:33:52 UTC

*** This bug has been marked as a duplicate of bug 70354 ***

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.