14:41jekstrand: Does the nouveau kernel driver support the compute-only cards?
14:42jekstrand: The Tesla cards (not necessarily Tesla architecture)
14:48karolherbst: jekstrand: probably
14:48karolherbst: question is just how buggy it would be
14:49karolherbst: jekstrand: also, those are not compute only cards
14:49karolherbst: they just have no display support
14:57jekstrand: I thought maybe they deleted some of the 3D HW
14:58karolherbst: those cards are often used for desktop virtualization
14:58karolherbst: with e.g. TGX
14:59karolherbst: so they also come with video accel and everything
15:00ajax: yeah they're just missing pdisp or whatever it's called iirc
15:02jekstrand: Does nouveau detect this and only provide a render node? Or does it still provide a master node that just doesn't have KMS?
15:03karolherbst: good question, I suspect it provides both
15:03karolherbst: at least on laptops having pure 3D discrete GPUs I also saw both, but I might be wrong
15:03karolherbst: there is some code in nouveau to detect if we got the display engine on the GPU though
15:04karolherbst: anyway, those tesla/grid GPUs aren't so special as often claimed
15:07karolherbst: jekstrand: anyway, I know that nouveau loads fine on those as I had to debug/fix some vGPU bugs once. I just can't say how well they work in general with nouveau
15:09jekstrand: Guy is asking if he should buy one. He found a pretty spiffy Kepler for $100 on ebay
15:09jekstrand: I told him Kepler is getting a bit old.
15:09karolherbst: we support reclocking on kepler :D
15:10karolherbst: so chances are that some games are even playable
15:10karolherbst: but without display support? mhh
15:10karolherbst: jekstrand: which model btw?
15:11karolherbst: some of those kepler ones are "werid" as in those are simply multiple GPUs on one board
15:12karolherbst: ahh yeah
15:12karolherbst: that's a dual GPU one
15:12karolherbst: so you get two GPUs
15:13ajax: it's also the only match on the big wikipedia table for the term "GK210"
15:13karolherbst: which is fine, you just have to be aware of that
15:14karolherbst: depending on the chipset it might not even load atm... right
15:14karolherbst: no idea if gk210 even load
15:14jekstrand: Anyway, as long as we know the headless cards are supported, that's good enough for now.
15:14jekstrand: Not planning to buy anything just yet
15:14karolherbst: worst case, we need to do some reverse engineering to figure out if gk210 are special
15:14ajax: but that probably means it's mostly a better gk110 if i remember their numbering scheme right
15:15karolherbst: _but_ it's good to know that somebody we have access to actually owns such a card :D
15:15karolherbst: worst case you ship it to me and I pay for everything or something
15:15ajax: so... vulkan 1.2, gl 4.6, d3d12, what more do you want
15:15karolherbst: but you get reclocking
15:15karolherbst: and for $100 it's probably not a terrible investment
15:17ajax: 240GB/s of memory is still pretty dang healthy
15:17ajax: about what the rx480 i'm typing on has
15:17karolherbst: yeah.. it should compare to a RTX 2060 or 2070 even
15:17karolherbst: just that you got two GPUs
15:17karolherbst: which.... has some drawbacks
15:17ajax: i believe you mean opportunities to work on multi-gpu vulkan support
15:18karolherbst: making sure CL works fine with multiple devices :P
15:18karolherbst: but yeah.. I suspect it's mostly equal to the gk110
15:19karolherbst: from a whitepaper: "Kepler GK110/210 GPU Computing Architecture" okay.. :)
15:19karolherbst: let's see...
15:19karolherbst: ohhh interesting
15:19karolherbst: "GK210 expands upon GK110’s on-chip resources, doubling the available register file and shared memory capacities per SMX."
15:20karolherbst: SM 3.7
15:20karolherbst: GK110 is SM 3.5
15:21karolherbst: more shared mem as well
15:21karolherbst: so you get twice the threads if you go over 32 registers
15:21karolherbst: big deal :)
15:22karolherbst: okay, they seem to be pretty equal, just some differences which might or might not cause issues, but nothing I'd say isn't fixiable
15:54pmoreau: Is BPTC supported by Tesla hardware? It is not gated behind `NOUVEAU_DRIVER == 0xc0` in nv50_formats.c but on the other hand the extension is not advertised on nv50.
16:00pmoreau: Running with `MESA_EXTENSION_OVERRIDE=GL_ARB_texture_compression_bptc` and trying to display a BPTC-compressed texture does not seem to trigger any complaints from Nouveau, though I do get incorrect results and a grumpy gr reporting some “TRAP_TEXTURE - TP0: 00000003 [ FAULT]”, so maybe not or there is some plumbing missing.
16:40jekstrand: pmoreau: It should. It's just a DX compression format.
16:40jekstrand: I don't remember which one
17:09karolherbst: slowly I start to think the bug I try to figure out is actually a kernel one ....
17:10karolherbst: do we have users actually using nv30+ GPUs?!?
17:15karolherbst: pmoreau: mind checking if https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10752 doens't break anything for you?
17:18karolherbst: and/or review patches
17:24skunky3: i have a nv130 card and tried to use this a few times for wayland things, tho it has been a bit too bad on the performance side for me, and other things
17:25karolherbst: skunky3: I meant nv30
17:25karolherbst: those are like the 20 years old ones
17:26skunky3: ahh was a bit confused with "nv30+"
17:27karolherbst: ah, right.. I meant the ones which use the nv30 gallium driver
17:31skunky3: okay, my bad then, well i will probably try this out later again when i get the time to do so, good luck with the progress!
17:32karolherbst: yeah... I seriously don't want to break stuff with that MR, so everybody willing to test it would be very helpful. I am sure it's at least "good enough" as things like gnome still run.
17:33karolherbst: even on my nv4x GPUs, but I start glxgears a couple of times and the machine simply crashes :(
17:37Lyude: karolherbst: I think I got a ~nv30 or earlier bug a year or two ago
17:38Lyude: i was quite surprised
17:38karolherbst: yeah... I have a couple of those, but based on my experiences I am wondering if anybody actually use those, because they seem close to unusable
17:39Lyude: might be people running X setups with no actual hw rendering happening.
17:39karolherbst: then they won't care about broken mesa anyway :)
17:39Lyude: basically yeah lol
17:39Lyude: that's one thing I am kind of doubting people use that often, but that's totally a guess on my part
17:39karolherbst: glxgears does run on nv30 with my threading fixes though
17:39karolherbst: so it's not breaking it completely at least
17:40karolherbst: I am sure we have some weirdo kernel bugs in the nv30 domain
17:40karolherbst: getting like DMA_VTX_PROTECTION errors and stuff.. no idea what those are even about
17:40karolherbst: or like CACHE_ERROR on the 4th run of glxgears
17:40karolherbst: totally weird
17:58pmoreau: jekstrand: BC6 and BC7 seem to have been introduced with DX11 in 2009, so 3 years after the first Tesla was released. Though, it could be that the format was added to hardware somewhere between DX10 and 11, and could be present in Tesla.
17:59pmoreau: karolherbst: I can give it a spin, but no promises regarding reviewing even if the series is not about exposing hardware features or similar.
19:05karolherbst: pmoreau: yeah.. that's fine. I just don't want to have obvious issues caused by it
19:06karolherbst: I probably have to accept that from now on I'll have to push patches without reviews anyway :/
19:10karolherbst: yeah... it's annoying. At least we've got somebody new at work, who is looking into the compute side of things in nouveau, but that will probably take some time still
19:11Lyude: karolherbst: if you want me to help with reviewing mesa stuff as well I'm happy too, it's been a while since I've last touched it but I don't mind too much
19:13karolherbst: Lyude: yeah... although I think it would be (strategically) better for you to focus more on the kernel side. But sure, feel free to hop in, but I wouldn't mind if you don't
19:17karolherbst: Lyude: but if you got time, maybe reviewing https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17633 would be a good place to help :)
19:51pmoreau: karolherbst: Nice! Including nv50 or only nvc0+? I just did a quick rebase of my compute series and will push them once I had a chance to test them. I can not continue working on them, but if anyone is interested in picking up the series or bits and pieces from them, they are available.
19:54karolherbst: pmoreau: all the gallium drivers even
19:55pmoreau: Oh, I see! 👍
19:55karolherbst: though only nv50 and nvc0 are fixed for real. nv30 will probably still mess up with threading, but oh well
19:57pmoreau: It already improves the situation on two drivers, so already a net benefit even if one is still left in the dust.
20:13karolherbst: pmoreau: yeah... I actually wanted to merge it way earlier, but nv30 being such a pain and everything.... :(
20:17airlied: we could just fork nv30 away
20:17karolherbst: I was thinking about that actually
20:18airlied: you know what I'll say next :-P
20:19ajax: come on. try not to drop gles2 hardware if you don't have to.
20:19airlied: import libdrm_nouveau, fork it into a corner with nv30, give it a bottle of water and send it out into the desert
20:19ajax: you want to split it off like i915, fine
20:19airlied: I didn't say drop
20:19airlied: yeah split it off into a corner and let it die it's own death
20:19karolherbst: airlied: libdrm isn't the issue
20:20airlied: karolherbst: nope but doing it all at once and never caring again
20:20karolherbst: yeah... maybe. I'll toy around with it and see how easy that would be.
20:21karolherbst: though nv30 still using libdrm and nv50+ something new would be a big help, as nv50 doesn't need rellocs