01:22pmoreau: gnurou: Once my testing is finished, I'll try again the GM200 with Ben's tree, as he merged your serie.
01:25gnurou: pmoreau: yep, thanks. master for nouveau, linux-firmware and mesa should get you a working GPU
01:26pmoreau: I guess linux-firmware and mesa haven't changed since I last tried (at least, related to GM200).
05:29karolherbst: hakzsam_: will you need reator the entire day again?
06:39xexaxo: gnurou: imho we should add some guards around the MODULE_FIRMWARE()
06:39xexaxo: otherwise one'll end up with all desktop firmware while running a tegra device and vice-versa :)
06:40gnurou: xexaxo: actually you can run a desktop GPU on Tegra, using PCIe
06:40gnurou: the opposite is unlikely to be true, but the Tegra ones are already guarded IIRC
06:41gnurou: ah well the gk20a ones are, not gm20b - we should at least guard these ones
06:41xexaxo: gnurou: is there's such a device ? or it's mostly up-to the OEM to make one ?
06:41gnurou: you can plug a desktop GPU on Jetson TX1 for instance
06:41gnurou: so it's already doable as of today
06:43xexaxo: hmm I thought TX1 did not have PCIe. /me takes a second look
06:44xexaxo: heh silly me got things confused with the T K 1 :)
08:01gordan: Hi, are there any nvidians here, perchance? I'm trying to get an Optimus GPU passed through to a VM and am struggling to get it to work because the VBIOS isn't accessible to the guest.
08:01gordan: The VBIOS only seems to be retrievable via ACPI on the host.
08:01gordan: It's in the host's UEFI blob.
08:01imirkin: gordan: load nouveau on host
08:02imirkin: grab vbios from /sys/kernel/debug
08:02imirkin: stick it into the vm
08:02imirkin: and then boot with NvBios=path/to/vbios.rom
08:02gordan: From what I understand, it's possible to load the BIOS blob at the botton of VRAM, and the driver in the guest should fetch it from there.
08:02imirkin: er, nouveau.config=NvBios=path/to/vbios.rom
08:02scrabcakes: using nouveau I only get output on vga monitor and not my hdmi one. nothing comes up for hdmi under xrandr. thoughts?
08:02gordan: The guest is running Windows.
08:03imirkin: scrabcakes: pastebin dmesg and xorg log
08:03gordan: The problem is that the VBIOS in the UEFI blob is lacking the BIOS header.
08:03imirkin: gordan: oh, heh. you can try using nvafakebios then.
08:03gordan:googles what nvafakebios is...
08:03imirkin: gordan: yeah, dunno if that'll end up working out tbh...
08:03imirkin: nvafakebios is a tool in envytools to upload a bios that the blob will load and think is the real one
08:04imirkin: [upload to vram]
08:04gordan: Ah, yes, that's what I've been using
08:04gordan: But for some reason the Windows guest still ends up saying it couldn't initialize the Nvidia GPU.
08:04imirkin: yeah... dunno. i don't do windows. or blob drivers. :p
08:05gordan: I know the Optimus GPU is headless, I was hoping to stream output from it to the Linux host side via something like splashtop or steam streaming or similar.
08:05gordan: Yeah, it makes things very hard to debug.
08:05gordan: I got as far as getting the VBIOS blob out, and loading it at the bottom of the GPU VRAM, but then I have to unload the host side driver, and load the VM.
08:05gordan: At which point all I can see is that the GPU doesn't initialize in the Windows guest.
08:06imirkin: host-side driver?
08:06imirkin: you should be using pci-stub, no?
08:06gordan: I am using the appropriate configuration on the VM to neuter the Windows driver's ability to tell that it's running in a VM, I use the same setup with a discrete standaline Nvidia GPU and that works fine.
08:07scrabcakes: imirkin: http://paste.ubuntu.com/15198351/ http://paste.ubuntu.com/15198364/
08:07gordan: Yes, but I have to have nouveal loaded first to be able to use nvafakebios
08:07imirkin: that will end in tears
08:07gordan: It _IS_ ending in tears. :p
08:07gordan: I didn't think nvafakebios would work against a device that is under control of pci-stub, will it?
08:08imirkin: scrabcakes: as i expected, you're not using nouveau
08:08imirkin: scrabcakes: you have 'nomodeset' in your kernel cmdline, which disables all graphics drivers
08:09scrabcakes: imirkin: ah I was going to say I remember having to do something like that to get the prop drivers working :)
08:11gordan: imirkin: Will nvafakebios work for loading the VBIOS to a pci-stub controlled device?
08:12gordan: I didn't think it would.
08:12imirkin: gordan: i think it should? i guess i dunno
08:12imirkin: gordan: it should work on a no-driver-loaded device too
08:12imirkin: gordan: it probably doesn't because your optimus gpu is in mega-sleep mode or something
08:12gordan: Oh, I see.
08:12gordan: It hadn't even occurred to me to try.
08:12imirkin: nouveau definitely puts it to sleep on load as well
08:12gordan: I can wake up the GPU with bbswitch. :)
08:13gordan: By default it goes to sleep where even it's identification on the PCI bus doesn't fully show up via lspci. :)
08:14gordan: I'll try it again, maybe the bit that was missing all along was the one that was loading and unloading nouveau and not loading via nvafakebios straight to the pci-stub controlled device.
08:14gordan: Thanks for the hint, I shall try again.
08:32karolherbst: anybody any idea what "pmu: \xffffffffNTR 52544eff 00000000 00000001 00000000" means?
08:34scrabcakes: I disabled nomodeset but now I get "mode not supported" on my monitor
08:35RSpliet: karolherbst: os.h lists #define PROC_KERN 0x52544e49
08:35RSpliet: those first three characters correspond an awful lot
08:35karolherbst: I get that when trying out my pmu counter stuff
08:35RSpliet: think they're ASCII values for
08:37RSpliet: INTR to be precise :-D
08:37RSpliet: what prints that output?
08:37karolherbst: cating my current_load debugfs file, which simply sends a message to PERF
08:38karolherbst: but I also saw this on maxwell gpus
08:38RSpliet: It's the packet format
08:38karolherbst: that's the fuc code by the way: https://github.com/karolherbst/nouveau/blob/pmu_counters/drm/nouveau/nvkm/subdev/pmu/fuc/perf.fuc
08:39karolherbst: but perf_init isn't completly executed too though
08:39RSpliet: it echo's that as a package sent or received, which appears malformed
08:39RSpliet: lists packet format
08:39RSpliet: (conveniently 4 words)
08:41karolherbst: something is odd
08:41karolherbst: the print comes from this line (most likely): https://github.com/karolherbst/nouveau/blob/master_karol_no_touchy/drm/nouveau/nvkm/subdev/pmu/base.c#L189
08:41karolherbst: but how does that \xfffff... part happen?
08:44RSpliet: weirdness with trying to print a char
08:44RSpliet: something that looks an awful lot like sign extension
08:44karolherbst: "nouveau 0000:05:00.0: pmu: fini completed in 1us"
08:44karolherbst: this sounds so wrong
08:45karolherbst: it takes 215us on the gk106
08:45karolherbst: and this is a gk208
08:45RSpliet: well, if the previous package is malformed (which is it, 0xff is not supposed to be part of the process)' anything could happen
08:45karolherbst: mhh at least my timer runs perfectly well
08:46karolherbst: ohh wrong card
08:46karolherbst: something is odd
08:46karolherbst: really odd
08:47karolherbst: top is gk106, bottom is gk208
08:47karolherbst: except 0010a500
08:47karolherbst: every thing should be the same (except the 0x8 coloum)
08:47karolherbst: but it is partly done
08:48karolherbst: 0010a504+ is 0x0 by default
08:48karolherbst: so perf_init is run, but somehow stuff gets skipped
08:49karolherbst: when reclocking memory I also get that "pmu: \xffffffffNTR 52544eff 00000000 00000001 00000000" thing
08:49karolherbst: maybe I screwed the pmu up...
08:54karolherbst: yeah I think I screw the pmu up in some way
08:54karolherbst: with master it works
09:54Jayhost: Does anyone have MMIOTRACE for gk104
09:56imirkin_: Jayhost: anything in particular you're looking for?
09:56Jayhost: imirkin_ reclocking
09:56imirkin_: is your GK104 having trouble? things should largely work nowadays...
09:56Yoshimo: sorry no, just a gf110
09:57Jayhost: imirkin_ No, Just trying to compare so I can get gm107 working.
09:57imirkin_: well, i'm sure karolherbst should have a ton of traces from his GK106
09:57imirkin_: however that is unlikely to be a very effective approach.
09:58Jayhost: imirkin_ what might be more effective? I've been using NVApoke and gpu hangs up
10:00imirkin_: Jayhost: find the memory reclocking scripts, figure out how to generate them
10:00imirkin_: it's not just a question of writing a few registers
10:00imirkin_: this is tricky business =/
10:01imirkin_: you have to generate a script to be executed from the GPU itself, since "disconnecting" memory causes bad things to happen
10:03Jayhost: hmm the gk104 clk code writes about 20 registers and frequency is max
10:03imirkin_: if only.
10:04Jayhost: Although I dont have gk104 so maybe that's why I don't understand very well
10:04imirkin_: it's like a 50-step process
10:05Jayhost: Ahh I havn't dived deep enough
10:05imirkin_: there's link training
10:05imirkin_: there's computing the target memory configs
10:05imirkin_: there's computing pll settings
10:05imirkin_: there's generating the script to be executed by the PMU
10:05imirkin_: and properly operating things in between
10:07Jayhost: My idea was to just get it to work better than it works now a little bit at a time
10:07imirkin_: it's a nice idea
10:07Jayhost: And I figured I could get the VCO to work better
10:07imirkin_: unfortunately with reclocking, it either reclocks properly or the gpu hangs
10:08imirkin_: i.e. you take memory down, and either memory comes back and works, or it doesn't
10:08Jayhost: gm107 is hooked up to gk104. I can use Dolphin for about ten minutes at higher framerate then hang
10:08imirkin_: including memory reclocking??
10:09imirkin_: or just core?
10:11Jayhost: I'm not sure
10:11imirkin_: cat the pstate file :)
10:11imirkin_: the last line should say the current state of things
10:11karolherbst: imirkin_: not soo many actually
10:12Jayhost: yeah the memory goes to 5400
10:12imirkin_: karolherbst: you didn't have to deal with the proper script generation bits of it... it took skeggsb like 6 months to get all that.
10:13imirkin_: Jayhost: ok, so now compare the nouveau reclocking parameters generated to the blob ones
10:13imirkin_: Jayhost: also, perhaps you're right that voltage is an issue, so you should double-check that... afaik karolherbst has been looking into related issues
10:14imirkin_: Jayhost: could be a temperature component in there, since it works at first but then stops
10:14Jayhost: Temperature just goes to about 40
10:14imirkin_: wow, that's pretty low
10:15imirkin_: the gpu-reported temp?
10:16karolherbst: yeah it is most likely a voltage issue
10:17Jayhost: just the pci reported
10:19karolherbst: Jayhost: temperature should only increase when there is actually load
10:19karolherbst: just reclocking doesn't do much
10:19Jayhost: Temperature while using Dolphin
10:20karolherbst: Jayhost: then we would need what is inside dmesg
10:20karolherbst: and to what nouveau clocks
10:21Jayhost: karolherbst when it hangs?
10:21karolherbst: with what gpu are you testing by the way?
10:21Jayhost: Nouveau clocks to 1450 mhz although max for card is 1080
10:21karolherbst: what do you mean with "max"?
10:21karolherbst: base max, or boost max?
10:21Jayhost: gtx 750 ti
10:22karolherbst: k, that value is most of the time garbage anyway
10:22karolherbst: are you sure nouveau clocks to 1450?
10:22karolherbst: or is just the highest pstate with that clock listed?
10:22karolherbst: you should check the last line
10:22Jayhost: I had figured because I hacked it to clock at 1050 and it hanged all the same
10:22karolherbst: yeah, first you need a default nouveau
10:22karolherbst: just hacking somewhere around won't give you anything good
10:23karolherbst: I have to clean up my branch a bit then you could test it and it should work without hangs
10:24Jayhost: Not sure what you mean by default. I have the .ko's named respectively
10:24karolherbst: without your changes basically ;)
10:24karolherbst: what kernel are you using?
10:25Jayhost: 4.4 vanilla
10:25karolherbst: try this branch: https://github.com/karolherbst/nouveau/tree/stable_reclocking_kepler
10:25karolherbst: it has kepler in its name, but the changes basically also apply for fermi and maxwell
10:26karolherbst: there is also a NvBoost option where you can set your max clock: 1: base, 2: boost, 3: limited as nvidia
10:28SolarAquarion: i guess divinity original sin won't work
10:29karolherbst: SolarAquarion: yeah, because of a stupid thing
10:30karolherbst: it needs ARB_shading_language_include
10:30SolarAquarion: karolherbst, and it's not in mesa yet
10:30SolarAquarion: or in mesa git
10:31Jayhost: karolherbst checking out
10:31karolherbst: Jayhost: make sure to switch to the branch
10:32karolherbst: Jayhost: how fast does the gpu hang by the way?
10:33SolarAquarion: karolherbst, does xcom work?
10:33karolherbst: xcom 2?
10:33karolherbst: should work, yes
10:36Jayhost: karolherbst I guess the method to change pstate is different now
10:36karolherbst: Jayhost: debugfs
10:36karolherbst: in /sys/kernel/debug/dri/
10:36karolherbst: Jayhost: but you don't need that pstate option now, so it is there for everybody now
10:36karolherbst: this will come with 4.5 vanilla
10:37Jayhost: Alright crossed fingers
10:39karolherbst: Jayhost: well it might make sense to have a look at your vbios, because that voltage thing is a bit experimental currently. It is only perfect for a few cards, but better for every other card, just not as perfect as it should be
10:39karolherbst: Jayhost: and content of your pstate file would be nice
10:39karolherbst: with my branch
10:41Jayhost: The three lines. copy and paste all here?
10:41karolherbst: three lines are okay
10:42karolherbst: thought a pastebin site is always prefered ;)
10:44karolherbst: and "dmesg | grep nouveau"
10:44Jayhost: gpu locked playing windwaker
10:45karolherbst: Jayhost: did it locked earlier with stock nouveau?
10:47Jayhost: No but stock nouveau doesn't allow 0f > pstate
10:47karolherbst: what happens?, error in dmesg?
10:47karolherbst: ohh I bet volting error
10:48karolherbst: you are on my master branch
10:48Jayhost: Achievement unlocked
10:48karolherbst: Jayhost: you should get a line like "nouveau 0000:01:00.0: clk: base: 705 MHz, boost: 797 MHz"
10:49karolherbst: Jayhost: so git checkout stable_reclocking_kepler
10:49karolherbst: and rebuild the thing
10:49Jayhost: Did you mean I'm not on your branch
10:50karolherbst: or do you have a line like "nouveau 0000:01:00.0: clk: base: 705 MHz, boost: 797 MHz"?
10:52Jayhost: I don't think so. Grepped nouveau
10:53karolherbst: yeah switch to the stable_reclocking_kepler branch and rebuild it
10:53karolherbst: then it should show it if you load the new module
10:55Jayhost: nvbios vmap entry has no member named mode
10:56karolherbst: ohh right, maybe I should try to compile it too :/
10:56Jayhost: : D
10:56karolherbst: yeah I just moved some commits from one branch to the other one
10:56karolherbst: I think I forgot something
10:56imirkin_: [compiling things before pushing]
10:58karolherbst: https://github.com/karolherbst/nouveau/commit/14fd26b699919d2c959e025cba2c77deffd2092f ....
10:58karolherbst: you can git cherry-pick that hash
10:58karolherbst: Jayhost: git cherry-pick 14fd26b699919d2c959e025cba2c77deffd2092f
10:58karolherbst: then it should compile
11:00Jayhost: Is git pull incorrect?
11:00karolherbst: don't pull, usually git pull gives you plain headache issues
11:01karolherbst: usually I rebase and so the history is rewritten
11:02karolherbst: cherry-picking that commit is the easiert solution for now
11:02karolherbst: git pull only works if the branch isn't forced pushed, but I do that a lot and nouveau master is also forced pushed
11:02karolherbst: and then you end up with incompatible hostories
11:06Jayhost: If I ask questions that should be for search engines feel free to ignore. I don't want to waste anyone's time. :-D
11:15karolherbst: Jayhost: so does such a line appear now?
11:16Jayhost: Yes but still frozen
11:16Jayhost: and I only got 1333 MHz. What a ripoff. Branch -d
11:16Jayhost: haha kidding
11:16karolherbst: but that means that it uses higher voltages now
11:17karolherbst: Jayhost: ever uses the nvidia driver?
11:17Jayhost: I have
11:17karolherbst: if you want, you could check what the max clock is inside nvidia-settings and you could run a little tool I wrote, which compares the nvidia set voltage with what nouveau would set
11:18karolherbst: I am sure the difference is still too big,
11:18karolherbst: but if not, then something else is odd
11:19Jayhost: Okay I guess I'll boot into other partition
11:19SolarAquarion: i got a segmentation fault with xcom
11:19SolarAquarion: i did PRIME=1 etc etc etc
11:19SolarAquarion: yes exactly
11:19karolherbst: it seems to work for me
11:20SolarAquarion: and OpenGL vendor string is showing nouveau
11:20karolherbst: but I never played it with nouveau, I was just testing if it would start
11:20SolarAquarion: well i installed sdl2 image and it started
11:33Jayhost: karolherbst have to reinstall partition to sandbox proprietary
11:35karolherbst: Jayhost: you could install envytools in the meantime and get the vbios with nvagetbios
11:35karolherbst: maybe there is something in it I don't respect yet
11:37Jayhost: Oh yeah I have the vbios
11:37karolherbst: would you like to upload it somewhere so I can take a look?
11:38Jayhost: Ya when done with install
11:42Jayhost: What kind of computers does anyone here use as daily driver
12:12Jayhost: karolherbst best way to upload nvbios
12:13karolherbst: some file uploading site maybe
12:13karolherbst: the vbios is quite small so nonbody should complaint
12:14Jayhost: Yeah the first link did. http://filebin.ca/2YDd8klM1eFV/nvbioses
12:17karolherbst: I want the plain vbios file though
12:20Jayhost: Ohh special request
12:21Jayhost: okay let me pull from other part
12:25Jayhost: The nvidia driver always causes computer to idle for minutes during boot/shutdown
12:29Jayhost: karolherbst http://filebin.ca/2YDhiYkOlQPP/bioses
12:30karolherbst: Jayhost: thanks, and could you give me the value of nvapeek 101000
12:32karolherbst: ohh your vbios is odd :O
12:33karolherbst: but its oaky in the end
12:34Jayhost: Ain't nothing wrong with my vbios.
12:34Jayhost: What's interesting?
12:34karolherbst: the voltage table
12:35Jayhost: I don't know if your familiar the card is super low power
12:35karolherbst: anyway your cards clocks are 1176 MHz base and 1254 MHz boost
12:35Jayhost: 50 watts or something
12:35karolherbst: I would expect nvidia tells you the highest clock is around 1300MHz
12:35karolherbst: in nvidia-settings
12:36Jayhost: Mine is the factory overclocked version if that makes diff
12:37karolherbst: Jayhost: do you still have my nouveau branch?
12:38karolherbst: then go into it and do a make in the top directory (not drm)
12:38karolherbst: ohh wait
12:39karolherbst: no, that won't work for now
12:39karolherbst: git checkout master_karol_no_touchy
12:39karolherbst: then you can compile it
12:39karolherbst: there is a tool I would like to see the results from
12:39Jayhost: Do I need to boot into proprietary partition
12:40karolherbst: I want to know how much the voltage is off
12:40Jayhost: Ahh Okay. It locked up on me for some reason after getting nvidia-settings
12:40karolherbst: it loads the nvidia module
12:40Jayhost: nvapeek 8040009a
12:41Jayhost: That's 101000 : 8040009a
13:02Jayhost: getting the nvi driver to run is a unique kind of hell
13:14karolherbst: Jayhost: that bad?
13:15karolherbst: Jayhost: if you switch to mine "master_karol_no_touchy" branch, you can run make in the top directoriy of it
13:16karolherbst: then as root: LD_LIBRARY_PATH=lib bin/nv_cmp_volt
13:16karolherbst: and do whatever for some time
13:16karolherbst: best if you do something which requires some gpu power
13:16karolherbst: the tool will just prints some stuff
14:12Jayhost: karolherbst reinstalled everything. will run soon
14:13Jayhost: oh nevermind still doesn't work after fresh install of os and driver.
14:49Jayhost: nvidia-driver: "Hey I've gone ahead and blacklisted a weird conflicting driver and I'm leaving you with a black screen. Life is weird, Okay bye now"
16:38Jayhost: karolherbst needed jessie backport driver to work correctly
18:30Jayhost: karolherbst I'm running dolphin and your voltage script. If your away I'll be around
23:17karolherbst: the fdo web servers are still down right? :/
23:20Jayhost: Karol I have volt data
23:26Jayhost: Not sure if that's what you're looking for
23:27karolherbst: mhh odd
23:27karolherbst: I can't imagine that 0.006V matter that much :/
23:28karolherbst: maybe it hangs because of something else now
23:28Jayhost: That data was used on nvidia driver playing dolphin-emu
23:29Jayhost: The card is used without any extra power supply
23:30karolherbst: still odd. Okay, maybe dmesg would help when using the stable_reclocking_kepler branch again
23:30karolherbst: dmesg when the gpu hangs again
23:30karolherbst: it could be that something else is also wrong for maxwells
23:30Jayhost: I'll do it now If you'll be around
23:31karolherbst: I will
23:31karolherbst: I try to debug another issue in the meantime though :/ random gpu hangs inside a game, which might not happen for the next 10 hours... but if I am lucky it happens in 10 minutes
23:32Jayhost: For this bug. The gpu will hang faster when resolution of game is turned up
23:33karolherbst: well you need a lot of load on the gpu
23:33karolherbst: otherwise the hardware isn't stressed enough and things go smoothly
23:33karolherbst: voltage is only a problem when something doesn't happen fast enough
23:33Jayhost: error is base.c
23:34karolherbst: what error?
23:34Jayhost: drm/nouveau/nvkm/subdev/clk/base.c:159:1: error: expected expression before ‘<<’ token
23:34karolherbst: did you pull?
23:35Jayhost: I have unmerged files
23:35karolherbst: yeah, but you did git pull, right?
23:36karolherbst: simple rule: never pull from anything except master or stbale branches ;)
23:36karolherbst: devs tend to do git push --force
23:36karolherbst: and git pull can't handle that
23:36karolherbst: maybe this works: git reset --hard origin/stable_reclocking_kepler
23:36Jayhost: Okay so I had switched to stable before pulling but I had pulled earlier
23:37karolherbst: with stable branches I meant stuff like release branches anyway
23:37karolherbst: git pull is a mess, you should rather git fetch and then just update the branches manually
23:38Jayhost: I'm going to have to do git bootcamp
23:39Jayhost: Oh that's right duckduckgo just got cheatsheet support
23:42Jayhost: dmesg says clokc is base 1176
23:43karolherbst: it's in your vbios :p
23:45Jayhost: I suppose I should cat /kern
23:48Jayhost: locks up no error
23:48Jayhost: also the framerate was much lower than I expect
23:49karolherbst: did you reclock?
23:49karolherbst: and there should be an error
23:49Jayhost: as usual mouse works
23:50Jayhost: there is now
23:50karolherbst: and the mouse still works?
23:50Jayhost: eq overflowing
23:50karolherbst: k, then dmesg please
23:55Jayhost: these are both dmesg's.
23:55karolherbst: Jayhost: and yuor desktop is still running without issues?
23:55Jayhost: No the mouse is still running
23:55Jayhost: everything else is a stuck
23:55karolherbst: ahh right, because the X server is messing up
23:56karolherbst: what version is your nouveau ddx?
23:57karolherbst: I think the issue you encounter is a software issue either in mesa or X