2

Time ago I tried ppa:oibaf/graphic-drivers with my Linux-Mint installation based on Trusty.

Now I need to go back to my old xorg drivers but neither ppa-purge nor y-ppa-manager would purge the ppa packages since it no longer hosts any trusty packages (those ended with ~gd~t).

Since these are video drivers I don't want to manually remove/purge all the packages related to the ppa and then install them. Also this xserver-xorg-video-radeon version depends on a modified linux-firmware from this ppa, so I don't want to get on unstable grounds while doing this.

apt-get install --reinstall won't work, it fails with a it cannot be downloaded message for each related package.

Should I try to purge and reinstall all these packages in a runlevel 4 for this? What do you suggest?

With dpkg -l | grep gd~t I get a list of the packages that I suppose where installed through this PPA. But I can't confirm them all since linux-firmware for example is no longer hosted in the PPA (I had to check the reverse dependency with apt-cache showpkg).

ii  libdrm-amdgpu1:amd64                                        2.4.68+git1606141830.625d18~gd~t                     amd64        Userspace interface to amdgpu-specific kernel DRM services -- runtime
ii  libdrm-amdgpu1:i386                                         2.4.68+git1606141830.625d18~gd~t                     i386         Userspace interface to amdgpu-specific kernel DRM services -- runtime
ii  libdrm-dev:amd64                                            2.4.68+git1606141830.625d18~gd~t                     amd64        Userspace interface to kernel DRM services -- development files
ii  libdrm-intel1:amd64                                         2.4.68+git1606141830.625d18~gd~t                     amd64        Userspace interface to intel-specific kernel DRM services -- runtime
ii  libdrm-intel1:i386                                          2.4.68+git1606141830.625d18~gd~t                     i386         Userspace interface to intel-specific kernel DRM services -- runtime
ii  libdrm-nouveau2:amd64                                       2.4.68+git1606141830.625d18~gd~t                     amd64        Userspace interface to nouveau-specific kernel DRM services -- runtime
ii  libdrm-nouveau2:i386                                        2.4.68+git1606141830.625d18~gd~t                     i386         Userspace interface to nouveau-specific kernel DRM services -- runtime
ii  libdrm-radeon1:amd64                                        2.4.68+git1606141830.625d18~gd~t                     amd64        Userspace interface to radeon-specific kernel DRM services -- runtime
ii  libdrm-radeon1:i386                                         2.4.68+git1606141830.625d18~gd~t                     i386         Userspace interface to radeon-specific kernel DRM services -- runtime
ii  libdrm2:amd64                                               2.4.68+git1606141830.625d18~gd~t                     amd64        Userspace interface to kernel DRM services -- runtime
ii  libdrm2:i386                                                2.4.68+git1606141830.625d18~gd~t                     i386         Userspace interface to kernel DRM services -- runtime
ii  libegl1-mesa:amd64                                          12.1~git1606090730.037ce5~gd~t                       amd64        free implementation of the EGL API -- runtime
ii  libegl1-mesa-drivers:amd64                                  12.1~git1606090730.037ce5~gd~t                       amd64        transitional dummy package
ii  libgbm1:amd64                                               12.1~git1606090730.037ce5~gd~t                       amd64        generic buffer management API -- runtime
ii  libgl1-mesa-dev:amd64                                       12.1~git1606090730.037ce5~gd~t                       amd64        free implementation of the OpenGL API -- GLX development files
ii  libgl1-mesa-dri:amd64                                       12.1~git1606090730.037ce5~gd~t                       amd64        free implementation of the OpenGL API -- DRI modules
ii  libgl1-mesa-dri:i386                                        12.1~git1606090730.037ce5~gd~t                       i386         free implementation of the OpenGL API -- DRI modules
ii  libgl1-mesa-glx:amd64                                       12.1~git1606090730.037ce5~gd~t                       amd64        free implementation of the OpenGL API -- GLX runtime
ii  libgl1-mesa-glx:i386                                        12.1~git1606090730.037ce5~gd~t                       i386         free implementation of the OpenGL API -- GLX runtime
ii  libglamor0:amd64                                            0.6.0+git1603170630.347ef4~gd~t                      amd64        shared graphics acceleration library based on OpenGL
ii  libglapi-mesa:amd64                                         12.1~git1606090730.037ce5~gd~t                       amd64        free implementation of the GL API -- shared library
ii  libglapi-mesa:i386                                          12.1~git1606090730.037ce5~gd~t                       i386         free implementation of the GL API -- shared library
ii  libgles2-mesa:amd64                                         12.1~git1606090730.037ce5~gd~t                       amd64        free implementation of the OpenGL|ES 2.x API -- runtime
rc  libllvm3.7:amd64                                            1:3.7.1-1ubuntu3~gd~t                                amd64        Modular compiler and toolchain technologies, runtime library
rc  libllvm3.7:i386                                             1:3.7.1-1ubuntu3~gd~t                                i386         Modular compiler and toolchain technologies, runtime library
ii  libllvm3.8:amd64                                            1:3.8~+rc3-1~exp1~gd~t                               amd64        Modular compiler and toolchain technologies, runtime library
ii  libllvm3.8:i386                                             1:3.8~+rc3-1~exp1~gd~t                               i386         Modular compiler and toolchain technologies, runtime library
ii  libosmesa6:amd64                                            12.1~git1606090730.037ce5~gd~t                       amd64        Mesa Off-screen rendering extension
ii  libosmesa6:i386                                             12.1~git1606090730.037ce5~gd~t                       i386         Mesa Off-screen rendering extension
rc  libva-drm1:amd64                                            1.7.0-1~gd~t                                         amd64        Video Acceleration (VA) API for Linux -- DRM runtime
rc  libva-egl1:amd64                                            1.7.0-1~gd~t                                         amd64        Video Acceleration (VA) API for Linux -- EGL runtime
rc  libva-glx1:amd64                                            1.7.0-1~gd~t                                         amd64        Video Acceleration (VA) API for Linux -- GLX runtime
rc  libva-tpi1:amd64                                            1.7.0-1~gd~t                                         amd64        Video Acceleration (VA) API for Linux -- TPI runtime
rc  libva-wayland1:amd64                                        1.7.0-1~gd~t                                         amd64        Video Acceleration (VA) API for Linux -- Wayland runtime
ii  libva-x11-1:amd64                                           1.7.0-1~gd~t                                         amd64        Video Acceleration (VA) API for Linux -- X11 runtime
ii  libva1:amd64                                                1.7.0-1~gd~t                                         amd64        Video Acceleration (VA) API for Linux -- runtime
ii  libvdpau-dev:amd64                                          1.1.1-3~gd~t                                         amd64        Video Decode and Presentation API for Unix (development files)
ii  libvdpau1:amd64                                             1.1.1-3~gd~t                                         amd64        Video Decode and Presentation API for Unix (libraries)
ii  libvorbis-dev:amd64                                         1.3.5-2~gd~t                                         amd64        development files for Vorbis General Audio Compression Codec
ii  libvorbis0a:amd64                                           1.3.5-2~gd~t                                         amd64        decoder library for Vorbis General Audio Compression Codec
ii  libvorbis0a:i386                                            1.3.5-2~gd~t                                         i386         decoder library for Vorbis General Audio Compression Codec
ii  libvorbisenc2:amd64                                         1.3.5-2~gd~t                                         amd64        encoder library for Vorbis General Audio Compression Codec
ii  libvorbisenc2:i386                                          1.3.5-2~gd~t                                         i386         encoder library for Vorbis General Audio Compression Codec
ii  libvorbisfile3:amd64                                        1.3.5-2~gd~t                                         amd64        high-level API for Vorbis General Audio Compression Codec
ii  libvorbisfile3:i386                                         1.3.5-2~gd~t                                         i386         high-level API for Vorbis General Audio Compression Codec
ii  libwayland-egl1-mesa:amd64                                  12.1~git1606090730.037ce5~gd~t                       amd64        implementation of the Wayland EGL platform -- runtime
ii  libxatracker2:amd64                                         12.1~git1606090730.037ce5~gd~t                       amd64        X acceleration library -- runtime
ii  linux-firmware                                              1.134~gd~t                                           all          Firmware for Linux kernel drivers
ii  mesa-common-dev:amd64                                       12.1~git1606090730.037ce5~gd~t                       amd64        Developer documentation for Mesa
ii  mesa-utils                                                  8.2.0-1~gd~t                                         amd64        Miscellaneous Mesa GL utilities
ii  xserver-xorg-video-ati                                      1:7.7.99+git1606011933.0945db~gd~t                   amd64        X.Org X server -- AMD/ATI display driver wrapper
ii  xserver-xorg-video-glamoregl                                0.6.0+git1603170630.347ef4~gd~t                      amd64        X.Org X server -- graphics acceleration module based on OpenGL
ii  xserver-xorg-video-intel                                    2:2.99.917+git1606011933.b617f8~gd~t                 amd64        X.Org X server -- Intel i8xx, i9xx display driver
ii  xserver-xorg-video-nouveau                                  1:1.0.12+git1606020733.1da8a9~gd~t                   amd64        X.Org X server -- Nouveau display driver
ii  xserver-xorg-video-radeon                                   1:7.7.99+git1606011933.0945db~gd~t                   amd64        X.Org X server -- AMD/ATI Radeon display driver

From this list I'm extracting these candidates for the purge:

libdrm
libdrm2
libva
linux-firmware
libvorbis*
libglamor*
mesa-common-dev
mesa-utils
libllvm*
libvdpau
xserver-xorg-video-ati
xserver-xorg-video-intel
xserver-xorg-video-nouveau
xserver-xorg-video-radeon

From where I couldn't find xserver-xorg-video-glamoregl on the "related packages" section of oibaf PPA

1 Answer 1

0

In the end I went full the manual way.

First I checked which packages I could remove with apt-get remove --purge --dry-run package_name without altering any dependencies. Next I would check which specific version I wanted to downgrade to with apt-cache policy package_name. Then I would proceed to install the latest available version of each of those packages.

This method worked with

* xserver-xorg-video-ati
xserver-xorg-video-intel
xserver-xorg-video-nouveau
xserver-xorg-video-radeon
xserver-xorg-video-glamoregl

The xserver-xorg-video-ati depends on xserver-xorg-video-glamoregl that depends on libglamor0 so it can't be reinstalled unless you do the the next:

Then I proceeded to downgrade with apt-get install --reinstall package_name=version where version is the desired version that appears on apt-cache policy. I did this with packages that could be reinstalled without affecting dependencies and grouping packages that shared the same version on individual commands. Which worked with:

linux-firmware
libglamor0
mesa-common-dev
mesa-utils
libva-x11-1
libva1
libvdpau-dev
libvdpau1

Removing mesa packages instead of reinstalling them will affect a lot of dependencies. With this step I could install once again libglamor0, then xserver-xorg-video-glamoregl and finally xserver-xorg-video-ati.

After reinstalling libva, packages marked with "rc" related with libva remained. That mark means "removed, but configuration files remains", and I safely removed each of them with apt-get remove --purge package_name.

I restarted the machine at this point to see if it would start once again, luckily it did. I had some confidence at this point since all these packages depended on each other or with no one.

Then... the dependency hell.

I went with dpkg -i --force-depends list-of-packages to downgrade packages without affecting their dependencies as noted in: How can I downgrade packages without removing their dependants?

I downloaded and reinstalled by batches of deb packages that shared the same version. Checked if each of those packages had package candidates with apt-cache policy and googled-downloaded them with the specific version and architecture (amd64/i386) shown there. I made dry runs before committing each dpkg command taking care of any warning that may arise due dependencies conflict. No conflict was shown.

First I went with the libdrm2 batch.

libdrm2_2.4.67-1ubuntu0.14.04.1_amd64.deb
libdrm2_2.4.67-1ubuntu0.14.04.1_i386.deb
libdrm-amdgpu1_2.4.67-1ubuntu0.14.04.1_amd64.deb
libdrm-amdgpu1_2.4.67-1ubuntu0.14.04.1_i386.deb
libdrm-dev_2.4.67-1ubuntu0.14.04.1_amd64.deb
libdrm-intel1_2.4.67-1ubuntu0.14.04.1_amd64.deb
libdrm-intel1_2.4.67-1ubuntu0.14.04.1_i386.deb
libdrm-nouveau2_2.4.67-1ubuntu0.14.04.1_amd64.deb
libdrm-nouveau2_2.4.67-1ubuntu0.14.04.1_i386.deb
libdrm-radeon1_2.4.67-1ubuntu0.14.04.1_amd64.deb
libdrm-radeon1_2.4.67-1ubuntu0.14.04.1_i386.deb

Then mesa (at this point completely necessary since apt-get began to whine that libdrm had broken dependencies with mesa libraries)

libegl1-mesa_10.1.3-0ubuntu0.6_amd64.deb
libegl1-mesa-drivers_10.1.3-0ubuntu0.6_amd64.deb
libgbm1_10.1.3-0ubuntu0.6_amd64.deb
libgl1-mesa-dri_10.1.3-0ubuntu0.6_amd64.deb
libgl1-mesa-dri_10.1.3-0ubuntu0.6_i386.deb
libgl1-mesa-glx_10.1.3-0ubuntu0.6_amd64.deb
libgl1-mesa-glx_10.1.3-0ubuntu0.6_i386.deb
libglapi-mesa_10.1.3-0ubuntu0.6_amd64.deb
libglapi-mesa_10.1.3-0ubuntu0.6_i386.deb
libgles2-mesa_10.1.3-0ubuntu0.6_amd64.deb
libosmesa6_10.1.3-0ubuntu0.6_amd64.deb
libosmesa6_10.1.3-0ubuntu0.6_i386.deb
libwayland-egl1-mesa_10.1.3-0ubuntu0.6_amd64.deb
libxatracker2_10.1.3-0ubuntu0.6_amd64.deb    

And finally libvorbis packages:

libvorbis0a_1.3.2-1.3ubuntu1_amd64.deb
libvorbis0a_1.3.2-1.3ubuntu1_i386.deb
libvorbis-dev_1.3.2-1.3ubuntu1_amd64.deb
libvorbisenc2_1.3.2-1.3ubuntu1_amd64.deb
libvorbisenc2_1.3.2-1.3ubuntu1_i386.deb
libvorbisfile3_1.3.2-1.3ubuntu1_amd64.deb
libvorbisfile3_1.3.2-1.3ubuntu1_i386.deb

At this point libllvm became an unneeded dependency that could be removed through apt-get autoremove. It left "rc" marked packages that I removed with apt-get remove --purge without any problem.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .