00:25 ttkay: imirkin - I can live with that .. I don't trust suspend anyway
00:33 imirkin: well... that kills battery
00:33 imirkin: doesn't matter if you're always plugged in, of course
00:36 ttkay: *nod* .. with my CPU throttled and the screen off, my battery lasts almost six hours
00:36 ttkay: which is plenty
09:53 ryszard: hey
09:54 ryszard: does nvidia provide somwhere support matrix with EOL support for their GPUs?
10:14 HdkR: Just view the supported products list from their driver release
10:14 HdkR: https://www.nvidia.com/download/driverResults.aspx/155641/en-us click supported products there
14:19 unlord: Hi
14:20 unlord: does nouveau contain register files for older cards or do you drop support at some point?
15:38 gnarface: unlord: afaik they have never dropped support
15:38 gnarface: (my word on it is by no means official though)
15:48 unlord: gnarface: I mentioned this on here a few months ago, I am wondering how hard it would be to copy the register file code that lets me enable low resolution 32bpp modes
16:05 gnarface: unlord: sorry, that's way beyond my level of expertise
16:05 gnarface: maybe ask imirkin
16:59 mattmatteh: unlord: what resolutions?
17:18 unlord: 320x240
17:18 unlord: that is the one I would like to use most
17:22 imirkin: unlord: support in nouveau is from Riva TNT and on
17:22 imirkin: i'm not sure what "the register file code" is though
17:22 imirkin: normally a register file is the set of registers available in an ISA, which implies a running shader, but that doesn't connect with the rest of your comment
17:24 imirkin: note that modern monitors may have trouble with 320x240, as it will be a very low clock. i think various tricks are employed to reach the minimum clock speed... e.g. HDMI is min 15mhz? something like that
17:24 imirkin: so you make super-wide runouts, etc
17:24 unlord: imirkin: there are tricks to double the vertical resolution by double scanning each row twice
17:24 unlord: some cards just do this
17:25 imirkin: yeah, that's just a flag on a modeline
17:25 imirkin: ought to be supported
17:25 imirkin: but it's not like it's super-well-tested :)
17:25 unlord: imirkin: when I use VESA Bios calls to check for available resolutions, many cards don't show 320x240
17:25 imirkin: (iirc "doublescan")
17:25 unlord: imirkin: yeah, I've run into this
17:26 imirkin: the vesa bios is just some software loaded onto the card. nouveau kicks all of that out the second it loads.
17:26 unlord: what I'm interested in doing is writing some code for my OS to set the mode, I don't need any shaders or anything
17:26 imirkin: which GPU?
17:26 unlord: imirkin: great
17:27 unlord: imirkin: I have GeForce GTX 1080 Ti in this box
17:27 imirkin: setting a mode on pre-NV50 is moderately easy. on NV50+, it's fairly difficult.
17:27 imirkin: heh. so that'd be "post NV50" then :)
17:27 unlord: imirkin: hmmm
17:28 unlord: can you show me the easy way first, I might have an older card here
17:28 imirkin: not sure if you're up for this, but one fairly simple way to go for you
17:28 imirkin: is to just grab all of "nvkm", which is fairly self-contained
17:28 imirkin: and then write your own glue code to drive the modesetting. see the logic in dispnv50/*, which is still non-trivial, but at least you have a working baseline
17:29 unlord: imirkin: this sounds like the right direction actually
17:32 imirkin: the easy thing is to look at the code in dispnv04/*
17:32 imirkin: it's not as reliant on nvkm, and should be able to just run
17:32 imirkin: however it's for pre-nv50 boards :)
17:33 unlord: where is that code?
17:33 imirkin: you can also look at xf86-video-nv which did userspace modesetting of pre-nv50, and then they tacked on nv50 (tesla) support onto it, so you can see the start of that. it was never very reliable though, didn't handle multi-head, etc
17:33 unlord: I'm in https://github.com/torvalds/linux/tree/master/drivers/gpu/drm/nouveau/nvkm/engine/disp
17:33 imirkin: go up a few levels to nouveau
17:33 imirkin: nouveau/dispnv*
17:34 imirkin: the thing is ... like if you want to light up monitors connected over DP, it's a lot of work
17:34 imirkin: older things are simpler, but they also don't support a lot of stuff
17:37 unlord: hmm, I don't know what happens if I boot display port
17:37 unlord: Right now I'm running FreeDOS and just poking at memory
17:37 imirkin: the vesa bios handles all this
17:38 imirkin: it's a complex piece of software in itself
17:38 unlord: yeah, I imagine
17:39 imirkin: anyways, the big shift between pre-nv50 and post-nv50 is that pre, you're just poking at registers hoping for the best
17:39 imirkin: post, there's a fifo command buffer, you send commands, they're validated, you get notifications of things completing, etc
17:39 imirkin: the former is much simpler to operate, obviously
17:40 unlord: Yes
17:40 imirkin: but the latter gives you much better control to be frame-perfect
17:41 unlord: well, and all of this code exists
17:41 unlord: I wonder if I could just wrap this somehow
17:41 imirkin: the idea behind nvkm is that it should be easy to port to another OS
17:41 imirkin: the dispnv* is kinda tied to the linux modesetting logic
17:42 imirkin: you could grab all of drm, of course, which is what the *bsd's do
17:44 unlord: this is pretty cool
17:48 unlord: something to play with when I have more time :)
20:02 cosurgi: Happy new year!
20:07 imirkin: happy new year!
20:07 imirkin: nouveau 0000:02:00.0: sec2: queue 0 rewinded -- looks like someone speaks english most goodly...
20:44 Pie_Mage: \o/