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