Merge lp:~bruce.ma/ubiquity/support-hidpi-lp1382291 into lp:ubiquity

Proposed by Bruce.Ma
Status: Rejected
Rejected by: Dimitri John Ledkov
Proposed branch: lp:~bruce.ma/ubiquity/support-hidpi-lp1382291
Merge into: lp:ubiquity
Diff against target: 76 lines (+21/-3)
2 files modified
bin/ubiquity-dm (+15/-3)
debian/changelog (+6/-0)
To merge this branch: bzr merge lp:~bruce.ma/ubiquity/support-hidpi-lp1382291
Reviewer Review Type Date Requested Status
Dimitri John Ledkov Needs Resubmitting
Shih-Yuan Lee Pending
Mathieu Trudel-Lapierre Pending
Review via email: mp+249292@code.launchpad.net

Description of the change

Merged Shih-Yuan's patch to fix a hidpi issue. (LP: #1382291)

To post a comment you must log in.
Revision history for this message
Dimitri John Ledkov (xnox) wrote :
Download full text (4.6 KiB)

On 11 February 2015 at 10:01, Bruce.Ma <email address hidden> wrote:
> Bruce.Ma has proposed merging lp:~bruce.ma/ubiquity/support-hidpi-lp1382291 into lp:ubiquity.
>
> Requested reviews:
> Mathieu Trudel-Lapierre (mathieu-tl)
>
> For more details, see:
> https://code.launchpad.net/~bruce.ma/ubiquity/support-hidpi-lp1382291/+merge/249292
>
> Merged Shih-Yuan's patch to fix a hidpi issue. (LP: #1382291)
> --
> You are subscribed to branch lp:ubiquity.
>
> === modified file 'bin/ubiquity-dm'
> --- bin/ubiquity-dm 2015-01-28 19:08:36 +0000
> +++ bin/ubiquity-dm 2015-02-11 10:00:41 +0000
> @@ -367,6 +367,7 @@
>
> background_image = None
> for background in (
> + '/usr/share/backgrounds/warty-final-ubuntu.png',

On ubuntu, or well anywhere where unity- or gnome-settings-daemon are
used, the wallpaper is drawn by that, instead of ubiquity-dm.
Please don't introduce it.

Are you implying that unity-settings-daemon has regressed in its
high-dpi support and the background is not rendered correctly?

Does the background render correctly in the "Try Ubuntu" - aka live
desktop mode instead?

I really wish ubiquity-dm did nothing with respect to displaying
desktop background, and instead use the default DE native wallpaper
drawining mechanisms. Otherwise we will be forever out of sync, which
used to so common for ubiquity across all flavours.

> '/usr/share/xfce4/backdrops/ubuntustudio-1310.png',
> '/usr/share/xfce4/backdrops/xubuntu-wallpaper.png',
> '/usr/share/lubuntu/wallpapers/'
> @@ -378,6 +379,9 @@
>
> accessibility = False
> if gsettings._gsettings_exists():
> + usd = '/usr/lib/unity-settings-daemon/unity-settings-daemon'
> + gsd = '/usr/lib/gnome-settings-daemon/gnome-settings-daemon'
> +
> accessibility = gsettings.get(
> 'org.gnome.desktop.interface', 'toolkit-accessibility',
> self.username)
> @@ -443,6 +447,10 @@
> gsettings_keys.remove(
> ('org.gnome.desktop.wm.preferences', 'num-workspaces',
> '1'))
> + if osextras.find_on_path(usd):
> + gsettings_keys.append(
> + ('org.gnome.settings-daemon.plugins.background',
> + 'active', 'false'))
>
> for gs_schema, gs_key, gs_value in gsettings_keys:
> subprocess.call(
> @@ -450,14 +458,18 @@
> stdin=null, stdout=logfile, stderr=logfile,
> preexec_fn=self.drop_privileges)
>
> - usd = '/usr/lib/unity-settings-daemon/unity-settings-daemon'
> - gsd = '/usr/lib/gnome-settings-daemon/gnome-settings-daemon'
> msd = '/usr/bin/mate-settings-daemon'
>
> if osextras.find_on_path(usd):
> extras.append(subprocess.Popen(
> [usd], stdin=null, stdout=logfile, stderr=logfile,
> preexec_fn=self.drop_pr...

Read more...

Revision history for this message
Shih-Yuan Lee (fourdollars) wrote :

gnome-settings-daemon and unity-settings-daemon have some problem to draw the background.
That is why we use `feh` to draw the background in ubiquity-dm.

In fact, the background of Unity desktop is drawn by Nautilus instead of unity-settings-daemon.
You can try to kill Nautilus by `killall nautilus` while the scale factor is 2.
Then you will see the problem immediately.

In short, the default DE native wallpaper drawing mechanism doesn't work well for HiDPI.

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

On 12 February 2015 at 02:15, Shih-Yuan Lee <email address hidden> wrote:
> gnome-settings-daemon and unity-settings-daemon have some problem to draw the background.
> That is why we use `feh` to draw the background in ubiquity-dm.
>
> In fact, the background of Unity desktop is drawn by Nautilus instead of unity-settings-daemon.
> You can try to kill Nautilus by `killall nautilus` while the scale factor is 2.
> Then you will see the problem immediately.
>

It depends which release you are talking about. It could be
settings-daemon or Nautilus, and gsettings used.

> In short, the default DE native wallpaper drawing mechanism doesn't work well for HiDPI.

Ok, but isn't it more important to fix default DE native wallpaper
drawning then?

Given that ubiquity-dm / oem-config is only used briefly, does this
point to a bigger problem that on HiDPI machines the user will see bad
wallpaper rendering?

Is there a bug raised somewhere else for bad background rending in the
finally installed systems? Cause if that is fixed, ubiquity will gain
that fix as well, no?

For Ubuntu Desktop / Unity, feh cannot be used as it is not in main
and thus is not an available dependency. feh is only seeded on Lubuntu
desktop.

--
Regards,

Dimitri.

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

* changelog, please describe the bug that is attempted to be fixed, rather than "how" or "who"
* the proposed change is not suitable for inclusion, as non-main components attempt to be used
* the referenced bug report has nothing w.r.t. incorrect wallpaper rending, it's the ubiquity window size which is wrong
* the ubiquity task on the bug report is marked incomplete

It seems like unity-settings-daemon is the one that needs patching.

review: Needs Resubmitting

Unmerged revisions

6265. By Bruce.Ma

Merged Shih-Yuan's patch to fix a hidpi issue(LP: #1382291) .

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'bin/ubiquity-dm'
2--- bin/ubiquity-dm 2015-01-28 19:08:36 +0000
3+++ bin/ubiquity-dm 2015-02-11 10:00:41 +0000
4@@ -367,6 +367,7 @@
5
6 background_image = None
7 for background in (
8+ '/usr/share/backgrounds/warty-final-ubuntu.png',
9 '/usr/share/xfce4/backdrops/ubuntustudio-1310.png',
10 '/usr/share/xfce4/backdrops/xubuntu-wallpaper.png',
11 '/usr/share/lubuntu/wallpapers/'
12@@ -378,6 +379,9 @@
13
14 accessibility = False
15 if gsettings._gsettings_exists():
16+ usd = '/usr/lib/unity-settings-daemon/unity-settings-daemon'
17+ gsd = '/usr/lib/gnome-settings-daemon/gnome-settings-daemon'
18+
19 accessibility = gsettings.get(
20 'org.gnome.desktop.interface', 'toolkit-accessibility',
21 self.username)
22@@ -443,6 +447,10 @@
23 gsettings_keys.remove(
24 ('org.gnome.desktop.wm.preferences', 'num-workspaces',
25 '1'))
26+ if osextras.find_on_path(usd):
27+ gsettings_keys.append(
28+ ('org.gnome.settings-daemon.plugins.background',
29+ 'active', 'false'))
30
31 for gs_schema, gs_key, gs_value in gsettings_keys:
32 subprocess.call(
33@@ -450,14 +458,18 @@
34 stdin=null, stdout=logfile, stderr=logfile,
35 preexec_fn=self.drop_privileges)
36
37- usd = '/usr/lib/unity-settings-daemon/unity-settings-daemon'
38- gsd = '/usr/lib/gnome-settings-daemon/gnome-settings-daemon'
39 msd = '/usr/bin/mate-settings-daemon'
40
41 if osextras.find_on_path(usd):
42 extras.append(subprocess.Popen(
43 [usd], stdin=null, stdout=logfile, stderr=logfile,
44 preexec_fn=self.drop_privileges))
45+ cmd = "xwininfo -root -tree | awk '{print $1}' | grep ^0x"
46+ cmd += " | while read id; do xprop -id $id; done | grep "
47+ cmd += "_XSETTINGS_SETTINGS > /dev/null"
48+ while not subprocess.call(cmd, shell=True):
49+ log('Waitting for xsettings plugin to be ready')
50+ time.sleep(1)
51
52 elif osextras.find_on_path(gsd):
53 extras.append(subprocess.Popen(
54@@ -469,7 +481,7 @@
55 [msd], stdin=null, stdout=logfile, stderr=logfile,
56 preexec_fn=self.drop_privileges))
57
58- elif background_image and osextras.find_on_path('feh'):
59+ if background_image and osextras.find_on_path('feh'):
60 subprocess.call(
61 ['feh', '--bg-fill', background_image],
62 stdin=null, stdout=logfile, stderr=logfile,
63
64=== modified file 'debian/changelog'
65--- debian/changelog 2015-02-05 03:13:40 +0000
66+++ debian/changelog 2015-02-11 10:00:41 +0000
67@@ -1,3 +1,9 @@
68+ubiquity (2.21.9) vivid; urgency=medium
69+
70+ * Merged Shih-Yuan's patch to fix hidpi issue.(LP: #1382291)
71+
72+ -- Bruce Ma <bruce.ma@canonical.com> Tue, 10 Feb 2015 19:10:25 +0800
73+
74 ubiquity (2.21.8) vivid; urgency=medium
75
76 * Automatic update of included source packages: grub-installer

Subscribers

People subscribed via source and target branches

to status/vote changes: