08:30rapit_: Hi, I have some issues with my multi-head setup, which uses the noveau and the intel driver at the same time. On the display on the nvidia card (noveau) are some graphic bugs. Might be a very low refresh rate, because I see multiple mouses and I'm able to create "black squares" with the mouse. Any idea of fixing these bugs? I read something about different kernel options, but I ve no idea what to change there.
08:32imirkin: reverse prime is kinda teh suck =/
08:33imirkin: the alternative, which might work better in some scenarios, is to use xinerama instead
08:37rapit_: hmm have not thought about that option yet. but then I would have all my screens combined to one big? actually this was not my intention. -,-
08:39imirkin: like i said, depends on the scenario
08:40rapit_: scenario: 2 displays on intel card, one pivot display at nvidia card. They all three are working very well, only the frame buffer seems to be very broken.
08:41imirkin: actually the frame buffer is what works fine :)
08:41imirkin: the issue is the way that the buffer is filled
08:42rapit_: and this is a driver issue or is there a possibility of changing this in kernel?
08:43imirkin: driver issues are fixed in the kernel...
08:43imirkin: (since drivers live in the kernel)
08:44imirkin: anyways, the issue is with Xorg, i believe
08:45rapit_: yeah, I just meant, is there the possibility of changing it with a little kernel option, or isn't this working because of a gerneral driver incompabiltiy with the intel driver... sorry that was not so clear.
08:46imirkin: the issue is actually not in nouveau or in intel drivers
08:46imirkin: both are operating fine
08:46imirkin: the issue lies largely in xorg, i think
08:47imirkin: in a reverse prime scenario, nouveau merely renders the buffers it's handed
08:47imirkin: however there's no synchronization on those buffers. and also the hw cursor doesn't get used.
08:49rapit_: so maybe it's a better option using one card to render all three monitors? like some setup with bumblebee, etc?
08:50rapit_: or should I experiment with the xorg.conf? it is not generated yet, operating system is very fresh isntalled...
08:52imirkin: reverse prime does use one card to render all three monitors
08:52imirkin: i believe that futzing with compositors has helped some people
08:55rapit_: hmm. ok, i will try some configurations.
08:55rapit_: thank you.
08:56imirkin: touching xorg.conf will only hurt you though
09:17tobijk: somebody got a live-image with installed nvidia driver i can run some tests with?
09:34stole: Does anyone know compiz/xorg? It works fine with integrated graphics (Intel) but crashes when I switch to discrete (nvidia with nouveau) There's this stacktrace: https://bpaste.net/show/f9937601aa57
09:35soreau: stole: Which distro?
09:35stole: This is after starting compiz 0.8,8, and I can see if I can ge tmore meaningful info
09:35stole: ...hello, again, it's Gentoo with kernel 3.18.11
09:36imirkin: wow, somehow nouveau calls an llvm function? that seems wrong
09:36stole: If it is, I wouldn't know :) But that seems like a good clue and a place to start - perhaps I've enabled something I shouldn't on my system?
09:37imirkin: stole: well, if you can get debug symbols, that'd go a long way towards figuring out wtf is going on
09:38stole: imirkin: I'd be happy to get them; but I'm unsure of how. Do they appear in xorg.log for instance?
09:41imirkin: stole: i assume you're using some binary distro?
09:41imirkin: stole: er, with gentoo... i think it strips them out
09:41imirkin: stole: you have to add FEATURES="splitdebug" to your make.conf
09:41imirkin: and rebuild mesa
09:42imirkin: (and what mesa version are you using? 10.3.7? or 10.5.4?)
09:42soreau: imirkin: maybe llvm indicates software rendering?
09:42imirkin: there's no path that i'm aware of from using nouveau to llvm getting called
09:43imirkin: if it were using swrast, you wouldn't see nouveau in there
09:46Karlton: imirkin: adding the debug use flag to mesa isn't good enough?
09:46stole: got it, I'll get on that
09:46imirkin: Karlton: mmm... not sure. i assume that does --enable-debug
09:46imirkin: would have to check the ebuild
09:47imirkin: and i'm lazy
09:49Karlton: it does add --enable-debug, I gues it still automaticly strips the symbols though
09:50imirkin: i would assume so
10:48stole: imirkin: I'm using mesa 10.3.7, and it seems mesa is already compiled with "debug". Not splitdebug I believe, but it didn't seem to make any difference in the preview.
10:50prg_: splitdebug goes in FEATURES, not USE. that's not shown in emerge output
10:59stole: Aha, well that'd explain it. I had put it in FEATURES, but usually that also shows in emerge output, like LINGUAS or simlar.
11:00stole: One thing before I re-emerge, will graphics "die" when I re-emerge? Should it be done from a tty?
11:00imirkin_: stole: debug is a use flag there. splitdebug is a feature when building all packages, unrelated to use flags
11:00imirkin_: nothing should die
11:01stole: I've got debug enabled (the previous build of mesa had too), and splitdebug will make the new mesa provide more debug output?
11:01imirkin_: no, but it'll make it so that debug symbols are available
11:01imirkin_: and when generating backtraces you get the functino names rather than pointer values
11:02imirkin_: that debug use-flag is probably _not_ something you want if you're interested i nperformance
11:03stole: I've got it unset for every other package. (a mystery why it's enabled for mesa really)
11:19stole: imirkin_: I didn't see any change, the output is the same it seems
11:19imirkin_: so still novueau_dir+0x89734789 ?
11:21stole: Yep. Different value, but it's all like this: /usr/lib64/dri/nouveau_dri.so(+0x12568f)[0x7f53c5b9268f]
11:21imirkin_: should be able to look them up in gdb though
11:21stole: compiz has function names though, addDisplay(value) etc... but was te same
11:21stole: imirkin_: that's interesting - how?
11:22imirkin_: gdb /path/to/nouveau_dri.so
11:22imirkin_: disassemble 0x8973789
11:22imirkin_: should tell you what function it's in
11:23stole: would appear that I don't have that installed
11:23stole: installing it now.
11:34stole: I get what looks like assembly.
11:36imirkin_: pastebin it
11:36imirkin_: there should be a function name at the top
11:37stole: will do, I just wonder which pointer value I should query with disassemble?
11:40imirkin_: from your example above
11:41stole: okay, but there's a great number of these entries, in my example I just picked one at random. Should I pick the latest one?
11:41imirkin_: the highest one
11:42imirkin_: i mean, the first one in the list
11:42imirkin_: that belongs to nouveau_dri.so
11:42stole: got it
11:51stole: It also appeared now, the function name: https://bpaste.net/show/e289a7cc0c92
11:52stole: Here it is, plus signature: unction lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef*, lp_generated_code**, LLVMModuleRef, unsigned int, int, char**):
11:52imirkin_: oh sorry, perhaps i should have been clearer
11:52imirkin_: you don't have to disasm the whole function
11:52imirkin_: i really just want the function name
11:52imirkin_: but i dunno how to do that without asking for the disassembly
11:52imirkin_: anyways... i guess it _is_ using software rendering
11:53stole: That should be it, maybe
11:53imirkin_: stole: can you pastebin your dmesg and xorg log and glxinfo output?
11:53stole: aye aye
11:54stole: dmesg: https://bpaste.net/show/8a4ec62b4ad0
11:54stole: glxinfo: https://bpaste.net/show/74a075a9af47
11:54stole: and as for xorg, there's more than one, xorg.0 and xorg.1 I believe
11:55imirkin_: well that all seems happy
11:55imirkin_: can you decode more of the function names in that backtrace? perhaps you're somhow setting LIBGL_ALWAYS_SOFTWARE=1?
11:55imirkin_: lp_* = llvmpipe
11:56stole: If I was, wouldn't really know :) But I do undrestand the concept that I'm asking for software rendering when I perhaps shouldn't
11:59stole: here's the second highest function: https://bpaste.net/show/7b594bae6b22
11:59imirkin_: keep going
11:59imirkin_: again, just want the function name, not the whole disasm
12:01stole: okay, sorry, is it OK if I paste them directly in chat?
12:01stole: here's the third one: Dump of assembler code for function draw_llvm_create_variant:
12:02stole: #4: Dump of assembler code for function llvm_middle_end_prepare
12:03stole: #5 Dump of assembler code for function vsplit_prepare:
12:04stole: #6 Dump of assembler code for function draw_pt_arrays
12:05stole: #7: Dump of assembler code for function draw_vbo
12:06stole: #8 function st_feedback_draw_vbo
12:06stole: #9 function st_RasterPos
12:06imirkin_: ok you can stop
12:07stole: okay, #10 was the same as #9 :p
12:07imirkin_: very odd.
12:08imirkin_: so clearly llvmpipe is getting hooked up... but how
12:09stole: It's not supposed to, I assume?
12:09imirkin_: not unless you're setting LIBGL_ALWAYS_SOFTWARE=1 somewhere
12:09imirkin_: if you were doing so globally, you'd see it in glxinfo as well
12:10stole: could I run it with LIBL_ALWAYS_SOFTWARE=0 somehow?
12:11stole: oh, and one thing, I was once asked to try it with MALLOC_=1 or something like that, and it got a little bit further, as in compositing started but it still failed somehow
12:12imirkin_: no idea what that does
12:12imirkin_: anyways, you might get more help from the compiz people... somehow nouveau isn't being used here.
12:13imirkin_: although... nouveau_dri is being listed
12:13imirkin_: perhaps there's some sneaky way for llvm to get through? dunno
12:23stole: any chance a newer version could solve something? if there is one
13:58Tom^: gk110 changes \o/
13:59imirkin_: i have a gk208 now, filling in some isa bits so that envydis works a bit better with it
14:00imirkin_: also pushed a few small fixes, unlikely to fix real-world issues
17:12imirkin: Tom^: do you observe rendering fails on your gk110?
17:12imirkin: (i.e. messed up colors, etc)
17:14imirkin: if so, let me know, i might be able to find the codegen fail
21:51koz_: I have reclocking enabled with boot flags. Sometimes, everything boots fine, and sometimes, my monitor dies halfway through the boot process and doesn't show anything. Should I be concerned?
23:51Tom^: ive only experienced random lockups, and now back on blob because gaming :p.