[SOLVED] X+Wayland update breaks Cinnamon 3.4.4

Questions about applications and software
Forum rules
Before you post please read how to get help
TomRoche
Level 4
Level 4
Posts: 243
Joined: Thu Jan 13, 2011 2:52 pm

[SOLVED] X+Wayland update breaks Cinnamon 3.4.4

Postby TomRoche » Mon Jul 10, 2017 8:27 pm

[see fix below @ viewtopic.php?f=238&t=249368#p1340819]

Until yesterday (9 Jul 2017) or the day before, I believe I was up-to-date WRT LMDE packages. I then noticed new X+Wayland packages={xnest, xserver-common, xserver-xorg-core, xwayland}. Prior to their install, I was running

> $ date
> Mon Jul 10 16:18:40 MST 2017
> $ uname -rsv
> Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u2 (2017-06-26)
> $ lsb_release -ds
> LMDE 2 Betsy
> $ cat /etc/debian_version
> 8.8
> $ gcc --version | head -n 1
> gcc (Debian 4.9.2-10) 4.9.2
> $ Xorg -version 2>&1 | grep -ve '^$\|^[[:space:]]\|Current Operating System:'
> X.Org X Server 1.16.4
> Release Date: 2014-12-20
> X Protocol Version 11, Revision 0
> Build Operating System: Linux 3.16.0-4-amd64 x86_64 Debian
> Kernel command line: BOOT_IMAGE=/vmlinuz-3.16.0-4-amd64 root=/dev/mapper/LVM2_crypt-root ro nomodeset nouveau.modeset=0
> Build Date: 11 February 2015 12:32:02AM
> xorg-server 2:1.16.4-1 (http://www.debian.org/support)
> Current version of pixman: 0.32.6
> $ x-window-manager --version | head -1
> metacity 3.14.3
> $ cinnamon --version
> Cinnamon 3.4.4
> [no check for Wayland version, since I don't know how to do that.]

I then updated with

> $ date ; sudo aptitude update
> ...
>
> $ date ; sudo aptitude -s full-upgrade
> Mon Jul 10 16:23:50 MST 2017
> The following packages will be upgraded:
> xnest
> xserver-common
> xserver-xorg-core
> xwayland
> 4 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
> ...
> Preparing to unpack .../xserver-common_2%3a1.16.4-1+deb8u1_all.deb ...
> Unpacking xserver-common (2:1.16.4-1+deb8u1) over (2:1.16.4-1) ...
> Preparing to unpack .../xnest_2%3a1.16.4-1+deb8u1_amd64.deb ...
> Unpacking xnest (2:1.16.4-1+deb8u1) over (2:1.16.4-1) ...
> Preparing to unpack .../xserver-xorg-core_2%3a1.16.4-1+deb8u1_amd64.deb ...
> Unpacking xserver-xorg-core (2:1.16.4-1+deb8u1) over (2:1.16.4-1) ...
> Preparing to unpack .../xwayland_2%3a1.16.4-1+deb8u1_amd64.deb ...
> Unpacking xwayland (2:1.16.4-1+deb8u1) over (2:1.16.4-1) ...
> Processing triggers for man-db (2.7.0.2-5) ...
> Setting up xserver-common (2:1.16.4-1+deb8u1) ...
> Setting up xnest (2:1.16.4-1+deb8u1) ...
> Setting up xserver-xorg-core (2:1.16.4-1+deb8u1) ...
> Setting up xwayland (2:1.16.4-1+deb8u1) ...
>
> Current status: 0 updates [-4].

and rebooted (as usual) to tty7, where I saw:

0. Normal login/MDM screen, to which I logged-in normally.

1. Cinnamon failure dialog that I normally see only when restarting Cinnamon (with `killall -9 cinnamon`). This dialog has (bold text @ top, which I'm interpreting as) title='Cinnamon just crashed. You are currently running in Fallback Mode.' and body='Do you want to restart Cinnamon?'. Hitting button=Yes causes screen to flash, then dialog reappears.

2. The non-Cinnamon {underlying, Fallback Mode} desktop. (Unity? GNOME3? I forget.)

3. My usual 2 startups: welcome screen, ROXTerm.

4. The only post-install change from the pre-install version query (above) is

< xorg-server 2:1.16.4-1 (http://www.debian.org/support)
> xorg-server 2:1.16.4-1+deb8u1 (http://www.debian.org/support)

Most things seems to work, except for a few things I very much miss, in order of importance (declining) to me:

- Fn-F4 sleep fails, only the GUI suspend works: click on username @ far right of action bar > Power Off > Suspend.

- cannot move windows around the desktop with Super-{right, left, up, down}

- Super-d minimize-all-windows fails

How best to unbreak Cinnamon? E.g., should I just back-out the X/Wayland packages

> xserver-common: 2:1.16.4-1+deb8u1 -> 2:1.16.4-1
> xnest: 2:1.16.4-1+deb8u1 -> 2:1.16.4-1
> xserver-xorg-core: 2:1.16.4-1+deb8u1 -> 2:1.16.4-1
> xwayland: 2:1.16.4-1+deb8u1 -> 2:1.16.4-1

Or is there (e.g.) a Cinnamon update that fixes my problem?

If there's additional info I should post, or something that I should have Googled, or Fine Manuals to Read, please lemme know.
Last edited by TomRoche on Tue Jul 11, 2017 6:30 pm, edited 2 times in total.

ScoorgeMcDuck
Level 1
Level 1
Posts: 6
Joined: Mon Jul 21, 2014 10:32 am

Re: X+Wayland update breaks Cinnamon 3.4.4

Postby ScoorgeMcDuck » Tue Jul 11, 2017 12:37 pm

I'm on LMDE-2 (MATE).

After updating to these packages:

xserver-common: 2:1.16.4-1+deb8u1
xserver-xorg-core: 2:1.16.4-1+deb8u1

video acceleration broke down on my system. For example compton composite manager failed to start showing some error about GLX. nVidia driver says: "Failed to query the GLX server vendor". Downgrading these packages to previous version didn't help - so I had to restore my previous system back-up.

TomRoche
Level 4
Level 4
Posts: 243
Joined: Thu Jan 13, 2011 2:52 pm

xserver-*, GLX, NVIDIA

Postby TomRoche » Tue Jul 11, 2017 1:49 pm

ScoorgeMcDuck wrote:I'm on LMDE-2 (MATE).


I'm on LMDE2 Cinnamon (though I have another box running MATE). However we do seem to have 2 relevant similarities:

ScoorgeMcDuck wrote:compton composite manager failed to start showing some error about GLX.


I also noticed

> $ date ; cinnamon --replace
> Mon Jul 10 23:21:40 MST 2017
> Xlib: extension "GLX" missing on display ":0".
> *** Error in `cinnamon': double free or corruption (!prev): 0x000056417ba76460 ***
> Aborted

So ISTM/ICBW I need to re-enable GLX, but

> $ date ; Xwayland +extension GLX
> Mon Jul 10 23:26:16 MST 2017
> (EE)
> Fatal server error:
> (EE) Server is already active for display 0
> If this server is no longer running, remove /tmp/.X0-lock
> and start again.
> (EE)

ScoorgeMcDuck wrote:nVidia driver says: "Failed to query the GLX server vendor".


I'm also running NVIDIA:

> $ date ; lspci -k | grep -ie 'video\|VGA' -A2
> Mon Jul 10 23:52:36 MST 2017
> 01:00.0 VGA compatible controller: NVIDIA Corporation GT216GLM [Quadro FX 880M] (rev a2)
> Subsystem: Lenovo Device 2145
> Kernel driver in use: nvidia

> $ date ; lspci -k | fgrep -ie 'NVIDIA' -A2
> Mon Jul 10 23:52:50 MST 2017
> 01:00.0 VGA compatible controller: NVIDIA Corporation GT216GLM [Quadro FX 880M] (rev a2)
> Subsystem: Lenovo Device 2145
> Kernel driver in use: nvidia
> 01:00.1 Audio device: NVIDIA Corporation GT216 HDMI Audio Controller (rev a1)
> Subsystem: Lenovo Device 219a
> Kernel driver in use: snd_hda_intel

I'd appreciate assistance from anyone who knows how I can re-enable GLX properly.

Chatoo68
Level 1
Level 1
Posts: 5
Joined: Tue Feb 18, 2014 7:30 am

Re: X+Wayland update breaks Cinnamon 3.4.4

Postby Chatoo68 » Tue Jul 11, 2017 3:15 pm

I had the same problem and fixed it like this:

1. Downgrade the guilty packages:
sudo apt-get install xserver-xorg-core=2:1.16.4-1 xserver-common=2:1.16.4-1 xnest=2:1.16.4-1 xserver-xephyr=2:1.16.4-1

2. Reinstall NVIDIA Drivers

Maybe the first point is not necessary and reinstalling the NVIDIA Driver should be enough ?

Good Luck

TomRoche
Level 4
Level 4
Posts: 243
Joined: Thu Jan 13, 2011 2:52 pm

Re: X+Wayland update breaks Cinnamon 3.4.4

Postby TomRoche » Tue Jul 11, 2017 3:49 pm

Chatoo68 wrote:Maybe the first point is not necessary and reinstalling the NVIDIA Driver should be enough?


I'll try that first. One more question: what did you use to reinstall the NVIDIA driver? `sgfxi`?

Chatoo68
Level 1
Level 1
Posts: 5
Joined: Tue Feb 18, 2014 7:30 am

Re: X+Wayland update breaks Cinnamon 3.4.4

Postby Chatoo68 » Tue Jul 11, 2017 4:03 pm

I have LMDE 2 + Cinnamon 3.4.4 with the debian backport kernel 4.9 and the latest nvidia driver v375.66 from nvidia itself:
http://www.nvidia.com/object/unix.html

Don't install this version of the driver I you have a debian stable kernel aka v3.16.

Frankly I don't know how to install your version of driver, maybe apt-get purge and then reinstall ?

Hope this helps

TomRoche
Level 4
Level 4
Posts: 243
Joined: Thu Jan 13, 2011 2:52 pm

FIX: reinstall/update NVIDIA driver

Postby TomRoche » Tue Jul 11, 2017 6:19 pm

Thanks to Chatoo68's suggestion, my Cinnamon now appears unbroken, and I only needed to reinstall my NVIDIA driver: no package rollback necessary. Following is my fix process: it's waaay overdetailed for most folks on this forum, but notes regarding some anxious moments will hopefully benefit any newbies who may stumble down this or related path:

0. Install dependencies for the following process (if you haven't already):

0.1. required: sgfxi. It will want to be on your path, e.g., `/usr/local/bin/`.

0.2. recommended: update_video_driver.sh. `sgfxi` works great, but it must be run from a TTY (which makes sense, since it's installing video drivers). As a result, one cannot cut'n'paste its spew as one would if running in a terminal in tty7. Hence I made this script which logs `sgfxi` output to a file, and checks some other things. (Pull requests welcome!) Install it wherever, just note the location, and `chmod` as needed.

1. Goto tty1 with `C-A-F1`, or to other TTY of your choice.

2. In your TTY, get root with (e.g.) `sudo su -`. (Rootliness also required by `sgfxi`.)

3. Run `/path/to/update_video_driver.sh`, which

3.1. created logfile at (in my case) `/home/me/bin/update_video_driver_log__20170711_1324.txt`

3.2. called `sgfxi`

3.3. filled logfile with following:

> update_video_driver.sh::setup_logging:: logging to file='/home/me/bin/update_video_driver_log__20170711_1324.txt'
> update_video_driver.sh:: about to run sgfxi @ Tue Jul 11 13:24:55 MST 2017:
> 'default(s):' - The driver installed automatically by sgfxi unless it is not supported by
> Requires previous install with sgfxi of the same driver to work. This feature only
> supports nVidia drivers. sgfxi defaults to building modules for kernels automatically.
> Hint: sgfxi -! 40 will install modules to all your non-running kernels automatically!
> -K Installs nVidia/fglrx driver for another kernel. Syntax: sgfxi -K 2.6.25-2
> sgfxi will double check that the kernel exists (Debian/Ubuntu only).
> v to show current latest local + remote sgfxi svn/server version information.
> -m Overrides default (-d) dkms driver method, uses sgfxi's old method, kernel-source + m-a build
> -N Force install of specific xorg driver. Syntax: sgfxi -N <driver> Ex: sgfxi -N radeon
> -U Forces sgfxi to update itself, must be root, but can be in x. Exits after.
> -v Prints sgfxi current version information. Exits after.
> been downloaded using sgfxi previously. Because using this option can have unknown or unintended
> consequences, only use it if you are following instructions to do so. sgfxi always saves its
> You must have already installed an nVidia driver with sgfxi to use -! 40
> Note: if your installed driver is NOT the default sgfxi offers, you have to
> as well as the -! 40 option. EG: to install beta to all kernels: sgfxi -B -! 40
> --debugger Create debugger data file in /root/sgfxi-data - the file is a gz file that holds
> whatever might be helpful to debugging sgfxi issues, like xorg.conf, lspci, inxi
> like dropbox.com then give me the url to the uploaded file. If sgfxi has an internet
> Checking sgfxi versions.... update required: local: 4.24.65 - remote: 4.24.11
> Updating sgfxi now using the default server
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> sgfxi :: version: 4.24.11 :: last updated: 2017-07-02
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> graphics card information:
> series: NVIDIA Corporation GT216GLM [Quadro FX 880M] (rev a2)
> vendor: Lenovo
> ram: 256M
> 32M (note: not accurate for built in graphics)
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> The graphics installer will be installing the nvidia driver: 340.102

I believe my previous NVIDIA driver version=340.93, but that's just from previous notes: I should have previously queried `nvidia-settings --version` (but will add that to the script).

> Please select from the following options:
> <enter> - hit enter key to continue with nvidia driver install (default)
> i + <enter> - add/configure ia32-libs-i386 before doing the driver install. This lets things
> like openGL 32 bit apps and Steam work smoothly with your 64 bit nvidia driver.
> x + <enter> - exit now if there is an error.

Here I took the null default (i.e., just <enter>).

> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> Starting nvidia module build process checks for kernel: 3.16.0-4-amd64
> Checking for driver run package NVIDIA-Linux-x86_64-340.102.... NOT FOUND
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> Unable to rebuild module from previous driver install. Reinstalling driver instead.
> Downloading NVIDIA-Linux-x86_64-340.102.run from https://download.nvidia.com/XFree86/Lin ... 340.102/...
> Extracting NVIDIA-Linux-x86_64-340.102.run...
> Attempting to stop display manager mdm now...
> Stopping MDM Display Manager: mdm.
> Display manager stop sucessful.
> Preparing driver install...
> Running preinstall cleanup...
> Running driver installer for 340.102 (this might take a while)...
> Running post installer steps...
> Backup copy of your previous version: /etc/X11/xorg.conf-bu-2017-07-11-13:27:23
> Updating your /etc/X11/xorg.conf file now...
> Finalizing install...
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> Congratulations! It looks like your new 340.102 nvidia driver installed successfully!
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> Your driver install is now finished. You have the following options:
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> 1) start-desktop - All finished, (re-)start desktop now.
> 2) quit - Quit now, to do something else before starting your desktop.
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

I took option=1, but probably should have taken option=2 and then restarted from commandline with (e.g.) `shutdown -Ph now`.

> Ok, starting your desktop now, thanks for using this script.
> Attempting to start display manager mdm now...
> Starting MDM Display Manager: mdm.

4. As noted above, I chose exit option=1==start-desktop. This appeared to work normally, in that I soon thereafter saw what appeared to be a fully-functional login/MDM ... except that

- mouse pointer would not move from center screen
- keyboard failed to type text in password textbox

5. Attempted to reboot the box. All attempts failed except the last:

5.1. Alt-SysRq-[REISUB]: no visible change

5.2. Exit to tty1, etc: all of Ctrl-Alt-F[1,2,3,4,5] failed with no visible change

5.3. BRS: hit power button to force cold boot

6. On reboot:

6.1. Good news: process seemed to go normally from start/GRUB through login/MDM, where I was able to type my password normally.

6.2. Bad news: after login, and the brief period of blank/black screen, I saw once again the dreaded Cinnamon failure dialog: (bold text @ top, which I'm interpreting as) title='Cinnamon just crashed. You are currently running in Fallback Mode.' and body='Do you want to restart Cinnamon?'.

6.3. Good news: hitting button=Yes on the Cinnamon failure dialog caused screen to flash, then ... an apparently normal Cinnamon session sans failure dialog :-) Fn-F4 works again <whew/>

youstupiddarkness
Level 1
Level 1
Posts: 21
Joined: Sat Jun 17, 2017 8:29 pm

Re: [SOLVED] X+Wayland update breaks Cinnamon 3.4.4

Postby youstupiddarkness » Wed Jul 12, 2017 7:55 pm

The xorg updates change one or more symlinks for the openGL libraries to the open Mesa library if you have manually installed the Nvidia drivers. This is because the system really doesn't know about those manually installed closed drivers. If you install the proprietary drivers from the non-free section of the Debian repos, the system knows about them, and the symlinks are maintained correctly.

It's not the security update for xorg that is broken--this has been happening for years and years, which is how I know what's going on. It's OK to upgrade the xorg packages and manually fix the symlinks afterward, or reinstall the Nvidia driver manually, which also should fix the links. Or install the Debianized version of the driver.


Return to “Software & Applications”