02:05 kingsley: I seem to have found another way to elicit the bug described st
02:05 kingsley: s/st/at/
02:06 kingsley: https://bugs.freedesktop.org/show_bug.cgi?id=93197
02:07 kingsley: I get it by running a video editor named "kdenlive".
02:07 kingsley: The bug report says it can be worked around by doing
02:07 kingsley: ./warsow +set r_multithreading 0
02:08 kingsley: Can you suggest a similar workaround for running kdenlive under linux?
09:32 mupuf: seen this guys? http://www.realworldtech.com/tile-based-rasterization-nvidia-gpus/
09:33 mupuf: it however does not show that it only works like this up to a certain number of triangles/draw calls.
09:42 karolherbst_work: mupuf: awesome stuff :D
09:47 karolherbst_work: mupuf: saw that conditional tile size thing rendering since kepler on nvidia gpus?
09:47 karolherbst_work: mhh
09:48 karolherbst_work: since kepler2 I think
09:50 mupuf: yeah, was trying to reuse the same tool we have to test the memory bw on intel HW on nvidia and I get funky results because of this
09:50 mupuf: and it is at least since kepler 2 (GTX 770)
09:50 karolherbst_work: http://www.nvidia.de/content/PDF/kepler/NVIDIA-Kepler-GK110-Architecture-Whitepaper.pdf page 16
09:51 karolherbst_work: it is compute related
09:51 karolherbst_work: but maybe it is related
09:54 karolherbst_work: but I guess the gpu could change to a different operation mode, for a specific area depending on the stuff you do there
09:54 karolherbst_work: maybe
09:58 karolherbst_work: anyway, a lot of stuff changed in kepler2 and I would bet the rasterization thing might be also one of them
10:46 mupuf: karolherbst_work: if you are into this
10:46 mupuf: check out the video from space x and nvidia
10:47 mupuf: https://www.youtube.com/watch?v=txk-VO1hzBY
11:01 karolherbst_work: space x :O
11:02 karolherbst_work: well, after work then
11:33 NanoSector: hmm reclocking on GT750M works when on battery power, no freezes but no performance improvement either
11:34 NanoSector: well, it freezes when i attempt to increase boost
11:45 karolherbst_work: NanoSector: well no idea yet, you could do an mmiotrace of nvidia
11:45 karolherbst_work: with bumblebee it is fairly easy
11:46 karolherbst_work: https://wiki.ubuntu.com/X/MMIOTracing
11:46 karolherbst_work: you can ignore anything about X and single user mode and everything
11:46 karolherbst_work: just enable the tracer
11:46 karolherbst_work: do something with bumblebee
11:46 karolherbst_work: stop the tracer
11:46 karolherbst_work: you can also skip the modprobe
11:47 karolherbst_work: it is just important that you reclock a bit through nvidia-settings
11:47 karolherbst_work: optirun -b none nvidia-settings -c :8
11:47 NanoSector: Thanks, I'll give that a shot
11:48 karolherbst_work: well the trace may help us figuring out what goes wrong for you
11:48 NanoSector: :)
11:48 NanoSector: And hopefully for others, too
11:49 karolherbst_work: sadly skeggsb didn't say anyhting. He told me that some memory related parts are still missing
11:49 karolherbst_work: it is just messy, because I have no access to any gpu which won't reclock
11:49 karolherbst_work: mupuf: or is there one of your keplers/maxwell1 which won't reclock without issues?
11:49 karolherbst_work: I am pretty sure all of yours are fine
11:50 NanoSector: If you want to, I could give you remote access to my laptop
11:50 karolherbst_work: well, over the weekend it might be a good idea
11:50 NanoSector: Aight :)
11:50 NanoSector: I'll first set up the tracing thing and report back
11:50 karolherbst_work: you can also run any live system or so if you care about your data :p
11:50 karolherbst_work: but
11:50 NanoSector: Oh there's nothing important on it anyway
11:51 karolherbst_work: I see
11:51 NanoSector: just some of my github projects
11:51 NanoSector: and games
11:51 karolherbst_work: well, this way I could create those traces myself anyway
11:51 karolherbst_work: ahh, k
11:51 NanoSector: Besides I trust you to not start digging around in my network or anything ;)
11:53 karolherbst_work: well I would need root access anyway
11:53 NanoSector: oh I could create a separate user account with sudo access
11:53 karolherbst_work: well
11:53 karolherbst_work: I would need sudo access for like everything
11:54 karolherbst_work: or you could add a list of like 30 commands
11:54 karolherbst_work: or so
11:54 NanoSector: sudo su - :)
11:54 karolherbst_work: right, then a separate user makes sense .p
11:54 NanoSector: hehe
11:54 karolherbst_work: but yeah, because of pw and stuff
11:54 NanoSector: yeah
11:55 NanoSector: nvidia modules installing...
11:56 wjx: karolherbst_work: you removed your 'maxwell_reclocking' branch?
11:56 karolherbst_work: wjx: yeah, it is in the kepler branch now
11:56 NanoSector: karolherbst_work, so do you want me to reclock while i'm running an app in bumblebee?
11:57 NanoSector: reclock through nvidia-settings that is
11:57 karolherbst_work: yeah
11:57 karolherbst_work: well
11:57 karolherbst_work: you don't need no app
11:57 karolherbst_work: starting the settings thing is enough
11:57 NanoSector: ah okay
11:57 NanoSector: so, start tracer -> run settings, reclock for a bit -> stop tracer and give you the log
11:58 karolherbst_work: and you can change the performance mode, but I guess you know that
11:58 karolherbst_work: NanoSector: well, xz -9 compress the log
11:58 NanoSector: yeah i recall there being a switch for that
11:58 karolherbst_work: and then it still can be huge
11:58 NanoSector: heh okay
11:58 karolherbst_work: it is usually 30MB compressed
11:58 karolherbst_work: or something
12:01 NanoSector: okay it's running, quite slow though
12:01 karolherbst_work: right
12:01 NanoSector: i guess that's normal with it debuggng and stuff?
12:01 karolherbst_work: the mmiotracer catches all I/O accesses to the gpu
12:02 karolherbst_work: and saves every mmio access on the ioremaped gpu address space
12:02 NanoSector: nvidia-settings reports the PCIe Link Speed to be 5.0 GT/s, but nouveau previously reported only being ab le to set 2.5 GT/s for me right?
12:03 karolherbst_work: NanoSector: only while the gpu was off
12:03 karolherbst_work: NanoSector: when it was resumed, it set it to 5.0
12:04 NanoSector: oh right
12:04 NanoSector: got the log, it's 159 MB
12:05 NanoSector: compressing, i'll throw it on my google drive
12:07 NanoSector: the xz file is 5.1 MB, could that be correct?
12:08 NanoSector: karolherbst_work, catch: https://drive.google.com/open?id=0B2F3P3d66S-1aWt1S0hDc0xkbFU
12:09 karolherbst_work: NanoSector: well, I can't check the file at work, so you have to wait until I come home
12:09 karolherbst_work: which will be in like 5 hours or more
12:10 NanoSector: oh that's fine, no need to hurry :)
12:22 wjx: karolherbst_work: So the maxwell reclocking is working now?
12:31 karolherbst_work: wjx: test it
12:31 karolherbst_work: it is only for gm10x gpus though
12:31 karolherbst_work: for gm20x we need signed firmwares
12:32 karolherbst_work: but _might_ work anyway
12:32 wjx: I have gm107
12:32 karolherbst_work: except we can't contorl fans
12:32 wjx: how can I try it, any document?
12:33 karolherbst_work: mhh, compile the nouveau module and install it
12:33 karolherbst_work: from my kepler_reclocking branch
12:33 wjx: stable_reclocking_kepler_v5 ?
12:33 karolherbst_work: yeah
12:33 karolherbst_work: won't be able to give you step by step instructions, cause I also have to work :p
12:34 NanoSector: is it the same as kepler?
12:34 wjx: what /sys files I have to touch?
12:35 NanoSector: for kepler, everything is in /sys/kernel/debug/dri/[card no.]/
12:35 NanoSector: you can't access those as a normal user, try root
12:36 NanoSector: but if you 'cat pstate' you can see available states and you can write one of them to that file (e.g. 'echo 0f > pstate')
12:39 wjx: NanoSector: ok, I will have a try
12:44 NanoSector: ok it doesn't work better on battery
12:46 wjx: NanoSector: How to get the current clocking level?
12:46 NanoSector: if you cat pstate again, you'll see a little star and "AC DC" next to one of the states; that's the current state
12:46 NanoSector: also the DC state at the bottom represents the current clocks
12:48 karolherbst_work: NanoSector: maybe in your case something DDR3 related is messed up, I only have a GDDR5 gpu here
12:48 NanoSector: Perhaps
12:49 NanoSector: I do notice the memory clocks first going to 0 MHz after hang, but the core clock is still the same
12:49 NanoSector: so maybe nouveau doesn't know how to properly control the memory?
12:51 karolherbst_work: we had issues with gddr5, which I fixed
12:51 karolherbst_work: I would assume something messy is going up with ddr3 as well
12:51 karolherbst_work: maybe your trace will help
12:52 NanoSector: I hope so :) If there's anything else I can do or if there's any other tests I can run, please tell me, I'll be glad to run them
13:00 NanoSector: trying wayland now, just for fun
13:00 NanoSector: nope, freeze
13:29 tajjada: Hello, I have a (kepler card) GT 710, and I am getting freezes with nouveau but not with nvidia
13:29 tajjada: proprietary blob is perfectly stable (had it run for weeks without rebooting and without issues)
13:30 NanoSector: when reclocking or just during normal usage?
13:30 tajjada: during just normal usage
13:30 tajjada: i tried the new kernel 4.7
13:30 tajjada: yesterday
13:30 NanoSector: oh, mine freezes with just reclocking
13:30 NanoSector: 750M here tho
13:31 NanoSector: I'm not really helpful here, just wondering if you might be in the same boat :)
13:32 tajjada: i also have another (AMD) card on my system, which I passthrough to a virtual machine using VFIO; it most likely shouldn't be related, but i am mentioning it anyway
13:32 tajjada: maybe some weird pci-e magic from VFIO is happening that somehow triggers some nouveau bug or something
13:33 tajjada: i doubt it, because i had freezes even without the VM running, albeit (seemingly) more rarely (maybe just a placebo?)
13:33 tajjada: also, by freezes, i mean actual full kernel lockups, no input, no network, nothing
13:33 tajjada: everything dies
13:34 tajjada: have to hard-reset system
13:38 karolherbst_work: tajjada: chances are (allthough unlikely), that the default state of your gpu is quite messy
13:38 karolherbst_work: anyway, as usualy: newest software stack might fix issues
13:38 karolherbst_work: tajjada: also, log of the crash are usefull, check pstore if there is anyhting
14:10 tajjada: karolherbst_work: i have no idea how to use pstore
14:10 tajjada: but ill look into it
14:33 karolherbst_work: tajjada: it ain't that hard. Usually I would expect your distribution to set it up already
14:33 karolherbst_work: if not, they are useless misfits :p
14:33 tobijk: imirkin_: karolherbst_work: is there a reason we change OP_MUL here to OP_MOV: https://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp#n952 ?
14:33 tobijk: is it just not worth it? :D
14:34 karolherbst_work: tobijk: you are serious, right?
14:34 karolherbst_work: :D
14:34 tobijk: yes there is a "not" missing
14:35 tobijk: i'd change OP_MUL to OP_MOV there
14:35 karolherbst_work: ahh
14:35 karolherbst_work: i->op = i->src(t).mod.getOp();
14:35 karolherbst_work: there you go
14:35 karolherbst_work: line 955
14:36 karolherbst_work: mul abs 1 $r5 would become abs $r5
14:36 tobijk: mh but if i->op is still OP_MUL?
14:37 karolherbst_work: tobijk: or think about this: mul $r5 abs neg $r6 1
14:37 tobijk: actually it should not happen, meh
14:37 karolherbst_work: it can't
14:37 karolherbst_work: because the modifier is converted into an operation
14:37 karolherbst_work: of the non immediate source
14:38 karolherbst_work: "mul $r5 abs neg $r6 1" => "abs $r5 neg $r6" I think
14:38 karolherbst_work: or maybe neg abs
14:38 karolherbst_work: who knows how the order was
14:38 karolherbst_work: ...
14:38 karolherbst_work: right
14:38 karolherbst_work: neg abs
14:38 karolherbst_work: silly me
14:39 tobijk: mh but why did i find a OP_MUL there :o
14:39 tobijk: http://hastebin.com/obumoqeyog.coffee
14:40 karolherbst_work: huh
14:42 karolherbst_work: find how why that happens
14:43 karolherbst_work: if "i->src(t).mod.getOp()" can return mul, maybe we are in trouble
14:43 karolherbst_work: but then the instruction should look very odd here anyway
14:44 karolherbst_work: do a i->print(); before and run with NV50_PROG_DEBUG=3
14:44 karolherbst_work: and see how that crazy thing looks like
14:44 tobijk: yeah, have to find the shader first :)
14:44 tobijk: *one out of all the shader-db ones*
14:52 karolherbst_work: well
14:52 karolherbst_work: the only one that changed
14:55 tobijk: karolherbst_work: actually its actually silly me testing against my system mesa ~_~
14:55 tobijk: which misses an optimization *dang*
14:55 karolherbst_work: hehe
14:57 karolherbst_work: when I find time, I will clean up all my stuff which I consider safe
14:57 karolherbst_work: which are like 3 out of 30 mesa patches
14:57 karolherbst_work: :/
15:11 tobijk: karolherbst_work: better 10% are something at least :)
15:14 karolherbst_work: crappy things :/ completly useless, cause they don't change much. something around -0.01% changes in instruction coutn
15:14 karolherbst_work: I have some better stuff, but it sometimes causes troubles
15:15 tobijk: karolherbst_work: 0,01% with enough shaders in shader-db could be a nice patch anyway
15:15 karolherbst_work: right, but I need time to clean them up
15:16 tobijk: sure, did not want to indicate you should work faster :)
15:16 karolherbst_work: you did already, now I am offended
15:16 tobijk: :'-/
15:17 karolherbst_work: it is too late
15:37 Tomin: has anyone been working on Fermi reclocking? I'd be interested in testing it and probably could even write some code. I have zero graphics experience really, but I'm a bachelor at (computer) science and have written C for AVRs
15:37 Tomin: s/at/of/
15:39 tobijk: Tomin: maybe karolherbst_work has some reclocking patches for fermi, not sure
15:40 tobijk: but if you want to get involved in working on nouveau, you are always welcome :)
15:40 karolherbst_work: nah, no fermi here
15:42 Tomin: too bad, would anyone be interested in working on that, if they had a card? I'm also volunteering, but since I don't have any experience I can't promise I can keep my interest
15:47 tobijk: Tomin: i guess if you want fermi reclocking you have to try yourself...
15:49 Tomin: tobijk: Yes, just tried to ask if there was any work already done or if anyone was working on it, but sure I might, some day
15:58 karolherbst_work: ask RSpliet
18:25 RSpliet: Tomin: I have some 70% working code for Fermi GDDR5 clock changing
18:26 RSpliet: which means it works for about 0%
18:28 RSpliet: but the sequence of operations it generates mostly corresponds with the official driver