gdm

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

Proposed by Will Cooke on 2017-07-10
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 Bicha 2017-07-10 Approve on 2017-07-13
Daniel van Vugt (community) Approve on 2017-07-13
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 on 2017-07-11
415. By Ken VanDine on 2017-07-11

* 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 on 2017-07-11

Fixed ubuntu-session version check

417. By Ken VanDine on 2017-07-11

Dropped depends for ubuntu-session

418. By Ken VanDine on 2017-07-11

releasing package gdm3 version 3.24.2-1ubuntu5

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
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
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 on 2017-07-12
419. By Didier Roche on 2017-07-12

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 on 2017-07-12

releasing package gdm3 version 3.24.2-1ubuntu6

421. By Iain Lane on 2017-07-12

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

And some other minor improvements.

422. By Iain Lane on 2017-07-12

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

423. By Iain Lane on 2017-07-12

releasing package gdm3 version 3.24.2-1ubuntu7

Jeremy Bicha (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 on 2017-07-13
424. By Daniel van Vugt on 2017-07-13

First attempt

425. By Daniel van Vugt on 2017-07-13

Remember the changelog

lp:~willcooke/gdm/ubuntu updated on 2017-07-13
426. By Will Cooke on 2017-07-13

* 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.

Will Cooke (willcooke) wrote :

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

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
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.
>

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.

Jeremy Bicha (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: