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