12:41 maccraft: imirkin: now i am free from nvidia madness
12:41 maccraft: upgraded to x4x intel board
12:42 imirkin_: yay!
12:42 imirkin_: now try to evict nvidia knowledge from your brain so that you can use that capacity for something useful.
12:43 joepublic: it fades with time; apply liberally, right?
12:43 joepublic: I'd love to see a radeon with firmware onboard
12:44 imirkin_: radeon 9000?
12:45 imirkin_: hah, looking at wikipedia, i think i had a radeon 7000, not 9000
12:45 imirkin_: the VIVO variant. it was awesome.
12:53 maccraft: nah
12:54 maccraft: imirkin_: im going to port mcp78 to coreboo ;)
12:54 maccraft: coreboot*
12:54 maccraft: and then maybe native graphics initialization
12:54 maccraft: it won't fix buggy as fuck linux drivers xD
13:00 imirkin_: yeah, sorry about that.
13:04 maccraft: imirkin_: when native graphics init for nvidia is done, it's gonna be one of fastest atx desktop boards that can be supported by libreboot
13:05 maccraft: >16gb max ram
13:05 maccraft: >6 sata ports
13:05 maccraft: >6 core cpus
13:05 imirkin_: >6 years to completion
13:06 maccraft: 6 years?
13:06 maccraft: na
13:06 imirkin_: :p
13:06 maccraft: nah
13:06 maccraft: mcp55 has been reversed
13:06 maccraft: i can use that and change enough code to make it boot
13:13 imirkin_: ok
13:13 imirkin_: mcp55 is like 6150SE?
13:13 imirkin_: with that weird DVI connector that we can't figure out how to use?
13:22 maccraft: imirkin_: no idea
13:22 maccraft: i didn't do mcp55
13:23 maccraft: and i have no mcp55 board
13:23 imirkin_: ah ok
13:24 imirkin_: there's some motherboard out there with a DVI connector hooked up to the nvidia gpu that we never figured out how to operate
13:24 imirkin_: it was behind some weird encoder
13:25 maccraft: iirc some tyan board had that
13:56 lepton: are there docs for any nv92 vbios?
13:58 imirkin_: what sort of docs are you looking for?
13:58 imirkin_: this describes the dcb, for example: https://nvidia.github.io/open-gpu-doc/DCB/DCB-4.x-Specification.html
13:59 imirkin_: and this describes the devinit scripts: https://nvidia.github.io/open-gpu-doc/Devinit/devinit.xml
13:59 lepton: i don't know much about how nvidia gpus initialize so i'd want as much as possible to write a replacement for my quadro fx 3700m laptop
13:59 imirkin_: well, basically the vbios provides a bunch of data tables
14:00 imirkin_: which an interpreter uses to perform initialization
14:00 imirkin_: the option rom comes with such an interpreter, as does nouveau
14:00 imirkin_: the data tables contain, among other things, init scripts, which write a bunch of stuff to a bunch of registers on the gpu
14:01 lepton: so i can look at nouveau's code for reference
14:01 imirkin_: sure
14:02 lepton: that was simpler than i expected
14:02 imirkin_: not 100% sure what your goal is
14:02 lepton: i'll come here if i get stuck, thanks for the explanation
14:02 imirkin_: is it to write a replacement option rom?
14:03 lepton: yes
14:03 imirkin_: ok ...
14:03 imirkin_: that's a bit tricky
14:03 imirkin_: esp if you want something that lights up the display before nouveau loads
14:03 imirkin_: also, the vbios has to come from your laptop ... it's not like generic across g92's or whatever
14:04 imirkin_: other revisiosn of your laptop are likely to need something slightly different too
14:10 lepton: sorry, on an unstable connection
14:11 lepton: i was saying:
14:11 lepton: w700ds laptops only came with fx3700m i think, would it be different across those as well?
14:11 imirkin_: could be, if diff revisions are wired up differently
14:12 imirkin_: basically stuff like fans might be connected to this or that gpio
14:12 lepton: i see
14:12 imirkin_: memory chips could be different
14:12 imirkin_: etc
14:12 imirkin_: i would treat the vbios table data as god-given ... don't try to understand it or generate it ... that way lies pain
14:13 lepton: i already have coreboot booting on it, i just want to get rid of the last blob (and i really don't like ada so looks like my solution won't be upstreamable anyway)
14:14 imirkin_: not sure what ada has to do with it
14:14 lepton: coreboot uses libgfxinit written in ada
14:14 imirkin_: anyways - i'm afraid that the vbios table data will have to remain a "blob"
14:14 imirkin_: it basically defines (a) how the chip is hooked up and (b) how to initialize it
14:15 imirkin_: you can rewrite the interpreter/etc around it
14:15 lepton: ok thanks
14:16 imirkin_: if you want pre-nouveau-load video ... it'll be tricky
14:16 imirkin_: but if you don't, just drop the option rom entirely - nouveau can bring up the chip just fine on its own
14:20 lepton: also i think i found an nvboost bug with a gm117 laptop i have
14:20 imirkin_: gm107 presumably?
14:20 lepton: oops yes nv117
14:20 lepton: (960m)
14:20 imirkin_: karolherbst is the reclocking expert
14:24 lepton: i'm just beginning to play around with nouveau (and gpu drivers in general) so i have no idea what's going wrong
14:25 imirkin_: well, basically each pstate has a range of core frequencies associated with it
14:25 imirkin_: and there's some sort of connection to voltages too
14:25 imirkin_: boost allows you to use higher freqs with some higher voltages? i forget precisely.
14:25 imirkin_: but without boost, you don't have access to the full range of core frequenceis
14:27 lepton: so why would a program lock up the x server only when nvboost is enabled and pstate set to 0a or 0f?
14:28 imirkin_: coz we do something to the voltage we're not supposed to :)
14:29 lepton: i assume this is where i learn to use envytools
14:30 imirkin_: well ....
14:30 imirkin_: run your vbios through nvbios (in envytools)
14:30 imirkin_: it should show a bunch of stuff
14:30 imirkin_: which will make no sense at first
14:30 imirkin_: but we could work through it
14:31 lepton: i just assumed envytools was how you debugged power management related issues
14:31 imirkin_: envytools is a bunch of tools
14:31 lepton: but it seems to be unrelated
14:31 imirkin_: i think there are some tools in there that were very helpful for this stuff
14:32 imirkin_: but generally the RE aspect of "what does blob do"
14:32 imirkin_: as well as informational stuff, like rnndb, nvbios, etc
14:33 lepton: in this case, i assume we use the blob to figure out what's supposed to happen re boost
14:34 imirkin_: we use blob to figure out how to interpret the values
14:34 imirkin_: vbios is just a sequence of bytes :)
14:35 imirkin_: so we convince the vbios to use a hacked up vbios
14:35 imirkin_: and see how it reacts
14:35 imirkin_: gr. we convince the *blob* to use a hacked up *vbios*
14:35 imirkin_: which is why the signed verification of stuff really puts a dent in our ability to do that :)
14:37 imirkin_: so basically there are regular tables, and boost tables
14:37 imirkin_: NvBoost=1 allows you to use the boost tables
14:39 lepton: and nvboost=2?
14:39 lepton: i should just read the source for this
14:39 imirkin_: i think it just lets you use max for pstate
14:39 imirkin_: irrespective of any other limits
14:39 lepton: oh i see
14:40 imirkin_: i.e. "not super safe" :)
14:40 imirkin_: have a look at some of the commits here: https://github.com/skeggsb/nouveau/commits/e087c9a718e41111b0764b04cc21c78a83490f77
14:45 lepton: ok, let me test something