04:16 hrw: can someone take a look at simple patch? http://paste.fedoraproject.org/167621/14208057
04:16 hrw: with it I can boot my machine with geforce gts250 to system
04:18 hrw: http://paste.fedoraproject.org/167623/08058501/ is dmesg from booting system while http://pastebin.com/EKMUSTVu shows behaviour without it
06:54 imirkin_: hrw: i think the right approach is to make the code that causes the explosion not cause the explosion... it probably forgets to check for something, or you need to keep track of whether the map failed or... something
06:54 imirkin_: (i've yet to look at the details)
06:55 imirkin_: not destroying the object for some errors but not others isn't workable imo
06:56 hrw: imirkin_: sure, this was just quick hack
06:59 tobijk: hey imirkin_ a user wanted to give you a renewal of his piglit results, do you want them? (nve4)
07:00 imirkin_: i saw them but forgot to pick them up
07:00 tobijk: i saved em if you are interested
07:01 imirkin_: email me
07:03 tobijk: i'll add my nve7 results ones as well
07:05 imirkin_: that way i won't lose them
07:08 imirkin_: hopefully at least one of them is after my texture offset fix
07:08 tobijk: imirkin_: btw, any idea on my RFC patch? i hoped for some reactions, even ranting :D
07:09 tobijk: when did you upstream the texture patch?
07:10 tobijk: oh actually both results are with your trexture fix
07:11 imirkin_: yay
07:13 Eliasvan: Hi everyone, I'm coming close to the point of doing an mmio trace of reclocking on the binary driver for the 620M (not yet done)
07:14 Eliasvan: Can someone give me instructions on how to do some useful reclocking tests on the binary driver?
07:15 Eliasvan: (e.g. using the "nvidia-settings" programs to change the clocks manually, is that a good test to trace?)
07:16 imirkin_: search for 'ubuntu mmiotrace' -- that gives a good page.
07:16 imirkin_: oh... reclocking? duno
07:17 imirkin_: RSpliet may have some suggestions
07:17 imirkin_: i've done it by modifying the vbios
07:17 imirkin_: basically you 0xff out the levels you don't want, and only leave the level you want to test
07:17 imirkin_: and then load the nvidia driver while capturing the mmiotrace
07:17 imirkin_: it will have no choice but to switch to that level
07:18 imirkin_: then you can get X -> Y transitions as well since when you unload the nvidia module, it'll stay at the level you set it to
07:18 imirkin_: you can use nvafakebios to help with this (in envytools)
07:19 Eliasvan: ok thanks imirkin
07:20 tobijk: Eliasvan: i remember that some levels may not be accessible at boot
07:20 tobijk: depends on the actual hardware
07:20 Eliasvan: note that I had to use bumblebee combined with optirun in order to access the gfx card
07:21 Eliasvan: ah, is there some tutorial/documentation on which levels to try and which not?
07:22 imirkin_: well, the specific levels are defined by your vbios
07:22 Eliasvan: because pmoreau said that the vbios reporting of my card misbehaved
07:23 Eliasvan: (I send him a vbios dump)
07:24 imirkin_: btw, just so you're clear, i estimate that getting fermi reclocking to work would be a 6+ month full-time job for someone not already familiar with all this stuff.
07:25 imirkin_: but getting it to work on just one card is considerably easier
07:25 Eliasvan: yeah, that' understandable :)
07:27 Eliasvan: but that means I don't need to play around with the GUi "nvidia-settings" thing, it's sufficient to modify the vbios table and then loading/unloading the driver (after starting the trace)?
07:28 Eliasvan: And if I modify the vbios, is it permanent?
07:28 Eliasvan: (or will it be reset at reboot?)
07:28 imirkin_: it may be difficult to correlate actions to things in the trace
07:28 imirkin_: not permanent
07:28 Eliasvan: ah, ok
07:29 imirkin_: just puts it into vram, which is volatile
07:29 Eliasvan: ok, I understand, it's easier to examine the trace when not involving a whole X and GUI startup sequence
07:30 Eliasvan: ok, I'll try it :)
07:30 imirkin_: well, you'll have to start X
07:30 imirkin_: but it's easier if there's only one reclocking sequence
07:32 Eliasvan: Why do I have to start X? I can modprobe nvidia without starting X.
07:33 Eliasvan: And there's an additional gotcha: on an optimus system starting X will only speak to the Intel integrated driver
07:33 imirkin_: yeah, but it won't do anything until you do
07:33 imirkin_: yeah, that's a very annoying complication
07:33 Eliasvan: and I can only run "optirun <command>" once I'm in X
07:33 imirkin_: that's coz of bumblebee right?
07:34 imirkin_: that might actually help you
07:34 Eliasvan: yeah
07:34 imirkin_: if, while in X, you can unload nvidia
07:34 imirkin_: then that will make your life easier
07:34 Eliasvan: aha, nice idea!
07:35 Eliasvan: and then I can run "optirun glxinfo" after "modprobe nvidia" to trigger the gfx card?
07:35 Eliasvan: or do I need to run something as glxgears to sufficiently trigger the gfx cards clocks?
07:36 imirkin_: glxinfo could be enough
07:36 imirkin_: one way to find out ;)
07:36 Eliasvan: ok, thanks, I'll try it :)
09:04 linas: while trying to bisect a different problem, I found that yesterday's git head hangs during boot
09:04 linas: with fb: switching to nouveaufb from simple and then after tha, nothing
09:06 tobijk: hardware?
09:06 linas: two NV40 cards
09:06 linas: yes old.
09:07 tobijk: let me pull to actually see what changed :)
09:07 linas: I'm flipping a coin: bisect some more or buy newer hardware
09:07 linas: let me find the exact head I pulled
09:11 tobijk: linas: you got 74e59ea05c790c3f2108fa20dd4bacc028c4badf?
09:11 linas: argh. not sure. my git bisect log is empty
09:12 linas: It was head from yesterday or two days ago
09:12 tobijk: git log | grep 74e59ea05c790c3f2108fa20dd4bacc028c4badf
09:14 linas: no I don't have that
09:14 linas: oh wait
09:14 linas: one moment
09:14 tobijk: you have a detached head from bisecting maybe?
09:16 linas: yes I do ...
09:16 linas: and I'm mistyping things
09:17 tobijk: suspecting https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1b1f3e1699a9886f1070f94171097ab4ccdbfc95
09:17 tobijk: bit thats a wild guess
09:17 tobijk: can you actually bisect from rc3 or a last know good commit?
09:18 linas: yes, I will do that
09:18 linas: may take a few hours
09:18 tobijk: looks like only a few steps maybe 5
09:19 linas: OK, so my head was bdec41963890f8ed9ad89f8b418959ab3cdc2aa3
09:20 linas: which appears to be before 74e59ea05c790c3f2108fa20dd4bacc028c4badf
09:21 tobijk: and that rev was fine? yeah just bisect from there if you are sure about it :)
09:22 linas: no rev bdec41963890f8ed9ad89f8b418959ab3cdc2aa3 is broken
09:23 tobijk: oh
09:23 linas: while 3.18 was broken in a different way
09:23 linas: so that rev hangs in boot w/ message I just gave
09:24 linas: 3.18 boots fine, but reports gpu lockup in boot, which is what I was originally chasing down
09:24 tobijk: mhm
09:24 linas: so I figure its easier to bisect the hard hang, first
09:24 linas: then biest the gpu lockup later
09:25 tobijk: yeah
09:26 tobijk: well let us know if you found it :)
09:53 Eliasvan: imirkin: so I first ran (on 620M) "nvagetbios > tmp.vbios", which suggested I should run it with "-s prom", so I ran "nvagetbios -s prom > tmp.rom", which then produced a lot of nouveau dmesg lines with someting like "MMIO read failed on address ...".
09:53 imirkin_: if you're running nouveau, just do cat /sys/kernel/debug/dri/1/vbios.rom > vbios.rom
09:54 Eliasvan: ah, ok, I'll remember it
09:54 Eliasvan: Doing "ls -l tmp.rom" showed a size of 1M, which seemed good
09:54 imirkin_: ah, well it's probably ok... nvagetbios does nasty things and nouveau reports errors
09:54 imirkin_: you can check by decoding it with 'nvbios'
09:55 Eliasvan: Then I ran "nvbios -p perf tmp.rom", which said then the first address (0) was already invalid
09:56 imirkin_: yeah, that's common
09:56 imirkin_: or... dunno
09:56 imirkin_: pastebin the whole output?
09:56 Eliasvan: The only thing I'm trying to do, it to see which vbios address I should fill with 0xff to force the perf levels, like you said
09:56 imirkin_: (or a big chunk of it)
09:57 Eliasvan: ok, it might take a while (because I'm on a different pc right now)
09:57 pmoreau: Eliasvan: Hey!
09:57 Eliasvan: Hi! ;)
09:58 pmoreau: (Thanks for the patches, going to apply hem :) )
09:58 Eliasvan: Nice, thanks :)
09:58 Eliasvan: pmoreau: did you succeed in analysing the vbios I sent you a while ago?
09:59 pmoreau: Eliasvan: Didn't have much time sadly...
09:59 Eliasvan: pmoreau: because I'm trying to find the addresses which are used for setting the perf level, to do some reclocking tests on the binary driver
09:59 Eliasvan: no prob ;)
10:00 pmoreau: Was it about some connectors failing?
10:00 Eliasvan: no
10:01 Eliasvan: it was about something in dmesg at the init of nouveau: a pointer in the vbios to some table couldn't be found
10:01 pmoreau: Ah, right!
10:02 pmoreau: Some TMDS table or something like that?
10:02 imirkin_: oh, that's common
10:03 imirkin_: not an issue
10:05 Eliasvan: the name of the table started with "D...", I'll have to check
10:06 Eliasvan: The weird thing is that in dmesg nouveau seems to succeed in reading the perf levels, so I don't understand why the nvbios tool doesn't work, maybe the nvagetbios tool doesn't work properly instead
10:06 Eliasvan: Maybe I should try "cat /sys/kernel/debug/dri/1/vbios.rom > vbios.rom" like imirkin suggested
10:07 pmoreau: Or use the one you sent me?
10:09 Eliasvan: that one doesn't work
10:09 Eliasvan: "nvbios -p perf tmp.rom", which said then the first address (0) was already invalid
10:09 Eliasvan: Should I use the rom (1M) or the ram (128K)?
10:11 Eliasvan: I also noticed some nouveau dmesg lines with "MMIO write failed at address ..."
10:15 Eliasvan: so if I want to edit the vbios by running "nvfakebios -c 0 -e <address-to-write-perfstate> 0xff", maybe it will not succeed because it can't write to the card?
10:15 imirkin_: the vbios is usually on the order of 64k... the rest is filler
10:42 linas: OK, I got very lucky with the bisect
10:42 linas: 26178ec11ef3c6c814bf16a0a2b9c2f7242e3c64 boots fine (although with a gpu lockup during boot)
10:42 linas: but 988adfdffdd43cfd841df734664727993076d7cb hangs hard during boot
10:43 linas: The one that hangs is a merge of drm-next into 3.19rc
10:47 linas: but I guess I can narrow down which drm-next change it was ..
10:50 imirkin_: linas: perhaps you need the equivalent of http://cgit.freedesktop.org/~darktama/nouveau/commit/?h=linux-3.19&id=4e351ed8f4e9c41fbe7caab2612eeac6f6c6df80 ?
10:56 linas: I can try that, but I do not see an oops, I just get a hard hang when switching from simple to nouveaufb (of course, I guess the oops might be hidden...)
10:57 imirkin_: perhaps use netconsole to see if there are messages that you perhaps miss?
10:59 Eliasvan: @pmoreau & @imirkin: Good news, imirkin's method of vbios extraction did work and produced a parsable result. For comparison with the nvagetbios method, I did some tests, see pastebin: http://pastebin.com/LcU0iLjd
11:00 Eliasvan: @pmoreau & @imirkin: Interesting to note is that the nvagetbios is also not constant (same size, but different checksum, see pastebin)
11:02 imirkin_: prolly coz the card was powered off
11:02 imirkin_: and nvagetbios doesn't power it on? dunno
11:03 linas: wow, I hit the jackpot .. found a version right around 3.18-rc4 that does not gpu-lockup (nor hang) so that makes my window of heartache much smaller.
11:07 Eliasvan: @imirkin: If I send you the file "vbios-perf-b-v.txt" resulting from "nvbios -p perf -b -v vbios.rom > vbios-perf-b-v.txt", can you determine which vbios values I should edit?
11:09 imirkin_: Eliasvan: pastebin
11:09 Eliasvan: @imirkin: "vbios-perf-b-v.txt": http://pastebin.com/UsWNH9va
11:09 imirkin_: Eliasvan: also, don't use '@' -- that makes my client not notice that you're referring to me
11:10 Eliasvan: oh, ok, just "imirkin: ..."?
11:10 imirkin_: yes
11:10 imirkin_: -- ID 0x7 Voltage entry 17 PCIe link width 255 2.5 GT/s--
11:10 imirkin_: 0x92bf: 07 c0 11 08 00 00 00 00 00 00 96 19 00 00 00 00 00 00 00 00
11:10 imirkin_: so the 07 at 0x92bf can befome ff
11:10 imirkin_: and then that level will get ignored
11:10 imirkin_: makes sense?
11:11 Eliasvan: yes, I think so (this is my first time doing it, so forgive me for my ignorance)
11:13 imirkin_: won't be the last though
11:14 Eliasvan: :)
11:17 Eliasvan: imirkin: so if I understand correctly, the current level is at
11:17 Eliasvan: -- ID 0xff Voltage entry 0 PCIe link width 255 5.0 GT/s--
11:17 Eliasvan: 0x927a: ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
11:18 Eliasvan: because dmesg says: [ 8.770231] nouveau [ CLK][0000:01:00.0] --: core 270 MHz memory 324 MHz
11:19 Eliasvan: where memory 324 MHz seems to correspond with the host freq in the corresponding level table
11:22 Eliasvan: imirkin: so if I disable the 2nd level like you suggested, the first level will also be ignored when starting a 3D app (because it has 0xff in the beginning as well), and since the 3rd level also has 0xff, the 4th level is the only possible level left, right?
11:28 imirkin_: Eliasvan: right
11:28 imirkin_: Eliasvan: at least that's the theory
11:30 Eliasvan: imirkin: ok, and assume I want to activate the 3rd level (which has 0xff in front of it by default), to what value should I change the '0xff' value?
11:31 imirkin_: no, that level's not valid in the first place
11:31 imirkin_: you only have 2 levels...
11:33 Eliasvan: ah, ok, is that plausible, only 2 levels? (it's a laptop, so I would expect a whole variaty of perf states, like in a laptop cpu)
11:35 imirkin_: 2's pretty common... low and high
11:36 imirkin_: esp on fermi's... 3 is a bit more common i guess
11:36 imirkin_: but 2's not unheard of
11:36 Eliasvan: ah, ok, probably it's not that important, since it has optimus
11:36 imirkin_: right, the idea is that the gpu is shut off when you don't need heavy accel in the first place
11:36 Eliasvan: indeed
11:46 tobijk: Eliasvan: i got only 2 levels here as well :)
11:46 Eliasvan: ah, what a relief! ;)
11:47 Eliasvan: besides, why does it detect an invalid level?
11:48 Eliasvan: is it just an empty table that can support an additional level, e.g. when a firmware update is performed?
11:48 tobijk: i'd guess that, yeah
11:48 pmoreau: Eliasvan: I have 4 perflvl on both cards :þ
11:50 imirkin_: it's not like they carefully craft these vbios's... there's some tool which probably just defaults it like that
11:50 Eliasvan: maybe we can add new perf levels by writing to the vbios?
11:50 imirkin_: sure. but you need to know what parameters to set
11:50 imirkin_: er, what to set the various parameters to
11:50 Eliasvan: ah, yeah, probably a lot of "don't care" values
11:50 imirkin_: [and what they are]
12:00 tobijk: airlied: ping!
12:46 Eliasvan: imirkin: nvafakebios fails to upload the modified bios to the card (dmesg lines of "MMIO write failed" occur)
12:47 Eliasvan: imirkin: I'll attach pastebin, just a moment
12:48 imirkin_: yeah coz the card is probably off
12:48 imirkin_: also don't do it while nouveau is running...
12:48 imirkin_: that'll mess things up
12:49 imirkin_: i don't think there's really any additional info i can give you on this... mess around with it, try to understand what's going on... good luck
13:00 Eliasvan: ok thanks imirkin, in case you're still interested in the pastebin, here it is: http://pastebin.com/tNaMsGcQ
13:02 utahcon: having a problem with GPU lockup, causes my entire session to hang, I was able to snap dmesg ( http://pastebin.com/xpit8YQ7 ) and journalctl ( http://pastebin.com/Aa6JiSMA ) before a reboot -- I think this second dmesg is most relevant ( http://pastebin.com/S0WDdRL3 ) where is has "[10157.126116] nouveau E[ DRM] GPU lockup - switching to software fbcon"
13:02 utahcon: this has been going on for a while
13:03 utahcon: kernel 3.17.7-300.fc21.x86_64
13:04 pmoreau: utahcon: Do you remember when you started to get this issue?
13:05 utahcon: after upgrading to F21
13:05 pmoreau: Which kernel version did you have before upgrading?
13:06 utahcon: I am unsure.
13:06 Eliasvan: imirkin: thanks for the suggestion! "rmmod nouveau" did the job, I successfully wrote to the vbios!
13:06 pmoreau: Could you try 3.18.x or better, one of the 3.19-rcX?
13:07 tobijk: Eliasvan: did you actually change it? all vbios have the same checksum
13:08 utahcon: pmoreau: I ran 3.19-rc3 for a day or so, and it failed out. I wasn't able to get dmesg from that failure.
13:08 Eliasvan: tobijk: yes, the successful attempt is not in the pastebin ;)
13:08 utahcon: I think it was the same error though
13:08 tobijk: ah :)
13:08 utahcon: if needed I can run it again and see what happens
13:09 pmoreau: If you have the opportunity, it could be great.
13:09 utahcon: sure
13:09 pmoreau: Do you recall at least one of the kernel you ran before upgrading to F21?
13:10 utahcon: not specifically, just it was in F20, sorry.
13:10 pmoreau: Ok
13:11 pmoreau: If you had it up-to-date, we should be able to find out which version it was
13:11 tobijk: http://fedoraproject.org/wiki/Kernel
13:12 tobijk: hm they both have 3.17? duh
13:13 utahcon: my normal acts for gettting it to crash are... well sit and wait, any tips?
13:14 tobijk: nah thats allright ;-)
13:15 linas: git bisect bad
13:15 linas: ad4a362635353f7ceb66f4038269770fee1025fa is the first bad commit
13:15 linas: commit ad4a362635353f7ceb66f4038269770fee1025fa
13:15 linas: Author: Ben Skeggs <bskeggs@redhat.com>
13:15 linas: Date: Thu Sep 18 09:24:10 2014 +1000
13:15 linas: drm/nouveau/bios: split out shadow methods
13:15 tobijk: F20: kernel 3.11, F21: kernel 3.16
13:15 pmoreau: utahcon: Considering when you upgraded to F21 and when (approximately) you updated for the last time your F20, you should be able to find which version you had using https://admin.fedoraproject.org/updates/kernel
13:15 Eliasvan: tobijk: is it normal that after doing "modprobe nouveau" the vbios table gets reset?
13:18 tobijk: Eliasvan: it loads it from somewhere and checks it
13:19 Eliasvan: tobijk: because when the card is powered off I verified with "nvagetbios" that my previous write succeeded, but as soon as I modprobe nouveau, and then download the vbios via "cat /sys/kernel/debug/dri/0/vbios.rom > vbios.rom" to see whether the write is persistent, the write seems to be undone (overwritten by the default value)
13:19 tobijk: i guess you need to specify from where it should load the vbios from
13:20 tobijk: imirkin_: -^ (i dont remember the actual thing)
13:20 Eliasvan: tobijk: in the linux boot parameters??
13:20 tobijk: yeah
13:21 Eliasvan: tobijk: but what if the file does not yet exist at boottime? (because of debugging purposes)
13:21 tobijk: hang/fallback to the normal bios, dunno :)
13:22 imirkin_: linas: so... it's basically the thing that i said. the patch i pointed out fixes that.
13:22 Eliasvan: tobijk: ah, ok, but what if I want to modprobe the binary nvidia driver instead? Then I'm fairly sure the boot parameter will have no effect on the nvidia driver...
13:23 tobijk: Eliasvan: right, as far as i remember it was a nouveau.xy= thingy
13:25 linas: argh. imirkin_ I will try. .. the crash was before netconsole came up so I just plowed ahead slowly
13:25 linas: thanks
13:26 Eliasvan: tobijk: ah ok, so I can probably specify the parameter at modprobe-time of nouveau
13:27 Eliasvan: tobijk: but what if I want to load the nvidia driver instead of the nouveau driver? I guess there is no nvidia.xy= thingy
13:28 Eliasvan: tobijk: or do you think the "nvidia" driver will automagically load the one you uploaded to PRAMIN?
13:28 tobijk: well nouveau should load the one from pramin as well
13:28 tobijk: look at the dmesg
13:28 Eliasvan: tobijk: weird, it doesn't
13:29 Eliasvan: tobijk: dmesg gives the same output as without writing
13:29 imirkin_: Eliasvan: why are you modprobing nouveau? you want to trace nvidia, not nouveau...
13:30 imirkin_: it's probably overwritten because the card's powered off... vram is probably lost
13:30 Eliasvan: imirkin_: yes, but I wanted to verify whether my write to vbios was persistent
13:30 imirkin_: you need to make sure that the card stays on
13:30 tobijk: oh that is a optimus system? grrr
13:30 Eliasvan: yes
13:31 Eliasvan: imirkin_: but when I unload nouveau, the card automatically turns off...
13:31 imirkin_: coz of bumblebee?
13:32 imirkin_: anyways...
13:32 Eliasvan: bumblebee is not running
13:32 imirkin_: remove nouveau from your procedure. if you want to test that the vbios is uploaded successfully, use nvagetbios and make sure to use pramin
13:33 tobijk: try booting with "nouveau.runpm=0" maybe that lets the card stay on...
13:33 Eliasvan: ok, so I should disable nouveau from starting at boottime?
13:52 Eliasvan: tobijk: nope, I tried it, doesn't make a difference
13:53 Eliasvan: tobijk: and I think the card remains on, judging from the temperature
13:53 tobijk: :/
13:53 tobijk: well skip nouveau then, as imirkin_ sugessted
13:55 Eliasvan: tobijk: ok, by adding "nouveau.blacklist=yes" to the kernel bootline?
13:56 tobijk: if that works, sure, i always use /etc/modprobe.d/myfile.conf with "blacklist xy"
14:04 Eliasvan: tobijk: adding "nouveau.blacklist=yes" doesn't work: "unknown parameter 'blacklist' ignored"
14:05 tobijk: well consider the option i suggested :)
14:05 Eliasvan: tobijk: and I prefer doing it in the bootline (it's a nouveau live image, thus blacklisting it in /etc/modprobe.d/ and rebuilding the ISO is not worh the hastle)
14:06 tobijk: ah allright
14:08 tobijk: Eliasvan: modprobe.blacklist=module
14:08 Eliasvan: tobijk: aha, thanks!
14:08 Eliasvan: I'll try
14:08 utahcon: pmoreau: I was most likely on 3.17.4, but certainly in 3.17.x
14:10 tobijk: utahcon: you get hangs with with 3.18 and above right? nv84+?
14:10 pmoreau: utahcon: If 3.19-rcX still fails, you could try bisecting between 3.17.4 and 3.17.7
14:11 pmoreau: tobijk: NVCF, and hanging on 3.17.7
14:11 pmoreau: *with
14:11 tobijk: mh ok nevermind :/
14:14 airlied: tobijk: pong?
14:14 tobijk: oh hey
14:15 tobijk: i saw you have a arb_cull_distance branch where you only use gl_clip_planes or similar
14:15 utahcon: 3.19 just failed, but I wasn't able to switch to output any messagin
14:16 tobijk: dont we need two arrays
14:16 tobijk: ?
14:17 tobijk: if it is only one anyway "MAX_COMBINED_CLIP_AND_CULL_DISTANCES" would be useless
14:17 pmoreau: utahcon: If you blacklist nouveau and modprobe it manually?
14:18 tobijk: as there can be clipping and culling at the same time, as far as i understand
14:21 airlied: tobijk: oh I was just hacking about
14:21 airlied: I was going to do a gallium interface that had one array and a bitmask
14:21 airlied: as they is how the hw seems to be structured
14:21 tobijk: ah!
14:22 tobijk: so to allow like two vec4 in the one array
14:22 tobijk: k
14:23 Eliasvan: tobijk: I successfully blacklisted nouveau, but if I now try to read (with "nvagetbios") or write (with "nvafakebios"), the laptop hangs...
14:24 tobijk: Eliasvan: yeah to get the bios you'll need nouveau i guess...
14:24 tobijk: save it somewhere
14:24 Eliasvan: tobijk: no, I already have extracted the bios before
14:25 Eliasvan: tobijk: and the writing only works if nouveau is off
14:25 tobijk: airlied: let me know about the outcome of your hacking, i'm looking forward to implement it for nvc0 :)
14:26 airlied: tobijk: well its way down my list of things to touch again :)
14:26 airlied: it would be a good intro to writing a mesa extension if you wanted to try
14:27 imirkin_: airlied: yeah, on nv50 (and i assume nvc0) there's one shared array. but at the glsl level, i think you can set both gl_CullDistance[0] and gl_ClipDistance[0]. and i think you're supposed to be able to do indirect addressing on them too.
14:27 airlied: imirkin_: yes that seems likely alright
14:27 airlied: I was thinking at tgsi of not allowing that
14:27 airlied: since tgsi now is two vec4
14:27 imirkin_: yeah, that'd be ideal. really annoying to deal with that.
14:28 imirkin_: but... how to do the indirect indexing? (how is it done now for clip distance?)
14:28 airlied: imirkin_: good point, now sure how we do that now
14:28 imirkin_: maybe i'm just full of it and you can't actually do indirect indexing on either of those
14:29 imirkin_: but iirc it was a concern
14:29 imirkin_: when i looked at implementing when GL4.5 first came out
14:29 airlied: oh glsl compiler does it
14:30 airlied: so you get gl_ClipDistanceMESA
14:30 imirkin_: how? giant if?
14:30 imirkin_: right, which is the vec4's
14:31 buhman: can has GL_ARB_tessellation_shader :3
14:31 tobijk: huh?
14:31 imirkin_: buhman: https://github.com/imirkin/mesa/commits/tess-gallium-4
14:31 imirkin_: needs to get merged with mareko's stuff and chrisf's more recent work
14:31 airlied: so we'd probably need to lower clip and cull to gl_ClipDistanceMESA
14:31 imirkin_: but iirc it was passing many piglits at the time
14:31 airlied: and have a bitmask ther
14:32 buhman: imirkin_: doit
14:33 Eliasvan: tobijk: maybe I should undo the blacklisting and just believe that the writing to PRAMIN (when nouveau is shut down after it was loaded once) succeeded (which seems to be the case according to "nvagetbios"), and then do the retracing of loading the binary nvidia driver (in the hope that it will read the correct PRAMIN bios)
14:33 tobijk: dont know but can we do things like a vec2 for clip_distance and a vec4 for cull_distance?
14:33 tobijk: Eliasvan: dont know if thats allright :/
14:34 Eliasvan: tobijk: I don't really have any other option
14:34 imirkin_: buhman: and there's a fp64 branch in there too... with those 2, you should get GL 4.0
14:34 imirkin_: oh, and stupid subroutines... nevermind
14:34 Eliasvan: tobijk: so let's hope the nvidia birary will play nice ;)
14:34 buhman: imirkin_: dear santa..
14:34 imirkin_: those will get done... some day... generically, i think
14:35 tobijk: Eliasvan: i'd honestly be surprised, it always throws bugs on me ;-)
14:35 buhman: would be hyper cool if the other two were merged
14:35 imirkin_: buhman: yeah. i've been doing what i can to get the relevant people to push the core patches for those...
14:35 imirkin_: ahem, airlied, *cough*
14:36 Eliasvan: tobijk: yeah, maybe the whole combination of the laptop is not ideal for getting a good trace, but I will try anyway
14:36 tobijk: so airlied: anyways push what you have and i'll try to finish it (lets see how thats going)
14:36 airlied: tobijk: well that branch is where I was last I looked at it
14:37 airlied: I was going to get distracted by writing piglit tests for it, but I really have to get back to my real work
14:37 imirkin_: tobijk: writing some piglits would probably be a good way to go... iirc the extension has all sorts of funny provisions for sized vs unsized declarations too
14:38 imirkin_: buhman: nothing uses fp64 or tess though, so it's not _such_ a huge deal
14:38 tobijk: imirkin_: yeah the tests are the biggest hurldle, as i dont really know how to use glsl :D
14:39 imirkin_: tobijk: no time to learn like the present!
14:39 imirkin_: [yeah, it's a bit daunting at first.]
14:39 buhman: wouldn't requesting a versioned core profile be easier than requesting individual extensions?
14:40 imirkin_: buhman: nothing uses core profiles either :) but... you don't *request* things, they're either there or not, and so no reason to care about version if all you need are a few small bits.
14:40 buhman: huh
14:41 imirkin_: [ok, not quite true, things do use core profiles]
14:41 buhman: if you do use the core profile though, you only get that and not everything, right?
14:41 imirkin_: not the compat stuff. you still get all the various extensions that are available in core profiles though
14:41 imirkin_: which is most of them
14:42 buhman: even profiles higher than what you requested? O.o
14:42 tobijk: yeah
14:42 imirkin_: buhman: http://people.freedesktop.org/~imirkin/glxinfo/glxinfo.html
14:42 buhman: pretty
14:42 imirkin_: every GL version above GL 3.2 is just GL 3.2 + a bunch of extensions
14:43 imirkin_: GL 3.2 introduced geometry shaders which were different from the ARB_geometry_shader4 ones
14:43 airlied: imirkin_: well I Think its just lazy GLSL writers
14:44 airlied: who want to do #version 400 and move on
14:44 imirkin_: airlied: yeah =/
14:44 imirkin_: if i weren't so lazy, i'd rant against lazy people all the time
14:44 buhman: I'd love to read that
14:46 tobijk: imirkin_: thats good for your blood pressure, stay calm :P
14:46 buhman: http://people.freedesktop.org/~imirkin/glxinfo/glxinfo.html#diff&b=version&g=NVIDIA%20GKxxx%20%28GeForce%20600%2C%20700%29 is really cool
14:47 Leftmost: There's a disturbed part of me that's considered trying to implement ARB_geometry_shader4 in mesa.
14:47 airlied: some of the pieces for that were done previously
14:47 imirkin_: Leftmost: i don't even know what the differences are... afaik some link-time differences?
14:48 airlied: it probably mostly exists in branches out there
14:48 airlied: since I know someone dropped it at one point to concentrate on finishing the core
14:48 imirkin_: paul berry iirc
14:50 Leftmost: imirkin_, it's my understanding that it and EXT_gpu_shader4 encode some of the quirks of DirectX's shader model, making it much easier for wine to use them to translate DirectX shaders.
14:50 imirkin_: Leftmost: ah, if you say so. afaik no one would oppose such an implementation.
14:50 Leftmost: What little d3d10 support is in wine right now depends on them.
14:51 tobijk: really d3d10?
14:51 Leftmost: The question is mostly whether I can figure out what I'm doing long enough to carry it off. :)
14:53 Leftmost: Still mostly trying to find entry-level projects at the moment.
14:53 tobijk: Leftmost: depends what you are looking for, nouveau always needs help :)
14:55 Leftmost: tobijk, most anything I can do to help, really. The biggest issue is that I have only two nvidia cards: a GTX 285 and a GTX 970.
14:55 imirkin_: Leftmost: https://trello.com/b/ZudRDiTL/nouveau
14:55 imirkin_: you can try to track down some of the nv50 bugs
14:55 imirkin_: and/or fix them
14:57 tobijk: whats gtx285, i forgot :/
14:57 imirkin_: nva0 iirc
14:57 Leftmost: Sounds right.
14:57 buhman: or https://bugs.freedesktop.org/show_bug.cgi?id=70354
14:58 imirkin_: yeah, _real_ appropriate for a beginner :p
14:58 buhman: oh
14:58 Leftmost: If it has more than four comments, it's beyond my ken. :)
14:59 tobijk: Leftmost: so, we have mostly any kind of work, infrastructure (GL/GLSL), compiler and what not :D
15:06 Leftmost: Would one of the green NV50 piglit failures be a good place to start?
15:06 imirkin_: Leftmost: let me know which
15:07 imirkin_: some of the green ones are just "well, i dunno why it's happening, so step 1 is figure out why -- that should be easy"
15:09 Leftmost: I was considering the "nva0+: draw tfb errors".
15:09 imirkin_: Leftmost: ah yeah. i've done some stuff on that
15:09 tobijk: imirkin_: btw what happened to "Add CVT support in the constant folding pass"
15:09 imirkin_: more than the patch linked in there... let me see if i pushed it
15:09 imirkin_: tobijk: i lost it
15:10 imirkin_: tobijk: resend it without the fp64 stuff?
15:10 tobijk: want that split out? well ok if its not split, i'll do so
15:10 imirkin_: Leftmost: my latest: https://github.com/imirkin/mesa/commit/c01bb891221e3cd3e030fc33042fd32a80a19cc4
15:10 imirkin_: tobijk: i don't want it at all, split out or otherwise
15:10 Leftmost: Cheers. I'll start looking into it.
15:11 imirkin_: tobijk: it's not the appropriate place for it
15:11 imirkin_: Leftmost: iirc pmoreau tested it, and said it still failed. on the bright side, it looks like draw-auto also fails on nvc0
15:11 imirkin_: Leftmost: you can see various piglit results at http://people.freedesktop.org/~imirkin/
15:11 imirkin_: gtg
15:12 tobijk: that was fast!
15:12 tobijk: Leftmost: let me know if you got problem, maybe i can help you, but mostly ask imirkin :)
15:15 Leftmost: Thanks, much appreciated.
15:16 Leftmost: Is the current idea with Maxwell that we're waiting on nvidia to allow distributing their firmware?
15:17 tobijk: yeah the last state i know is that they'll distribute the fw under a leasure license, so we can pick it
15:34 tobijk: Eliasvan: so hows it going? :)
16:09 Eliasvan: tobijk: ok, so I'll give a quick summary:
16:11 Eliasvan: tobijk: I found out that placing the modified vbios in /lib/firmware, then calling "modprobe nouveau config=NvBios=vbios.rom" resulted in nouveau loading the modified bios
16:12 Eliasvan: tobijk: Then "cat /sys/kernel/debug/dri/0/vbios.rom > out.rom" does indeed give the modified bios,
16:12 tobijk: :)
16:12 Eliasvan: tobijk: then after "rmmod nouveau" when I run "nvagetbios ..." I also do get the modified bios
16:13 Eliasvan: tobijk: (but after that, when I would load nouveau without specifying a vbios, will load the default non-modified bios)
16:14 Eliasvan: tobijk: (and I can feel (heat) that the card is not switched off after doing "rmmod nouveau")
16:14 tobijk: mh maybe nouveau loads it from the "hard" rom anyway to be sure
16:16 Eliasvan: tobijk: And if I load the nvidia module instead: "modprobe nvidia" (with the modified vbios still in place), and then I perform a "nvagetbios ...", I get the modified one, so that seems to work!
16:17 Eliasvan: tobijk: and after doing "rmmod nvidia", "nvagetbios ..." still gives the modified vbios.
16:17 tobijk: that looks fine
16:17 tobijk: just trace the blob with it
16:18 Eliasvan: tobijk: yes, so it seems that 'nouveau' reads the vbios from the (slow) PROM, and 'nvidia' loads from the (fast) PRAMIN
16:19 Eliasvan: tobijk: The only thing that still makes me doubt, is that "optirun glxgears" on the modified vbios runs about as fast (1100 fps) as the default vbios... Weird huh?
16:20 Eliasvan: tobijk: there's something fishy going on here
16:20 tobijk: well maybe there are other factors keeping it at 1100 fps, thats a lot
16:20 Eliasvan: tobijk: I really hope you're right ;)
16:21 tobijk: but be happy, i tried the blob a few minutes ago, it still oopses for me :D
16:22 Eliasvan: tobijk: oh, did you know that the blob causes my desktop GTX760 to cause random hangs with screen-corruption, and nouveau is super-stable?
16:23 Eliasvan: tobijk: anyway, that's a different story ;)
16:23 Eliasvan: Thanks for all help, I will now have to take some sleep :)
16:23 tobijk: sleep well :)
16:23 Eliasvan: thanks ;)
16:54 pmoreau: tobijk: Did you need testing for your OP_CVT patch?
16:55 tobijk_: pmoreau: testing is always welcome
16:55 tobijk_: the patch is quite old
16:55 pmoreau: On which chipsets?
16:55 tobijk_: digged it out and send it away :/
16:56 tobijk_: nv50+
16:56 tobijk_: nvc0+ included
16:56 pmoreau: I only have nv50:nvaa + nvac
16:56 tobijk_: yeah thats fine
16:57 pmoreau: Are there some specific test to run, or something general?
16:57 tobijk_: no just in general piglit
16:58 pmoreau: Ok, will do that tomorrow -- need some sleep :)
16:59 tobijk_: thanks, sleep well (as well) :D
17:01 pmoreau: :D Thanks!
17:01 pmoreau: Good night!