09:31RSpliet: karolherbst: oh... yes, I guess post-RA the bars have been emitted. insn_sched has the advantage of working on a BB level. DIdn't look into that much tbh, could be that there's an opportunity for increasing distance between tex ops and texbars...
09:45anEpiov: mm... weird glitches with 4.13, squared glitches in windows that remain when windows dragged
09:45anEpiov: they only go away when moving the window off the screen.
09:46anEpiov: squared splotches
09:46anEpiov: so far appeared in different programs.
09:46anEpiov: they appear over time.
09:49RSpliet: anEpiov: could you share a bit more details on that? GPU model? Version of Mesa? Perhaps a screenshot as well?
09:50RSpliet: I don't think I've seen something like that before, but I'm using Gnome Shell/Wayland and only cards newer than G80...
09:50anEpiov: RSpliet: all latest, I when into dmesg and Xorg.0.log to see something but nothing there.
09:51anEpiov: RSpliet: wasn't happening with 4.9
09:51RSpliet: I have once seen that on a GeForce FX (using the official driver, mind you), but in the particular case the card was simply overheating because the fan broke
09:51RSpliet: anEpiov: could you paste an (unfiltered) copy of dmesg and glxinfo | grep render onto a pastebin-like website and share the URL please?
09:51anEpiov: RSpliet: lm_sensers report nouveau temps?
09:51RSpliet: just glxinfo, no need to grep
09:51RSpliet: should do yes
09:52anEpiov: RSpliet: right now I can't because I am on another machine. But what I will do is share a pic of the glitch.
09:52RSpliet: which GPU is it?
09:53anEpiov: 570 I think
09:56RSpliet: Ah ok so something something Fermi somethingmore and probably GF108. That's unexpected... I take it you jumped from kernel 4.9 to 4.13. Do you have the old kernel laying around to verify it's still functioning correctly?
09:57anEpiov: yes I did
09:57anEpiov: from 4.9 straight to 4.13
09:57anEpiov: is that wrong??
09:57RSpliet: No, that's not wrong
09:58anEpiov: old kernel deleted for good
09:58RSpliet: Ah now that's a shame. It'd be nice to localise the change that caused this erroneous behaviour, and since a lot changed between 4.9 and 4.13, there's a lot of guesswork.
09:59anEpiov: and there's whan picky game crashing always at the same spot the bastard!!!
10:00anEpiov: when I hide behind a place and knock with the hand I get instant crash
10:03RSpliet: one problem at a time ;-) If you're confident with building kernels you could help out on finding the culprit for your desktop corruption issues by performing a bisect on the kernel tree. Think there's ~300 patches on nouveau between 4.9 and 4.13, so with 9 kernel compilations you should be able to find the exact patch that broke your set-up. Although you might save some time grabbing a pre-compiled 4.11 and either 4.10 or 4.12 fr
10:05RSpliet: But do verify whether it really is a kernel issue, to me it sounds more like a bug that creeped into the DDX (if it's a 2D desktop env) or Mesa (in the odd case you use Glamor instead of the DDX or a 3D accelerated desktop like Gnome Shell)
10:06RSpliet: I have to leave unfortunately, but if you have the time to make that debugging commitment it'd be very helpful. Make sure to verify the entire stack works prior to that though, would be a shame to build 6 kernels and then find out it was a problem in llvmpipe (and not actually using nouveau 3D accel) or a dangling binary driver module getting in the way of Mesa.
10:18anEpiov: I don't use any fancy DE's plain WM
10:18anEpiov: interesting so it has to do with the 2D part.
10:18anEpiov: RSpliet: actually, I am using an early 4.13 release, i'll try the latest one.
13:42imirkin: anEpiov: are you, by any chance, using the 'modesetting' ddx? if so, please switch to xf86-video-nouveau.
13:43anEpiov: I think I do, how to tell?
13:44anEpiov: I recall seeing something about DDX in Xorg.0.log
13:44anEpiov: how to disbale modesetting?
13:47imirkin: anEpiov: i think some distros go to some length to castrate xf86-video-nouveau... so you'd have to undo that. xf86-video-nouveau should be getting used by default if it's installed though.
13:48anEpiov: it's installed
13:48imirkin: pastebin your xorg log
13:48anEpiov: I am on a different pc
13:48imirkin: or just see if it says modeset(0) or NOUVEAU(0)
13:48imirkin: if it says NOUVEAU(0): bla bla bla, then you're using nouveau
13:48imirkin: if modeset(0), then modesetting.
13:49anEpiov: aright lemme check
14:02Tim_: Hello, anybody got experience with Intel + External GPU working together
14:03Tim_: I want to use the on board intel gpu for the screen, while i use the NVIDIA GPU for calculation. While nomodeset allowed me to initially start a xorg session, the installation of the nvidia driver has blocked this out
14:04Tim_: currently I've got a setup with a working NVIDIA gpu (for calculation) and no screen session (but a terminal session)
14:04Tim_: i now only need the screen to work as well. Any suggestionsM
14:17anEpiov: Tim_: the application should have the option to detect and allow choosing gpu
14:18Tim_: yes, that it does
14:18Tim_: this is apart from an application though
14:18imirkin_: Tim_: you'll want to ask karolherbst -- he has a pretty good system for all that.
14:18Tim_: unless you count nouveau (lightdm) as an application
14:19Tim_: got contact information for karolherbst
14:19imirkin_: Tim_: although ... maybe not if you want to use as an external screen
14:19imirkin_: he mainly just flips between nouveau and nvidia blob [for tracing]
14:19karolherbst: currently no time, will respond in like 1 hour or so and yes, all my screens are connected to the intel GPU
14:19Tim_: at the moment i just want my intel gpu to show a browser (for instance)
14:19karolherbst: so nouveau doesn't drive any screen anyway
14:20karolherbst: all by intel
14:20imirkin_: Tim_: if you're looking to do it all with blob, you're in the wrong place
14:20Tim_: o ok
14:20imirkin_: with nouveau, the second screen should be pretty seamless - you just have to make sure there's a DDX attached to it, and then use reverse prime.
14:21imirkin_: afaik the whole "second gpu" thing is a pretty sore spot for nvidia blob drivers, but i'm no expert on those.
14:21anEpiov: karolherbst: 'all my screens'... how many screens do you need?
14:21imirkin_: nor is anyone here.
14:21Tim_: @karolherbst then do you use nvidia for calculationsM
14:21Tim_: @karolherbst then do you use nvidia for calculationsM?*
14:21karolherbst: anEpiov: well, I have 3 ports and all are connected to the intel GPU
14:21karolherbst: Tim_: well, I have bumblebee installed
14:21karolherbst: and adjusted my system so that I can switch the GPU driver within seconds
14:22Tim_: any reference to how i can acquire that setup as well?
14:22karolherbst: use bumblebee and use the dummy X driver for the nvidia GPU
14:22imirkin_: it's predicated on not using any outputs attached to the nvidia gpu though.
14:22karolherbst: but then you can't display anything on ports connected to the nvidia GPU
14:23Tim_: that would not be the case, the gpu is only for deep learning stuff
14:23Tim_: but i would be able to preform calculations with the dummy X driver?
14:23karolherbst: Tim_: well yeah, then you can do things like "optirun -b none bash" and execute stuff like "DISPLAY=:8 ./your_deep_learning_application"
14:24karolherbst: bumblebee starts a second X server on the nvidia GPU without any heads
14:24Tim_: ok, so now installing bumblebee
14:25karolherbst: bumblebee also has this bbswitch module to turn the nvidia GPU on/off automatically
14:25Tim_: for display, not for use with cuda, right?
14:25karolherbst: but we don't support bumblebee with nouveau (allthough I sometimes use this for piglit/CTS)
14:25karolherbst: Tim_: well, it turns the nvidia GPU off if not in use
14:26karolherbst: everything cuda related should pick up the GPU anyhow as long as nvidia is loaded I think
14:26karolherbst: there isn't even a X server needed afaik
14:26karolherbst: not quite sure, never played around with cuda until now
14:26Tim_: true, though while i had a working setup without the nvidia gpu (and drivers) the install of them messed up my intel setup
14:27karolherbst: usually the bumblebee installation doesn't mess up intel, but installs nvidia drivers
14:27karolherbst: alone for this it's worth installing
14:27Tim_: bumblebee could provide with a solution that it tells my lightdm to only look for drivers concerning intel, right?
14:27karolherbst: kind of, yes
14:28karolherbst: in the perfect world nvidia is installed in a way, that the main X server doesn't know there is nvidia stuff installed, hence ignoring it
14:28karolherbst: and normally this is exactly done by bumblebee
14:28Tim_: does this mean a purge of my current nvidia drivers?
14:28Tim_: manually or automatically?
14:29karolherbst: then there is this optirun command, which offloads OpenGL workload on the nvidia GPU, but copies buffers to display it on the intel X server
14:29karolherbst: but "optirun -b none bash" can be used to start the second X server in the background without setting up offloading
14:29karolherbst: Tim_: no idea, I doubt it will repair a broken setup
14:29karolherbst: maybe it does
14:30Tim_: Ok, what order should i follow, first ubuntu then bumblebee, then ... M
14:30karolherbst: this is super distribution specific, so you might ask people who might know
14:30Tim_: Ok, what order should i follow, first ubuntu then bumblebee, then ... ?*
14:30karolherbst: Tim_: yeah, first ubuntu, then install bumebleee
14:30karolherbst: everything should be setup then
14:30karolherbst: you can install the mesa demos then (like glxinfo and stuff)
14:30Tim_: ok, sounds like a plan. Thanks for the advice !
14:30karolherbst: glxinfo should print intel as the vendor
14:31karolherbst: optirun glxinfo should print nvidia
14:31karolherbst: there is also the #bumblebee channel for proper support
14:31Tim_: o ok. I didn't know bumblebee provided this solution
14:32Tim_: thanks karolherbst!
14:32karolherbst: well, it's a hack and has a bigger overhead then DRI_PRIME offloading
14:41albamart: i am posting the last data to the channel, we talked about how alus remain allocated, normal formation is that Compute Units have their per wave allocated resources, mioaw does it by in parallel inrementing the the registers per Compute unit, one reg is unique but can trigger bank conflict for the later instruction, if that alu is reused
14:42albamart: similarly memory operations can be reused, allthough writing to the same texture as reading is undefined, it will succeed as discussed there
14:42albamart: if done not not correct, as the natural stream would be normally, then of course the shader is messed up
14:52albamart: the spec is correct, overwriting shared/local memory or global memory that way would trigger undefined behavior, it'll succeed but render incorrectly in most cases naturally, but overwriting register absolute addresses would not perform writeback to persistent pool, hence i think at least then the behavior is never undefined
14:53albamart: the point is that this way one can bypass fetch and decode, and go well below 1ns resolution
14:53albamart: in the graphics shader, similarly to opencl counters
14:55albamart: so the real code is assembled with many tricks that would need to work together, but generally is very thin and easy for any sort of purpose, be that feature emulation or scheduling
15:04albamart: in other words single-pass prefix scan is still possible with very fast methods, be that with specially designed memory rewrites or registers does not matter
15:07albamart: it is very effective..but slightly complex for the most, someone named mark harris had described it allready in a publication in 2016, where only requirement is that fragmend shader could write i.e scatter to memory
15:09albamart: doing that in hw circuit fixed, is somewhat even less flexible and imo even incorrect, but it hides the most complexity for every day grapgics programming
15:09albamart: error, the year was 2006 i meant
15:11albamart: also miaow is readable code , the hw implementation of gcn cards, but hats off, it can be very complex and timeconsuming to write and read both
15:11albamart: at least under pressure
15:13albamart: hence bigger companies really require 10years of experience + education, to deal with such things
15:14albamart: from another angle, i disagree, that those requirements would need to be there for sw driver programming nowdays when most heavy work has been done
15:19albamart: the thing is compiler internals have been mainstream for quite a while now, but hw code publications is a new thing, if people are able to freely fetch hw designs from network nowdays, it could be possible that the requirements on such tasks get somewhat relaxed later too as a result
15:22albamart: anyways good luck to you then, and i head off , dealing with different things including programming and personal life issues! bye.
15:42mzki: hi, I'm reading the following comment on Dual-link DVI support at https://nouveau.freedesktop.org/wiki/FeatureMatrix/
15:42mzki: "Works, if the VBIOS gives enough memory bandwidth by default"
15:42imirkin_: i don't think that's a practically relevant comment
15:42mzki: I think this might be related to a more general question I have
15:43mzki: that is, does an option rom found on the card (GTX 660 Ti) need to be run at boot for the card to be usable?
15:44imirkin_: depends what you mean by 'run'
15:44imirkin_: something somewhere needs to initialize the card
15:44imirkin_: that can either be the option rom
15:44imirkin_: or it can be a driver which parses the init tables in the vbios and does the same thing the option rom would.
15:45imirkin_: the init tables provide a language which i *think* is turing complete, although i haven't looked at it formally
15:46imirkin_: but when e.g. nouveau does it, it's all within a sandbox of sorts which only lets it mess with the gpu.
15:46mzki: ok, thanks, i'm thinking about a coreboot based setup that doesn't load option roms
15:47imirkin_: i think that ought to work, but i guess i'm not 100% sure.
15:47mzki: and it's something I haven't tried before so trying to figure out if the card should be usable with nouveau in such a setup
15:47imirkin_: you obviously won't have a display until nouveau loads though
15:48mzki: i think i should be able to live with that
15:48imirkin_: also please don't read this as a guarantee of things working
15:48imirkin_: unfortunately there's a lot of ... weirdness ... in the option rom stuff
15:49mzki: sure, just trying to get some input
15:49imirkin_: also unrelated to all that
15:49imirkin_: some people have had issues with nouveau on GTX 660's. not sure if that extends to GTX 660 Ti's.
15:50imirkin_: the issues were resolved by running blob firmware for context switching instead of nouveau-written firmware.
15:50imirkin_: naturally the author of the firmware can't reproduce the issues, otherwise what fun would it be.
15:51imirkin_: [since the firmware is in no way specific to a particular marketing name, it must be something odd with some boards, but we don't know what identifies the oddness]
15:51mzki: from the CodeNames page, 660 Ti is GK104, while plain 660 is GK106, should the GK104 be more stable?
15:52imirkin_: nope. it's all the same.
15:52imirkin_: also the codenames page is more of a guide than absolute truth
15:52imirkin_: marketing names are spread out pretty randomly
15:52imirkin_: [esp for lower end stuff]
15:52imirkin_: like ... a 630 can be a GF108, GK107, or GK208.
15:53mzki: ok, in that case, are any cards less likely to give trouble, at similar performance level or is is all lottery?
15:54imirkin_: well, i'd say 95% of keplers work well. but it's mostly a lottery.
15:54imirkin_: just with high chances of success :)
15:54imirkin_: if possible, stay away from "OC" cards as those have timings that upset our reclocking logic sometimes
15:55mzki: ah ok
15:58mzki: imirkin_: about the firmware, would you be able to point me to the source code or any info on it? trying to understand a bit more about how this all works
15:59imirkin_: which firmware?
15:59imirkin_: you mean the context switching firmware?
15:59imirkin_: or the logic to init the board?
15:59imirkin_: [which is not firmware]
15:59mzki: the context switching firmware
15:59imirkin_: [but people can get confused]
16:07anEpiov: I use NOUVEAU(0) definately
16:15imirkin_: mzki: https://github.com/skeggsb/nouveau/tree/master/drm/nouveau/nvkm/engine/gr/fuc
16:16imirkin_: mzki: "compiled" with cpp, assembled with envyas.
16:17imirkin_: this is to save engine execution context and load another one. kind of a context switch.
16:20mzki: imirkin_: thank you
16:20imirkin_: runs on a "cpu" inside the gpu
16:21imirkin_: a similar cpu controls PMU functions, and another set of cpu's control video decoding/encoding hw.
16:22mzki: what kind of "cpu" would that be?
16:23imirkin_: G84 - G96 used xtensa cores for controlling the vdec stuff
16:23imirkin_: but then they made their own
16:23imirkin_: but basically you just load a little RTOS on them and interact.
16:28mzki: imirkin_: and one last question i guess, you mentioned a driver parsing the init tables in the vbios, where does it get those init tables from, the actual hw it is initializing?
16:29imirkin_: have a look at shadow.c and the various options for where to get the vbios from
16:29imirkin_: (and image.c? i forget)
16:36mzki: imirkin_: cool, thanks for your help
16:38imirkin_: on your board, most likely the PROM option is the one that would have it
16:38imirkin_: i.e. shadowrom.c
17:49karolherbst: imirkin: meh :( now we segfault in KHR-GL45.arrays_of_arrays_gl.SubroutineFunctionCalls1 due to spilling messup....
18:05jayhost: What has nouveau been up to? Is there not much work to do because the new proprietary blobs?
18:11karolherbst: jayhost: lack of time
18:12imirkin_: more like no time being invested
18:14jayhost: On nouveau part or Nvidia?
18:14imirkin_: well there never was on nvidia's part
18:15jayhost: What would you be doing if you had more time?
18:15imirkin_: [at least not for desktop gpu's, except by coincidence]
18:16imirkin_: find the blobs being uploaded on maxwell2+ and locate them in the package
18:16imirkin_: rewrite the driver with threading in mind
18:16jayhost: Difficulty? Is it worth it or do you think community should vote with wallet and get amd
18:17imirkin_: well, there's no one to do this work
18:17imirkin_: so really, people should just get amd
18:17imirkin_: amd has a fully-staffed team behind the driver
18:17imirkin_: there is no such team behind nouveau
18:18imirkin_: [with apologies to skeggsb...]
18:18jayhost: I know, you've told me, It just seemed like you karol and roy were still pretty active
18:19imirkin_: i haven't done anything in a while
18:19imirkin_: other than lots of hot air
18:19jayhost: Are you hobbyist or you have real job / start up
18:19imirkin_: not sure how the two are mutually exclusive
18:19imirkin_: i have a real job
18:20imirkin_: and i hack on nouveau as a hobby in my free time. except i've had none of late.
18:20jayhost: When I said hobbyist I meant exclusively hobbyist :D
18:20imirkin_: this is true of everyone else as well except ben, who works on nouveau at RH. except he ends up with RH responsibilities.
18:20karolherbst: jayhost: well, if there is enough money to pay somebody full time, which is unlikely but mhh, that _might_ work, but then there is alot of overhead to this as well
18:21karolherbst: my hope is, it would be better if there are two paid devs....
18:23jayhost: Who would finance?
18:24karolherbst: does it really matter?
18:24karolherbst: maybe RH, maybe somebody else
18:25jayhost: No, I just don't know much about financing OSS
18:26karolherbst: well somebody who thinks that paying a dev working on OSS in its interest is worth the money, they usually end up hiring somebody or do contracting
18:27karolherbst: benefit: they are able to shape the direction of that oss project
18:27karolherbst: like: fixing bugs in the interest of that entity which pays
18:27karolherbst: or creating new features
18:29jayhost: Ah yes
18:31jayhost: I hope I can figure out how to make $ from OSS. I've just been working on some open source shader code. https://pbs.twimg.com/media/DMdDAI5WAAYjyZI.jpg
18:32karolherbst: jayhost: well, most of the time you need entities with a money interested in your project
18:35jayhost: I saw Nvidia is allowing Morgan Mcguire to work on G3D while employed with them.
18:41jayhost: It would be nice to convince them to spend a little on the Odriver although I take it they don't care.
18:44imirkin_: until then, i just tell people to get amd
18:44imirkin_: [or intel]
18:58jayhost: It's really great having Vega and being able to use completely open stack without issue.
19:20imirkin_: yeah. the amd guys are doing a great job
19:20imirkin_: [and also a few very capable external contributors]
19:39jayhost: What would it take to get 1050ti working with 3d accel, hours of work?
19:42koz_: jayhost: Signed firmware.
19:51jayhost: Phoronix says they published GP107 https://www.phoronix.com/scan.php?page=news_item&px=NVIDIA-Signed-Firmware-Pascal
19:56karolherbst: well yeah, and the gp107 firmware had a bug initially
19:57karolherbst: jayhost: you need a version of linux firmware from april or newer
20:20jayhost: Assuming no 3d accell there, will read up more on it
20:21karolherbst: jayhost: well, why don't you just update your kernel and linux-firwmare and try it out, because it should work
20:22jayhost: I don't have a 1050ti :P
20:33jayhost: I find the 750-1050ti series interesting because of the power consumption / ability to add to used system
20:39imirkin_: jayhost: they have yet to publish any firmware for pmu
21:34karolherbst: the heck... we have like 70 piglit regressions
21:34karolherbst: double related ones
22:06karolherbst: imirkin_: this is super weird, now all those double piglit tests fail with the fp64 patches. Allthough I use the same version of piglit + same version of mesa where it didn't
22:06karolherbst: ohh, shader compilation failed, but why
22:06karolherbst: debug build
22:09karolherbst: yeah well, for some reason we fail some patches when doing a debug build... but then I am not quite sure why it regresses with the fp64 enabling patches
22:11karolherbst: I don't mean debug build
22:11karolherbst: but O0 vs Ofast
22:11imirkin_: oh, are you using buggy-clang?
22:16karolherbst: but you know, compilers are allowed to change runtime behaviour in c++ with optimizations
22:17karolherbst: like removing constructor calls
22:18karolherbst: anyway, with Ofast it passes now
22:18imirkin_: and O0 it doesn't?
22:18karolherbst: funky though, without the fp64 it passes on O0
22:18imirkin_: so that means it's buggy
22:18imirkin_: get valgrind on it
22:19karolherbst: ohh, right
22:25karolherbst: imirkin_: fun, memcheck doesn't show anything
22:39karolherbst: okay, I think I found it