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