Saturday, 18 October 2014

VMware - Where the X is my X ?

On a freshly minted VM of Red Hat Enterprise Linux 6.6 on VMware Fusion 7.0.0, I am trying to resolve a problem with a GUI application failing with a rather nice exception: -

java: cairo-misc.c:380: _cairo_operator_bounded_by_source: Assertion `NOT_REACHED' failed.

As part of my problem determination regime, I want to check whether the problem only occurs when tunnelling X11 from my Mac, via SSH, to the RHEL VM.

Therefore, I wanted to use X11 within the VMware terminal itself.

When I type startx, I get : -

-bash: startx: command not found

which makes sense since I didn't explicitly install X11 when I first built the VM.

Therefore, I need to install X11: -

yum install gdm

Some seventy RPMs later, I've got: -

Installed:
  gdm.i686 1:2.30.4-64.el6                                                                                        


so I again try startx: -

...
xauth:  creating new authority file /root/.serverauth.3966
xauth: (argv):1:  bad display name "tameb.uk.ibm.com:0" in "list" command
xauth: (stdin):1:  bad display name "tameb.uk.ibm.com:0" in "add" command
...

...
Loading extension GLX
(EE) 
Fatal server error:
(EE) no screens found(EE) 
(EE) 
...

which isn't too nice :-(

I go to check the video adapter: -

lspci | grep VGA

00:0f.0 VGA compatible controller: VMware SVGA II Adapter

at which point the penny drops.

I forgot to install VMware Tools ....

Having done this, alas, I got the same issue - no screens found :-(

Having rebooted, I tried running the VMware configuration utility again: -

vmware-config-tools.pl

taking the defaults: -

...
Distribution provided drivers for Xorg X server are used.

Skipping X configuration because X drivers are not included.

...

which made me think.

I checked to see what VMware drivers were available in the Yum repository: -

yum list | grep -i vmware

xorg-x11-drv-vmware.i686               13.0.1-9.el6                      server 

and installed the ( assume to be ) missing driver: -

yum install xorg-x11-drv-vmware.i686

Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package xorg-x11-drv-vmware.i686 0:13.0.1-9.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==================================================================================================================
 Package                            Arch                Version                       Repository             Size
==================================================================================================================
Installing:
 xorg-x11-drv-vmware                i686                13.0.1-9.el6                  server                 33 k

Transaction Summary
==================================================================================================================
Install       1 Package(s)

Total download size: 33 k
Installed size: 53 k
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : xorg-x11-drv-vmware-13.0.1-9.el6.i686                                                          1/1 
  Verifying  : xorg-x11-drv-vmware-13.0.1-9.el6.i686                                                          1/1 

Installed:
  xorg-x11-drv-vmware.i686 0:13.0.1-9.el6                                                                         

Complete!


That did the trick, I can now start X11: -

xauth:  creating new authority file /root/.serverauth.2222


X.Org X Server 1.15.0
Release Date: 2013-12-27
X Protocol Version 11, Revision 0
Build Operating System: x86-022 2.6.18-371.11.1.el5 
Current Operating System: Linux tameb.uk.ibm.com 2.6.32-504.el6.i686 #1 SMP Tue Sep 16 01:56:19 EDT 2014 i686
Kernel command line: ro root=/dev/mapper/vg_tameb-lv_root rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=uk LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=vg_tameb/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=129M@0M rd_LVM_LV=vg_tameb/lv_root rd_NO_DM rhgb quiet
Build Date: 03 September 2014  11:17:40AM
Build ID: xorg-x11-server 1.15.0-22.el6 
Current version of pixman: 0.32.4
Before reporting problems, check https://www.redhat.com/apps/support/
to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Sat Oct 18 09:29:20 2014
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
Initializing built-in extension Generic Event Extension
Initializing built-in extension SHAPE
Initializing built-in extension MIT-SHM
Initializing built-in extension XInputExtension
Initializing built-in extension XTEST
Initializing built-in extension BIG-REQUESTS
Initializing built-in extension SYNC
Initializing built-in extension XKEYBOARD
Initializing built-in extension XC-MISC
Initializing built-in extension SECURITY
Initializing built-in extension XINERAMA
Initializing built-in extension XFIXES
Initializing built-in extension RENDER
Initializing built-in extension RANDR
Initializing built-in extension COMPOSITE
Initializing built-in extension DAMAGE
Initializing built-in extension MIT-SCREEN-SAVER
Initializing built-in extension DOUBLE-BUFFER
Initializing built-in extension RECORD
Initializing built-in extension DPMS
Initializing built-in extension Present
Initializing built-in extension X-Resource
Initializing built-in extension XVideo
Initializing built-in extension XVideo-MotionCompensation
Initializing built-in extension SELinux
Initializing built-in extension XFree86-VidModeExtension
Initializing built-in extension XFree86-DGA
Initializing built-in extension XFree86-DRI
Initializing built-in extension DRI2
Loading extension GLX
gnome-session[2324]: WARNING: Unable to find provider 'gnome-panel' of required component 'panel'
gnome-session[2324]: WARNING: Unable to find provider 'nautilus' of required component 'filemanager'
GNOME_KEYRING_SOCKET=/tmp/keyring-fG4etF/socket
SSH_AUTH_SOCK=/tmp/keyring-fG4etF/socket.ssh
GNOME_KEYRING_PID=2358


I seem to have no keyboard or mouse support within the VMware console itself.

This gave me a pointer: -


and had me check what I had installed in terms of Xorg.

Xorg -version

X.Org X Server 1.15.0
Release Date: 2013-12-27
X Protocol Version 11, Revision 0
Build Operating System: x86-022 2.6.18-371.11.1.el5 
Current Operating System: Linux tameb.uk.ibm.com 2.6.32-504.el6.i686 #1 SMP Tue Sep 16 01:56:19 EDT 2014 i686
Kernel command line: ro root=/dev/mapper/vg_tameb-lv_root rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=uk LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=vg_tameb/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=129M@0M rd_LVM_LV=vg_tameb/lv_root rd_NO_DM rhgb quiet
Build Date: 03 September 2014  11:17:40AM
Build ID: xorg-x11-server 1.15.0-22.el6 
Current version of pixman: 0.32.4
Before reporting problems, check https://www.redhat.com/apps/support/
to make sure that you have the latest version.


rpm -qa | grep -i xorg

xorg-x11-xauth-1.0.2-7.1.el6.i686
xorg-x11-font-utils-7.2-11.el6.i686
xorg-x11-xinit-1.0.9-14.el6.i686
xorg-x11-apps-7.7-6.el6.i686
xorg-x11-server-Xorg-1.15.0-22.el6.i686
xorg-x11-utils-7.5-6.el6.i686
xorg-x11-drv-vmware-13.0.1-9.el6.i686
xorg-x11-drv-ati-firmware-7.3.99-2.el6.noarch
xorg-x11-fonts-Type1-7.2-9.1.el6.noarch
xorg-x11-server-utils-7.7-2.el6.i686
xorg-x11-proto-devel-7.7-9.el6.noarch
xorg-x11-xkb-utils-7.7-4.el6.i686
xorg-x11-server-common-1.15.0-22.el6.i686
xorg-x11-drv-wacom-0.23.0-4.el6.i686


This led me to install mouse and keyboard drivers for Xorg: -

yum install xorg-x11-drv-vmmouse.i686
yum install xorg-x11-drv-keyboard.i686

but I was still finding that the same problem persisted.

I checked the logs: -

cat /var/log/Xorg.0.log

...
[  3403.228] (EE) Failed to load module "evdev" (module does not exist, 0)
[  3403.228] (EE) No input driver matching `evdev'
[  3403.228] (EE) config/hal: NewInputDeviceRequest failed (15)
[  3411.917] (II) vmware(0): Terminating Xv video-stream id:0
[  3412.022] (EE) Server terminated successfully (0). Closing log file.
...

and installed the missing evdev driver: -

yum install xorg-x11-drv-evdev

Hurrah, now I have a working mouse and keyboard within the X11 console session :-)


6 comments:

Big Al said...

Thanks for your detailed breakdown of the steps you took but I'm not clear on whether you resolved the original problem, java: cairo-misc.c:380: _cairo_operator_bounded_by_source: Assertion `NOT_REACHED' failed. or if you just resolved the X11 display/mouse/keyboard issues?

I am experiencing the original problem, java: cairo-misc.c:380: _cairo_operator_bounded_by_source: Assertion `NOT_REACHED' failed. but I do not have issues around X11, etc.
Tellingly, when my app exits I don't see any issues in the Xorg.0.log

Dave Hay said...

Hi Al

So, thanks to my extended network, I found a circumvention to the problem that I was seeing.

I added: -

-Dorg.eclipse.swt.internal.gtk.cairoGraphics=false -Dorg.eclipse.swt.internal.gtk.useCairo=false

to the .ini file that I use to start Eclipse.

This comes from a variety of sources, including this one: -

http://blog.vogella.com/2012/07/26/using-windowbuilder-on-linux/

Please let me know if it's of use.

Cheers, Dave

Big Al said...

Excellent! Works like a charm.

Thank you.

Dave Hay said...

Sweet :-)

Dave Hay said...

Al, I *think* this is the Eclipse bug to which this relates: -

https://bugs.eclipse.org/bugs/show_bug.cgi?id=441705

Cheers, Dave

Barbara said...

Thanks for posting this - good stuff. :)

Yay, VMware Fusion and macOS Big Sur - no longer "NAT good friends" - forgive the double negative and the terrible pun ...

After macOS 11 Big Sur was released in 2020, VMware updated their Fusion product to v12 and, sadly, managed to break Network Address Trans...