lmurray: soreau: Thanks for the info and your suggestion. It's been helpful.
Droste: soreau: how do I tell an application to use a specific dri driver?
soreau: Droste: By setting LIBGL_DRIVERS_DIR
MostAwesomeDude: Droste: What soreau said. You can only pick the directory; the dri driver name is hardwired at X startup time.
MostAwesomeDude: xdriinfo will tell you the names.
Droste: ok thanks :-)
lmurray: For TFP to work on DRI1 with AIGLX does all of GLX need to be indirect or just an indirect GLX context?
Droste: I have a dir "gallium" in /usr/lib/dri where radeong_dri.so is symlinked to r300_dri.so and if I start glxgears with LIBGL_DRIVERS_DIR=/usr/lib/dri/gallium glxgears -v it will use the gallium driver?
MostAwesomeDude: Droste: Yep. LIBGL_DEBUG=verbose to see all the gory details of DRI driver selection.
Droste: ok soreau you were right, it's faster :-D now I'm getting 170fps :-)
soreau: It's only gory if you build with --enable-debug :)
Droste: (which is about the same I'm getting with non-gallium driver)
soreau: Droste: I still recommend checking ldd app for which libGL.so it's linked against or running an app that dumps the gl version info
Droste: compositing enabled :-) and a very slow machine :-D
soreau: Why torture your poor video card like that? :)
soreau: I get ~140+ with LIBGL_ALWAYS_SOFTWARE set
soreau: 740+ with gallium and 1000+ with classic
soreau: on an rv350 :P
Droste: that makes me sad :-D
soreau: Droste: Curious, what are the cpu and ram specs?
Droste: running a p4 3GHz with 1GB ram... I think thats the bottleneck :-)
soreau: Hmm.. here is p4 2.8Ghz with 1GB ram
Droste: ok that makes me really sad...
Droste: how do you do this? :-D
soreau: What resolution are you running?
Droste: 1280*1024 (2 monitors connected if it changes anything... cloned)
Droste: without compositing I'm getting ~900fps
Droste: I think it's kwins fault ;-)
soreau: Ah, you mean kompositing
soreau: I don't trust it
soreau: never have never will
Droste: It works :-)
Droste: for me :-D
Droste: usually I'm not running heavy 3d apps, so kwin is the only thing that really uses the gpu ;-)
soreau: I'm actually getting more fps than previous reported but GICNAB
soreau: With compiz enabled makes a very small difference
soreau: no where near what you're reporting
Droste: so kwin is definitely doing something wrong
lmurray: Please work out what it is
soreau: Droste: I'm not really that big of a gamer either but I do like to have at least a few games installed like openarena at least, just for testing
Droste: perhaps it just uses different gl extensions?
soreau: I think it does
Droste: it has -)
Droste: never tried that :-D
soreau: compiz OTOH, definitely relies on TFP
lmurray: But I don't know anyone that actually doesn't use TFP with KWin...
soreau: lmurray: So it uses TFP but doesn't necessarily require it?
lmurray: There is some weird stuff going on with how KWin handles GL but nobody can figure out what it is
soreau: lmurray: Not even the kwin devs? :D
lmurray: It uses TFP by default and won't switch to any other mode unless explicitly told to
lmurray: soreau: correct. We've looked into it several times
soreau: lmurray: So SHM = XRender?
Droste: no you can have opengl + shm
lmurray: E.g. running KWin through a GDM session will penalize it but when running with startx it's perfectly fine
lmurray: Yeah, GL + SHM
soreau: lmurray: why gdm specifically? what about kdm?
lmurray: Same thing, it's any *DM to be exact
lmurray: What do *DMs do that change how GL reacts in the main session? O_o
Droste: hmm have to try that later ;-)
lmurray: Why is Compiz not affected by it...
Droste: you say if I start kwin without kdm it's faster?
soreau: That is what he is saying
lmurray: Droste: That's what some trusted people are reporting. And it's not a small difference either
lmurray: It's like black and white
soreau: lmurray: Any specific distro by chance?
soreau: or version of kde/kwin?
Droste: I'm using opensuse 11.2
lmurray: Don't know
soreau: I would think this would be important information
soreau: but w/e
Droste: kde4.4rc2 but it was the same with rc1 and 4.3
soreau: lmurray: Are you able to reproduce this issue there?
lmurray: soreau: I don't use FOSS drivers as I don't have the hardware to test it
lmurray: I only have a nVidia card
Droste: just have to check this.. what do I have to do? startx and then start kwin?
soreau: lmurray: So you are saying this is reported by those only using intel and radeon?
lmurray: Droste: Just stick "startkde" in your .xinitrc and startx
lmurray: soreau: To my knowledge yes. I haven't had the time to seriously look into it though.
lmurray: There are several different issues, the *DM one is one I haven't looked into but I have compared the Compiz and KWin GL/GLX initialization code and found no differences between them
soreau: FWIW, I have found a bug in compiz that is fixed by a call to glXWaitX (); in the code but only on nvidia drivers
lmurray: So with the exception of compiz-manager they should be identical and both work at the same speed...
Droste: be right back :-)
lmurray: soreau: Which bug is this?
soreau: lmurray: compiz-manager is just a script to start the compiz binary. It doesn't actually do anything special except attempt to start compiz with proper args and such based on the system setup
lmurray: soreau: Exactly, KWin doesn't do that
lmurray: It just starts with indirect rendering mode for everything except nvidia
soreau: lmurray: It is annotate. If you draw a line with it, eventually you will see a gap in the line which is drawn when this region is damaged.
soreau: For example, get compiz annotate line drawing working to draw a line on your screen. Minimize all windows (so no regions are being damaged) then draw a line and keep drawing until you see a gap in the line. One of the line segments will not draw
soreau: Now there has been code in annotate to draw rectangles, circles and even text with cairo (what annotate uses to draw with) and I implemented the interfaces for rectangle and circle drawing
soreau: However, sometimes the rects or circles do not get drawn right away and are in need of damage (for example, moving a window over this area)
soreau: This is fixed by the glXWaitX() call in glPaintOutput(), but only on nvidia
soreau: and I cannot figure out why
lmurray: How weird
soreau: so the cairo folks think (and I do now too) that it is some bug in the radeon and/or the FOSS mesa drivers
soreau: The problem is, this is much more noticeable when drawing circles and rectangles than with just a line because drawing a line actually draws a bunch of smaller lines so you will only see one line segment missing when it happens
soreau: but with rects and circles, the shape will not be drawn after releasing the mouse until this region is damaged so it's much more noticeable because it only draws one shape per instance (whereas drawing a line, draws multiple instances of small lines)
soreau: Kinda difficult to explain and frustrating to find the real fix works on nvidia but not radeon :P
soreau: Droste: All you would have to do is startx then get to a tty and run DISPLAY=:0 app (app as in kwin, plasma, etc)
Droste: it's not black and white but kwin definitely reacts faster and I get ~80fps more in glxgears
Droste: hm wow :-D ok now with kdm I'm getting also faster fps, this is really wierd
Droste: no wait... was the gallium driver, slow with standard mesa as before :-)
MostAwesomeDude: Gallium is ever-so-slightly faster on things in DRI2. :3
Droste: but kdm itself doesn't use any opengl or am I missing something? why could it have an impact on anything 3d related?
lmurray: Droste: So you can reproduce a difference in speed between running in a display manager and not?
lmurray: Droste: And that's why I am also confused :P
lmurray: What the hell does a DM do...
mancha: what does kdm have anything to do with anything?
Droste: maybe x is doing something different
lmurray: Droste: but then why is Compiz not affected?
lmurray: (Maybe you can confirm that as well?)
Droste: perhaps it only effects a specific gl extension which compiz doens't use?
Droste: hm yes, wait a sec. have to install it
Droste: the content of the xorg.logs is exactly the same
Droste: how can I tell kde to use compiz as windowmanager?
lmurray: Droste: system settings, default applications
lmurray: You need to have a .desktop file installed somewhere for it to be listed though
lmurray: soreau: Since I'm concentrating on sanitizing KWin's GL code do you have any ideas on what could be changed?
lmurray: Since you don't seem to like KWin on a whole :)
Droste: hm if I changed the window manager, my windows don't have borders anymore... Is there a log file to see what happens?
lmurray: Droste: Compiz could just be running without a decoration manager. `pgrep compiz`
Droste: ok you're right :-)
Droste: how do I set up a decoration manager?
lmurray: Run emerald or something?
Droste: ok compiz+emerald is slower than kdm+kwin
Droste: compiz: 100fps, kdm+kwin: 160fps, kwin: 250fps
lmurray: Is compiz the same whether or not kdm is used?
Droste: will check this. be right back
soreau: Droste: FWIW, GINAB
Droste: compiz is about the same with or without kdm
soreau: We already know compiz is superior to kwin in every way ;)
lmurray: Except KWin is getting the faster speeds according to Droste's absolute values ;-)
cxo: already knows
soreau: lmurray: absolute values of what?
lmurray: Good question, what you using to get those fps values Droste?
Droste: :-D I should not say this ;-)
soreau: glxgears is not a benchmark
cxo: for ati cards it is :)
soreau: cxo: No, it is not
soreau: it's not a benchmark period
cxo: ok :)
lmurray: If it is glxgears then it's still a good question to ask why it's different for the exact same driver
lmurray: And program
soreau: That's irrelevant
lmurray: What would make glxgears give different results when running in startx+kwin than kdm+kwin when using the exact same settings and same driver?
Droste: yeah let's dont fight about fps, the real problem is why is kwin different with or without kdm ;-)
lmurray: Now the only thing to test is to see if it stil happens with xdm
lmurray: Then nobody can blame kdm :P
soreau: The real benchmark is 'feel' IMHO
Droste: compiz felt slower too :-D
soreau: for reall apps like compositing managers and tested games like OA
soreau: Droste: Comparing from what to what?
Droste: compared to kwin without kdm
soreau: compiz can't run while kwin is running
Droste: I know :-)
cxo: if OA is a benchmark, then so is glxgears
Droste: glxgears behaves really weird sometimes :-)
Droste: the more I move the window around, the more fps I get :-D
cxo: i remember on an old nvidia card i had, if the window was dead centre, it would be faster than any other area on the screen
soreau: cxo: openarena isn't a benchmark either
Droste: soreau: I don't want to say that compiz is slower ;-) I used it only for 2minutes :-D
soreau: Droste: Also there's the compiz benchmark plugin which reports FPS and also is not a benchmark :)
Droste: so there are many not benachmark apps out there ;-)
Droste: lmurray: I have xdm installed. should I try it? :-)
soreau: I suspect the difference between starting with or without a DM is timing or env vars
lmurray: Droste: Yes please
Droste: ok, be right back
lmurray: Hmm, may be env vars