Running X on a headless Beaglebone black...problems

Hi,

The Beaglebone Black runs Gentoo Linux with kernel 3.8.13-bone67.
After trying to switch to newer system I found some missing features
and new features :wink: I dont prefer over 3.8.13-bone67. So I will stay
with this one until its worth to switch.

My Beaglebone Black should run in headless mode: No kind of display
is attached.

But I want to run X and use X forwarding to my PC.
Unfortunately X does not start...

Log:
beagleboneblack:/home/mccramer>cat /var/log/Xorg.0.log
[ 3544.547]
X.Org X Server 1.15.0
Release Date: 2013-12-27
[ 3544.554] X Protocol Version 11, Revision 0
[ 3544.557] Build Operating System: Linux 3.8.13-20150516.01-bone53 armv7l Gentoo
[ 3544.559] Current Operating System: Linux beagleboneblack 3.8.13-bone67 #2 SMP Thu Sep 25 05:52:37 CEST 2014 armv7l
[ 3544.561] Kernel command line: console=tty1 root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait fixrtc capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN,BB-BONE-EMMC-2G
[ 3544.566] Build Date: 09 June 2014 04:21:01PM
[ 3544.568]
[ 3544.570] Current version of pixman: 0.32.4
[ 3544.574] Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
[ 3544.575] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 3544.588] (==) Log file: "/var/log/Xorg.0.log", Time: Sat Oct 11 04:12:05 2014
[ 3544.619] (==) Using config directory: "/etc/X11/xorg.conf.d"
[ 3544.621] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 3544.629] (==) No Layout section. Using the first Screen section.
[ 3544.629] (==) No screen section available. Using defaults.
[ 3544.630] (**) |-->Screen "Default Screen Section" (0)
[ 3544.630] (**) | |-->Monitor "<default monitor>"
[ 3544.636] (==) No monitor specified for screen "Default Screen Section".
        Using a default monitor configuration.
[ 3544.637] (==) Automatically adding devices
[ 3544.637] (==) Automatically enabling devices
[ 3544.637] (==) Automatically adding GPU devices
[ 3544.701] (**) FontPath set to:
        /usr/share/fonts/terminus,
        /usr/share/fonts/dina,
        /usr/share/fonts/proggy-fonts,
        /usr/share/fonts/misc/,
        /usr/share/fonts/TTF/,
        /usr/share/fonts/OTF/,
        /usr/share/fonts/Type1/,
        /usr/share/fonts/100dpi/,
        /usr/share/fonts/75dpi/
[ 3544.701] (==) ModulePath set to "/usr/lib/xorg/modules"
[ 3544.701] (II) The server relies on udev to provide the list of input devices.
        If no devices become available, reconfigure udev or disable AutoAddDevices.
[ 3544.703] (II) Loader magic: 0x1c8e68
[ 3544.703] (II) Module ABI versions:
[ 3544.703] X.Org ANSI C Emulation: 0.4
[ 3544.703] X.Org Video Driver: 15.0
[ 3544.704] X.Org XInput driver : 20.0
[ 3544.704] X.Org Server Extension : 8.0
[ 3544.711] Initializing built-in extension Generic Event Extension
[ 3544.713] Initializing built-in extension SHAPE
[ 3544.716] Initializing built-in extension MIT-SHM
[ 3544.718] Initializing built-in extension XInputExtension
[ 3544.721] Initializing built-in extension XTEST
[ 3544.723] Initializing built-in extension BIG-REQUESTS
[ 3544.724] Initializing built-in extension SYNC
[ 3544.726] Initializing built-in extension XKEYBOARD
[ 3544.727] Initializing built-in extension XC-MISC
[ 3544.728] Initializing built-in extension XINERAMA
[ 3544.730] Initializing built-in extension XFIXES
[ 3544.732] Initializing built-in extension RENDER
[ 3544.733] Initializing built-in extension RANDR
[ 3544.734] Initializing built-in extension COMPOSITE
[ 3544.735] Initializing built-in extension DAMAGE
[ 3544.736] Initializing built-in extension MIT-SCREEN-SAVER
[ 3544.737] Initializing built-in extension DOUBLE-BUFFER
[ 3544.739] Initializing built-in extension RECORD
[ 3544.740] Initializing built-in extension DPMS
[ 3544.741] Initializing built-in extension Present
[ 3544.742] Initializing built-in extension DRI3
[ 3544.743] Initializing built-in extension X-Resource
[ 3544.745] Initializing built-in extension XVideo
[ 3544.745] Initializing built-in extension XVideo-MotionCompensation
[ 3544.747] Initializing built-in extension XFree86-VidModeExtension
[ 3544.747] Initializing built-in extension XFree86-DGA
[ 3544.749] Initializing built-in extension XFree86-DRI
[ 3544.751] Initializing built-in extension DRI2
[ 3544.751] (II) LoadModule: "glx"
[ 3544.758] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 3544.852] (II) Module glx: vendor="X.Org Foundation"
[ 3544.852] compiled for 1.15.0, module version = 1.0.0
[ 3544.852] ABI class: X.Org Server Extension, version 8.0
[ 3544.852] (==) AIGLX enabled
[ 3544.856] Loading extension GLX
[ 3544.856] (==) Matched modesetting as autoconfigured driver 0
[ 3544.856] (==) Matched fbdev as autoconfigured driver 1
[ 3544.857] (==) Assigned the driver to the xf86ConfigLayout
[ 3544.857] (II) LoadModule: "modesetting"
[ 3544.861] (WW) Warning, couldn't open module modesetting
[ 3544.862] (II) UnloadModule: "modesetting"
[ 3544.862] (II) Unloading modesetting
[ 3544.862] (EE) Failed to load module "modesetting" (module does not exist, 0)
[ 3544.862] (II) LoadModule: "fbdev"
[ 3544.864] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[ 3544.869] (II) Module fbdev: vendor="X.Org Foundation"
[ 3544.869] compiled for 1.15.0, module version = 0.4.4
[ 3544.869] Module class: X.Org Video Driver
[ 3544.869] ABI class: X.Org Video Driver, version 15.0
[ 3544.870] (II) FBDEV: driver for framebuffer: fbdev
[ 3544.870] (--) using VT number 7

[ 3544.872] (WW) Falling back to old probe method for fbdev
[ 3544.872] (II) Loading sub module "fbdevhw"
[ 3544.872] (II) LoadModule: "fbdevhw"
[ 3544.875] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 3544.879] (II) Module fbdevhw: vendor="X.Org Foundation"
[ 3544.880] compiled for 1.15.0, module version = 0.0.2
[ 3544.880] ABI class: X.Org Video Driver, version 15.0
[ 3544.881] (EE) open /dev/fb0: No such file or directory
[ 3544.881] (EE) No devices detected.
[ 3544.883] (EE)
Fatal server error:
[ 3544.889] (EE) no screens found(EE)
[ 3544.895] (EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
for help.
[ 3544.900] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[ 3544.903] (EE)
[ 3544.908] (EE) Server terminated with error (1). Closing log file.

I googled for the missing "modesetting" module but as it seems it is
not needed.

I tried to modprobe -a omapfbdev (the module exists):
beagleboneblack:modules/3.8.13-bone67>modprobe -a omapfb
modprobe: ERROR: could not insert 'omapfb': No such device
[1] 6174 exit 1 modprobe -a omapfb

Since omapfb depends on omabdss (dependency graph of the kernel) I
tried to modprobe -a omapdss:
modprobe: ERROR: could not insert 'omapdss': No such device
[1] 6178 exit 1 modprobe -a omapdss

Now dont know how to proceed.

What do I need to do to run X on a headless Beaglebone black to
use X forwarding?

Thank you very much in advance for any help!

Have a nice weekend! :slight_smile:
Best regards,
mcc

Xvfb is the answer.
https://wiki.archlinux.org/index.php/Headless_With_X

With the Xvfb package installed on Ubuntu ARM and over an ssh login "Xvfb &", works without any of the other stuff mentioned in the URL above or on Wikipedia.
Regards
Sid.

Hi Sid,

THANKS A LOT for this!
Great!
No hassle with MIT Cookies and xauth and...
Best!
Again a live was saved! :wink:
Best regards,
mcc

Sid Boyce <sboyce@blueyonder.co.uk> [14-10-11 07:40]:

You don't need X running on the client machine (which the BBB is in
this case if I understand what you're trying to do).

The sequence to run an X application on the BBB with the desktop on
your display would be:-

    chris$ ssh -X BBB
    Debian GNU/Linux 7

    BeagleBoard.org BeagleBone Debian Image 2014-09-04

    Support/FAQ: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian
    chris@bbb's password:
    Last login: Thu Sep 18 01:54:51 2014 from chris.zbmc.eu
    chris@beaglebone:~$ abiword

... and abiword runs on the BBB but is displayed on my desktop. The
machine on which the X display runs is the X server, the machine running
the application is the X client.

No problem,
I have used it on Beaglebone White and now on a Parallella-16 where the latest kernel has a yet unfixed problem starting X so I run GUI programs that way.

X worked on the previous kernel but I need other functions available only on the latest one.
Regards
Sid.