00:58pabs: what functionality has moved into the proprietary firmware for nvidia GPUs these days? is it just reclocking and power management stuff?
00:58karolherbst: pabs: well.. it's a lot more
00:59karolherbst: but I don't know the details :)
01:10hentai: Does anyone understand anything about the new "open" nvidia driver?
01:10HdkR: I understand that it is currently missing display
01:11HdkR: `the NVIDIA Open Kernel Modules will eventually supplant the closed-source driver.` But that sounds like it'll get fixed.
01:11hentai: I am somewhat upset that they decided to make a NEW driver instead of opening the old one
01:12hentai: My chances for a proper 340 driver are at an all time low
01:12HdkR: eh, biggest pain is for all the Maxwell2 and Pascal users
01:12HdkR: (and volta lawl)
01:12hentai: Being an NVIDIA customer brought much pain as it is
01:13HdkR: Seems like the cutoff point was for hardware that has the riscv falcon
01:14karolherbst: hentai: it's not a new driver
01:15hentai: karolherbst, The "support for GeForce and Workstation GPUs is alpha quality" is a bold hint that it is
01:15karolherbst: well, it's not
01:15hentai: Unless they consider their old driver to have alpha quality support for GeForce :)
01:16karolherbst: well you can interpret it all you want, it's still not a new driver
01:16hentai: karolherbst, Well, this is good news then
01:16HdkR: Massive refactors means things go back to alpha quality :P
01:16karolherbst: they just opened sourced what they had, and everything they didn't open source was pushed into firmware :P
01:17karolherbst: (more or less)
01:17hentai: Well, this is questionable news then
01:17anarsoul: karolherbst: btw, does it mean that they publish firmware blobs now?
01:17HdkR: It's good news since it is a step in the right direction
01:18HdkR: It's not the best news because it isn't an upstreaming effort :P
01:18karolherbst: anarsoul: well.. it's already published, isn't it?
01:18anarsoul: HdkR: I hope they'll get there
01:18anarsoul: karolherbst: no idea. I haven't looked into what exactly they open-sourced
01:18HdkR: anarsoul: I doubt it will. It's easier to maintain out of tree, especially since their kernel interface is tied to individual drivers
01:19karolherbst: we'll see
01:19karolherbst: I have my own theory on what will happen, but I don't want to spoil the fun
01:19HdkR: I love to see the kernel interface stabilize, would be neat.
01:19HdkR: I'd love*
01:20anarsoul: HdkR: that's not what I read on phoronix :) it says that in long term they may look into upstreaming it
01:20karolherbst: anarsoul: I think that's michael interpreting too much into things
01:21pabs: the nvidia post does mention upstreaming though?
01:21karolherbst: not as far as I am aware of
01:22hentai: HdkR, By the time last star gets extinguished, kernel interface will finally stabilize
01:22karolherbst: "There are plans to work on an upstream approach with the Linux kernel community and partners such as Canonical, Red Hat, and SUSE. " :P
01:22karolherbst: which means everything and nothing
01:22anarsoul: karolherbst: well, as long as nouveau can reuse the code and the firmware for reclocking I don't really care if their official driver gets upstreamed
01:22karolherbst: anarsoul: the thing is, there can only be one driver
01:22anarsoul: karolherbst: but why?
01:23karolherbst: because it's the rule
01:23anarsoul: I saw wifi drivers violating this rule :)
01:23pabs: sounds like the right people are involved that the upstream code changes will be to nouveau
01:23karolherbst: anarsoul: are they?
01:23anarsoul: there's rtl8xxxu and a lot of rtl87** crap in drivers/staging
01:23karolherbst: ahh staging
01:24karolherbst: question is.. do those driver really load for the same hw or not
01:24karolherbst: those things are ... werid
01:25anarsoul: well, in theory it shouldn't be too difficult to teach nouveau to use "official" driver
01:25karolherbst: I am actually interested why they meniton canonical and suse there :P
01:25anarsoul: if they ever upstream it
01:25karolherbst: I'll want them see and try working with nvidia on upstreaming it
01:26karolherbst: or something
01:26karolherbst: or whatever
01:26hentai: Just don't kill the support for GT240M, and I harm nobody
01:26karolherbst: at least I am not aware of the nouveau developers working for canonical and suse and I didn't get any emails from anybody from those companies 🙃
01:26karolherbst: maybe others did, I doubt it though
01:27anarsoul:doesn't actually use gtx1650 in his laptop
01:27karolherbst: oh well...
01:28anarsoul: karolherbst: we'll see how all this unrolls...
01:28karolherbst: yep, only time will tell
01:53dviola: wait, so this is not the whole driver being open sourced?
01:54karolherbst: dviola: duh?
01:54karolherbst: it's still nvidia we are talking about :D
01:56imirkin: i didn't look ... is the display stuff well done there?
01:56imirkin: if so, i might read through it :)
01:56karolherbst: imirkin: in theory
01:57karolherbst: the first drop is for compute only devices, but... everything should be there
01:57imirkin: ah ok
01:57imirkin: unless it's userspace driving the EVO channels
01:57karolherbst: but this is from a "what is supported" pov
01:57imirkin: in which case .. SOL
01:57karolherbst: well.. they do support kms
01:57imirkin: right, we'll see if they support the kms features i'm curiosu about :)
01:57karolherbst: and it's literally their driver, just open
01:58karolherbst: yeah.. maybe :)
02:00karolherbst: imirkin: but generally I think you can imagine how annoying it was to know about that stuff happening, but not being able to say so :P
02:00imirkin: turing+, so very meh
02:00karolherbst: yeah well... it has this risc-v chip :P
02:01imirkin: "very meh"
02:01karolherbst: ohhh.. that stuff might live in firmware actually
02:01karolherbst: that would be annoying
02:01karolherbst: kms being an IPC wrapper
02:01karolherbst: sounds like sometihng nvidia would do
02:01imirkin: oh, they weren't kidding when they said the driver was being offloaded to a separate processor
02:02imirkin: this is like the broadcom-style thing that the rpi used to have
02:02karolherbst: I didn't take a deep look, because I already expected that :)
02:02imirkin: there will be an extension where you can actually send it a GL command stream directly ;)
02:02imirkin: native support for NV_gpu_program5 :)
02:03karolherbst: imirkin: anyway: https://github.com/NVIDIA/open-gpu-kernel-modules/tree/main/src/nvidia-modeset/src
02:03karolherbst: looks like the display stuff is there and not in firmware
02:04karolherbst: evo2 is like.. kepler?
02:05karolherbst: wow https://github.com/NVIDIA/open-gpu-kernel-modules/blob/main/src/nvidia-modeset/src/nvkms-evo2.c#L3775
02:06airlied: good luck tracing that stuff without some headache tablets :-P
02:06karolherbst: I don't plan to
02:07airlied: imirkin: I think the EVO side hasn't changed, but the interupt driven stuff from the fw might have
02:13imirkin: just need to grep around for NV_KMS_DPY_ATTRIBUTE_CURRENT_COLOR_SPACE_YCbCr420
02:13imirkin: and see where that leads
02:14airlied:hands imirkin a rabbit hole
02:14imirkin: anyways, i'll look at it ... not now.
02:20Lyude: definitely going to be fun looking through the display bits at least
02:20Lyude: i have many questions.
02:20karolherbst: and they might get answered
02:20karolherbst: at least a lot of this code is good reference.. I hope
02:21karolherbst: at least now we might be able to tell what we are doing wrongly
02:29Lyude: also jfyi evo2 == kepler-pascal, nvd = volta+
02:30karolherbst: nvd == evo3?
02:30imirkin: very technically, gf119+ :p
02:30karolherbst: gf119+ is an oddball
02:30karolherbst: that doesn't count
02:30karolherbst: it's like half kepler
02:30imirkin: i mean, evo2 = gf119+
02:30imirkin: evo = g80-gf116
02:30Lyude: karolherbst: I mean -basically-, although it's definitely not even slightly compatible
02:31Lyude: yeah evo is, weird.
02:31karolherbst: Lyude: no, there is literally an evo3.c file there
02:31Lyude: evo1 I mean
02:31karolherbst: and were wondering if that's just nvd or if there is a real evo
02:31Lyude: karolherbst: huh. i will start looking at all this stuff tomorrow and see
02:31Lyude: i wonder if evo3 is volta actually
02:31karolherbst: /** Number of CRCs supported by hardware on NVC37D hardware (SF/SOR, Comp, RG) */
02:32karolherbst: nvc3 was.. volta, no? or turing?
02:32imirkin: c370 is volta+ yea
02:32Lyude: since there was definitely a weird halfway point that volta took w/r/t display stuff, where you had nvdisplay but it wasn't totally finished yet (e.g. you didn't have wndws with flexible ownership yet)
02:32imirkin: c570 is turing?
02:32karolherbst: then c0/c1 was pascal
02:32karolherbst: it's so confusing
02:33Lyude: luckily volta is pretty rare
02:33karolherbst: and I left my volta in brno :(
02:33karolherbst: maybe I should try to get one as long as they are potentially still available
04:35Lambert|2: Okay. What the actual hell?
04:35Lambert|2: Is this even real?
04:36Lambert|2: It's been a while since I was blown away by news like that.
04:45pabs: its not as useful as it sounds
04:46pabs: the signed firmware (39MB of RISC-V code according to LWN) and userspace driver remains proprietary
04:47Lambert|2: pabs: it's okay if it's proprietary. So long if it's usable. Like if I can install nvidia-firmware, and nouveau can get access to all the good stuff, starting with fan control.
04:48Lambert|2: It's usable, right?
04:48pabs: no idea :)
04:52Lambert|2: ah, it's only for turing and onwards. Well, I thought there'd be a catch
05:00Lambert|2: So, basically you just said you have no idea how useful it is, but you you also said it's not as useful as it sounds.
05:00Lambert|2: I almost forgot where I am.
05:20tpefreedom: AMD still king?
05:20tpefreedom: Or is it likely that nouveau will become more usable in the near future?
05:25pabs: seems like the common firmware release will help nouveau, only on newer cards tho
05:27Lyude: yeah i expect us to be able to make a lot of improvements in nouveau with this
05:29tpefreedom: I hope nvidia bothers to dump details on older cards.
05:29orbea: why not just block nvidia from merging anything until they release the missing pieces? ;)
05:30airlied: thwy arent merging anything?
05:30airlied: tpefreedom: there will be nothing for pre turing from this
05:31orbea: i was reading the gnome blog post where there was talk of intergration with both proprietary and foss drivers in the kernel and eventually mesa
05:31airlied: its not dwtails we need its working firmware
05:31orbea: but im being only half serious
05:32airlied: not sure you read it corrextly
05:33orbea: "So the plan we are working towards from our side, but which is likely to take a few years to come to full fruition, is to come up with a way for the NVidia binary driver and Mesa to share a kernel driver. "
05:33mupuf: airlied: I see I am not the only one struggling to type on smartphones :D
05:33mupuf: orbea: this has already happened in the past, for the tk1 SoC
05:34mupuf: one tablet even shipped with the nouveau kernel driver being used by the proprietary userspace
05:34mupuf: that was 7 years ago
05:34orbea: interesting :)
05:34orbea: seriously i wish nvidia would play nicer with the free software ecosystem, but im not going to hold my breath.
05:34airlied: orbea: ah i misread your in the kernel
05:35orbea: no worries
05:35airlied: the idea would be a kernel driver and then userspaces can use it
05:35mupuf: orbea: nvidians wish the same ;)
05:35airlied: mesa and other
05:36orbea: mupuf: i would imagine its mostly the higher ups in nvidia that are blocking it?
05:36orbea: i mean fully supporting the kernel and mesa like intel/amd
05:37mupuf: orbea: of course, management is the reason... but it doesn't have to be that they were blocking... more like their internal processes made it hard to justify the work
05:38orbea: makes sense
05:40mupuf: but, I really want to emphasize what airlied said: what *really* matters is redistributable firmwares!
05:40mupuf: the open source kernel driver is just a way for nvidia to not have to document their firmware's interface
05:40mupuf: heck, we were talking about firmware documentation in 2013 with them
05:41graphitemaster: The firmware si not even encrypted either, it's regular risc-v elfs
05:41graphitemaster: Can reverse engineer it
05:41graphitemaster: That surprises me the most
05:41mupuf: graphitemaster: it is signed though
05:41orbea: and yea, I was thinking of firmware when I said "release the missing pieces" :)
05:42mupuf: nvidia is not a secretive company. They are very open internally
05:42graphitemaster: mupuf, right, so cannot be modified but we can still understand it XD
05:42mupuf: (unlike, say, Intel who is paranoid)
05:42mupuf: graphitemaster: yes!
05:42HdkR: Maybe once some of the management is replaced with a younger more open generation then things will become more open at Nvidia :P
05:43mupuf: graphitemaster: you'll have to re-do it after every kernel release though
05:43mupuf: proprietary firmwares without a stable ABI are going to be a pain...
05:43mupuf: nouveau will have to support multiple ABIs at the same time, I don't envy skeggsb_ :s
05:44mupuf: I guess nouveau's architecture will come to the rescue... but still :s
05:45graphitemaster: Exciting times ahead
05:46graphitemaster: 34 MiB firmware is a lot to reverse engineer
05:50mupuf: it would, indeed
05:50mupuf: but the majority of the size is from video-related firmwares
05:58pabs:wonders if there are any vulnerabilities in the signature verification step
05:59mupuf: pabs: I heard the older versions of it had serious flaws that were later fixed
06:00mupuf: I guess nouveau devs did not get interested in a cat-and-mouse game
07:14airlied: mupuf: yeah the hope is they can stabilise the fw api at some point, but not holding out for it too much :-P
07:15airlied: not sure how much churn it will have, but I'd expect if they do stabilise it, there'll be a big churn then
09:39tanriol: The release is Turing+, so it won't help older hardware directly.
10:28RSpliet:cheers on karolherbst some more on the threading issue :-P
10:29karolherbst: I still need to fix it for nv50 and nv30 :(
10:29karolherbst: but fixing is "optional" the core stuff is there
10:29karolherbst: now it could just lead to rendering artifacts if multithreaded
10:29karolherbst: better than crashing
10:38karolherbst:regression testing gt218
10:42RSpliet: Infinitely better
10:43karolherbst: I am already happy that I don't deadlock
10:43karolherbst: our command submission is horrible
10:44RSpliet: I'm happy with no deadlocks too. Haven't been able to use GPU accel from a VM ever, would be a real addition if I could start doing that :-)
10:45RSpliet: Anyway, always happy to grab my pom-poms and cheerlead a bit!
12:04karolherbst: okay, no regressions on gt218 either
12:05karolherbst: nv30 will be more interesting here...
21:21TimurTabi: So it appears that there is actually something useful between image0 and image1, and that's the FRTS firmware.
21:21karolherbst: TimurTabi: uhh, what's that :)
21:21TimurTabi: I'm not sure
21:22karolherbst: can you tell what FRTS is?
21:22karolherbst: but it kind of sounds important, but then again... why is it placed in such a weird position
21:22TimurTabi: Maybe it's not that weird. Maybe it's just something that Nouveau didn't recognized.
21:23karolherbst: ohh that's not what I meant
21:23TimurTabi: You can see all the code to parse it in OpenRM
21:23karolherbst: from a logical pov I'd assume people would like to place the vbios in one place and don't split it up like this
21:24karolherbst: what is this :O
21:24karolherbst: this sounds... important?
21:25karolherbst: maybe it's firmware real time system or something :P
21:27TimurTabi: I'm not really sure what's going on. Ugh, I need Ben's help.
22:29karolherbst: RSpliet: if you got time for silly jokes you can also help out fixing some bugs :P
22:29karolherbst: although are you allowed to work on it by now or is that still an issue or something?
22:30RSpliet: I think if I do choose to work on OSS stuff, my boss would appreciate it if I would work on the powervr driver instead :-P
22:30karolherbst: it's your spare time, you can do whatever you want :P
22:31RSpliet: Yeah. I tend to fill it with stuff that gives my brains a rest instead
22:31karolherbst: like writing nonsense npm modules?
23:03airlied:saw frts yesterday, couldn't decode the acronym though
23:46airlied: TimurTabi: btw I've been glancing at openrm loading as well, so happy to stare at things and look lost if you have pointers