Xpra: Ticket #2190: Bionic packages do not play well with HWE 18.04

Upgraded one bionic system to HWE 18.04. XPRA was removed in upgrade process. When I tried to install it afterwards, it would have wanted to downgrade X to pre HWE state.



Mon, 04 Mar 2019 13:39:40 GMT - Antoine Martin: owner changed

Please post the full upgrade messages.


Mon, 04 Mar 2019 13:51:13 GMT - pma:

XPRA seems to install fine, if all needed HWE X packages are already installed in the system, but if one is missing, say xorg-video-dummy, gdebi says:

Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading state information... Done
Requires the REMOVAL of the following packages: xserver-xorg-core-hwe-18.04 xserver-xorg-hwe-18.04 xserver-xorg-input-all-hwe-18.04 xserver-xorg-input-libinput-hwe-18.04 xserver-xorg-input-wacom-hwe-18.04 xserver-xorg-video-all-hwe-18.04 xserver-xorg-video-amdgpu-hwe-18.04 xserver-xorg-video-ati-hwe-18.04 xserver-xorg-video-fbdev-hwe-18.04 xserver-xorg-video-intel-hwe-18.04 xserver-xorg-video-nouveau-hwe-18.04 xserver-xorg-video-qxl-hwe-18.04 xserver-xorg-video-radeon-hwe-18.04 xserver-xorg-video-vesa-hwe-18.04 xserver-xorg-video-vmware-hwe-18.04
Requires the installation of the following packages: xserver-xorg-core xserver-xorg-video-dummy
tool to detach/reattach running X programs
 Xpra gives you the functionality of GNU Screen for X applications.
 .
 It allows the user to view remote X applications on their local machine, and
 disconnect and reconnect from the remote machine without losing the state of
 the running applications.
 .
 Unlike VNC, these applications are "rootless".  They appear as individual
 windows inside your window manager rather than being contained within a single
 window.
Do you want to install the software package? [y/N]:

Mon, 04 Mar 2019 13:56:43 GMT - pma: owner changed


Mon, 04 Mar 2019 13:58:13 GMT - Antoine Martin: owner changed

How are we supposed to support HWE using a single repository?


Tue, 05 Mar 2019 11:18:35 GMT - pma: owner changed

This seems to be the same problem: https://bugs.launchpad.net/ubuntu/+source/xpra/+bug/1691025

I tried installing from xpra repo, but the problem remained. If xorg-video-dummy is not installed, xpra wants to remove all xorg hwe packages, but if it is, it installs just fine.


Thu, 07 Mar 2019 13:25:41 GMT - Antoine Martin: owner, status changed

Links:

If we provide both ABIs in the repository, will apt be able to figure it out?


Thu, 07 Mar 2019 14:32:29 GMT - Antoine Martin:

So I installed xpra stable on a fresh Ubuntu 18.04.2 installation which includes HWE by default, and everything works OK out of the box. The only problem is that they ship a new dummy driver named xserver-xorg-video-dummy-hwe which is almost guaranteed to be missing the patches we carry. Maybe they've messed up the package dependencies (Conflicts vs Provides attributes?)


Sun, 10 Mar 2019 13:53:54 GMT - Antoine Martin: status changed; resolution set

Using debootstrap made this more difficult. Steps:


Through trial and error (well mostly error):


And so the official solution is now to run this command to upgrade to the HWE version (adding xserver-xorg-video-dummy-hwe-18.04):

sudo apt-get install --install-recommends linux-generic-hwe-18.04 xserver-xorg-hwe-18.04 xserver-xorg-video-dummy-hwe-18.04

That's because the Ubuntu repositories don't upgrade the dummy package during the HWE upgrade unless we tell it to. (that's an upstream bug - nothing to do with us)

The only positive thing we've gained is that we now ensure that we update the dummy package with the patched one, even when HWE is enabled.


Sat, 30 Mar 2019 00:32:04 GMT - okappa: status changed; resolution deleted

The fix above doesn't work because xpra depends on xserver-xorg-input-void as well.

$ apt search xserver-xorg-input-void
Sorting... Done
Full Text Search... Done
xserver-xorg-input-void/bionic 1:1.4.1-1build3 amd64
  X.Org X server -- void input driver
xserver-xorg-input-void-hwe-16.04/bionic 3:14.1 amd64
  Transitional package for xserver-xorg-input-void-hwe-16.04

Atemmpting to install xserver-xorg-input-void I get the "remove all hwe" thing:

$ sudo apt install xserver-xorg-input-void
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  xserver-xorg xserver-xorg-core
Suggested packages:
  xfonts-100dpi | xfonts-75dpi
Recommended packages:
  xserver-xorg-video-all
The following packages will be REMOVED:
  xorg xserver-xorg-core-hwe-18.04 xserver-xorg-hwe-18.04 xserver-xorg-input-all-hwe-18.04
  xserver-xorg-input-libinput-hwe-18.04 xserver-xorg-video-all-hwe-18.04 xserver-xorg-video-amdgpu-hwe-18.04
  xserver-xorg-video-ati-hwe-18.04 xserver-xorg-video-fbdev-hwe-18.04 xserver-xorg-video-intel-hwe-18.04
  xserver-xorg-video-nouveau-hwe-18.04 xserver-xorg-video-qxl-hwe-18.04 xserver-xorg-video-radeon-hwe-18.04
  xserver-xorg-video-vesa-hwe-18.04 xserver-xorg-video-vmware-hwe-18.04
The following NEW packages will be installed:
  xserver-xorg xserver-xorg-core xserver-xorg-input-void
0 upgraded, 3 newly installed, 15 to remove and 0 not upgraded.
Need to get 1,423 kB of archives.
After this operation, 4,760 kB disk space will be freed.
Do you want to continue? [Y/n] n
Abort.

Attempting to install xserver-xorg-input-void-hwe-16.04 I get this

$ sudo apt install xserver-xorg-input-void-hwe-16.04
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
 xserver-xorg-input-void-hwe-16.04 : Depends: xserver-xorg-input-void but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

So atm xpra can't be installed on ubuntu 18.04.2 with hwe because of xserver-xorg-input-void dependency.


Sat, 30 Mar 2019 01:53:33 GMT - Antoine Martin:

So atm xpra can't be installed on ubuntu 18.04.2 with hwe because of xserver-xorg-input-void dependency.

Right you are, and this is another epic mistake by Ubuntu upstream packaging. Why on earth is void-hwe depending on a package that it ends up conflicting with? (void which brings the non-hwe server and its conflict) I should be able to fix it in our repos by overriding their package with a correct one, but really they need to stop this senseless breakage.


Sat, 30 Mar 2019 12:58:33 GMT - okappa:

Also isn't it wrong having xserver-xorg-input-void-hwe-16.04 but not xserver-xorg-input-void-hwe-18.04 in 18.04.2 hwe?


Mon, 01 Apr 2019 15:24:31 GMT - Antoine Martin: owner, status changed

Updates:

Both are now available in the stable repository.

@pma: does that help?


Mon, 01 Apr 2019 15:32:45 GMT - pma: owner changed

@okappa had problems with input-void, not me.


Mon, 01 Apr 2019 15:51:11 GMT - Antoine Martin:

@pma: oops, thanks!

BTW, we no longer use or require input-void: removed in r9166 - 4 years ago.

So this package fix isn't for xpra at all, it just makes it easier for people who do have input-void installed to enable HWE. (basically fixing Ubuntu's mess)


Tue, 02 Apr 2019 13:45:18 GMT - okappa:

@Antoine Martin Oops, I didn't figure out at first this whole issue was about xpra.org's packaged xpra. I was speaking about the stock ubuntu packages


Tue, 02 Apr 2019 13:48:36 GMT - Antoine Martin: status changed; resolution set

I was speaking about the stock ubuntu packages

Don't use those, they're always seriously messed up. For details see wiki/Packaging/DistributionPackages.


Sat, 13 Apr 2019 04:14:00 GMT - Antoine Martin:

More fixes: r22381 + r22382, the package name for bionic must be xserver-xorg-video-dummy-hwe-18.04 (the 18.04 is part of the package name). With this change we now correctly upgrade the system package and avoid the DPI warnings.


Sat, 23 Jan 2021 05:44:36 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/2190