15:24mwk: hey, would anybody happen to know something about the NV20 hardware tesselation thing?
16:01mupuf: mwk: Wasn't it AMD who started first with Tesselation?
16:07karolherbst: mwk: does this help somehow? http://ixbtlabs.com/articles/nv20/index.html
16:08karolherbst: seems like it was somehow known that there is tesselation and ways to actually use it as well
16:23mwk: mupuf: *shrug*
16:23mwk: note that it's not the modern version of tesselation
16:23mwk: it's some ancient scary thing
16:25mupuf: yeah, I remember that
16:36mwk: well, it's lots of fun to RE
16:36mwk: I have absolutely no idea what all these bits do
16:37karolherbst: well at least you know for what this tessellation could be used for
16:37mwk: but I've already fully simulated 5/15 involved methods in hwtest
16:37mwk: moving unknown bits of unknown methods to unknown bits of unknown registers...
16:38mwk: who knows, maybe at some point I'll even figure out what these bits mean
16:52karolherbst: mwk: how much do you already cover on nv20 grade hardware?
16:52mwk: most of the front-end
16:53mwk: as in, I know exactly which methods set which internal state and how
16:53mwk: with the exception of the final vertex submission commands and a few commands that trigger misc actions (clears, fences, queries, ...)
16:54karolherbst: how much "more complex" is nv50?
16:54mwk: also, I figured out the whole structure and command set of NV30 IDX unit
16:54mwk: NV20 is more complex unfortunately, since it has the tesselation thing
16:55mwk: it's the unit that fetches vertex data from vertex buffers and manages the vertex-in-flight file
16:55mwk: and NV50... well, I'm going to guess it's much more complex
16:55karolherbst: I see
16:55mwk: but most importantly, it's... new
16:56mwk: as in, NV1-NV40 are basically a linear evolution with a few things changed at each step
16:56mwk: while NV50 takes the whole pipeline and throws it into the thrash bin
16:56mwk: replacing it with something entirely different
16:56karolherbst: yeah, just wondering until we have a fairly good idea how the entire hardware works to take care of the most important bits inside our driver, but I figure before 2020 we won't get anywhere here
16:58mwk: well then
16:58mwk: doing G80 would basically require starting over
16:58karolherbst: compared to nv50?
16:58mwk: compared to NV1-NV40
16:58karolherbst: ohh wait, G80 == nv50?
16:59karolherbst: so confusing those labels
16:59mwk: true that
16:59karolherbst: but I think it got much better with kepler
16:59karolherbst: fermi was a messup still
16:59karolherbst: it improved
16:59karolherbst: or maybe tesla and fermi are just silly here
16:59mwk: oh, you mean the labels?
17:00mwk: the hardware definitely did not get simpler
17:00mwk: when you're done with REing G80, you will have to start over *again* with GF100
17:00mwk: that thing is scary
17:00karolherbst: due to the cuda core thing?
17:00karolherbst: and everything else?
17:01mwk: due to splitting the whole thing into GPCs
17:01karolherbst: yeah well, dynamic systems are always super complex
17:01mwk: Tesla is complex, sure, but it's more or less a single pipeline
17:02mwk: with a few detours to the processing clusters
17:02mwk: but Fermi is split into weird GPCs with unknown interactions
17:03mwk: things you'd never suspect are parallelizable are executed in parallel
17:04karolherbst: ohh, I can imagine this
17:04karolherbst: I think it gotten even worse with later hw
17:04karolherbst: like I could imagine that you can do like everything in parallel on gk110+
17:15Garbius: Hi. I'm trying to set up a multiseat machine using systemd-logind (w/o X) using a Nvidia Quadro FX 1700 dual-DVI card. The driver loads correctly and I'm getting a mirrored tty on the outputs. When inspecting dmesg and /dev/, I noticed there is only one framebuffer device (/dev/fb0). Is there a way to have nouveau create one fb device for each output?
17:49steffen__: hey, I have a problem with nouveau driver. Can someone help me?
17:52steffen__: I use HDMI to connect my Laptop to a TV. Sound does not work on the TV but that is OK. Video is flickering though, which I do not like.
17:52steffen__: I read on "https://nouveau.freedesktop.org/wiki/TroubleShooting/#index8h3" that I can raise the card performance mode. I do not know how to do that.
17:58RSpliet: B33F: unless that's a 4K TV or a very old GPU that might not be the solution you are looking for. Could you elaborate a bit more on the HW you have?
17:59B33F: the graphics card is nvidia gtx 260m
17:59RSpliet: Oh... dear. Okay in that case
18:00RSpliet: /sys/kernel/debug/dri/0/pstate can show you a list of available performance modes
18:00RSpliet: write the identifier of one into that sysfs file and prey for the best
18:00RSpliet: (as root)
18:00B33F: haha, OK. So it is a very old GPU :-)
18:01RSpliet: Old is relative, but that means you're lucky in the sense that "raising the card performance mode" should actually work
18:01RSpliet: unlike with the generation afterwards :-C
18:02RSpliet: Well, that is, unless Wikipedia is right and there's actual GDDR5 DRAM connected to that board, in which case you'll find out it spews an error message when trying to increase the performance mode
18:02B33F: Yes, I get an error message.
18:02B33F: bash: echo: write error: Function not implemented
18:02RSpliet: Mind sharing your (full) dmesg just for verification?
18:03B33F: full dmesg? Should I just post that here?
18:03RSpliet: well, on a paste website
18:03RSpliet: and share the URL
18:04RSpliet: will get messy otherwise
18:04B33F: OK, I'll try to do that. Haven't used paste websites before.
18:05RSpliet: hastebin.com or fpaste.org usually works fine
18:09B33F: Can you see it?
18:09RSpliet: Oh... wikipedia *is* wrong
18:09RSpliet: (your card is older than I thought)
18:10RSpliet: But yeah, can't change perflvls for G92 at the moment, sorry.
18:10B33F: OK, no problem.
18:11B33F: Any other ideas what I could do to get rid of the flickering on the TV when connected via HDMI to my Laptop?
18:12RSpliet: If it's a bw issue, not much... but doublecheck your resolution and refresh rate. Maybe try with a lower res if your TV support that as a workaround
18:12B33F: OK, I'll try a lower resolution.
18:28B33F: hm, some combinations are worse some are better but there is no setting where I do not see the flickering.
18:32B33F: I guess I will have to get used to it or try to get nvidia driver running.
18:33B33F: Thanks for your help anyways :-)
18:33Garbius: Is your card in the legacy list?
18:36Garbius: Actually, I checked. It is.
18:37B33F: What does that mean?
18:37Garbius: The legacy drivers lack some features.
18:38Garbius: I'm going to see if I can find the driver version for your card.
18:39Garbius: I believe you'll want the nvidia 340xx driver
18:41B33F: Yes, last time I tried that though, my system was very unstable. Screen froze and system does not react to keyboard or mouse.
18:42Garbius: It has some quirks. It does not properly support modeset for fbcon either.
18:42B33F: This is why I wanted to get it working with nouveau.
18:42Garbius: I have both installed. They can not be loaded at the same time, but it's handy depending on what you're doing at the moment.
18:43Garbius: You can just rmmod and modprobe the other
18:44B33F: I will give it another try tomorrow. Thanks and goodbye.
19:17mwk: so the tesselator re-uses half of the IDX cache area as its working space
21:24Garbius: I'm trying to set up a multiseat machine using systemd-logind (w/o X) using a Nvidia Quadro FX 1700 dual-DVI card. The driver loads correctly and
21:24Garbius: I'm getting a mirrored tty on the outputs. When inspecting dmesg and /dev/, I noticed there is only one framebuffer device (/dev/fb0). Is there a way to
21:24Garbius: have nouveau create one fb device for each output?
21:24Garbius: Oh, that failed horribly.
22:30mwk: well, the front end is really hell-bent on validating the data sent to the tesselator
22:31mwk: it won't let me submit anything but the exact correct sequence of begins/ends/coordinates
22:40nyef`: mwk: Can you send a subset? (That is, is it validating for correctness, or for correctness and completeness?)
22:40nyef`: At which point, why should you need to send the data at all?
22:41mwk: there's a big "begin tesselated draw" button
22:41JustOneIt: i'm using nvidia proprietary but i'm thinking to move to nouveau
22:41mwk: once you hit it, you have to follow the state machine that was configured by the initial set of parameters you have submitted
22:42mwk: until you finally submit the "end tesslated draw" command, which you can only do if it has properly validated you have submitted every required command before
22:42mwk: then you are a free man again
22:42nyef`: Okay, that makes a certain amount of sense, at least.
22:43mwk: also, pretty much every command unrelated to tesselation has a condition
22:43mwk: if (tesselation in progress) fail()
22:45mwk: REing this state machine is quite damn tedious, but I should know a lot about tesselation by the time I'm done :)
22:48pmoreau: karolherbst: Which PDX game would you like the key for? I would have to dig up my conversation with one of the PDS devs, but their could be ways to get keys. :-)
22:48pmoreau: karolherbst: There is also a good chance I already have the game, so if I share my Steam library, that could also work.
23:02JustOneIt: moving from nvidia proprietary to nouveau do i have to change the config files in /etc/X11/xorg.d/ ?
23:05JustOneIt: i know... probably it's a silly question...
23:28ashkitten: Just wondering, how stable is nouveau on pascal?
23:35pmoreau: JustOneIt: What kind of configuration did you had in those? It usually works out-of-the-box without any X config file.
23:35nyef`:wouldn't be entirely surprised if there were a stereo mode configuration in there.
23:37JustOneIt: pmoreau: keyboard, change DPI and a tear free option
23:38pmoreau: ashkitten: I haven’t followed to closely, but I would say as stable as Kepler; you do miss features like reclocking, and I think OpenGL support is not on par either. It could also be that not many have a Pascal card and run Nouveau on it.
23:38pmoreau: *too closely
23:38ashkitten: okay, well there's no harm in trying (except the possibility of locking up the system)
23:39pmoreau: JustOneIt: I don’t know for the tear free option, but the other ones should be fine.
23:42pmoreau: (I’m off, I need to recover from a trip + the 9-hour timezone difference.)
23:43ashkitten: oh jeez i'm getting horrible framerates in my GLSL shader program
23:43ashkitten: like, 30fps where i got 500 using nvidia
23:49ashkitten: oh it doesn't have 3d accel support on Pascal yet?
23:53nyef`: ashkitten: My understanding is that the main problem with Pascal is a lac of reclocking support, largely due to missing signed PMU firmware.
23:54ashkitten: well I'm also having many other issues
23:54nyef`: ... Speaking of, and I may have asked this before, but is compatible firmware something that someone here could write and "just" ask nVidia to sign?
23:55ashkitten: like a black screen, semi-black screen with some edges, all of which completely lock up the machine