13:30abderrahim[m]: I almost finished reading IntroductoryCourse, can someone suggest an easy task I can start with?
13:31abderrahim[m]: I have a GT218 at the moment, but I can also test with a GF119
13:32imirkin: what are you interested in?
13:42abderrahim[m]: from the never-look-back-to-the-blob point of view, I'd like to have automatic reclocking, and having working brightness control for the GF119. From a learning point of view, I'd like something around 3d
13:43abderrahim[m]: btw, can such a hardware theoretically run vulkan?
13:44imirkin: i'm not aware of anything in particular that would prevent it, but there may be some challenges on the GT218 in practice
13:44imirkin: well, there's reclocking for GT218 but iirc it may cause flickering when you reclock
13:44imirkin: GF119 has no reclocking support presently, but there's a WIP branch for fermi reclocking
13:44imirkin: however work on that has stalled
13:45imirkin: you could try to work on an infra for supporting automated reclocking -- i.e. collecting all the relevant info in the kernel to then create some governors
13:46imirkin: i think karolherbst started on that a while back
13:46imirkin: 3d is, unfortunately, a bit trickier -- i did a good job of picking a lot of the low-hanging fruit
13:46imirkin: however the tesla series has persistent problems with fifo desync's
13:46imirkin: and i recently noticed that we neglect to freeze the fifo when handling interrupts
13:47imirkin: which could race with the GPU
13:47abderrahim[m]: any pointers to where to start reading?
13:47imirkin: about which one?
13:48imirkin: this is the FREEZE bit: https://github.com/envytools/envytools/blob/master/rnndb/fifo/g80_pfifo.xml#L201
13:49imirkin: to better work out how it should be used, you should mmiotrace the blob and see what they do
13:49imirkin: (this is re the GT218)
13:49imirkin: do you ever see DMA_PUSHER errors with nouveau on it?
13:50imirkin: as for brightness control on the GF119 -- i'm surprised that doesn't work
13:51abderrahim[m]: no, I didn't see any error
13:51imirkin: the relevant bits for backlight are in nouveau_backlight.c -- look for the nva3 ops -- those get used for all nva3+ hw.
13:51abderrahim[m]: for the brightness, I had to set an xorg.conf option with the blob
13:51imirkin: (nva3 == GT215)
13:52abderrahim[m]: nouveau_backlight.c is in the kernel? I'd like to stay in userspace for now
13:53imirkin: yes, most of the things you're talking about are kernel-land
13:56abderrahim[m]: Ok, thanks. I'll try to read a bit more and see what I can do.
13:56imirkin: my experience is that it's best to start with a problem that you have
13:56imirkin: and work towards resolving that problem
13:57imirkin: that will, as a side-effect, introduce you to more things
13:57imirkin: i suspect the backlight thing would not be difficult to fix
14:02abderrahim[m]: So, I'd need the development version of the kernel, and the mmiotrace tool, right?
14:02imirkin: mmiotrace is a tracer inside the kernel
14:02imirkin: in order to operate it, you need nothing fancier than "cat" and "echo"
14:02abderrahim[m]: ah, ok. any tutorial about it?
14:03imirkin: i like this one: https://wiki.ubuntu.com/X/MMIOTracing
14:04abderrahim[m]: Ok, I'll try it when I'm on the laptop with the GF119
14:05imirkin: so the idea there would be to emit a MARK, then mess with brightness, MARK, mess with brightness some more, MARK
14:05imirkin: unfortunately they don't cover marking in that tutorial
14:05imirkin: but it should be obvious - there's another file in that dir called "tracer_mark" or something
14:05imirkin: echo stuff into it, it shows up in the trace.