00:09mupuf: imirkin_: "be tempting to use the an algorithm" --> the an
02:15Tom^: imirkin_: ok
02:56karolherbst: mupuf: is that fine by you? https://github.com/karolherbst/envytools/commit/690e4c30fc87898ba35d6ba241060726c4b3f15d
03:12karolherbst: the newest bios tweaker tool has a lot more stuff in it :)
03:13karolherbst: temp target, max temp target :)
03:13Tom^: should find the person who devs it and discuss things with him directly :p
03:14karolherbst: Tom^: from a forum "It seems the author prefers to remain hidden for whatever reason, I ran into the same weird issue finding an official source. I do have the latest version of the tool *I* could find, if you want it. It came from a legit looking site and seems virus free in scans I ran, so... your call." :p
03:15karolherbst: well it is .NET
03:15karolherbst: so it should be easy to disassemble
03:15Tom^: it is, if its bios kepler tweaker, ive already net reflected it
03:15karolherbst: maxwell tweaker is the new version of it ;)
03:15karolherbst: I found 1.36
03:16karolherbst: seems to be the same tool, just newer
03:16Tom^: was obfuscated with a general tool tho but nothing that the free reflectors couldnt handle :p
03:16karolherbst: okay, it seems that he discovered somehow which is the "real" power budget
03:16karolherbst: this is very important
03:16karolherbst: also, he found out my temp range
03:16karolherbst: wich nvbios doesn't know
03:17Tom^: link to source and il decompile it
03:17karolherbst: Tom^: https://www.techpowerup.com/downloads/2562/maxwell-ii-bios-tweaker-v1-36/
03:17karolherbst: but well
03:17karolherbst: I think this one is easy enough though
03:18karolherbst: I bet after I changed the temperature for me, it is inside an unknown table
03:22karolherbst: thing is, exception on save for my vbios :D
03:22Tom^: glergh oh well got to install windows in virtualbox, so il fetch some coffe and food then. brb
03:24karolherbst: ohh nice, I think your vbios will be usefull again
03:25karolherbst: yep, some new unknown area
03:28karolherbst: sounds like 0x50: 0x8b08 => POWER UNK50 TABLE to me
03:42Tom^: wait, maxwell bios tweaker? :o
03:42Tom^: no more kepler? ;_;
03:43karolherbst: it has kepler support :p
03:44karolherbst: mupuf: wanna play around with the unk50 table this weekend?
03:46karolherbst: rd16(offset) / 32
03:53karolherbst: and now the tool is useless again :D
03:55karolherbst: Tom^: nvafakebios works for you, right?
03:55Tom^: no idea
03:55karolherbst: I would really like to know what the blob does, when we reduce those temps to 40 or 30
03:55karolherbst: maybe it goes wild and let the fan spin at max all the time
03:56karolherbst: fan control stuff is also there
03:56karolherbst: 40° => 1000rpm
03:56karolherbst: 75° => 1400rpm
03:57karolherbst: 90° => 2900rpm
04:00karolherbst: and unk5c is the fan stuff
04:05Tom^: ugh after its deobfuscated its still quite a mess to go through, ~200 differenct classes and its all just name class1 . class2 etc.
04:12Tom^: ads overwhelming but here is the src http://filedropper.com/src_4
04:27mupuf: Tom^, karolherbst: Do not have a look at this code
04:28mupuf: run the tool, change values, save the vbios, look at what changed
04:28Tom^: oh :p
04:28mupuf: clean-room REing, please
04:28karolherbst: I don't look at the source :D
04:28mupuf: don't look at the decompiled version either
04:28mupuf: nor the asm code
04:29karolherbst: I don't do that either
04:29mupuf: asm code is OK only when we have no other mean
04:29mupuf: this is a EU law
04:29karolherbst: I know, I know
04:29mupuf: good, please don't taint yourself
04:29mupuf: anyway, extremelly good news!
04:29mupuf: and sad to hear trip points came back...
04:30mupuf: I guess that's a third mode
04:30mupuf: linear interpolation between trip points
04:30karolherbst: yeah, something like that
04:30karolherbst: thing is
04:30karolherbst: it is one entry
04:30karolherbst: with 21 bytes
04:30karolherbst: kind of ugly
04:31mupuf: I let you propose patches to parse all this new informatio
04:31mupuf: and then we will need to verify all that
04:31mupuf: and improve on it
04:31mupuf: just knowing the purpose of a table is already really good news!
04:31karolherbst: both actually :p
04:31karolherbst: unk50 and unk5c
04:32karolherbst: but unk50 is an easy one
04:32karolherbst: really nice
04:32mupuf: good, so more kepler tables understood
04:32karolherbst: entries are 6 byte long
04:32karolherbst: 4 bytes already understood
04:32karolherbst: ohh wait
04:32karolherbst: it is longer
04:32karolherbst: totally forgot that
04:38karolherbst: mupuf: is it common, that the floating point value is encoded in value * 32?
04:38karolherbst: or something like that?
04:38karolherbst: ohh I meant
04:39karolherbst: int(value * 100) * 32
04:39karolherbst: ... maybe I didn't sleep enough
04:39karolherbst: int(value) * 32
04:40karolherbst: forget it :D
04:40karolherbst: int(value * 32)
04:40mupuf: that is funny
04:42karolherbst: but it makes sense actually
04:42karolherbst: they increased the voltage precision with the pwm
04:42karolherbst: now they also want to increase precision for temperature thresholds and stuff
04:42karolherbst: I bett there is more comming up like this
05:10karolherbst: Tom^: I have a task for ya :D
05:10karolherbst: Tom^: do you have envytools installed?
05:10karolherbst: okay boot with blob and put 100% load to the gpu
05:10karolherbst: then play around with nvaforcetemp
05:11karolherbst: and check the clocks with nvidia-settings
05:11karolherbst: 82.53 and 95.00 are two thresholds in the new table
05:11karolherbst: check what happens with <=82
05:11karolherbst: what btween 83 and 95
05:11karolherbst: and what with 96
05:16Tom^: the blob lets me run on 1097 up until 83C then it drops to 1084, but wont go up again until i go below 80C, on 84C it drops me to 980mhz until i go below 80C
05:18karolherbst: okay, so long as expected
05:18Tom^: 95C doesnt do anything particular what i can notice
05:18karolherbst: but 84 was the drop to 980?
05:18karolherbst: or 94?
05:18karolherbst: that's pretty fast
05:18karolherbst: what if you force 1?
05:19karolherbst: and only for a short moment pls :p
05:19karolherbst: other question
05:19karolherbst: do you get a higher clock than 1097 with lower temps?
05:19karolherbst: what happens with 96?
05:20Tom^: oh it dropped my core to 489
05:20karolherbst: mupuf: t0: boost until then, t1: base clock until then, after t2: clock to min?
05:20RSpliet: Tom^ where'd you get your speed information from? blob? nvatiming?
05:20karolherbst: after t1
05:20Tom^: RSpliet: nvidia-settings
05:21Tom^: RSpliet: http://i.imgur.com/0dvXRVL.png
05:22RSpliet: mupuf: is that a hw mechanism like NV50 did (heavy clock gating?)
05:22RSpliet: or does it rely on the OS to clock back (ick... :-P)
05:22RSpliet: sorry, argh, curiousity again, I should work
05:23mupuf: well, hard to tell
05:23mupuf: nvidia exposes the clock gated clock in some way
05:23mupuf: but in this case, it must be just pure downclocking
05:23karolherbst: downclocked through FSRM would be something like 44 MHz :D
05:23mupuf: the lowest div for the FSRM was 16 IIRC
05:24mupuf: and 1024 for the higest one
05:24Tom^: hm can i reset nvaforcetemp?
05:24mupuf: Tom^: sorry gor the bad UX :D
05:24mupuf: 0 in hw == no forced value
05:24Tom^: what happends if i go below 0?
05:24mupuf: you can't
05:25mupuf: the hw does not allow it
05:25mupuf: as I said, bad UX
05:25karolherbst: but there is a new sensor for that :O
05:25mupuf: karolherbst: that is unrelated
05:25karolherbst: I know :p
05:25Tom^: mupuf: what if i liquid nitrogen cool it below 0 then? :<
05:25karolherbst: Tom^: this would be one way
05:26Tom^: hw goes into syntax error?
05:38karolherbst: mupuf: I don't think it is that boost related
05:39karolherbst: I have 95 and 96 inside that table and even on 96 my clock is maxed out
05:51Tom^: ugh time to babysit dads dogs, if you need more testing its gonna have to be tomorrow
06:36karolherbst: mupuf: I think those unk0e and unk10 in the FAN table are the min/max rpm, but I think you figured that out already, but the blob didn't react to it
06:37karolherbst: I have an idea
06:41mupuf: yeah, I tried changing them but could not make it work
06:41mupuf: but I may have missed something stupid
06:43karolherbst: maybe the reported fan speed changes?
06:45karolherbst: will try to figure it out
06:45mupuf: have fun! Maybe the blob has some validation
06:45mupuf: so, try increasing the min from 30 to say 35
06:45karolherbst: mupuf: are you at home currently?
06:46karolherbst: well it should be there on the fermi card, right?
06:47mupuf: define "it"
06:48karolherbst: fan table
06:48karolherbst: seems like there is none
06:48mupuf: yeah, it is a maxwell thing IIRC
06:48mupuf: or late kepler
06:48mupuf: I reversed it for maxwell
06:50mupuf: that was why it was so easy :D
06:50mupuf: I just added all the tables to nvbios and named them UNK
06:50mupuf: and checked for new tables that would contain wanted data
06:51mupuf: you have been surfing on this effort to reverse more tables :)
06:51karolherbst: well this is my result for today: https://gist.github.com/karolherbst/55a6d0e8567154b2decc
06:51karolherbst: XX are parsed fields
06:52karolherbst: 0x8c13: 00 14 23 64 these may be fan thresholds
06:52karolherbst: but mhhh
06:52karolherbst: they don't always make sense
06:53karolherbst: wth, I just add them too, and if they mean something else, we will find out sooner or later
06:53mupuf: yep, name them UNK
06:53mupuf: and display them
06:53mupuf: someone will make sense of them later
06:53mupuf: they are obviously 8-bits values
06:53mupuf: so, no probs in exposing them
06:56karolherbst: but they seems to be related to the speed somehow
06:56karolherbst: the lower and the highest value also corelate with the range from the FAN table
06:57mupuf: you forgot to parse the series that starts with ff
06:57mupuf: ff == disabled
06:57karolherbst: look at the first entry
06:57mupuf: wait, hmm
06:58mupuf: seems like there are 3 thresholds always
06:58mupuf: 23, 2b and 0a are definitely attributes
06:58karolherbst: I try to corelate "-- type: UNKNOWN, duty_range: [20:100]%" with the existence of table unk5c
06:58karolherbst: the UNKNOWN type I mean
06:58mupuf: ah, sorry
06:58mupuf: I need to send a patch
06:58mupuf: type 2 == PWM too
06:58mupuf: read the source from nouveau
06:59mupuf: I checked and forgot to update nvbios
06:59mupuf: it bothers me every time but apparently not enough to send a patch
07:00mupuf: as for the unk, you need to write the offset
07:00mupuf: the other numbers are likely parameters for the interpolation
07:01mupuf: ready to go into data-crunching mode again?
07:01mupuf: ramp up the fake temperature and dump the RPM value
07:01karolherbst: type == 2 corelates with unk5c table
07:02karolherbst: if type equals 2 there is the unk5c table
07:02mupuf: it could be 1 too
07:02karolherbst: for 10 vbios, if the type is 10, there is a unk5c table
07:03karolherbst: for 2 vbios there is a unk5c table, but type isn't 2
07:03karolherbst: ohh you are right
07:03karolherbst: if the type is 1 or 2 there is the 5c table :D
07:04karolherbst: so 5c seems to be something like PWM FAN table
07:05mupuf: no, so far it looks like NOISE-DRIVEN-FAN-MGMT :D
07:07karolherbst: mupuf: which gpu should I use for that? :p
07:07mupuf: for REing?
07:07mupuf: the gm107
07:08karolherbst: yeah well, in reator there is the fermi and maxwell2 one
07:08mupuf: then you will have to wait for me to come back home ;p
07:08mupuf: you are lucky, I need to drop my bike there
07:08mupuf: so, I can go to my flat and plug the irght gpu too
07:09karolherbst: yeah well, that would be a task for tomorror then
07:09mupuf: ok, break is over, I recompiled the entire stack, time to go back to work
07:27RSpliet: apparently Amdahl has officially died now :-(
07:39Tom^: karolherbst: ok back, anything i should test?
07:39Tom^: im soon gonna refer you as GLaDOS
08:12mupuf: RSpliet: wikipedia says it was yesterday
08:12RSpliet: last month
08:12mupuf: oh, right
08:12RSpliet: but still
08:12mupuf: yesterday of last month :D
08:12RSpliet: don't feel bad, I made the same mistake
08:13mupuf: darn it, it is already december :o
08:13RSpliet: you didn't smell the pine needles?
08:13mupuf: sure, they are everywhere :D
08:13mupuf: Helsinki is all christmassy
08:13mupuf: and the christmas market is in front of the uni where I study finnish
08:20karolherbst: I am sure pine needles aren't that rare there in the summer, too :p
08:32karolherbst: mupuf: but does double pwm value also means doubled fan speed? I would believet that at first, but somehow I don't think it works that way
08:36mupuf: double pwm == double power usage
08:36mupuf: that's it
08:37karolherbst: yeah, I know
08:37karolherbst: and the actualy speed depends on fraction and motor and all kind of stuff I suppose
08:38mupuf: it will look like a log function
08:47karolherbst: in the end we can create a master plot graph with all the information: full boost areas, base clock point, fan speeds, etc.. etc.. :D
09:10karolherbst: mupuf: why are you so sure that 23, 2a and 0b are attributes?
09:10karolherbst: *2b, 0a
09:24marioX: Hi, I have problems with nvidia 6200. The system freezes.
11:40imirkin_: wow, elemental looks a lot better when you get multiple frames per second
11:40imirkin_: as opposed to multiple seconds per frame
11:41karolherbst: same gpu?
11:41imirkin_: that's with 0f on my GK208 instead of the default perf level
11:41karolherbst: ohhh :D
11:41imirkin_: turns out faster memory and shader core really makes a difference
11:41karolherbst: why didn't you try that before?
11:42imirkin_: coz i wasn't worried about that
11:42karolherbst: I see
11:47karolherbst: mupuf: maybe I will take a look today already, did you had any chance to switch the gpus?
16:59chillfan: using the nouveau driver, would the right way to set brightness be xrandr?
16:59imirkin: yeah, you can use xrandr --output bla --brightness .8
16:59imirkin: you can also use one of the LUT-altering tools
16:59imirkin: like redshift & co
17:00chillfan: it should be erm in .N not NN?
17:00imirkin: 1.0 = max brightness
17:00imirkin: 0.0 = min brightness
17:00imirkin: man xrandr :)
17:00chillfan: aha thanks, no wonder i was having trouble
17:01chillfan: yeah i lost the manpage due to weirdness on screen heh
17:01imirkin: actually looks like the man page doesn't say
17:01imirkin: but i use that option regularly... the min brightness on my monitor is too bright
17:02chillfan: mine too, it's killing my eyes
17:02imirkin: do note that it's a software control (alters the LUT)
17:02chillfan: i think it's something to do with the compositor too
17:04chillfan: oh hm can't reproduce that now but nvm
17:07chillfan: monitor is overly bright for some reason
17:07chillfan: the in monitor setting that i put is brightness 0
17:08chillfan: and it's still a touch to bright
17:09chillfan: hm well guess i'll use xrandrs 0.8 for now, thanks
17:09imirkin: i have a dell 2406 or so, which has this issue
17:09imirkin: but a 2415 doesn't, in fact i had to turn it up a tad from the min
17:09chillfan: nouveau specific or?
17:10imirkin: just in general i think
17:10chillfan: well i've mostly had issues since switching wm and using compton
17:10imirkin: hmmmm... that's surprising
17:10chillfan: wondering what magic they do on xfce there that openbox doesn't
17:14chillfan: anyway thanks, i'll have to tinker see what happens if i stop using compton
17:19chillfan: hm wonder if i'm missing backlight support, i guess most modern panels (laptop or not) have them?
17:19imirkin: backlight control is generally only for laptops
17:22chillfan: hm, so not that then
17:22chillfan: haven't had the problem on the panel before, and i think the blob driver is effected too
17:24chillfan: no chance the xserver is adding the brightness by mistake? like taking control from the display of that?
17:29chillfan: hm anywy bbs
17:33urjaman: oh, this is cool, redshift works :) (never tried it before...)
17:35head8debian: Redshift is awesome.