{"push_id":1412975703,"size":7,"distinct_size":7,"ref":"refs/heads/release3.1","head":"63f4b483a98a67b941b6e0d3e0ce59b486367274","before":"8bc38ddaa3bd5b964b71d4aff3cc88cb1e6115ae","commits":[{"sha":"bf3b995d31400937ba4a92a7af7437d0a4829072","author":{"name":"Jacob Jenner Rasmussen","email":"41fb1c240bd49e4747730e49bf958c3275b6d4af@jener.dk"},"message":"Added pulseaudio 9.0 support\n\n(cherry picked from commit 40d0f9384ab28817f9bcb14d7a81b3853d377ec0)","distinct":true,"url":"https://api.github.com/repos/QubesOS/qubes-gui-agent-linux/commits/bf3b995d31400937ba4a92a7af7437d0a4829072"},{"sha":"991ec2b0b2c1c3661d28a75fc0991ab924f1662c","author":{"name":"Jacob Jenner Rasmussen","email":"41fb1c240bd49e4747730e49bf958c3275b6d4af@jener.dk"},"message":"archlinux: bumped supported pulseaudio version\n\nAllowed pulseaudio versions up to 10.0\n\n(cherry picked from commit 3a0e725993100d1ad7804129ba70bbe90854ec04)","distinct":true,"url":"https://api.github.com/repos/QubesOS/qubes-gui-agent-linux/commits/991ec2b0b2c1c3661d28a75fc0991ab924f1662c"},{"sha":"acaefbe27fba47aee40ce282b2b19205116f9405","author":{"name":"Jacob Jenner Rasmussen","email":"41fb1c240bd49e4747730e49bf958c3275b6d4af@jener.dk"},"message":"Pulseaudio headers is now actually from 9.0\n\nPrevious commit (40d0f9384ab28817f9bcb14d7a81b3853d377ec0) accidentally included headers from a development version of pulseaudio instead of the 9.0 release\n\n(cherry picked from commit 86ca8debac3fdd5fe6bdac3806bbdc94a9303315)","distinct":true,"url":"https://api.github.com/repos/QubesOS/qubes-gui-agent-linux/commits/acaefbe27fba47aee40ce282b2b19205116f9405"},{"sha":"295fd0feb8e1d03fd22c3b415f3c3605c97781e2","author":{"name":"Olivier MEDOC","email":"98156cbf13501eb14c0c540161823986013d8f86@yahoo.fr"},"message":"archlinux: remove unnecessary glib-compile-scheme\n\nThis is now automatically handled through pacman hooks\n\n(cherry picked from commit 0e27dbe640b174dea925a9e4df2ec692f2212e64)","distinct":true,"url":"https://api.github.com/repos/QubesOS/qubes-gui-agent-linux/commits/295fd0feb8e1d03fd22c3b415f3c3605c97781e2"},{"sha":"1b56f243e106ac4b134639644b536f0682545f90","author":{"name":"Marek Marczykowski-Górecki","email":"16e525eead5e6a1e0991c74765f4e93b9d9c4383@invisiblethingslab.com"},"message":"Prevent window composition buffers from being moved in RAM\n\nDescription by HW42:\nThe problem is that the pages with the windows content need to be pinned\nto a physical page when being mapped with xc_map_foreign_pages. To\narchive this the current code calls mlock(). Unfortunately this only\nensures that the page doesn't get swapped out but the kernel can still\nmove the page.\n\nFrom [0]:\n> A page that has been locked into memory with a call like mlock() is\n> required to always be physically present in the system's RAM. [...].\n> But there is nothing that requires a locked page to always be present\n> in the same place; the kernel is free to move a locked page if the\n> need arises.\n\nSo when a VM window looks corrupted the VM kernel has moved the page and\nit has now a new physical address and in dom0 you now see the new\ncontent of the old physical page.\n\nUnfortunately the patch from [0] didn't got into the kernel, so there\nis no easy way to pin a page similar to mlock().\n\nOne workaround is to disable memory compactation of unevictable (i.e.\nmlocked) pages:\n\n  echo 0 > /proc/sys/vm/compact_unevictable_allowed\n\nThis has two downsides:\n\na) While I didn't observed the effect anymore with this setting I'm not\n   sure if this prevents all cases in which the kernel moves pages. (A\n   bit grepping suggest that it ignores this flag when allocating\n   hugepages but I'm not sure about this.)\n\nb) Given that VMs in Qubes are often low on memory I'm a bit uneasy to\n   change memory management options without knowing the side effects.\n\nProperly pinning is not that easy since there seems to be no way to flag\na page as unmovable. The common way seems to be to call\nget_user_pages() to increment the reference counter and thereby pin it.\nThe problem is that then the u2mfn module needs to be changed\nsignificantly to track allocation and deallocation since else the pages\nnever get freed.\n\n[0]: https://lwn.net/Articles/600502/\n\nFixes QubesOS/qubes-issues#1028\nThanks HW42 for debugging this.\n\n(cherry picked from commit 9c533813208987ed8e125f6ba6e343a85441a6d3)","distinct":true,"url":"https://api.github.com/repos/QubesOS/qubes-gui-agent-linux/commits/1b56f243e106ac4b134639644b536f0682545f90"},{"sha":"0943ac22bc9d719d31b425454e8bd180be48c9f8","author":{"name":"HW42","email":"eb6c4230d4ba01eb4f530c828dc21cad7227c542@ipsumj.de"},"message":"vmside: force WindowBorderWidth to zero\n\nX has some (old) features for drawing windows borders through the\nX-server. Most X-clients like GTK don't use this feature but some\nclassic X-clients like xterm do. The problem is that this border is\nincluded in the graphic memory which is shared with dom0. Since it is\nignored in the x/y/width/height values passed to gui-daemon this leads\nto croping the window and artifacts due to damage events with wrong\ncoordinates. This patches simply resets the WindowBorderWidth value to\nzero if a X-client sets it to something else. kwin and xfwm seem to do\nthe same.\n\n(cherry picked from commit ed8698de10659cdc934131c96d32483ec8805d66)","distinct":true,"url":"https://api.github.com/repos/QubesOS/qubes-gui-agent-linux/commits/0943ac22bc9d719d31b425454e8bd180be48c9f8"},{"sha":"63f4b483a98a67b941b6e0d3e0ce59b486367274","author":{"name":"Marek Marczykowski-Górecki","email":"16e525eead5e6a1e0991c74765f4e93b9d9c4383@invisiblethingslab.com"},"message":"version 3.1.8","distinct":true,"url":"https://api.github.com/repos/QubesOS/qubes-gui-agent-linux/commits/63f4b483a98a67b941b6e0d3e0ce59b486367274"}]}
{"actor":{"display_login":"marmarek"}}