17:32 edgecase: does nouveau do anything with VBIOS?
17:33 imirkin_: yea
17:33 imirkin_: nouevau doesn't work without i
17:33 imirkin_: it*
17:33 edgecase: run x86 code from vbios, or just data tables?
17:33 imirkin_: never the x86 code
17:33 imirkin_: data tables, as well as the init scripts
17:33 imirkin_: (which one could argue are data tables, but they drive an interpreter)
17:33 edgecase: i guess things like coreboot can just run the VBIOS POST code
17:34 edgecase: sounds like AMD ATOM BIOS
17:34 imirkin_: (and those scripts aren't just init scripts ... they're also run on reclock, display changes, etc)
17:34 edgecase: suspend/resume?
17:34 imirkin_: kinda ... i think atom bios is a way more complex thing
17:34 imirkin_: yeah, on resume of course, since the bios won't post the board
17:35 edgecase: anyone played with the new RTX boards that have USB host controller?
17:35 imirkin_: see subdev/bios/init.c
17:35 imirkin_: (iirc)
17:35 edgecase: and USB-C port?
17:35 imirkin_: if it's not shipped for free by dell in a computer that has no need for the board, then i don't have it.
17:36 imirkin_: :)
17:36 edgecase: heh. i know those things.
17:36 imirkin_: that's how i have GK208, GM107, and GP108
17:36 edgecase: the USB-C is on the very newest boards, maybe nouveau doesn't support the gpu yet?
17:36 imirkin_: no, it does
17:37 imirkin_: and there were some patches from nvidia to support the usb-c thing somehow
17:37 edgecase: just with the signed firmware?
17:37 imirkin_: i forget the details
17:38 imirkin_: naturally with firmware galore
17:38 imirkin_: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/nvidia/tu10x/typec
17:38 edgecase: i feel like there is an email client in there waiting to be found.
17:39 edgecase: so, I found what could be the basis of VRAM useage tracking, nvkm_gpuobj_new and friends are the phys VRAM heap manager functions
17:40 edgecase: then there are the bar1 and bar2 translation "heaps", for nv50+
17:40 edgecase: the phys VRAM heap, I'm thinking of using the kernel's unwind function, to grab the caller's function name
17:42 edgecase: otherwise, you have to add a parameter to the nvkm_gpuobj_new(....,"my name is henry") everywhere it's called, with some sort of #ifdef NV_DEBUG_TRACE_HEAP
17:54 bylaws: Seems like the GTC talk is cancelled, I can no longer find it in the schedule
17:55 karolherbst: bylaws: yep, looks like that
17:57 bylaws: Hopefully they will announce it via a press release or something
20:05 karolherbst: imirkin_: do you know if we have a pushbuf parser somewhere?
20:06 imirkin_: demmt
20:06 karolherbst: mhhh... mhhh does that still work with nouveau?
20:06 karolherbst: I thought that was always painful to use with nouveau
20:06 imirkin_: if you force nvif=false
20:06 karolherbst: ahh
20:06 karolherbst: I kind of wished we have something we could paste the libdrm syntax in
20:07 imirkin_: k
20:07 imirkin_: :)
20:07 karolherbst: especially know there we have the sync option and print the content on failed submission
20:07 imirkin_: send patches?
20:07 karolherbst: mhh.. I was under the impression I wrote something at some point
20:08 imirkin_: there's also the older dedma
20:08 imirkin_: perhaps it can be used for this?d unno
20:08 karolherbst: yeah.. maybe
20:09 karolherbst: but still I think it would be nice to be able to just parse whatever libdrm dumbs
20:09 imirkin_: dedma should be adjustable for this, i think
20:09 imirkin_: maybe not
20:09 karolherbst: well.. the glue code is all that matters anyway
20:10 karolherbst: just calling into the envytools parser is the simple part here anyway
20:11 karolherbst: but I am sure I had something like this at some point... just need to find where (unless I deleted it or so)
20:49 lovesegfault: karolherbst, imirkin can one of you explain to me where does mesa fall on the graphics stack?
20:49 lovesegfault: I saw that mesa 20 prefers the iris driver over i965, but I don't understand how picking drivers is mesa's responsibility
20:50 lovesegfault: what even is mesa
20:50 karolherbst: mesa is an implementation of APIs
20:50 karolherbst: and "driver" just means mesa internal drivers
20:51 lovesegfault: karolherbst: oh, so it has nothing to do with kernel drivers?
20:52 imirkin_: lovesegfault: aging, but still relatively accurate -- https://keyj.emphy.de/files/linuxgraphics_en.pdf
20:52 karolherbst: correct
20:52 lovesegfault: imirkin_: reading
20:52 karolherbst: of course mesa talks to the kernel drivers through kernel interfaces, but that's a different story
20:52 lovesegfault: so it goes dev -> kernel driver -> mesa driver -> app?
20:52 karolherbst: more or less
20:52 imirkin_: usually the arrows are reversed
20:52 karolherbst: there are more parts
20:53 karolherbst: btw getops is a terrible API and the people who came up with that should be ashamed of themselves forever
20:53 lovesegfault: right, we talked about gallium a while back which I guess would make it app -> mesa_frontend -> mesa_backend -> dev
20:57 lovesegfault: so nouveau is _just_ the kernel driver?
20:57 lovesegfault: or is it also the mesa gallium backend?
20:59 imirkin_: nouveau is like 5 different things
20:59 imirkin_: which all work together
21:01 lovesegfault: got it
21:05 lovesegfault: What is mode setting?
21:05 imirkin_: mode = thing that describes how the display is set
21:06 imirkin_: modeline, etc
21:06 lovesegfault: So like frame rate, resolution, color depth?
21:07 imirkin_: yes
21:07 lovesegfault: (pixel format ...)
21:07 lovesegfault: got it
21:08 lovesegfault: This thing is talking about KMSCON which says my ttys should have unicode support, is that accurate?
21:08 lovesegfault: IME fonts kind of suck
21:08 lovesegfault: (in the tty)
21:10 imirkin_: kmscon never really took off
21:12 lovesegfault: https://cgit.freedesktop.org/~dvdhrm/kmscon/
21:12 lovesegfault: yikes last commit is 6 years ago
21:12 imirkin_: the presentation is from 2014 :)
21:13 lovesegfault: Ah :P
21:14 lovesegfault: Oh, yeah, it's talking about fglrx
21:15 imirkin_: but it's MOSTLY still quite good
21:15 imirkin_: a few things in there didn't pan out
21:15 imirkin_: but imho minor relative to the overall content of the presentation
21:16 lovesegfault: yeah, I'm learning a bunch
21:16 lovesegfault: it just got to wayland
21:17 lovesegfault: oh I had forgotten about mir
21:20 lovesegfault: brb
21:47 lovesegfault: I just played around with kmscon and it's a shame it didn't take off
21:47 lovesegfault: it's pretty cool