sitespeedio / sitespeed.io

sitespeed.io is an open-source tool for comprehensive web performance analysis, enabling you to test, monitor, and optimize your website’s speed using real browsers in various environments.
https://www.sitespeed.io/
MIT License
4.75k stars 603 forks source link

Invalid screen configuration error when using Android, Chrome and Docker #1708

Closed moehlone closed 7 years ago

moehlone commented 7 years ago

Hi,

I followed all steps mentioned here: https://www.sitespeed.io/documentation/sitespeed.io/mobile-phones/.

When I run everything with docker: $ docker run --privileged --shm-size=1g --rm -v "$(pwd)":/sitespeed.io sitespeedio/sitespeed.io --xvfb false --browsertime.chrome.android.package com.android.chrome https://www.sitespeed.io

I get the following output:

Google Chrome 60.0.3112.78 Mozilla Firefox 54.0 [2017-09-13 13:24:53] INFO: Versions OS: linux 4.9.41-moby nodejs: v6.11.1 sitespeed.io: 5.5.0 browsertime: 1.6.1 coach: 0.36.0 [2017-09-13 13:24:53] INFO: Starting chrome for analysing https://www.sitespeed.io 3 time(s) Invalid screen configuration undefinedx24 use: X [:] [option] -a # default pointer acceleration (factor) -ac disable access control restrictions -audit int set audit trail level -auth file select authorization file -br create root window with black background +bs enable any backing store support -bs disable any backing store support -c turns off key-click c # key-click volume (0-100) -cc int default color visual class -nocursor disable the cursor -core generate core dump on fatal error -displayfd fd file descriptor to write display number to when ready to connect -dpi int screen resolution in dots per inch -dpms disables VESA DPMS monitor control -deferglyphs [none|all|16] defer loading of [no|all|16-bit] glyphs -f # bell base (0-100) -fc string cursor font -fn string default font name -fp string default font path -help prints message with these options +iglx Allow creating indirect GLX contexts -iglx Prohibit creating indirect GLX contexts (default) -I ignore all remaining arguments -ld int limit data space to N Kb -lf int limit number of open files to N -ls int limit stack space to N Kb -nolock disable the locking mechanism -maxclients n set maximum number of clients (power of two) -nolisten string don't listen on protocol -listen string listen on protocol -noreset don't reset after last client exists -background [none] create root window with no background -reset reset after last client exists -p # screen-saver pattern duration (minutes) -pn accept failure to listen on all ports -nopn reject failure to listen on all ports -r turns off auto-repeat r turns on auto-repeat -render [default|mono|gray|color] set render color alloc policy -retro start with classic stipple and cursor -s # screen-saver timeout (minutes) -seat string seat to run on -t # default pointer threshold (pixels/t) -terminate terminate at server reset -to # connection time out -tst disable testing extensions ttyxx server started from init on /dev/ttyxx v video blanking for screen-saver -v screen-saver without video blanking -wm WhenMapped default backing-store -wr create root window with white background -maxbigreqsize set maximal bigrequest size +xinerama Enable XINERAMA extension -xinerama Disable XINERAMA extension -dumbSched Disable smart scheduling, enable old behavior -schedInterval int Set scheduler interval in msec -sigstop Enable SIGSTOP based startup +extension name Enable extension -extension name Disable extension -query host-name contact named host for XDMCP -broadcast broadcast for XDMCP -multicast [addr [hops]] IPv6 multicast for XDMCP -indirect host-name contact named host for indirect XDMCP -port port-num UDP port number to send messages to -from local-address specify the local address to connect from -once Terminate server after one session -class display-class specify display class to send in manage -cookie xdm-auth-bits specify the magic cookie for XDMCP -displayID display-id manufacturer display ID for request [+-]accessx [ timeout [ timeout_mask [ feedback [ options_mask] ] ] ] enable/disable accessx key sequences -ardelay set XKB autorepeat delay -arinterval set XKB autorepeat interval -screen scrn WxHxD set screen's width, height, depth -pixdepths list-of-int support given pixmap depths +/-render turn on/off RENDER extension support(default on) -linebias n adjust thin line pixelization -blackpixel n pixel value for black -whitepixel n pixel value for white -fbdir directory put framebuffers in mmap'ed files in directory -shmem put framebuffers in shared memory (EE) Fatal server error: (EE) Invalid screen configuration undefinedx24 for -screen 0 (EE)

When I run everything with the sitespeed.io package: sitespeed.io --browsertime.chrome.android.package com.android.chrome https://www.sitespeed.io .. everything works just fine. Did I miss/forgot anything or is this a known bug?

Best regards Philipp

soulgalore commented 7 years ago

Hey @moehlone , hmm then I think we have introduced a bug. The error is from xvfb or? I'll have a look at it on Friday (busy until then).

Are you running on Ubuntu? I see that I've missed that in the documentation. Running Android in Docker only works on Linux, the mapping for USB doesn't work on Mac OS X (I'll update the docs then too).

Best Peter

moehlone commented 7 years ago

Hi Peter,

yes, then this is the point.. I`m running Mac OS X :-)

soulgalore commented 7 years ago

I've updated the examples now and wrote about the Linux Docker only situation, the documentation on the site will be there in a couple of minutes. Sorry that I missed it before!