gdm

Merge lp:~willcooke/gdm/ubuntu into lp:~ubuntu-desktop/gdm/ubuntu

Proposed by Will Cooke
Status: Merged
Merged at revision: 426
Proposed branch: lp:~willcooke/gdm/ubuntu
Merge into: lp:~ubuntu-desktop/gdm/ubuntu
Diff against target: 71 lines (+40/-0)
4 files modified
debian/changelog (+13/-0)
debian/default.pa (+17/-0)
debian/gdm3.install (+3/-0)
debian/gdm3.postinst (+7/-0)
To merge this branch: bzr merge lp:~willcooke/gdm/ubuntu
Reviewer Review Type Date Requested Status
Jeremy Bícha Approve
Daniel van Vugt (community) Approve
Review via email: mp+327165@code.launchpad.net

Commit message

* Added workaround to disable Bluetooth in gdm so that A2DP high quality
  BT audio is available in the users session (LP: #1703415):
  + debian/default.pa:
    - Unloads Bluetooth modules so that they are unavailble in GDM
  + debian/rules
    - Creates /var/lib/gdm3/.config/pulse and copies above script in

Description of the change

Unloads Bluetooth audio modules from gdm to free up the A2DP profile in the users session. This allows high quality BT audio to work, but stops a11y tools in gdm from being able to use BT audio devices.
This is not a long term fix, and will need to be revisited for 18.04.

To post a comment you must log in.
lp:~willcooke/gdm/ubuntu updated
415. By Ken VanDine

* debian/gdm3.config
  - Handle the transition from lightdm in gdm3 rather than ubuntu-session
* debian/control.in
  - Dropped depends from ubuntu-session

416. By Ken VanDine

Fixed ubuntu-session version check

417. By Ken VanDine

Dropped depends for ubuntu-session

418. By Ken VanDine

releasing package gdm3 version 3.24.2-1ubuntu5

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Still needs merging (when I tried it)?

+N debian/default.pa
 M debian/changelog
 M debian/gdm3.install
 M debian/gdm3.postinst
Text conflict in debian/changelog
1 conflicts encountered.

review: Needs Information
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

OK,

1. There is still an invisible conflict per above (when I tried merging this myself).

2. I can't seem to test it for reasons unrelated to this branch (bug 1703747).

review: Needs Fixing
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

OK, revision 416 seems to have solved my Bluetooth issue (using today's new PulseAudio too).

Only had to grab the proposed fix for bug 1703746 to build it.

review: Approve
lp:~willcooke/gdm/ubuntu updated
419. By Didier Roche-Tolomelli

debian/patches/ubuntu_prefer_x11_session.patch:
Prefer X11 session over wayland. As we are not ready yet for
switching to wayland yet, let's prefer X11 session when no specific
choice was made. (LP: #1703601)
This will be reverted once we switch to wayland by default.

420. By Didier Roche-Tolomelli

releasing package gdm3 version 3.24.2-1ubuntu6

421. By Iain Lane

debian/gdm3.config: Check the version of gdm3 instead of ubuntu-session.

And some other minor improvements.

422. By Iain Lane

Compare with a ~ version, so that any backports of this exact version aren't re-migrated

423. By Iain Lane

releasing package gdm3 version 3.24.2-1ubuntu7

Revision history for this message
Jeremy Bícha (jbicha) wrote :

Please fix up your debian/changelog entries. It should not have things like:
+>>>>>>> MERGE-SOURCE

3.24.2-1ubuntu5~will1

review: Needs Fixing
lp:~willcooke/gdm/ubuntu updated
424. By Daniel van Vugt

First attempt

425. By Daniel van Vugt

Remember the changelog

Revision history for this message
Daniel van Vugt (vanvugt) wrote :
lp:~willcooke/gdm/ubuntu updated
426. By Will Cooke

* debian/default.pa
  - Added new file to disable Bluetooth audio devices in PulseAudio from
    gdm3. (LP: #1703415)
* debian/gd3.install
  - Added details of the default.pa file
* debian/gd3.postinst
  - Added installation of default.pa and creation of dir if it doesn't
    exist.

Revision history for this message
Will Cooke (willcooke) wrote :

Refreshed from the latest and fixed the changelog.
We shouldn't merge this yet though.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I think this branch is the best option for the time being. The Arch wiki recommends a similar workaround, and upstream PulseAudio acknowledges it could do better:
  https://bugs.freedesktop.org/show_bug.cgi?id=98144
But fixing that will take a lot more time and Pulse internals expertise.

As for the a11y concern, while valid I think that fails to consider the fact that the bug being fixed here is a much bigger than a11y. All Bluetooth audio users won't have any audio. So that is logically a bigger target audience than a11y users who rely on Bluetooth.

Only one minor issue I think: There is no uninstall/postrm step to wind back /var/lib/gdm3/.config/pulse/default.pa

review: Approve
Revision history for this message
Will Cooke (willcooke) wrote :

Should that rm be as part of purge, or for everything? i.e. do I put it in
the "if [ $1 = "purge" ]" section, or just at the end of the script?

On 13 July 2017 at 12:42, Daniel van Vugt <email address hidden>
wrote:

> Review: Approve
>
> I think this branch is the best option for the time being. The Arch wiki
> recommends a similar workaround, and upstream PulseAudio acknowledges it
> could do better:
> https://bugs.freedesktop.org/show_bug.cgi?id=98144
> But fixing that will take a lot more time and Pulse internals expertise.
>
> As for the a11y concern, while valid I think that fails to consider the
> fact that the bug being fixed here is a much bigger than a11y. All
> Bluetooth audio users won't have any audio. So that is logically a bigger
> target audience than a11y users who rely on Bluetooth.
>
> Only one minor issue I think: There is no uninstall/postrm step to wind
> back /var/lib/gdm3/.config/pulse/default.pa
> --
> https://code.launchpad.net/~willcooke/gdm/ubuntu/+merge/327165
> You are the owner of lp:~willcooke/gdm/ubuntu.
>

Revision history for this message
Will Cooke (willcooke) wrote :

Spoke to Didier about the postrm.

Line 26 has:

        rm -rf /var/lib/gdm3

So that should take care of it.

Revision history for this message
Jeremy Bícha (jbicha) wrote :

Thank you!

Ubuntu GNOME has had complaints of this issue (LP: #1489651) back to 16.04 LTS so we should consider SRUing this.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/changelog'
2--- debian/changelog 2017-07-13 08:30:44 +0000
3+++ debian/changelog 2017-07-13 11:29:06 +0000
4@@ -1,3 +1,16 @@
5+gdm3 (3.24.2-1ubuntu9) artful; urgency=medium
6+
7+ * debian/default.pa
8+ - Added new file to disable Bluetooth audio devices in PulseAudio from
9+ gdm3. (LP: #1703415)
10+ * debian/gd3.install
11+ - Added details of the default.pa file
12+ * debian/gd3.postinst
13+ - Added installation of default.pa and creation of dir if it doesn't
14+ exist.
15+
16+ -- Will Cooke <will@whizzy.org> Thu, 13 Jul 2017 12:14:34 +0100
17+
18 gdm3 (3.24.2-1ubuntu8) artful; urgency=medium
19
20 * Avoid double-NULL terminated array that breaks append operations
21
22=== added file 'debian/default.pa'
23--- debian/default.pa 1970-01-01 00:00:00 +0000
24+++ debian/default.pa 2017-07-13 11:29:06 +0000
25@@ -0,0 +1,17 @@
26+#!/usr/bin/pulseaudio -nF
27+#
28+# Work around for PA not allowing access to A2DP profiles in the user session
29+# because GDM already has it open.
30+# LP: #1703415
31+
32+# load system wide configuration
33+.include /etc/pulse/default.pa
34+
35+### unload driver modules for Bluetooth hardware
36+.ifexists module-bluetooth-policy.so
37+ unload-module module-bluetooth-policy
38+.endif
39+
40+.ifexists module-bluetooth-discover.so
41+ unload-module module-bluetooth-discover
42+.endif
43
44=== modified file 'debian/gdm3.install'
45--- debian/gdm3.install 2017-06-29 14:20:51 +0000
46+++ debian/gdm3.install 2017-07-13 11:29:06 +0000
47@@ -24,3 +24,6 @@
48 debian/generate-config usr/share/gdm
49 debian/insserv.conf.d etc
50 data/dconf/defaults/* usr/share/gdm/dconf
51+# Add the default.pa file to disable Bluetooth audio in GDM. LP: #1703415
52+debian/default.pa usr/share/gdm
53+
54
55=== modified file 'debian/gdm3.postinst'
56--- debian/gdm3.postinst 2017-05-21 03:04:06 +0000
57+++ debian/gdm3.postinst 2017-07-13 11:29:06 +0000
58@@ -88,6 +88,13 @@
59 ln -sf $UNIT $USERUNITDIR/sockets.target.wants
60 fi
61
62+# Install PA workaround for LP:#1703415
63+# Stops GDM using Bluetooth audio so that it's available in the users session
64+if ! [ -f /var/lib/gdm3/.config/pulse/default.pa ]; then
65+ mkdir -p /var/lib/gdm3/.config/pulse
66+ cp /usr/share/gdm/default.pa /var/lib/gdm3/.config/pulse/default.pa
67+fi
68+
69 chown -R gdm:gdm /var/lib/gdm3
70
71 if [ -L /etc/pam.d/gdm-welcome ]; then

Subscribers

People subscribed via source and target branches

to all changes: