[Nouveau] Progress on nv46 vblank bug
Hans de Goede
hdegoede at redhat.com
Tue Jun 16 02:34:20 PDT 2015
Hi All,
So I've been working~w banging my head against the nv46 vblank bug
again and I've been finding out some interesting things.
This is all using the latest kernel + ddx + mesa code.
All of this was tested with *cold* (power removed from wall outlet
for 20 seconds) boots in between the scenarios because this is
really weird, all boots where into text mode.
Scenario 1:
a) startx /usr/bin/glxgears -info
glxgears works, is using the nouveau mesa driver and is synced at
60 fps.
b) startx /usr/bin/xterm -title foo
And then in the xterm:
metacity&
glxgears -info
glxgears works, is using the nouveau mesa driver and is synced at
60 fps.
Scenario 2:
a) startx /usr/bin/xterm -title foo
And then in the xterm:
metacity&
glxgears -info
glxgears does not work /proc/interrupts shows the interrupt for
nvkm is not firing.
b) startx /usr/bin/glxgears -info
glxgears does not work /proc/interrupts shows the interrupt for
nvkm is not firing.
Weird huh, but it gets even weirder, if after scenario 2 I reload
the nouveau kernel module, using the exact same module as loaded
during boot, then I can run scenario 1 and it works the same as
after a cold boot (iow things work as they should).
Ok, so reloading the module sets things back to a pristine state,
well not quite. Because after a module reload scenario 2 also
works, where as after a cold boot scenario 2 does not work ...
Also once things are in a working state I can pretty much do
whatever I want and they stay working...
My theory so far is that plymouth does something which causes
problems when followed by starting X + xterm + metacity, where as
firing X + glxgears directly after boot undoes the something
plymouth has done, and from there on everything is good.
So any hints how to mvoe forward with this are appreciated.
Regards,
Hans
p.s.
Possibly related, likely unrelated during nouveau module (re) load I get these 2 errors:
[ 240.837471] nouveau E[ PBUS][0000:01:00.0] MMIO write of 0x00000000 FAULT at 0x6833c8
[ 240.837945] nouveau E[ PBUS][0000:01:00.0] MMIO write of 0x4f4f5c4e FAULT at 0x6833c8
Where by the addresses listed as being written to (0x00000000 and 0x4f4f5c4e) are different
each module load, so they seem to be taken from uninitialized memory.
Hints on how to debug this are welcome too.
More information about the Nouveau
mailing list