/srv/irclogs.ubuntu.com/2012/05/02/#ubuntu-unity.txt

Will123456zgreg: good thinking - we're the best bug squashing team in town00:00
Will123456zgreg: on my nvidia machine the blur still works when triggering the bug00:01
zgregit looks very strange, here: http://i.imgur.com/WmzI8.png00:01
Will123456yeah... that is weird. let me get a screenshot of my own screen00:01
zgreganyway, can you post a bug report? I00:02
zgregam the lazy today00:02
Will123456sure thing. i'll grab the screenshot then write one up and link it here00:02
Will123456looks like it's already been reported here00:07
Will123456https://bugs.launchpad.net/unity/+bug/98767400:07
ubot5Ubuntu bug 987674 in unity (Ubuntu) "Dash maximise button changed location" [Low,Confirmed]00:07
Will123456adding your screenshot would help00:07
zgregyeah, I'll do that00:08
Will123456whoops, looks like i had also reported this then forgot i had done so :P00:11
Will123456https://bugs.launchpad.net/unity/+bug/98508300:11
ubot5Ubuntu bug 985083 in unity "maximise dash windows control jumps out of place" [Undecided,Confirmed]00:11
Will123456i guess it's a duplicate00:11
Will123456zgreg: i think we've got that one wrapped up00:13
Will123456high five etc.00:13
zgreghehe00:13
Will123456so how does the non-GLSL codepath in Nux do dash blurring?00:13
zgregit's a bit different because it's doing the blur only at 1/4 the background's resolution00:14
Will123456ah right00:14
zgregthere might be some more differences, not sure00:15
zgregthe non-GLSL codepath in nux is a bit crap anyway00:15
Will123456see i was wondering about that. i have a laptop that is fast enough to do pretty 3D stuff but chokes slightly on the blur, so I was wondering if it did an obvious optimisation like that...00:15
zgregwell, the blur definitely can be improved00:15
zgregit's a rather straight-forward gaussian blur implementation and doesn't take advantage of linear sampling00:16
zgregwith linear sampling the number of texture reads can be reduced00:16
Will123456yeah, i've been doing shaders a lot recently and i've read about things like that00:16
Will123456i looked in the unity source code and i couldn't find any obvious glsl code though. i guess i wasn't looking hard enough00:17
zgregthe technique is described here: http://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/00:17
zgregit's all in libnux, a separate library00:17
zgregnux is horribly inefficient overall, from what I can see00:17
zgregit does a lot of redundant opengl calls, and doesn't batch anything00:17
zgregIIRC the non-GLSL codepath does ~30 opengl calls to draw a single textured quad :D00:20
zgregand then again for the next quad, and again, and again00:20
zgregthe GLSL codepath is not quite as bad, but there's still a lot of room for improvement00:21
Will123456zgreg: thanks for the link!00:21
Will123456it's a shame that it's inefficient. that's sort of the last thing you want for a DE :P00:22
Will123456or shell or whatever :P00:22
zgregyes, I agree00:22
Will123456in the glsl blurring I have in the game I'm working on, I do a horizontal blur and then a vertical one00:23
zgregbasically nux sets ALL state that is required for drawing the primitive every time00:23
zgregit does a little bit of caching for texture state but that's it00:23
=== dragonfyre13 is now known as dragonfyre_away
Will123456zgreg: i suppose that makes it easier to write nux-interfacing code...? i'm forever tripping up on openGL state leakage00:24
zgregit doesn't cache any of the global state, and doesn't use a separate opengl context (I think that might be the major problem=00:24
Will123456is that for things like the lenses? i'm totally unfamiliar with the codebase00:24
zgregWill123456: yes, maybe that makes it easier, but of course less efficient00:25
zgregand it really wouldn't be hard to use "nux sections", i.e. calls to save/restore opengl state only when needed00:26
Will123456yeah. in my head i'm imagining a layer you could put under nux that intercepts all openGL state changes and only sends them on if they are actually different than the previous state. maybe that's easier thought about than done, though :P00:26
zgregwell the problem here is that nux typically reuses compiz' opengl context (as far as I know)00:27
zgregand that context might be in some strange state, so nux sets all state again, for every primitive drawn00:27
Will123456ah right, that makes sense! so you think using a different context would make things a lot more efficient?00:28
Will123456what would be required to get that actually done?00:28
zgregyes and no, switching opengl contexts is expensive00:29
zgregbut it would be worth a try00:29
zgregthe alternative is to annotate code that calls into nux to save/restore state so it won't be needed to set state again for every primitive00:29
zgregthat would allow efficient state caching00:30
Will123456yeah... from my ample experience of doing openGL badly, i can appreciate why setting all the state every time would be an attractive proposition00:31
Will123456if only to save headaches00:31
zgregit would be interesting to do some batching, too00:32
zgregnux already contains some functions to draw multiple textures with one call, but they are almost completely unused00:33
Will123456zgreg: on what layer would you do this though? i have no idea how the lenses talk to unity/nux for drawing, but in my experience having the logic-dealing code not have to think in terms of batching things is quite nice and lovely00:34
zgregI'm only familiar with the low-level drawing code in nux00:35
zgregI'd implement explicit batching00:35
zgrege.g. draw icon and icon background (for the dock) with one call00:36
Will123456zgreg: so it does icons and their backgrounds separately right now?00:38
zgregthe ideal solution is much more complicated: use a texture atlas and batch as much as possible00:38
zgregWill123456: yes, IIRC, almost everything is drawn separately at the moment00:39
zgregthere's this one nux function for drawing a single texture quad and it's used all over the place00:39
Will123456zgreg: i'm mostly familiar with developing in java and using lwjgl/libGDX. libGDX has quite a nice sprite batching class00:40
zgreggrep nux and unity for QRP_1Tex :p00:41
Will123456you tell it to draw individual textures and it constructs a mesh that incorporates all of the images you specify00:41
zgregyes, that's the efficient way00:41
Will123456zgreg: it'd be nice if nux had something like that, instead of the QRP thing!00:42
Will123456(or rather together with)00:42
zgregsure, but that's a lot of work00:42
zgregand really, it's not THAT bad, so I think doing some smaller batches and state caching will be enough00:43
zgregthe super inefficient nux/unity as of now still runs acceptably on crappy atom netbooks, after all :)00:44
Will123456zgreg: sometimes you can find set ups that it doesn't like... i have an 3 ghz AMD dual core with a respectably middle of the range ATI card (open source drivers) that can't run unity beyond a slow crawl00:45
Will123456it's more or less fine when you boot up, then running even a few programs slows it right down. it feels more like an awkward combination of things rather than the sort of slowdown you'd expect from just having more stuff going on00:46
Will123456that's more me just moaning - but i really wish i knew what was causing the problem!00:46
Will123456zgreg: if you could make one change to unity right now, what would it be?00:51
zgregsmall change?00:52
Will123456anything you want, but yeah, if it was small?00:52
Will123456i will warn you this is a hypothetical scenario :p00:52
Will123456i don't have fingers in many pies00:52
zgregwell I'd probably optimize blur and drawing code, since IMO performance is very critical for a desktop shell00:53
zgregit should perform well even under serious load00:53
Will123456zgreg: i may be talking nonsense here, but would increasingly hardware accelerated things like web browsing make inefficient nux code more evident?00:54
zgregnot sure, really...00:56
Will123456zgreg: are you hacking on nux at all are you just an observer?00:57
zgregwell I recently did a little hacking on it and fixed a regression00:57
zgregbut nothing serious00:57
Will123456hey, that's more than me :)00:58
zgregnux had this bug with messed up texture coordinates that lead to some rendering artefacts, and this was driving me mad00:58
zgreghttps://bugs.launchpad.net/nux/+bug/92744100:59
ubot5Ubuntu bug 927441 in unity (Ubuntu Precise) "Far left character in panel (and launcher popups) distorted" [High,Fix released]00:59
zgregthis one00:59
Will123456zgreg: nice one!01:00
Will123456funnily enough i never noticed that bug on my machine. i have noticed the nvidia proprietary driver 'fixing' my mistakes though, so maybe that's got something to do with it01:01
Will123456i'm looking for a nice intel integrated laptop for that reason01:01
Will123456(mistakes in my shader code and so on, that is - not in nux :P)01:02
zgregthe bug wasn't apparent in all configurations01:02
zgregthe problem was that nux tried to be extra clever and adjusted texture coordinates to make sure textures are sampled in the midpoint of texels01:02
zgregbut, this extra cleverness was wrong and in fact moved the coordinate to the boundary between two texels01:03
zgregand, depending on floating poing precision, the phase of moon, etc. you either got the issue or not01:03
Will123456ah right, yeah... that sounds awkward01:04
zgregturning on linear sampling instantly made the problem apparent, though01:05
willzgreg: sorry about that. i wrote a shader that hardlocked my PC01:08
=== will is now known as Guest80344
=== Guest80344 is now known as Will123456
Will123456that's probably why i shouldn't be allowed to hack on nux01:08
zgregever used opencl/cuda?01:10
zgregit's pretty easy to crash your machine with gpgpu programs01:10
zgregGPUs aren't capable of preemptive multitasking, so if a shader program locks up, the UI locks up01:11
zgregand with opencl it's also pretty easy to corrupt GPU memory01:11
zgregit's definitely a lot of fun :D01:12
Will123456zgreg: yeah, i have - but only a little bit and it was before I really 'got' doing things in the GPU-way01:12
DaekdroomIsn't that going to generate a huge amount of UI issues once gpgpu becomes popular?01:12
DaekdroomOr are drivers able to prevent them?01:12
zgregDaekdroom: well, drivers usually reset the GPU after a few seconds of lockup01:12
Will123456Daekdroom: the nvidia proprietary drivers didn't prevent me crashing my machine just now... :(01:13
zgregsometimes that won't work well, though01:13
Will123456as far as i'm concerned if a shader takes more than a few seconds to compute then the drivers should just halt everything and try and return to normalcy, but i realise it's probably 1000x times more complicated than that01:14
zgregno idea (only driver programms know, probably), but I think the problem is determing the last valid state and returning to that01:16
zgreg*programmers01:16
Will123456in an alternate universe there is a linux library that all applications can hook into and hand vital data and instructions to incase something terrible happens and the lastwillandtestamentlib sorts everything out for them01:18
Will123456so if your program locks up, compiz greys the window out then pops up a little box saying "saving all your hard precious work" :P01:19
jkdhi. i'm trying to work out how to add a new option to the launcher. I added it to LauncherOptions.h, and to unityshell.xml.in01:29
jkdand LauncherOptions.cpp as well. the option shows up in ccsm now, but changing the value with the dropdown does not seem to change options()->location (in Launcher.cpp)01:30
jkddoes anyone know how to hook up the option to the member variable in unity::launcher::Options?01:31
jkdbuild/generated seems to have auto-generated stuff pertaining to the options, but i haven't quite been able to figure it all out yet01:31
=== Guest77193 is now known as yofel
=== yofel is now known as Guest53016
=== Guest53016 is now known as yofel_
zygahi, I may have spotted a bug in unity 2 with radiance theme09:33
zygait seems that all the text in the panel is corrupted, as if it had a shadow that's xored with the background09:34
zygathe effect is not random, if I press a menu entry to open it the style changes and the 'shadow' is no longer there09:34
zygais this a known issue? can anyone reproduce this?09:34
zyga(it could be radiance bug)09:35
zyga(i meant unity 2d, not unity 2)09:36
rye_zyga: something that looks like something described in bug #723167 ?09:40
ubot5Launchpad bug 723167 in unity (Ubuntu) "Panel does not use standard GTK/Pango font rendering/antialiasing, causing fuzzy fonts" [Medium,Confirmed] https://launchpad.net/bugs/72316709:40
rye_zyga: that's where my bug report was duplicated into, but I don't see how it works properly with Ambiance and breaks with Radiance09:41
=== rye_ is now known as rye
zygarye: no09:44
zygarye: pitti's screenshot looks right by my standards09:45
zygarye: what I'm observing just looks wrong09:45
zygarye: I suppose it deserves a screenshot to asses further09:45
Donutcan anybody tell me how I do configure the application switcher so that it switches between ALL applications/windows and not only the ones on my current workspace?09:45
DonutIt worked just fine in 11.10. I don't understand the philosophy behind 12.04...09:46
ryeDonut: ccsm - Unity - switcher - bias alt_tab to prefer windows on the current viewport09:49
Donutthx09:51
jo-erlendor GEdit: /apps/compiz-1/plugins/unityshell/screen0/options/alt_tab_bias_viewport09:51
jo-erlendsorry09:52
jo-erlendgconf-editor :)09:52
Donutjo-erlend: thx. this should be better because I have an alternate unity installed :-)09:52
jo-erlendthink it's the same setting, only different GUIs.09:56
ryehm, unityshell? I am not sure the settings is taken from compiz plugins in 2d, we need unity devs assistant09:57
ryeassistance09:58
jo-erlendpardon?10:12
jo-erlendnobody mentioned Unity 2D. It uses DConf.10:12
=== _salem is now known as salem_
=== sdague_ is now known as sdague
=== daker__ is now known as daker
=== yofel_ is now known as yofel
DebolazSTIs it possible to get unity to make the icon used to notify you of new messages blink?17:50
mhall119DebolazST: the icon in the Launcher or in the notification bubble?18:06
mhall119or the message indicator?18:06
DebolazSTThe message indicator. The icon that looks like a paper envelope.18:06
mhall119it can be made to change color when you  have new messages18:06
DebolazSTIt turns blue when there's a new message available, but this is almost unnoticable.18:07
DebolazSTPeople don't see colors, they see change.18:07
mhall119I think the idea was not to annoy the user over having new messages18:07
DebolazSTI find it annoying to miss messages for so long that the person I was talking to has logged off.18:08
mhall119DebolazST: if you want to make a design proposal, read through http://unity.ubuntu.com/getinvolved/design/ to get to know the process, then send your proposal to unity-design@lists.launchpad.net18:08
DebolazSTIt would be nice to have another message indicator that could be enabled that would behave like that.18:09
mhall119You can make one if you wanted18:09
mhall119DebolazST: http://unity.ubuntu.com/getinvolved/development/common-components/#message-menu has the message menu code, you can fork that and make your changes to it, that would probably be easiest18:10
mhall119or see http://developer.ubuntu.com/resources/technologies/application-indicators/ for writing a new indicator from scratch18:10
DebolazSTHmm, it would probably be easiest to change the existing message indicator.18:11
mhall119yeah18:11
mhall119then you can submit a code patch with your design proposal18:11
* DebolazST makes a note of all this information and emails it to himself.18:13
DebolazSTI always found the message indicator hard to notice. I actually have to physically look up at it to see if there's a message available, which isn't something I naturally do since Unity is designed so that everything I actively do is placed on the other side of the screen.18:16
DebolazSTAnd that isn't a bad thing by itself, I find the launcher quite pleasant to work with and I love its current position. It just makes it hard to notice incoming messages.18:18
bschaeferthomi, hey18:20
thomiyo18:22
thomi'sup?18:23
thomiwe're missing you in Oakland.18:23
bschaefernothing much, trying to figure out this anthy problem haha18:23
bschaefero how nice, well it smy fault haha, forgot to apply for sponsorship :P18:24
bschaeferits*18:24
bschaeferhow was your flight?18:24
DebolazSTHmmm, I know it's the attention_cb function in indicator-messages that gets called when a notification pops up, but I'm not entirely sure what would be the best approach to making it blink.20:37
DebolazSTShould I use a timer of some sort, or can the svg image used itself be animated?20:38
DebolazSTI guess another way to ask that question is: Does Unity support SVG animations?20:40
* DebolazST decides to go with the timer approach.20:59
=== salem_ is now known as _salem
DebolazSTHrmmm... I made some changes to indicator-messages, now its menu is completely empty.21:58
DebolazSTDo I need to do anything magical to install it properly on the system?21:59
DebolazSTOther than configure --prefix=/usr ?22:00

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!