Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/QubesOS/qubes-gui-agent-linux

Qubes component: gui-agent-linux
https://github.com/QubesOS/qubes-gui-agent-linux

Ensure that all function declarations have prototypes

This is much less error-prone.

b724611d6e02d4321d332f18e7722df27c5e6d45 authored over 1 year ago
Consolodate gui-common/ and common/ into gui-agent/

Simplifies stuff.

8703c06bb4a4e4f7e82c6fc1629c116613ee9772 authored over 1 year ago
Set XDG_CURRENT_DESKTOP

This is the standardized version of XDG_SESSION_DESKTOP.

6d33129f16bb9e0765825d891e19b963445e2669 authored over 1 year ago
Protect against more unlikely errors

No functional change intended in the non-error case.

76859c3efc6e1a17d4c6bc958bb18c1df7e996cf authored over 1 year ago
Set XDG_SESSION_DESKTOP

This is used by systemd to set the type of the desktop session.

6e17419324d666749a631e5bdc4f49efd28b21cb authored over 1 year ago
Add XDG_SESSION_TYPE support

XDG_SESSION_TYPE is used to determine what kind of session is running,
such as Wayland or X11.

042bbb9a499fb3850983e0ab171a54bfe2d1ff9f authored over 1 year ago
Better error checking

No functional change outside of unlikely error cases.

2a49f2460b0161842aae50946ea9a2eaed327b81 authored over 1 year ago
version 4.2.8

e38b06778ca71f19cafd65384a0d8c336729108b authored over 1 year ago
Merge remote-tracking branch 'origin/pr/192'

* origin/pr/192:
Fix mode of 75-pulseaudio-qubes.preset
Remove trailing space in 75-pulseaud...

fb2fda8b0fed68103b2b0abb9221400c4c043466 authored over 1 year ago
Merge remote-tracking branch 'origin/pr/181'

* origin/pr/181:
Use set -a instead of sed
Do not hardcode "user" as the GUI user
Increase...

d3092dee4a0f2714e40532b08b53dc6c52f32c1c authored over 1 year ago
Fix mode of 75-pulseaudio-qubes.preset

It shouldn't be executable.

fe3546abc1ea677c19b06cfa45c6bc7cbce3a403 authored over 1 year ago
rpm: restore pipewire units on pulseaudio-qubes removal

Since pipewire units are getting disabled on pulseaudio-qubes install,
reverse the action when p...

cf8328e1e01ae5a281a0bacbaff3a0b1c25139a4 authored over 1 year ago
Remove trailing space in 75-pulseaudio-qubes.preset

QubesOS/qubes-issues#6358

1b332db2794d924d158ae1be164a5a5b65fdcc0d authored over 1 year ago
pulseaudio: disable pipewire-pulse too

Avoid conflict on listening socket if pulseaudio-qubes is installed.

QubesOS/qubes-issues#6358

aa43702c0439e94abdf179875c11826d042240fe authored over 1 year ago
debian: preset user services on pulseaudio-qubes install/uninstall

Do the same as in RPM package, to disable/enable pipewire (that would
otherwise conflict with pu...

f4ea6d126278c02fc1b688cc0d857257938d4527 authored over 1 year ago
qubes-keymap.sh: Don't add ",us" for layout "si"

https://github.com/QubesOS/qubes-gui-agent-linux/pull/139#issuecomment-1627711217

f3f6886329c9206916d059623bb2f0fece22114f authored over 1 year ago
qubes-keymap.sh: Avoid xkb option accumulation

https://github.com/QubesOS/qubes-issues/issues/8230

4b6956ebb5d18f55de8dc76f4f0a570e35cdff87 authored over 1 year ago
Do not hardcode "user" as the GUI user

Fetch it from QubesDB instead.

50cddcc0c4047214bcd10696db1e552f9ccae83b authored over 1 year ago
Increase locked memory limit for "qubes" group

instead of only "user" user.

edfaff37572f86619a96df31396d8784dda81e88 authored over 1 year ago
Use set -a instead of sed

This is more robust in case systemctl decides to change how it quotes
newlines in variable values.

eebfd81048bccec1cc9e34b99a7f0e9d0d7af18a authored over 1 year ago
Update comment to reflect current GUI agent

4d9f9154ca422022af6df0cdebd5e8963c189f8e authored over 1 year ago
Autotools modernization

9021f67d2c47055bdea8a931a040b65ab33d7cd4 authored over 1 year ago
Use malloc instead of alloca

The latter cannot report errors and has undefined behavior instead.

2d922cef72d75b4fa887f68f7b0f356ed61f9ebc authored over 1 year ago
Support MSG_WINDOW_DUMP_ACK

The GUI agent must not release a grant mapping until it is known that
the GUI daemon has either ...

b44a42676c5935e7e186cd727bdd78abf2484cec authored over 1 year ago
Add simple reference counting of pixmaps

No functional change currently intended.

93b9edb2999b3668efe2c0b54c4549dbcb9416c7 authored over 1 year ago
Add a couple of assertions

No functional change intended.

d51099afc39943962859ab20eeb965863a44e73d authored over 1 year ago
Initial protocol 1.7 support

b9ecef8f6b913a9b94d640436120b82ca103ea52 authored over 1 year ago
Switch to protocol 1.4

This breaks compatibility with protocol versions older than 1.4.
Therefore, it must not be merge...

85e878d23f0abb6bffc1ba643d4f992ee70d05fd authored over 1 year ago
Merge remote-tracking branch 'origin/pr/190'

* origin/pr/190:
Add libpam-systemd dependency

4df559317ba0d2faca971fcaaa7ea39f5902875c authored over 1 year ago
ci: extend exclude list

Do not attempt to install qubes-gui-agent in dom0, as it depends on
qubes-core-vm which isn't av...

e11a0bcc577bdec1a92a0b1a3b0b381737bf43db authored over 1 year ago
ci: use CI_BRANCH_REF

dce439504670473a0269d7a2b71b2ee8c358095a authored over 1 year ago
Add libpam-systemd dependency

Signed-off-by: Augsch123 <[email protected]>

cc4d4fa44e36585a398e8409e789dc41e970ab55 authored over 1 year ago
archlinux: fix install-pipewire call

Add missing backslashes so desired variables are actually set for the
call.

d3ec40153648390dd57c465b5203b0427a01f1ac authored over 1 year ago
version 4.2.7

9d262c4df81544f250a00b6cce395e66234a7c0b authored over 1 year ago
deb: Fix clearing source commands

Just not setting them do not clear those set in the common section,
clear them explicitly.

1aad0f697eb11e138553f3650d57a6443b582fd7 authored over 1 year ago
version 4.2.6

e81afe35ffcab66fb9c7ef8ba6b1605fa6669fde authored over 1 year ago
Cleanup unused file

644a0b05ed8e7b83b8bc0894510669bf6d2036da authored over 1 year ago
pipewire: drop service vm to be set

First pass on supporting pipewire. We do that only for Debian 12+.

c4460b712ae44604d0e6c9adc180a52bbc3353c2 authored over 1 year ago
Update CI exclude for install

471c7aca616d41494ac160f672dc808c63a25cf3 authored over 1 year ago
Step back for jammy on pipewire

3d9b94a64064a60b02db97f42c3066e253c2a303 authored over 1 year ago
version 4.2.5

ad04750f43e82fb2d26530c565ef7a636800355d authored over 1 year ago
debian: move piprewire-pulse in Recommends

From @marmarek's suggestion to not break something if anyone wants
to remove this package.

c5e8d7715d4e9ed86b50b7ad43a0ca0bf7efd2e7 authored over 1 year ago
debian: update maintainer

aad0b54b0ba58df8fbc9f01cd246c36f199971f5 authored over 1 year ago
debian: enable pipewire starting from bookworm

af6700d4b241d1a6295d820c7f36085a8aa0090d authored over 1 year ago
pipewire-qubes: add pipewire-pulse dependency

bdf04d9548ea4dc85e896d754cbe4480acad494e authored over 1 year ago
Fix setting pipewire-qubes as recommended under Ubuntu jammy

QubesOS/qubes-issues#8160

8a831cb4d5aabe2ab6ccf47daa14b792b0546c86 authored over 1 year ago
jammy: use pipewire

b83e4b5bb29362c325833cf88e72603e8709ee45 authored over 1 year ago
Merge remote-tracking branch 'qubesos/pr/185' into ubuntu

* qubesos/pr/185:
pulse: use pulseaudio version from pkg-config

155ed618e6a9a2d8b08d07766152d7f548106b28 authored over 1 year ago
pulse: use pulseaudio version from pkg-config

Pulseaudio release a few pre-releases as X.99.Y and they require modules
to match this longer ve...

948422ac4f53cae7135c59b3924289e8aee80d87 authored over 1 year ago
.qubesbuilder: fix sed for ubuntu

e404e5ee8bb1a06606712a8e36ce9718174e4500 authored over 1 year ago
Add support for Ubuntu in builderv2

5e8e1d106b2796b924e0a2420a87ab67500bb27b authored over 1 year ago
version 4.2.4

c1e8d1df0e47bdd59796b7b17372648eff2eb619 authored over 1 year ago
Merge remote-tracking branch 'origin/pr/157'

* origin/pr/157: (74 commits)
PipeWire agent is not less code
PipeWire agent: Add dependency...

089e62d8edef5ca12294a3763b39718393140c88 authored over 1 year ago
Add pulse 15.99.1 headers for jammy build

Reported by @unman

Fixes QubesOS/qubes-issues#7537

cf245e7da2ae5ae8a1a18940db0be4e6f5a04733 authored over 1 year ago
Merge remote-tracking branch 'origin/pr/182'

* origin/pr/182:
Rework Archlinux packaging

758373aa3f3e7921ffbd26df748cb5be2823c169 authored over 1 year ago
PipeWire agent is not less code

The PipeWire agent is actually slightly more code than the PulseAudio
agent, but the benefits mo...

ab5cd1f9689cceb042d264f190170dad2fb37246 authored almost 2 years ago
PipeWire agent: Add dependency on PipeWire

It makes no sense to _not_ have the PipeWire agent depend on PipeWire,
as without PipeWire it is...

5dceb10f9e82d0fc49efc6d2cea3e9b421b35263 authored almost 2 years ago
Fix 'make install'

This ensures that 'make install' works if run twice.

9a5d4949e26e793422a7bb7604deb91f36c5bf53 authored almost 2 years ago
Advertise the PipeWire service to dom0

This allows it to be managed by Qubes.

ffed70dbcab3b45c9b57f24ff1a91f93c2a5309b authored almost 2 years ago
Turn off PulseAudio if PipeWire is enabled

Otherwise the two could conflict.

1a0281158eb05e4a9b7f84896a352c51797d48b1 authored almost 2 years ago
Avoid using bitfields

struct impl is shared by multiple threads simultaneously, and updates to
a bitfield cannot be ma...

cfe9236b336787656abb1139185c8f8f720d2f4d authored almost 2 years ago
Check that atomics are lock-free

Otherwise we will block the realtime thread.

147038f2428e50f0592deba5881dcbd296a52b12 authored almost 2 years ago
Use (C) instead of © in COPYING

Wim Taymans's line cannot be changed, but mine can.

f8acb0d93119d377909e367f12cb09d176ad1d13 authored almost 2 years ago
Allow domain IDs up to INT_MAX/2

INT_MAX/2 (0x3FFFFFFF) should be enough for everyone :). This avoids a
Xen-specific limit.

59980851729162ae913c57b7cc6d5260ad716a45 authored almost 2 years ago
Debian packaging fixups

Suggested-by: Marek Marczykowski-Górecki <[email protected]>

88c0bb9f054a43734ad948d7b7756a527d710474 authored almost 2 years ago
Assert that SPA builder succeeded

The only time this can fail is if SPA buffers are too small. If this
happens, it should be caug...

75cda13635c23ce232adf05ae1b05bb92595c0a1 authored almost 2 years ago
Fix NULL pointer dereference if vchan connection fails

stream->impl can be NULL in this case.

aece0a6767511019787e89d006fa482182490d4f authored almost 2 years ago
Use a smaller SPA builder buffer

It turns out to only need 320 bytes.

62096af43fc4945c46fd981273f00d7db0573192 authored almost 2 years ago
Remove shutting_down global variable

This is necessary to support loading the module multiple times.

53f21df2dc6c0ebcf1c8621772f34514d68d19a0 authored almost 2 years ago
Shut down dead streams

Even a dead stream needs to be shut down properly.

7e1c6ec4597460a457defbdc011749b0bb8b581f authored almost 2 years ago
Use common code for stream shutdown

This causes a SIGSEGV; will probably revert.

90c2d0d3ae3609f4b32958161944941fc83e5831 authored almost 2 years ago
Process control commands if an overrun occurs

An overrun could be due to a lost uncork command. Send a fresh uncork
command in that case.

0223d636ec7c4d1d747a296b0cd2e0d51433612e authored almost 2 years ago
Provide default buffer sizes

Not having a default is unnecessarily annoying, and setting the size in
the configuration file m...

e7e865954ec7888ee73252e3c857f07c19103b8a authored almost 2 years ago
Sync stream states after vchan open

If a stream state change has been requested, immediately after vchan
connection is a good time t...

ffbb586ff0c5f71535245261dd878f2febcf5165 authored almost 2 years ago
Do not disable streams if control vchan is closed

This caused infrequent reconnection failures.

28eb0d6f29ab4d20164795f5fcf1f99af6db6139 authored almost 2 years ago
Only use pw_log_error() for true errors

xruns are a warning, not an error.

f8b8bdc1b35e617e794ce51e7e7fa411a8098f00 authored almost 2 years ago
Do not rely on asserts for error handling

Assertions are not an error handling mechanism. If creating a vchan
fails, or if the vchan cann...

36b24d4797581c52d21bf1057029dab45b41c4e6 authored almost 2 years ago
Shorten the name of the module

Just use "qubes-audio".

eeaec6cdd70faa5d587c891275ee4137c0408f09 authored almost 2 years ago
Report stream states on vchan connect

pacat-simple-vchan needs to know the current state of the streams
upon vchan connection. Otherw...

92e51ff9b115451b4466470ce14a6aaaa7157719 authored almost 2 years ago
Ensure that assertions are enabled

They are used to detect fatal errors.

d83b6a89c86c14fb418f72a69ce6b8c2021de91a authored almost 2 years ago
Update usage information

Several keys were missing.

53252f664c29b8ef44156c57c658124ea60bf1fc authored almost 2 years ago
Try to handle configuration overrides

This does not work due to what I believe is a PipeWire limitation.

ebbe8822a8608e2b48f4de19ce009c889b0a1f46 authored almost 2 years ago
Fix build with old PipeWire

pw_properties_update_string() is not available in old PipeWire versions.
Instead, create a separ...

3b846723a1736b42e15f1f8989e02bfb6ab8173d authored almost 2 years ago
Packaging fixups

- use dh_installsystemduser on Debian
- use %systemd_user_post and %systemd_user_preun in RPM sp...

914ab042c560a6168cb04403a2ae972b18da5327 authored almost 2 years ago
Distribute license text with package

Required by the MIT license of PipeWire.

fa88d0fa22b0987c1f8a799274a73803467ec43b authored almost 2 years ago
Remove wrong assert

It is potentially racy.

Suggested-by: Marek Marczykowski-Górecki <[email protected]>

951a404cfe8db2c356b49fb8c6551230344354cb authored almost 2 years ago
Use less strict number parsing

The input here is trusted, so there is no need to be paranoid about
input validation.

0c322d9756d0d50960c83c29b0594e0d1d4b47c9 authored almost 2 years ago
Ensure all control commands are sent eventually

Whenever an event happens on the capture vchan, send any control
commands that need to be sent. ...

669b66f6bb57e82a8d4ef685356490fd37add1db authored almost 2 years ago
Reduce logging verbosity

pw_log_error() is only for errors.

8d42b15303abbe2df9ade423c8544a1fb0449d0f authored almost 2 years ago
Remove some useless code

It was intended to work around a bug in pacat-simple-vchan (indefinite
blocking during vchan rea...

be0a0f0ad6fff89efffdbde28d6206d292e5557e authored almost 2 years ago
Set the correct vchan to NULL

This is probably a no-op, but out of an abundance of caution, set
stream->closed_vchan to NULL, ...

08a53f4c7a685ca38b62e5531d173f1fe095d828 authored almost 2 years ago
Stop watching the vchan during shutdown

It is necessary to stop watching the vchan during shutdown, to prevent
events from firing that w...

d6cb47e06d8cf2687e72868a03189ce374120100 authored almost 2 years ago
Fix comment

No change in behavior.

f5eeb5a279cd830eb3ed0b467bc490935b4db027 authored almost 2 years ago
Use common function to stop watching for vchan events

The new stop_watching_vchan() function is now the only code used to stop
watching for vchan even...

d7b1fbb5afd564e0ebd14f4139b03acfc02bf4b0 authored almost 2 years ago
Remove useless forward declarations

They are not needed.

8b87fe34ac461155e141bb6c41e273562636be2b authored almost 2 years ago
Remove pointless _Static_assert()

It was a debugging leftover from when I was trying to interpret some
logs.

Suggested-by: Marek ...

60ff9911f06b97e542d30ae7b4052389b0aaeeea authored almost 2 years ago
Add some documentation

Most of it is regarding threads, but not all of it.

713e43029a5b3536a97356b81be8b766ff36c7f1 authored almost 2 years ago
Avoid abusing EFAULT

EFAULT ("bad address") means that a bad pointer was passed to a system
call. Do not use it as a...

1ff1a3b08636cf13e8f62cdc12c46e743419efce authored almost 2 years ago
Use the standard Makefile name

Suggested-by: Marek Marczykowski-Górecki <[email protected]>

f11a23b0956ab7bf4153fbd52788064aad4a5f7a authored almost 2 years ago
Document how to change buffer sizes

The buffer sizes are adjustable via the PipeWire configuration file.

2cb993cb9f89964fea6ccba208e3a758a6908dfe authored almost 2 years ago