Bug 11288

Summary: X Server fails to start on qemuarm64 (need CONFIG_FB?)
Product: [Yocto Project Subprojects] Sato Reporter: Maxin B. John <maxin.john>
Component: satoAssignee: Jon Mason <jon.mason>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium+ CC: ashwinx.soman, bruce.ashfield, jku, jon.mason, joshuagloe, pankaj-y, randy.macleod, rpawan.1205
Version: 2.3   
Target Milestone: 2.7 M3   
Hardware: Other   
OS: arm64   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Don't know
Attachments:
Description Flags
X server fails to start in qemuarm64 none

Description Maxin B. John 2017-04-03 13:16:07 UTC
MACHINE is set as "qemuarm64"

# bitbake core-image-sato
# runqemu core-image-sato

core-image-sato on qemuarm64 fails to start x server (nographic boot works):

INIT: version 2.88 booting
Error opening /dev/fb0: No such file or directory
Starting udev
udev: Not using udev cache because of changes detected in the following files:
udev:     /proc/version /proc/cmdline /proc/devices
udev:     lib/udev/rules.d/* etc/udev/rules.d/*
udev: The udev cache will be regenerated. To identify the detected changes,
udev: compare the cached sysconf at   /etc/udev/cache.data
udev: against the current sysconf at  /dev/shm/udev.cache
[    3.490133] udevd[114]: starting version 3.2.1
[    3.565945] udevd[115]: starting eudev-3.2.1
[    7.780989] EXT4-fs (vda): re-mounted. Opts: data=ordered
Populating dev cache
ALSA: Restoring mixer settings...
/usr/sbin/alsactl: load_state:1735: No soundcards found...
INIT: Entering runlevel: 5
Configuring network interfaces... done.
Starting system message bus: dbus.
Starting Connection Manager
Starting Xserver
Starting Dropbear SSH server: 

X.Org X Server 1.19.1
Release Date: 2017-01-11
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.0.4-301.fc22.x86_64 x86_64 
Current Operating System: Linux qemuarm64 4.10.5-yocto-standard #1 SMP PREEMPT Mon Apr 3 15:27:00 EEST 2017 aarch64
Kernel command line: root=/dev/vda rw highres=off  console=ttyS0 mem=512M ip=192.168.7.2::192.168.7.1:255.255.255.0 console=ttyAMA0,38400 
Build Date: 03 April 2017  03:45:21PM
 
Current version of pixman: 0.34.0
	Before reporting problems, check http://wiki.x.org
	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: Mon Apr  3 12:59:28 2017
dropbear.
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
Starting rpcbind daemon...(EE) 
Fatal server error:
(EE) no screens found(EE) 
(EE) 
Please consult the The X.Org Foundation support 
	 at http://wiki.x.org
 for help. 
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
(EE) 
(EE) Server terminated with error (1). Closing log file.
done.
starting statd: done
Starting bluetooth
bluetoothd
Starting Distributed Compiler Daemon: distcc.
[   12.956969] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
starting 8 nfsd kernel threads: [   13.161482] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[   13.162611] NFSD: starting 90-second grace period (net ffffff80089d3980)
done
starting mountd: done
Starting syslogd/klogd: done
 * Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon
   ...done.
Starting Telephony daemon
Starting random number generator daemon.
[   14.085283] random: crng init done

---
root@qemuarm64:~# uname -a
Linux qemuarm64 4.10.5-yocto-standard #1 SMP PREEMPT Mon Apr 3 15:27:00 EEST 2017 aarch64 GNU/Linux
 
CONFIG_FB is not enabled on kernel

root@qemuarm64:~# zcat /proc/config.gz |grep CONFIG_FB
# CONFIG_FB is not set
---

Link:
http://errors.yoctoproject.org/Errors/Details/138859/
Comment 1 Bruce Ashfield 2017-04-12 17:29:51 UTC
I can accept this, but will have to find the cycles to look at it in the next week or so.
Comment 2 Joshua Lock 2018-01-18 15:46:38 UTC
*** Bug 12492 has been marked as a duplicate of this bug. ***
Comment 3 Joshua Lock 2018-01-18 15:48:02 UTC
We've not had X on qemuarm64 for a number of releases and it's unclear whether that's a limitation of the emulated architecture or simply that the kernel config is missing a required option.
Comment 4 Bruce Ashfield 2018-01-18 15:50:20 UTC
It is the platform that has the issues, enabling X is non-trivial.

We can turn on kernel options related to X all we like and you will still have missing devices to actually launch X.

I was working on this, and never did complete the research into what it would take to fix/enable the qemu bits.
Comment 5 Maxin B. John 2018-03-07 01:39:26 UTC
Since the effort required for this feature is higher than initially anticipated, can we agree to close this as "wontfix" ?
Comment 6 Maxin B. John 2018-04-10 06:48:16 UTC
Closing as wont fix.
Comment 7 Jon Mason 2018-11-07 17:08:31 UTC
I believe with the virtio-gpu option, it should be possible to get this working.

Reopening this bug to track and address this issue.
Comment 8 pankaj yadav 2018-12-24 06:49:40 UTC
Able to reproduce issue with 2.7M1RC1 release :

root@qemuarm64:/# zcat /proc/config.gz |grep CONFIG_FB
# CONFIG_FB is not set
root@qemuarm64:/# ps -e | grep X
root@qemuarm64:/#
Comment 9 pavan 2019-03-18 04:02:13 UTC
Able to reproduce this issue in 2.7_M2.RC2 release :

root@qemuarm64:/# zcat /proc/config.gz |grep CONFIG_FB
# CONFIG_FB is not set
root@qemuarm64:/# ps -e | grep X
root@qemuarm64:/#
Comment 10 pavan 2019-03-18 06:07:10 UTC
Created attachment 4447 [details]
X server fails to start in qemuarm64

X server fails to start.

Attached the log file Xorg.0.log
Comment 11 Jon Mason 2019-03-18 19:14:17 UTC
This is fixed in git master branch
commit b181bf92e2bc51a808478c12fe62177d966f2a85
Author: Jon Mason <jdmason@kudzu.us>
Date:   Tue Mar 5 17:32:18 2019 -0500

    qemuarm64: Add graphics support
    
    Add the necessary parts to qemuarm64.conf for graphics to be shown in
    the SDL window, and USB so that it is possible to interact with it.
    
    (From OE-Core rev: 7098a0e9115416b2cc1234e86893f8b9337e7849)
    
    Signed-off-by: Jon Mason <jdmason@kudzu.us>
    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>


This commit SHOULD be in 2.7 M3