00:02imirkin: i get that all the time ... thought it was normal
00:16orbea: it apparently was the source of hdmi sound being bad with sdl2 programs...
00:16orbea: mplayer was fine, go figure
00:21airlied: seems like something that should be fixed in the kernel or alsa
00:25orbea: yea, i'll build a newer kernel later and then figure out where to report it if still needed (on lts now)
05:15orbea: nouveau backtrace in dmesg, not sure what actually broke... https://dpaste.com/579QKDMYH.txt with 5.4.77
05:15orbea:cant wait to amd on this box...
15:32karolherbst: orbea: nothing really. It's more or less known
15:32karolherbst: it's a stupi race condition
15:32karolherbst: *stupid
15:39orbea: ah
16:49TMM: I asked this a couple of days ago as well, and I still haven't been able to figure it out: Could someone point me at some documentation or just flat out tell me, what the last GPU that nouveau supports is that doesn't require non-free firmware blobs and can be reclocked? I haven't been able to find a straight answer to that. Some sites suggest a 750 ti?
16:49imirkin: TMM: when you can define "latest" and "non-free", i could potentially answer that question
16:50imirkin: er, i meant "non-free firmware blob"
16:51TMM: imirkin: I guess anything extracted from the nvidia blob, or supplied by nvdia I guess? I seem to remember that at some point nouveau could generate boot firmware for cards?
16:51imirkin: TMM: all GPUs supported by nouveau require using the VBIOS which is supplied by nvidia and is most definitely non-free
16:52imirkin: it includes instructions written in a turing-complete language
16:52imirkin: (which is sorta the definition of firmware, in my mind...)
16:53TMM: imirkin: OK, let me start from the beginning: I'm playing with the idea of selling a PC based off of a RISC-V motherboard to fellow geeks. I want to be able to achieve the 'Respects Your Freedom' criteria from the FSF as that's kind of the goal of this. For that the definition of a 'non-free firmware' are user-supplied blobs that get loaded through the main processor into a secondary processor for execution. If the secondary processor already
16:53TMM: comes which such a blob that is acceptable.
16:54imirkin: i see
16:54imirkin: in that case, i believe that the GTX 750 Ti (GM107) is the *latest* GPU which satisfies such a definition
16:55imirkin: however the GTX 780 Ti is the most powerful GPU which satisfies such a defintion (GK110B)
16:55karolherbst: and for normal scanout one doesn't need the firmware, but then you don't get OpenGL, so it's "complicated"
16:55imirkin: note that for GKxxx there is the option of extracted firmware being used for video decoding acceleration, but you don't _have_ to use that
16:56TMM: Yeah, I think would want to ship with accelerated 3D if at all possible
16:56TMM: Not having accelerated video decoding is acceptable, but I think 3D acceleration really isn't optional anymore these days
16:56imirkin: (for GMxxx, there is no such option. ran out of caring for it.)
16:56imirkin: also, note that public benchmarks of such GPUs will show much better results than you'll get with nouveau
17:24TMM: Yeah, I understand that
17:24TMM: I just need to be able to run say gnome-shell etc fairly competently
17:27imirkin: afaik gnome-shell (and kde-plasma) don't work so great with nouveau
17:27imirkin: but i don't use them, so i don't know the particulars
17:31TMM: I will test that before :) I'm not averse to buying a bunch of different cards and just see how we do
17:32TMM: imirkin: just to make sure I understood all of the information you gave me: The GTX 780 TI is probably the fastest GPU that can work (without video decoding) based on the criteria I gave? Newer cards all need non-free firmwares to do any 3D at all.
17:35imirkin: that is correct. note that the GTX 780 Ti (and all other NVIDIA GPUs) come with non-free firmware in the form of the vbios which causes operations to be executed on the CPU (generally affecting the GPU)
17:37TMM: That would be code that runs when an x86 system boots?
17:37imirkin: that too
17:37imirkin: (i.e. the option rom)
17:38imirkin: but also code that runs at various points in time in the GPU's runtime lifecycle as well as on resume
17:38imirkin: (plugging/unplugging displays, reclocking, etc)
17:38imirkin: nouveau has an interpreter for that language which runs the scripts as given
17:39TMM: Ah, I see
17:39imirkin: most instructions are of the form "write value X into register Y"
17:39TMM: OK, I'm going to have to talk to the FSF people then whether or not that's acceptable
17:39imirkin: but there's also control flow, etc
17:40imirkin: (also i think the GTX TITAN might be more powerful than the 780 Ti? or there are some various trade-offs, like one is fater but the other has more RAM, etc)
17:41TMM: I can just buy a set of cards and see which ones actually perform best in practice with a free software stack
17:41imirkin: finally, you mention RISC-V, so ... not exactly an off-the-shelf situation
17:41TMM: Although I think that if the bios is a dealbreaker for the FSF I'll probably just stick an RX580 in
17:41imirkin: this isn't specific to nvidia
17:42imirkin: but note that (a) GPUs expect the spec'd amount of power via the pcie 16x slot
17:42imirkin: and (b) they expect big IO windows
17:42TMM: the people who ship the base board already have validated an AMD GPU so I expect the slot power and bar are in order
17:44imirkin: ah ok
17:45TMM: I'm not really expecting to sell a high volume of these, and I expect it to eventually cost me money. There's a lot of pieces that need to come together to make a system that you can actually turn on and boot. :)
17:46imirkin: oh yeah
17:46imirkin: there was someone earlier who was interested in desktop-y power boards a while back
17:46imirkin: i.e. actually had an ATX-type motherboard with a power cpu
17:46imirkin: MrBIOS i think was his handle on irc...
17:47imirkin: (a big-endian POWER cpu, no less)
17:47TMM: auch
17:47TMM: At least this thing is little-endian
17:47imirkin: nouveau support on BE is questionable at best
17:48TMM: In my ideal world I'll ship a box that has only free software, with wifi, front-panel audio, and working 3D.
17:49imirkin: heh
17:50TMM: It's not as far fetched as it sounds
17:50TMM: the main question marks are around nouveau for me right now
17:50imirkin: could be further fetched :)
17:52TMM: It's not too improbable for me to fix some code either. I have some experience. Just absolutely 0 with DRM/nouveau (and risc-v)
17:53imirkin: does risc-v do 4k pages?
17:54RSpliet: Does RISC-V mandate pages? :-P
17:55TMM: 4K and 4M pages are both supported
17:55imirkin: cool
17:57TMM: I think there's nothing super overt that would prevent this from working
17:57TMM: Although the devil is as always in the details I'm sure
17:58TMM: But apparently they were able to run an RX580 without patching amdgpu or mesa
17:58TMM: So I am somewhat hopeful that nouveau will also work :)
18:06TMM: imirkin: Do you think that getting a 750 ti, 780 ti, and a GTX Titan would make sense to test?
18:06TMM: All of these cards seem to be shockingly well in stock
18:06imirkin: they'd old, people are selling them off i'm sure
18:06imirkin: depends what your budget for all this is. it's highly unlikely that one of them will work and others wouldn't
18:06TMM: They are apparently even just available new in box
18:07imirkin: i.e. if one works, they all work. if one doesn't work, none work
18:07TMM: I don't mind spending some money to figure out which of those works the best with nouveau from an absolute performance point of view
18:07imirkin: do stay away from gtx 660's though - some fraction of those don't work with nouveau's firmware for reasons that have never been determined
18:08TMM: Looking at their relative performance with the nvidia driver is probably pointless
18:08imirkin: blob will be about 50% faster, on average
18:08TMM: Oh? Even with reclocking?
18:08imirkin: (assuming you manually clock up, which isn't difficult but does require manual action)
18:08imirkin: yeah
18:08imirkin: turns out they know more about their GPUs than we do
18:08imirkin: who could have imagined
18:09imirkin: and they've invested thousands of man-years into their drivers
18:10TMM: Sure, that makes sense
18:10TMM: I thought the largest performance delta was due to the lack of reclocking
18:10imirkin: there are entire features we don't make use of
18:10TMM: but 50% performance is probably still fine for what I intend these to do
18:10imirkin: and the features we do make use of, we probably don't make use of as effectively as we could
18:10imirkin: that's not to mention the fact that their compiler is just better
18:10imirkin: the largest perf delta *IS* due to reclocking
18:11imirkin: without reclocking
18:11imirkin: the blob will be 10000% faster
18:11imirkin: ;)
18:11TMM: I just kind of assumed that the huge gap on phoronix was due to lack of reclocking
18:11TMM: But again, 50% is fine, that's still pretty damn impressive
18:11imirkin: depends on the GPU and depends on the article
18:11imirkin: reclocking didn't always work
18:11imirkin: and reclocking doesn't work on newer GPUs
18:13TMM: I wish someone had spent as much time on the firmware side of things on amd as you guys did on nvidia
18:13TMM: I realize you did it out of necessity of course :)
18:13imirkin: tbh i don't know the specifics of amd fw
18:14imirkin: i know early on people were objecting to using atombios
18:14imirkin: but that's just madness
18:14imirkin: that works when there are 10 boards on the market, not 10000 boards on the market
18:14TMM: The amd FW are blobs that need to get loaded from the cpu, but they are unsigned and could theoretically be replaced
18:15TMM: Not a lot of effort went into that though
18:15imirkin: right, but what do they do?
18:15imirkin: just like CP FW? or more?
18:16TMM: There's a couple of different firmwares. I think one of them contains some kind of scheduler
18:16imirkin: ah
18:16imirkin: delightful
18:16TMM: Then there's the ones for video decoding
18:16imirkin: sure, that's the same on nvidia
18:16imirkin: presumably same for video encoding
18:16TMM: yeah
18:17TMM: The scheduler part is probably going to be problematic, and I think there's absolutely 0 documentation on them
18:17imirkin: except for the code itself :)
18:17TMM: Yeah, but I don't think it's understood what kind of code is in there
18:17imirkin: ISA can be tricky to determine
18:18imirkin: i think there have been some efforts to document the CP ISA
18:18TMM: Oh, that could be interesting
18:18imirkin: thankfully all the nvidia processors use the same ISA
18:18TMM: How did nouveau do the firmware generation bit? You guys just worked out the entire ISA and rewrote the biosses?
18:18TMM: err firmwares
18:19imirkin: yes
18:19TMM: dang
18:19TMM: impressive
18:19imirkin: https://envytools.readthedocs.io/en/latest/hw/falcon/intro.html
18:19imirkin: well, the key is to find a way to run an instruction and inspect state
18:19imirkin: gtg
18:19TMM: Thank you so much for your help