02:01pl44c: is is possible to underclock kepler cards
02:01pl44c: there's a card I want but the factory OC is a joke and actually crashes the card
02:05imirkin: with nouveau, you can only flip to pre-set levels
02:05imirkin: a single perf level is a bunch of different settings taken together
02:05imirkin: you can check the available ones in /sys/kernel/debug/dri/0/pstate
02:07pl44c: imirkin: I'm looking at a listing where a person is selling a card at a discounted rate because under load with the stock factory OC it will blackscreen but if you clock it to reference speeds it will be fine
02:07imirkin: i can't speak to any specific board
02:07pl44c: looking online the specifc model had several reports of this
02:08imirkin: however the vast majority of kepler boards
02:08imirkin: include 2-4 different perf levels
02:08imirkin: they will boot to the lowest usually, and then with nouveau you'd have to manually clock up
02:08imirkin: you could choose not to.
02:09pl44c: Was voltage regulation moved into firmware that only the nvidia driver has with kepler?
02:09imirkin: no, we can (usually) control voltage just fine
02:10imirkin: i can't remember if it's done by the firmware or by the RM directly, but i doubt that matters much to you
09:03RSpliet: imirkin. pl44c: do we no longer have the "boost" kernel parameter that we can use to switch between "OC" and reference clocks at max perflvl?
09:03RSpliet: (I'd ask karolherbst, but he's probably at 35c3)
15:58pmoreau: RSpliet: Grepping for “NvBoost” still returns a hit in “drm/nouveau/nvkm/subdev/clk/base.c”, line 711.
18:57Laalf: so to turn my nvidia gpu on in an optimus laptop i can use DRI_PRIME or xrandr --setprovideroutputsource to use the outputs on my machine. but how do i turn it off again? cat /sys/kernel/debug/vgaswitcheroo/switch says that its "DynOff"
18:58imirkin: that means it's off.
18:58imirkin: if you don't use it, it should runtime-suspend after 5 seconds (or minutes? i forget)
18:58imirkin: (probably seconds)
18:59Laalf: that is amazing! so to turn it back on i just use DRI_PRIME or xrandr --setprovideroutputsource again
18:59Laalf: wait no, xrandr --setprovideroutputsource should be untouched, no?
19:00pmoreau: Just run a program that uses that GPU, for example `DRI_PRIME=1 glxgears`.
19:00imirkin: setprovideroutputsource is just once
19:00imirkin: to link it up (with DRI2 -- if you're using DRI3, shouldn't even be necessary at all)
19:01Laalf: xrandr says that the outputs are still available. i guess the card get turned on when i type xrandr?
19:02Laalf: how do i find out what DRI version is used?
19:03imirkin: mmmmaybe. if the outputs aren't used, the card can still go to sleep
19:03imirkin: it gets woken up on hpd
19:03imirkin: and right -- provideroutputsource is for output slaving, not for offloading
19:04imirkin: so if DRI_PRIME=1 glxinfo says "nouveau", it works.
19:04imirkin: and best not to worry too much about DRI2 or DRI3. but iirc LIBGL_DEBUG=verbose DRI_PRIME=1 glxinfo > /dev/null should indicate which version
19:04Laalf: does it turn off when i didnt touch DRI_PRIME for a bit?
19:05imirkin: you can cat vgaswitcheroo
19:05imirkin: DynOff = powered off
19:05Laalf: it says dynoff.
19:05Laalf: can i actually confirm that its off? does powertop tell me?
19:05imirkin: DynOff = off.
19:06imirkin: you can get the voltmeter out if you don't believe it.
19:06imirkin: you should see reduced power usage in powertop, if your laptop supports the measurement info
19:06Laalf: ah wow nice. i didnt know there was dynpwr as well
19:07imirkin: that means it's on :)
19:07Laalf: i expect that when i type DRI_PRIME=1 glxgears
19:07imirkin: while the gpu is on, you can also control the perf levels (depending on which gpu you have)
19:08imirkin: (which gpu do you have?)
19:08Laalf: thanks for clarifying. maybe i can replicate that on guixsd soon
19:08Laalf: i have a lenovo thinkpad w530 with a quadro k2000m
19:08Laalf: thats gk107
19:08imirkin: cool - that should work ok
19:08Laalf: i wouldnt have bought this laptop if i wasnt certain that nouveau works
19:08imirkin: assuming you're on kernel 4.10+, while the gpu is powered on, you can poke at /sys/kernel/debug/dri/1/pstate
19:09imirkin: didn't use to work, actually -- had lots of problems with the power management bits. all fixed now though.
19:09Laalf: is it dri/1/pstate?
19:10Laalf: there is also a 128 and 129
19:10imirkin: 128 = 0, 129 = 1
19:10imirkin: (long story)
19:10imirkin: one of those is your intel gpu, the other is nvidia
19:10imirkin: depending on load order
19:10imirkin: pstate will be in either 0 or 1
19:10Laalf: there is a vbios.rom in 129 and 128. that should be nouveau
19:11imirkin: in both? are there 2 nvidia gpu's?
19:11imirkin: ah yeah
19:11imirkin: well, cat it
19:11imirkin: should show you a list of perf levels
19:11imirkin: WHILE THE GPU IS POWERED ON, you can cat the level back into the file to request a switch
19:11Laalf: the vbios?
19:12imirkin: do you not see it?
19:12Laalf: yes i do. lemme paste
19:13imirkin: so if you echo 07 into that file, you switch to the lower level, 0f to the higher level
19:13imirkin: but only do that while the gpu is powered on
19:14imirkin: not when it's powered off, otherwise you get a panic
19:14imirkin: [that might even be fixed now, but dunno what kernel you're on]
19:14imirkin: yeah, but i don't remember when or if it was fixed :)
19:15Laalf: thanks anyways. i can use my display outputs now which was my primary issue.
19:15Laalf: without running nvidia which burns my battery in 2 hours insted of 4,5
19:15imirkin: well, when the outputs are powered on, the nvidia gpu will be on
19:16imirkin: no way around that
19:16Laalf: when the outputs are used
19:16Laalf: which is fine
19:17Laalf: should be 5 seconds since xorg shat itself 5 seconds after i closed glxgears for 15 seconds
19:17Laalf: ayy, technology
19:17RSpliet: computers are horrible machines, don't get involved with them
19:17Laalf: complete freeze of xorg 5 seconds after closing glxgears
19:18imirkin: i think there have been some issues between the nouveau and intel drivers with buffer sharing
19:18imirkin: it might end up waiting on some fence that never hits
19:19Laalf: "some issues" basically sums up gnu/linux
19:19imirkin: send patches :p
19:19Laalf: nuh, am no dev:3
19:20imirkin: learn :)
19:20Laalf: i will try to make guixsd better if my notebook runs on there. i know a bit of guile
19:20imirkin: what's guixsd? is that a distro?
19:21Laalf: is a distro based on the nix package manager with guile as the language instead of the (horrible) nix language
19:21imirkin: guile is scheme/lisp, right?
19:21Laalf: no /usr, system is built from a config, user packages, reproducible builds....
19:22Laalf: yes guile is scheme
19:22Laalf: i kinda regret that last sentence now
19:23Laalf: ill be afk for 15 minutes. if you read a bit about guixsd and have some questions, ill be back. thank you still for your answers.
19:23imirkin: i haven't used lisp much this century
19:38Laalf: imirkin: this here is a config (not from me) for a guix system: https://0x0.st/sYQf.scm this defines the whole system outside of your user
19:45Laalf: that means that you dont write anything to /var or /etc. everything is in that config. its confusing and takes quite a curve but is totally worth it
19:45Laalf: you dont write outside of /home and whereever your config is