02:38 AndrewR: imirkin, this is ..interesting. Old mesa (11.1.4) can be compiled against new libdrm, and glxgears works. But xvmc failed with xvmc_bench: nouveau_buffer.c:691: nouveau_buffer_create: Assertion `buffer->domain' failed.
02:39 AndrewR: imirkin, and at the same time I already can see some ers in dmesg (on kernel 4.2)
02:40 AndrewR: imirkin, nouveau E[ PMPEG][0000:01:00.0] ch 4 [xvmc_bench[302]] 0x01000000 0x00000010 0x00000190 0x00004000
02:40 AndrewR: imirkin, my guess old interface between libdrm and xvmc (for this old hw) somewhat broken ....
02:41 imirkin: that buffer->domain assert sounds familiar... i think that was a mesa bug i introduced at one point or another
02:43 AndrewR: imirkin, I'll try to compile next stable branch (11.2, where whole new libdrm conversion landed) and see how it will fare ..
02:44 AndrewR: https://lists.freedesktop.org/archives/nouveau/2015-December/023591.html - this patch was probably dropped, and you fixed mesa independently in mid-2016 ...
02:47 imirkin: i'd recommend previous stable ;) like ... 10.3 or something.
02:47 imirkin: AndrewR: that's a separate issue than what's happening
02:47 imirkin: it has to do with the fact that the old code was buggy-but-worked-anyways
02:48 imirkin: and newer kernel clamped down on it a bit
03:03 AndrewR: imirkin, then it will be interesting to learn what exactly broke ...
03:10 imirkin: basically in the nv50 and nvc0 code, we were selecting the wrong class. the old kernel would allow that, but newer kernels clamped down on that behavior. however the nouveau_video.c is definitely picking the right class - NV31_MPEG for pre-g84, and G82_MPEG for g84+
03:12 AndrewR: imirkin, still, I'm not sure about this whole stuff with libdrm. It seems to emulate both new and old interface for mesa, but does it translate new mesa to old (pre 4.3) kernel?
03:13 imirkin: yeah
03:13 imirkin: it should.
03:13 imirkin: perhaps skeggsb would have some better ideas off the top of his head
03:13 AndrewR: I think no...but may be I used too old mesa / libdrm snapshot when I tried to test 4.2 kern + mid-2006 mesa/drm on some kepler card..it failed to create decoders despite firmware files put into lib/firmware ...
03:14 imirkin: ok ... could have been some specific bug given your exact software combo
03:14 imirkin: in general it should work ;)
03:16 AndrewR: imirkin, thanks ... I think i'll try to turn on more debug via module param for new kern (4.10) and look at errs
03:16 AndrewR: I prefer to move forward :}
03:17 imirkin: sure
03:22 AndrewR: imirkin, I think there was env. variable for turning on more libdrm_nouveau debug msgs at runtime ....
03:22 imirkin: yeah, that sounds familiar, although i never use it
03:26 AndrewR: imirkin, NOUVEAU_LIBDRM_DEBUG=1
03:34 AndrewR: imirkin, also, because xvmc tied to textured video, and this one comes from ddx, and ddx compiled against new libdrm...hm..I need to recompile it too, while it will not fix kern issue
03:36 imirkin: the ABI didn't change iirc
03:40 AndrewR: imirkin, well, it still works as in displays stuff via xv, and regular x (EXA) so..it can use 3d, definitely. But...may be something broke exactly at interaction between those two classes (pmpeg and others), but I don't have my new machine to retest with nv92.
03:42 imirkin: no worries
11:27 mupuf: how about giving Echelon9 commits right on envytools?
11:35 mwk: mupuf: go for it
11:38 mupuf: done
11:39 mwk: ok, great
11:39 mwk: gl hf
11:39 mupuf: same to you ;)
11:40 mwk: cheers from Japan :)
11:40 mwk:is going back to Poland tomorrow, through Helsinki
11:40 mwk: wish I had some time there..
11:50 mupuf: next time!
11:51 mupuf: I may actually consider coming back to your home city ... for a concert of Riverside!
13:32 Echelon9: @mupuf @mwk: thanks, accepted
15:41 Shred00: i'm starting to get display artifacts and outright hangs with latest nouveau/kernel. there's messages in dmesg about it too. here's everything matching "nouveau" from dmesg: http://brian.interlinx.bc.ca/nouveau-errors
15:41 Shred00: there seem to be lots of
15:41 Shred00: Jan 29 10:35:33 laptop kernel: nouveau 0000:05:00.0: fb: trapped write at 0100800000 on channel -1 [0fee0000 unknown] engine 06 [BAR] client 0a [TEXTURE] subclient 01 [IN] reason 00000002 [PAGE_NOT_PRESENT]
15:41 Shred00: with some:
15:41 Shred00: Jan 29 10:35:34 laptop kernel: nouveau 0000:05:00.0: disp: ERROR 7 [INVALID_HANDLE] 00 [] chid 0 mthd 0874 data ffff007a
15:43 imirkin: Shred00: did you only update the kernel, or anything else as well?
15:43 Shred00: i'm not convinced it's related to a kernel update. i can't specifically correlate it starting to happen the day a kernel was updated for example.
15:45 imirkin: the fact that the channel is unknown is quite odd.
15:46 imirkin: any particular reason you're using a custom vbios?
15:48 imirkin: [not that it matters, you haven't suspended, so the card init came from the onboard vbios run during boot]
15:51 Shred00: custom vbios was for some errors i was getting with nouveau previously. probably a few years at this point.
15:52 Shred00: May 24 2014 is the date on it.
15:54 Shred00: you helped me with that. :-) https://people.freedesktop.org/~cbrill/dri-log/?channel=nouveau&date=2014-05-24
15:56 imirkin: hm. of course i don't say *how* i determined that magical fixup...
15:57 imirkin: well, wtvr
15:57 imirkin: i'd recommend trying to find a working software arrangement. if you can't, consider the possibility that the lifetime of hw isn't infinite.
15:58 imirkin: esp the G86 times involved bad solder joints
15:58 imirkin: and those GPUs tend to run really hot on top of that.
15:58 imirkin: not saying that's necessarily what's happening, but something to keep in the back of your head
15:59 Shred00: shit-on-a-stick. one of the reasons i hate laptops. one bad thing and the rest is junk too.
15:59 Shred00: is there any way to be more sure it is hardware?
16:00 Shred00: since this is a many hundreds of dollars replacement rather than just fifty or so for a new video card.
16:01 Shred00: there's even artifacts in the grub menu. :-(
16:14 Shred00: nothing else we can test/do to be sure it's a hardware problem? granted that the video starts to go flaky even at grub time is a smoking gun.
16:21 Tom^: i had two g86 die on me, and that was at the time those actually were the top notch cards
16:21 Tom^: silly solder joints :(
16:21 Tom^: both lived at most 1 year
16:21 Tom^: Shred00: but why not try boot up an old windows xp install? :D
16:24 imirkin_: Shred00: before ditching the laptop entirely, you can try the toaster oven approach
16:24 imirkin_: some people have gotten good mileage out of that one.
16:24 Shred00: is that what i think it is?
16:24 imirkin_: pretty much.
16:24 imirkin_: poor man's flow soldering technique ;)
16:25 Shred00: heh
16:25 imirkin_: [if you have access to a real flow soldering setup, use that one ;) ]
16:25 karolherbst: imirkin_: how should it be done? 2 hours at 200°C?
16:25 karolherbst: :p
16:25 nyef: I wouldn't want to do the toaster oven thing with a toaster oven that has been/will be used for food. Even if it's RoHS hardware, there's a good chance of *something* coming off the board that wouldn't be fun in food.
16:25 imirkin_: lol no
16:25 imirkin_: nyef: but silicon tastes so gooood
16:26 imirkin_: or more to the point, PVC :)
16:26 nyef: imirkin_: Right. And some of the materials used to glue FR4 sheets together, as well.
16:28 imirkin_: i remember the laser cutter training pretty well. "UNDER NO CIRCUMSTANCES ARE YOU TO CUT PVC" :)
16:28 karolherbst: sentences like that are only for the weak
16:28 imirkin_: ... and those who like to live.
16:28 imirkin_: a cholrine-gas-free life
16:29 nyef: Right, vinyline gas is lethal. (-:
16:29 karolherbst: as I said: for the weak
16:30 nyef: I have some hardware that could do with a good reflow, though I'm hoping it's not BGA hardware that needs reballing.
16:30 imirkin_: is it the V that kills? i thought it was the C...
16:30 nyef: Maybe it's the P that kills?
16:31 imirkin_: :p
16:33 imirkin_: Vinyl chloride is a gas with a sweet odor.
16:33 imirkin_: yummy.
16:33 imirkin_: https://en.wikipedia.org/wiki/Vinyl_chloride
16:45 nyef: Mono-Vinyl Chloride? MVC? Where have I seen that acronym before?
17:15 Tom^: i wonder if you cant google some bad points where the solder usually died
17:15 Tom^: i mean it was quite normal on those boards, and simply check them out and resolder
17:15 Tom^: fun tinkering :)
17:55 mupuf: Echelon9: you're welcome ;)
22:36 MarcinWieczorek: Hey mwk
22:37 MarcinWieczorek: I'd like to report poor performance with CS:GO, is there anything I can do to help?
22:42 karolherbst: MarcinWieczorek: figure out why it is slow, that would help
22:43 karolherbst: there are some counters exposed through GALLIUM_HUD which might hep
22:43 karolherbst: *help
22:43 imirkin: MarcinWieczorek: you reclocked your gpu to max speed right?
22:43 karolherbst: but usually we are as clueless as everybody else
22:43 karolherbst: imirkin: csgo has terrible perf with nouveau
22:43 karolherbst: well "terrible"
22:43 imirkin: karolherbst: ah ok. didn't realize that.
22:43 karolherbst: it ain't that bad, but it's around 60-70% I think
22:44 imirkin: hakzsam: hey, do you remember why we put LateAlgebraicOpt where we did? do you think it'd suffer if we put it after LoadPropagation + IndirectPropagation?
22:51 MarcinWieczorek: imirkin: I have not done anything with the gpu
22:52 imirkin: MarcinWieczorek: remind me which gpu you have?
22:54 MarcinWieczorek: GTX 750 Ti
22:54 MarcinWieczorek: 4.9.6 with -git driver
22:55 imirkin: you want to grab 4.10-rc
22:56 imirkin: which will allow you to reclock it, which should get you an extra 10x or so
22:58 MarcinWieczorek: The GPU sounds like a jet already. The performance on lowest details is not acceptable. It's hard to aim
22:58 MarcinWieczorek: Overclocking it doesn't seem like a solution
22:59 imirkin: i don't think anyone's suggesting overclocking
23:00 imirkin: i'm suggesting making it go from the boot clocks, which can be as low as 50mhz, to the max clocks, which can be in the 1ghz range for shaders. ram speeds are obviously also very important.
23:01 imirkin: starting with tesla, nvidia provides multiple perf levels, and reclocking is the mechanism to switch between them
23:02 MarcinWieczorek: The sad thing is that I have no clue what it does mean
23:02 imirkin: starting with kepler or so, gpu's boot to the lowest perf level. fermi tended to boot to a middle or lowest perf level depending on the board, tesla was kind of all over.
23:03 imirkin: ok, well, you know how (modern) CPUs have adjustable frequencies?
23:03 MarcinWieczorek: yes
23:03 imirkin: well, GPUs do too
23:04 imirkin: tbh i'm not 100% sure on the CPU details, but your GPU is booting into its lowest frequency
23:04 imirkin: reclocking, at a high level, is the act of changing between such frequencies.
23:04 MarcinWieczorek: Isn't that automatic?
23:04 imirkin: with CPUs, the ratio between highest and lowest is about 3x. with GPUs the ratio is much greator.
23:04 imirkin: no, it is not.
23:05 imirkin: and with kernel 4.10, it is still not automatic. but at least you can do it.
23:05 imirkin: while with earlier kernels, there's just no support for it at all for your gpu.
23:05 MarcinWieczorek: ok. Why do nvidia drivers give me the performance I need and nouveau does not?
23:05 imirkin: because nvidia drivers reclock automatically
23:06 imirkin: turns out that having access to hw docs makes it easier to implement functionality. odd, right?
23:06 MarcinWieczorek: Yeah and we don't have hw docs
23:06 MarcinWieczorek: Do we?
23:06 karolherbst: we don't
23:06 imirkin: no for the important bits
23:06 MarcinWieczorek: But the kernel can reclock the GPU, and we know the kernel's source
23:07 imirkin: heh
23:07 imirkin: the nvidia kernel driver is closed
23:07 MarcinWieczorek: I know, it's not that easy :P
23:07 imirkin: the open part of it is just a shim. the majority of it is in a pre-compiled nv-kernel.o blob
23:08 imirkin: but we can trace it and so on
23:08 imirkin: however memory is extremely finicky - proper procedure varies from board to board
23:08 MarcinWieczorek: Really? You mean that in nouveau some parts are still closed?
23:08 imirkin: no, nouveau is all open
23:08 imirkin: perhaps i misunderstood what you said
23:08 MarcinWieczorek: I don't mean that
23:09 MarcinWieczorek: Does nouveau replace that closed blob?
23:09 imirkin: sure.
23:09 imirkin: er
23:09 imirkin: nouveau is a separate driver
23:09 MarcinWieczorek: So we can have nouveau and 4.10 kernel and reclock then?
23:09 imirkin: a separate kernel module, that is.
23:09 imirkin: yes.
23:09 MarcinWieczorek: How?
23:09 imirkin: which is why i'm suggesting you grab kernel 4.10
23:10 imirkin: by echo'ing stuff into /sys/kernel/debug/dri/.../pstate
23:11 orbea: i use this function to make it easier personally http://dpaste.com/070HZDH
23:11 imirkin: [note that the exact perf levels vary from gpu to gpu]
23:13 MarcinWieczorek: Ok. So I just echo a value and my GPU reclocks itself
23:13 MarcinWieczorek: Can we do that automaticaly based on the load?
23:15 imirkin: every time you reclock, there's a small probability that the gpu will hang
23:15 imirkin: so we're taking things easy for now wrt automatic stuff
23:15 nyef: The next step in the reclocking dance is probably to enable automatic reclocking... as a (non-default) option, so that the adventurous souls can give it a good test without the more risk-averse pitching a fit.
23:16 imirkin: karol has a preliminary patchset to enable dynamic reclocking though.
23:16 karolherbst: nyef: there is more
23:16 karolherbst: I should finish it at some point
23:16 karolherbst: automatic pstate selection was still missing, because I didn't know how to cpmute the memory load back then
23:18 imirkin: MarcinWieczorek: long story short, try kernel 4.10. when you reclock, you should be able to get about 60-80% of blob speed, depending on the game.
23:19 MarcinWieczorek: Good.
23:23 MarcinWieczorek: Where can I find additional information on reclocking? I don't know how to adjunst the frequency to the needs
23:24 imirkin: MarcinWieczorek: just echo values into that file. cat the file to see the list of legal values.
23:24 imirkin: [look at orbea's script]
23:25 MarcinWieczorek: What's the exact path?
23:25 MarcinWieczorek: To the pstate file I mean
23:25 imirkin: look at the link orbea pasted above.
23:25 karolherbst: imirkin: there is no path ;)
23:26 MarcinWieczorek: he used a variable
23:26 imirkin: oh heh
23:26 karolherbst: /sys/kernel/debug/dri/0/pstate
23:26 MarcinWieczorek: Can I reclock on NVIDIA drivers this wa?
23:26 MarcinWieczorek: y
23:27 karolherbst: no
23:27 MarcinWieczorek: Ok that file does not exist but probably because I have an older kernel
23:27 karolherbst: or debugfs isn't mounted
23:27 karolherbst: or because you didn't try as root
23:28 MarcinWieczorek: clients gem_names name
23:28 karolherbst: hum
23:28 karolherbst: MarcinWieczorek: is this a laptop?
23:28 imirkin: the pstate file should be there... i think. you have a 4.5 or later kernel right?
23:28 MarcinWieczorek: nope
23:28 MarcinWieczorek: 4.9.6
23:28 karolherbst: odd
23:28 imirkin: is there a /1/... directory?
23:28 MarcinWieczorek: 0 and 128 only
23:28 imirkin: hrmph
23:28 karolherbst: no 64?
23:28 MarcinWieczorek: no...
23:29 imirkin: the control nodes were removed
23:29 karolherbst: I have all three
23:29 MarcinWieczorek: I'm on NVIDIA driver now btw. Does that matter?
23:29 imirkin: oh
23:29 karolherbst: yes
23:29 imirkin: lol
23:29 karolherbst: well I am on 4.9, so maybe the nodes got removed in 4.10
23:29 imirkin: karolherbst: i don't remember...
23:32 MarcinWieczorek: If only there was a 4.10 package somewhere in the repository
23:32 imirkin: all in good time. 4.10's not release yet. there are RC's though.
23:32 MarcinWieczorek: I know
23:33 MarcinWieczorek: rc6!
23:33 MarcinWieczorek: from 40 minutes ago
23:36 MarcinWieczorek: Ok I'll compile 4.10-rc6 tomorrow
23:37 MarcinWieczorek: I'm going to be sleeping in 70 minutes :)
23:50 MarcinWieczorek: Thank you guys for help, I'll come back with feedback soon