xpra icon
Bug tracker and wiki

Opened 5 months ago

Closed 4 months ago

Last modified 3 months ago

#2190 closed defect (fixed)

Bionic packages do not play well with HWE 18.04

Reported by: pma Owned by: okappa
Priority: major Milestone: 2.5
Component: packaging Version: 2.4.x
Keywords: Cc:

Description

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.

Change History (17)

comment:1 Changed 5 months ago by Antoine Martin

Owner: changed from Antoine Martin to pma

Please post the full upgrade messages.

comment:2 Changed 5 months ago by 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]:

comment:3 Changed 5 months ago by pma

Owner: changed from pma to Antoine Martin

comment:4 Changed 5 months ago by Antoine Martin

Owner: changed from Antoine Martin to pma

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

comment:5 Changed 5 months ago by pma

Owner: changed from pma to Antoine Martin

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.

comment:6 Changed 5 months ago by Antoine Martin

Owner: changed from Antoine Martin to Antoine Martin
Status: newassigned

Links:

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

Last edited 5 months ago by Antoine Martin (previous) (diff)

comment:7 Changed 5 months ago by 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?)

comment:8 Changed 4 months ago by Antoine Martin

Resolution: fixed
Status: assignedclosed

Using debootstrap made this more difficult. Steps:

  • debootstrap a new bionic instance
  • add build-essential devscripts debhelper
  • add universe repository: echo "deb http://archive.ubuntu.com/ubuntu bionic universe" >> /etc/apt/sources.list
  • add quilt pkg-config xserver-xorg-dev x11proto-video-dev x11proto-xf86dga-dev x11proto-core-dev x11proto-fonts-dev x11proto-randr-dev x11proto-render-dev xutils-dev
  • add bionic-updates repository (this step is not documented): echo "deb http://archive.ubuntu.com/ubuntu bionic-updates main" >> /etc/apt/sources.list
  • add HWE: https://wiki.ubuntu.com/Kernel/LTSEnablementStack: sudo apt-get install --install-recommends linux-generic-hwe-18.04 xserver-xorg-hwe-18.04
  • add xorg-dev
  • rebuilt the package, and again, and again...

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.

comment:9 Changed 4 months ago by okappa

Resolution: fixed
Status: closedreopened

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.

comment:10 Changed 4 months ago by 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.

comment:11 Changed 4 months ago by 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?

comment:12 Changed 4 months ago by Antoine Martin

Owner: changed from Antoine Martin to pma
Status: reopenednew

Updates:

  • r22241 rebuild dummy with new headers (was it wrong before?)
  • r22242 add input-void

Both are now available in the stable repository.

@pma: does that help?

comment:13 Changed 4 months ago by pma

Owner: changed from pma to okappa

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

comment:14 Changed 4 months ago by 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)

comment:15 Changed 4 months ago by 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

comment:16 Changed 4 months ago by Antoine Martin

Resolution: fixed
Status: newclosed

I was speaking about the stock ubuntu packages

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

comment:17 Changed 3 months ago by 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.

Note: See TracTickets for help on using tickets.