[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: Porting Xen in raspberry pi4B
Hi Vipul, Good progress! The main function we should check is "xenfb_refresh" but from the logs it looks like it is called several times. Which means that everything seems to be working as expected on the Linux side. It is time to investigate the QEMU side: ./hw/display/xenfb.c:xenfb_handle_events ./hw/display/xenfb.c:xenfb_map_fb I wonder if the issue is internal to QEMU. You might want to use an older QEMU version to check if it works, maybe 6.0 or 5.0 or even 4.0. I also wonder if it is a problem between xenfb.c and the rest of QEMU. I would investigate how xenfb->pixels is rendered by the rest of QEMU. Specifically you might want to look at the call to qemu_create_displaysurface, qemu_create_displaysurface_from and dpy_gfx_replace_surface in xenfb_update. I hope this helps. Cheers, Stefano On Tue, 13 Dec 2022, Vipul Suneja wrote: > Hi Stefano, > > Thanks! > > I modified xen-fbfront.c source file, included printk debug logs & cross > compiled it. I included the printk debug log at the entry & exit > of all functions of xen-fbfront.c file. > Generated kernel module & loaded in guest machine at bootup. I could see lots > of logs coming up, and could see multiple functions being > invoked even if I have not used vncviewer in the host. Attaching the log file > for reference. Any specific function or parameters that have > to be checked or any other suggestion as per logs? > > Thanks & Regards, > Vipul Kumar > > On Tue, Dec 13, 2022 at 3:44 AM Stefano Stabellini <sstabellini@xxxxxxxxxx> > wrote: > Hi Vipul, > > I am online on IRC OFTC #xendevel (https://www.oftc.net/, you need a > registered nickname to join #xendevel). > > For development and debugging I find that it is a lot easier to > crosscompile the kernel "by hand", and do a monolithic build, rather > than going through Yocto. > > For instance the following builds for me: > > cd linux.git > export ARCH=arm64 > export CROSS_COMPILE=/path/to/cross-compiler > make defconfig > [add printks to drivers/video/fbdev/xen-fbfront.c] > make -j8 Image.gz > > And Image.gz boots on Xen as DomU kernel without issues. > > Cheers, > > Stefano > > On Sat, 10 Dec 2022, Vipul Suneja wrote: > > Hi Stefano, > > > > Thanks! > > > > I have included printk debug logs in the xen-fbfront.c source file. > While cross compiling to generate .ko with > "xen-guest-image-minimal" > > toolchain it's throwing a modpost > > not found error. I could see the modpost.c source file but the final > script is missing. Any input on this, Below are the > logs: > > > > > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer$ > make > > make ARCH=arm64 > -I/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/usr/include/asm -C > > > /opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-standard/build > > > M=/home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer > modules > > make[1]: Entering directory > '/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-standard/build' > > arch/arm64/Makefile:36: Detected assembler with broken .inst; > disassembly will be unreliable > > warning: the compiler differs from the one used to build the kernel > > The kernel was built by: gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0 > > You are using: aarch64-poky-linux-gcc (GCC) 11.3.0 > > CC [M] > /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer/xen-fbfront.o > > MODPOST > /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer/Module.symvers > > /bin/sh: 1: scripts/mod/modpost: not found > > make[2]: *** [scripts/Makefile.modpost:133: > > /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer/Module.symvers] > > Error 127 > > make[1]: *** [Makefile:1813: modules] Error 2 > > make[1]: Leaving directory > '/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-standard/build' > > make: *** [Makefile:5: all] Error 2 > > > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer$ > ls -l > > total 324 > > -rwxrwxrwx 1 agl agl 359 Dec 10 22:41 Makefile > > -rw-rw-r-- 1 agl agl 90 Dec 10 22:49 modules.order > > -rw-r--r-- 1 agl agl 18331 Dec 1 20:32 xen-fbfront.c > > -rw-rw-r-- 1 agl agl 90 Dec 10 22:49 xen-fbfront.mod > > -rw-rw-r-- 1 agl agl 297832 Dec 10 22:49 xen-fbfront.o > > > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer$ > file xen-fbfront.o > > xen-fbfront.o: ELF 64-bit LSB relocatable, ARM aarch64, version 1 > (SYSV), with debug_info, not stripped > > > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer$ > > > > I have connected a HDMI based 1980x1024 resolution display screen to > raspberrypi4 for testing purposes. I hope connecting > this display to > > rpi4 should be ok. > > > > Is there any other way we can connect also for detailed discussion on > the display bringup issue? This will really help to > resolve this > > issue. > > > > Thanks & Regards, > > Vipul Kumar > > > > On Fri, Dec 2, 2022 at 1:02 AM Stefano Stabellini > <sstabellini@xxxxxxxxxx> wrote: > > On Thu, 1 Dec 2022, Vipul Suneja wrote: > > > Hi Stefano, > > > Thanks! > > > > > > I am exploring both options here, modification of framebuffer > source file & setting up x11vnc server in guest. > > > Other than these I would like to share a few findings with > you. > > > > > > 1. If i keep "CONFIG_XEN_FBDEV_FRONTEND=y" then > xen-fbfront.ko is not generating but if i keep > "CONFIG_XEN_FBDEV_FRONTEND=m" > > > then could see xen-fbfront.ko & its loading also. Same things > with other frontend/backend drivers also. Do we need to > > configure these > > > drivers as a module(m) only? > > > > xen-fbfront should work both as a module (xen-fbfront.ko) or > built-in > > (CONFIG_XEN_FBDEV_FRONTEND=y). > > > > > > > > > 2. I could see xenstored service is running for the host but > it's always failing for the guest machine. I could see > it in > > bootup logs & via > > > systemctl status also. > > > > That is normal. xenstored is only meant to be run in Dom0, not > in the > > domUs. If you use the same rootfs for Dom0 and DomU then > xenstored will > > fail starting in the DomU (but should succeed in Dom0), which > is what we > > want. > > > > If you run "xenstore-ls" in Dom0, you'll see a bunch of entries, > > including some of them related to "vfb" which is the virtual > framebuffer > > protocol. You should also see an entry called "state" set to > "4" which > > means "connected". state = 4 is usually when everything works. > Normally > > when things don't work state != 4. > > > > > > > > > Below are the logs: > > > [ OK ] Reached target Basic System. > > > [ OK ] Started Kernel Logging Service. > > > [ OK ] Started System Logging Service. > > > Starting D-Bus System Message Bus... > > > Starting User Login Management... > > > Starting Permit User Sessions... > > > Starting The Xen xenstore... > > > Starting OpenSSH Key Generation... > > > [FAILED] Failed to start The Xen xenstore. > > > See 'systemctl status xenstored.service' for details. > > > [DEPEND] Dependency failed for qemu for xen dom0 disk backend. > > > [DEPEND] Dependency failed for Xend…p guests on boot and > shutdown. > > > [DEPEND] Dependency failed for xen-…des, JSON configuration > stub). > > > [DEPEND] Dependency failed for Xenc…guest consoles and > hypervisor. > > > [ OK ] Finished Permit User Sessions. > > > [ OK ] Started Getty on tty1. > > > [ OK ] Started Serial Getty on hvc0. > > > [ OK ] Started Serial Getty on ttyS0. > > > [ OK ] Reached target Login Prompts. > > > Starting Xen-watchdog - run xen watchdog daemon... > > > [ OK ] Started D-Bus System Message Bus. > > > [ OK ] Started Xen-watchdog - run xen watchdog daemon. > > > [ OK ] Finished OpenSSH Key Generation. > > > [ OK ] Started User Login Management. > > > [ OK ] Reached target Multi-User System. > > > Starting Record Runlevel Change in UTMP... > > > [ OK ] Finished Record Runlevel Change in UTMP. > > > fbcon: Taking over console > > > > > > Poky (Yocto Project Reference Distro) 4.0.4 raspberrypi4-64 > hvc0 > > > > > > raspberrypi4-64 login: root > > > root@raspberrypi4-64:~# > > > root@raspberrypi4-64:~# > > > root@raspberrypi4-64:~# systemctl status xenstored.service > > > x xenstored.service - The Xen xenstore > > > Loaded: loaded (/lib/systemd/system/xenstored.service; > enabled; vendor preset: enabled) > > > Active: failed (Result: exit-code) since Thu 2022-12-01 > 06:12:05 UTC; 26s ago > > > Process: 195 ExecStartPre=/bin/grep -q control_d > /proc/xen/capabilities (code=exited, status=1/FAILURE) > > > > > > Dec 01 06:12:04 raspberrypi4-64 systemd[1]: Starting The Xen > xenstore... > > > Dec 01 06:12:05 raspberrypi4-64 systemd[1]: > xenstored.service: Control pro...URE > > > Dec 01 06:12:05 raspberrypi4-64 systemd[1]: > xenstored.service: Failed with...e'. > > > Dec 01 06:12:05 raspberrypi4-64 systemd[1]: Failed to start > The Xen xenstore. > > > Hint: Some lines were ellipsized, use -l to show in full. > > > root@raspberrypi4-64:~# > > > > > > Any input on these? > > > > > > Thanks & Regards, > > > Vipul Kumar > > > > > > On Wed, Nov 23, 2022 at 5:41 AM Stefano Stabellini > <sstabellini@xxxxxxxxxx> wrote: > > > Hi Vipul, > > > > > > I cannot spot any issue in the configuration, in > particual you have: > > > > > > CONFIG_XEN_FBDEV_FRONTEND=y > > > > > > which is what you need. > > > > > > The only thing I can suggest is to add printks to the > Linux frontend > > > driver (the one running in the domU) which is > > > drivers/video/fbdev/xen-fbfront.c and printfs to the > QEMU backend > > > (running in Dom0) which is hw/display/xenfb.c to figure > out what is > > > going on. > > > > > > > > > Alternatively, you can setup PV network with the domU, > such as: > > > > > > vif=[''] > > > > > > and then run x11 and a x11vnc server in your domU. You > should be able to > > > connect to it using vncviewer at the network IP of your > domU. > > > > > > Basically you are skipping the problem because instead > of using the PV > > > framebuffer protocol, you just use VNC over the network > with the domU. > > > > > > > > > Cheers, > > > > > > Stefano > > > > > > > > > On Tue, 22 Nov 2022, Vipul Suneja wrote: > > > > Hi Stefano, > > > > Thanks for the support! > > > > > > > > Looks like I have tried all the combinations & > possible ways to get display up but failed. Is there any > document or > > pdf for > > > porting xen on > > > > raspberrypi4. > > > > I could find lot's of links telling the same but > couldn't see any official user guide or document from the > xen > > community on > > > the same. If > > > > there is something to refer > > > > to please share with me. > > > > I am attaching the kernel configuration file also, > just take a look if i have missed anything. > > > > Any other suggestions or input from your end could be > really helpful? > > > > > > > > Regards, > > > > Vipul Kumar > > > > > > > > On Fri, Nov 11, 2022 at 6:40 AM Stefano Stabellini > <sstabellini@xxxxxxxxxx> wrote: > > > > Hi Vipul, > > > > > > > > Sorry for the late reply. From the earlier logs > that you sent, it looks > > > > like everything should be working correctly. > Specifically: > > > > > > > > vfb = "" > > > > 1 = "" > > > > 0 = "" > > > > frontend = > "/local/domain/1/device/vfb/0" > > > > frontend-id = "1" > > > > online = "1" > > > > state = "4" > > > > vnc = "1" > > > > vnclisten = "127.0.0.1" > > > > vncdisplay = "0" > > > > vncunused = "1" > > > > sdl = "0" > > > > opengl = "0" > > > > feature-resize = "1" > > > > hotplug-status = "connected" > > > > request-update = "1" > > > > > > > > state "4" means "connected". So I would expect > that you should be able > > > > to connect to the vnc server using vncviewer. > You might not see anything > > > > (black screen) but you should definitely be > able to connect. > > > > > > > > I wouldn't try to launch x11 in the guest just > yet. fbcon in Linux is > > > > enough to render something on the screen. You > should be able to see the > > > > Linux text-based console rendered graphically, > connecting to it via vnc. > > > > > > > > Sorry for the basic question, but have you > tried all the following? > > > > > > > > vncviewer 127.0.0.1:0 > > > > vncviewer 127.0.0.1:1 > > > > vncviewer 127.0.0.1:2 > > > > vncviewer 127.0.0.1:5900 > > > > vncviewer 127.0.0.1:5901 > > > > vncviewer 127.0.0.1:5902 > > > > > > > > Given that from the xenstore-ls logs everything > seems to work correctly > > > > I am not sure what else to suggest. You might > have to add printf to QEMU > > > > ui/vnc.c and hw/display/xenfb.c to see what is > going wrong. > > > > > > > > Cheers, > > > > > > > > Stefano > > > > > > > > > > > > On Mon, 7 Nov 2022, Vipul Suneja wrote: > > > > > Hi Stefano, > > > > > Thanks! > > > > > > > > > > Any input further on "xenstore-ls" logs? > > > > > > > > > > I am trying to run the x0vncserver & x11vnc > server manually on guest machine(xen_guest_image_minimal) > image > > but it's > > > failing > > > > with the below > > > > > error. > > > > > > > > > > root@raspberrypi4-64:/usr/bin# x0vncserver > > > > > x0vncserver: unable to open display "" > > > > > root@raspberrypi4-64:/usr/bin# > > > > > root@raspberrypi4-64:/usr/bin# x11vnc > > > > > > ############################################################### > > > > > > #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@# > > > > > #@ > @# > > > > > #@ ** WARNING ** WARNING ** WARNING ** > WARNING ** @# > > > > > #@ > @# > > > > > #@ YOU ARE RUNNING X11VNC WITHOUT A > PASSWORD!! @# > > > > > #@ > @# > > > > > #@ This means anyone with network access to > this computer @# > > > > > #@ may be able to view and control your > desktop. @# > > > > > #@ > @# > > > > > #@ >>> If you did not mean to do this Press > CTRL-C now!! <<< @# > > > > > #@ > @# > > > > > > #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@# > > > > > #@ > @# > > > > > #@ You can create an x11vnc password file by > running: @# > > > > > #@ > @# > > > > > #@ x11vnc -storepasswd password > /path/to/passfile @# > > > > > #@ or x11vnc -storepasswd > /path/to/passfile @# > > > > > #@ or x11vnc -storepasswd > @# > > > > > #@ > @# > > > > > #@ (the last one will use ~/.vnc/passwd) > @# > > > > > #@ > @# > > > > > #@ and then starting x11vnc via: > @# > > > > > #@ > @# > > > > > #@ x11vnc -rfbauth /path/to/passfile > @# > > > > > #@ > @# > > > > > #@ an existing ~/.vnc/passwd file from > another VNC @# > > > > > #@ application will work fine too. > @# > > > > > #@ > @# > > > > > #@ You can also use the -passwdfile or > -passwd options. @# > > > > > #@ (note -passwd is unsafe if local users > are not trusted) @# > > > > > #@ > @# > > > > > #@ Make sure any -rfbauth and -passwdfile > password files @# > > > > > #@ cannot be read by untrusted users. > @# > > > > > #@ > @# > > > > > #@ Use x11vnc -usepw to automatically use > your @# > > > > > #@ ~/.vnc/passwd or ~/.vnc/passwdfile > password files. @# > > > > > #@ (and prompt you to create ~/.vnc/passwd > if neither @# > > > > > #@ file exists.) Under -usepw, x11vnc will > exit if it @# > > > > > #@ cannot find a password to use. > @# > > > > > #@ > @# > > > > > #@ > @# > > > > > #@ Even with a password, the subsequent VNC > traffic is @# > > > > > #@ sent in the clear. Consider tunnelling > via ssh(1): @# > > > > > #@ > @# > > > > > #@ > http://www.karlrunge.com/x11vnc/#tunnelling @# > > > > > #@ > @# > > > > > #@ Or using the x11vnc SSL options: -ssl and > -stunnel @# > > > > > #@ > @# > > > > > #@ Please Read the documentation for more > info about @# > > > > > #@ passwords, security, and encryption. > @# > > > > > #@ > @# > > > > > #@ > http://www.karlrunge.com/x11vnc/faq.html#faq-passwd @# > > > > > #@ > @# > > > > > #@ To disable this warning use the -nopw > option, or put @# > > > > > #@ 'nopw' on a line in your ~/.x11vncrc > file. @# > > > > > #@ > @# > > > > > > #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@# > > > > > > ############################################################### > > > > > 09/03/2018 12:58:41 x11vnc version: 0.9.16 > lastmod: 2019-01-05 pid: 424 > > > > > 09/03/2018 12:58:41 XOpenDisplay("") failed. > > > > > 09/03/2018 12:58:41 Trying again with > XAUTHLOCALHOSTNAME=localhost ... > > > > > 09/03/2018 12:58:41 > > > > > 09/03/2018 12:58:41 *** XOpenDisplay failed. > No -display or DISPLAY. > > > > > 09/03/2018 12:58:41 *** Trying ":0" in 4 > seconds. Press Ctrl-C to abort. > > > > > 09/03/2018 12:58:41 *** 1 2 3 4 > > > > > 09/03/2018 12:58:45 XOpenDisplay(":0") failed. > > > > > 09/03/2018 12:58:45 Trying again with > XAUTHLOCALHOSTNAME=localhost ... > > > > > 09/03/2018 12:58:45 XOpenDisplay(":0") failed. > > > > > 09/03/2018 12:58:45 Trying again with unset > XAUTHLOCALHOSTNAME ... > > > > > 09/03/2018 12:58:45 > > > > > > > > > > 09/03/2018 12:58:45 > *************************************** > > > > > 09/03/2018 12:58:45 *** XOpenDisplay failed > (:0) > > > > > > > > > > *** x11vnc was unable to open the X DISPLAY: > ":0", it cannot continue. > > > > > *** There may be "Xlib:" error messages above > with details about the failure. > > > > > > > > > > Some tips and guidelines: > > > > > > > > > > ** An X server (the one you wish to view) > must be running before x11vnc is > > > > > started: x11vnc does not start the X > server. (however, see the -create > > > > > option if that is what you really want). > > > > > > > > > > ** You must use -display <disp>, -OR- set and > export your $DISPLAY > > > > > environment variable to refer to the > display of the desired X server. > > > > > - Usually the display is simply ":0" (in > fact x11vnc uses this if you forget > > > > > to specify it), but in some multi-user > situations it could be ":1", ":2", > > > > > or even ":137". Ask your administrator or > a guru if you are having > > > > > difficulty determining what your X DISPLAY > is. > > > > > > > > > > ** Next, you need to have sufficient > permissions (Xauthority) > > > > > to connect to the X DISPLAY. Here are > some Tips: > > > > > > > > > > - Often, you just need to run x11vnc as the > user logged into the X session. > > > > > So make sure to be that user when you type > x11vnc. > > > > > - Being root is usually not enough because > the incorrect MIT-MAGIC-COOKIE > > > > > file may be accessed. The cookie file > contains the secret key that > > > > > allows x11vnc to connect to the desired X > DISPLAY. > > > > > - You can explicitly indicate which > MIT-MAGIC-COOKIE file should be used > > > > > by the -auth option, e.g.: > > > > > x11vnc -auth > /home/someuser/.Xauthority -display :0 > > > > > x11vnc -auth /tmp/.gdmzndVlR -display > :0 > > > > > you must have read permission for the auth > file. > > > > > See also '-auth guess' and '-findauth' > discussed below. > > > > > > > > > > ** If NO ONE is logged into an X session yet, > but there is a greeter login > > > > > program like "gdm", "kdm", "xdm", or > "dtlogin" running, you will need > > > > > to find and use the raw display manager > MIT-MAGIC-COOKIE file. > > > > > Some examples for various display managers: > > > > > > > > > > gdm: -auth /var/gdm/:0.Xauth > > > > > -auth /var/lib/gdm/:0.Xauth > > > > > kdm: -auth /var/lib/kdm/A:0-crWk72 > > > > > -auth /var/run/xauth/A:0-crWk72 > > > > > xdm: -auth > /var/lib/xdm/authdir/authfiles/A:0-XQvaJk > > > > > dtlogin: -auth /var/dt/A:0-UgaaXa > > > > > > > > > > Sometimes the command "ps wwwwaux | grep > auth" can reveal the file location. > > > > > > > > > > Starting with x11vnc 0.9.9 you can have it > try to guess by using: > > > > > > > > > > -auth guess > > > > > > > > > > (see also the x11vnc -findauth option.) > > > > > > > > > > Only root will have read permission for > the file, and so x11vnc must be run > > > > > as root (or copy it). The random > characters in the filenames will of course > > > > > change and the directory the cookie file > resides in is system dependent. > > > > > > > > > > See also: > http://www.karlrunge.com/x11vnc/faq.html > > > > > > > > > > Regards, > > > > > Vipul Kumar > > > > > > > > > > On Thu, Nov 3, 2022 at 10:27 PM Vipul Suneja > <vsuneja63@xxxxxxxxx> wrote: > > > > > Hi Stefano, > > > > > Thanks! > > > > > > > > > > I used xen-guest-image-minimal(simple console > based image) as a guest with fbcon & fbdev enabled in > kernel > > > configurations but > > > > still > > > > > the same error can't open the display. > > > > > below are the outcome of "xenstore-ls": > > > > > > > > > > root@raspberrypi4-64:~/guest1# xenstore-ls > > > > > tool = "" > > > > > xenstored = "" > > > > > local = "" > > > > > domain = "" > > > > > 0 = "" > > > > > control = "" > > > > > feature-poweroff = "1" > > > > > feature-reboot = "1" > > > > > domid = "0" > > > > > name = "Domain-0" > > > > > device-model = "" > > > > > 0 = "" > > > > > backends = "" > > > > > console = "" > > > > > vkbd = "" > > > > > vfb = "" > > > > > qnic = "" > > > > > state = "running" > > > > > 1 = "" > > > > > backends = "" > > > > > console = "" > > > > > vkbd = "" > > > > > vfb = "" > > > > > qnic = "" > > > > > state = "running" > > > > > backend = "" > > > > > vbd = "" > > > > > 1 = "" > > > > > 51712 = "" > > > > > frontend = > "/local/domain/1/device/vbd/51712" > > > > > params = > "/home/root/guest2/xen-guest-image-minimal-raspberrypi4-64.ext3" > > > > > script = "/etc/xen/scripts/block" > > > > > frontend-id = "1" > > > > > online = "1" > > > > > removable = "0" > > > > > bootable = "1" > > > > > state = "4" > > > > > dev = "xvda" > > > > > type = "phy" > > > > > mode = "w" > > > > > device-type = "disk" > > > > > discard-enable = "1" > > > > > feature-max-indirect-segments = "256" > > > > > multi-queue-max-queues = "4" > > > > > max-ring-page-order = "4" > > > > > node = "/dev/loop0" > > > > > physical-device = "7:0" > > > > > physical-device-path = "/dev/loop0" > > > > > hotplug-status = "connected" > > > > > feature-flush-cache = "1" > > > > > discard-granularity = "4096" > > > > > discard-alignment = "0" > > > > > discard-secure = "0" > > > > > feature-discard = "1" > > > > > feature-barrier = "1" > > > > > feature-persistent = "1" > > > > > sectors = "1794048" > > > > > info = "0" > > > > > sector-size = "512" > > > > > physical-sector-size = "512" > > > > > vfb = "" > > > > > 1 = "" > > > > > 0 = "" > > > > > frontend = > "/local/domain/1/device/vfb/0" > > > > > frontend-id = "1" > > > > > online = "1" > > > > > state = "4" > > > > > vnc = "1" > > > > > vnclisten = "127.0.0.1" > > > > > vncdisplay = "0" > > > > > vncunused = "1" > > > > > sdl = "0" > > > > > opengl = "0" > > > > > feature-resize = "1" > > > > > hotplug-status = "connected" > > > > > request-update = "1" > > > > > vkbd = "" > > > > > 1 = "" > > > > > 0 = "" > > > > > frontend = > "/local/domain/1/device/vkbd/0" > > > > > frontend-id = "1" > > > > > online = "1" > > > > > state = "4" > > > > > feature-abs-pointer = "1" > > > > > feature-raw-pointer = "1" > > > > > hotplug-status = "connected" > > > > > console = "" > > > > > 1 = "" > > > > > 0 = "" > > > > > frontend = "/local/domain/1/console" > > > > > frontend-id = "1" > > > > > online = "1" > > > > > state = "1" > > > > > protocol = "vt100" > > > > > vif = "" > > > > > 1 = "" > > > > > 0 = "" > > > > > frontend = > "/local/domain/1/device/vif/0" > > > > > frontend-id = "1" > > > > > online = "1" > > > > > state = "4" > > > > > script = "/etc/xen/scripts/vif-bridge" > > > > > mac = "e4:5f:01:cd:7b:dd" > > > > > bridge = "xenbr0" > > > > > handle = "0" > > > > > type = "vif" > > > > > hotplug-status = "connected" > > > > > feature-sg = "1" > > > > > feature-gso-tcpv4 = "1" > > > > > feature-gso-tcpv6 = "1" > > > > > feature-ipv6-csum-offload = "1" > > > > > feature-rx-copy = "1" > > > > > feature-xdp-headroom = "1" > > > > > feature-rx-flip = "0" > > > > > feature-multicast-control = "1" > > > > > feature-dynamic-multicast-control = "1" > > > > > feature-split-event-channels = "1" > > > > > multi-queue-max-queues = "4" > > > > > feature-ctrl-ring = "1" > > > > > 1 = "" > > > > > vm = > "/vm/d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f" > > > > > name = "guest2" > > > > > cpu = "" > > > > > 0 = "" > > > > > availability = "online" > > > > > 1 = "" > > > > > availability = "online" > > > > > memory = "" > > > > > static-max = "2097152" > > > > > target = "2097152" > > > > > videoram = "0" > > > > > device = "" > > > > > suspend = "" > > > > > event-channel = "" > > > > > vbd = "" > > > > > 51712 = "" > > > > > backend = > "/local/domain/0/backend/vbd/1/51712" > > > > > backend-id = "0" > > > > > state = "4" > > > > > virtual-device = "51712" > > > > > device-type = "disk" > > > > > multi-queue-num-queues = "2" > > > > > queue-0 = "" > > > > > ring-ref = "8" > > > > > event-channel = "4" > > > > > queue-1 = "" > > > > > ring-ref = "9" > > > > > event-channel = "5" > > > > > protocol = "arm-abi" > > > > > feature-persistent = "1" > > > > > vfb = "" > > > > > 0 = "" > > > > > backend = > "/local/domain/0/backend/vfb/1/0" > > > > > backend-id = "0" > > > > > state = "4" > > > > > page-ref = "275022" > > > > > event-channel = "3" > > > > > protocol = "arm-abi" > > > > > feature-update = "1" > > > > > vkbd = "" > > > > > 0 = "" > > > > > backend = > "/local/domain/0/backend/vkbd/1/0" > > > > > backend-id = "0" > > > > > state = "4" > > > > > request-abs-pointer = "1" > > > > > page-ref = "275322" > > > > > page-gref = "1284" > > > > > event-channel = "10" > > > > > vif = "" > > > > > 0 = "" > > > > > backend = > "/local/domain/0/backend/vif/1/0" > > > > > backend-id = "0" > > > > > state = "4" > > > > > handle = "0" > > > > > mac = "e4:5f:01:cd:7b:dd" > > > > > mtu = "1500" > > > > > xdp-headroom = "0" > > > > > multi-queue-num-queues = "2" > > > > > queue-0 = "" > > > > > tx-ring-ref = "1280" > > > > > rx-ring-ref = "1281" > > > > > event-channel-tx = "6" > > > > > event-channel-rx = "7" > > > > > queue-1 = "" > > > > > tx-ring-ref = "1282" > > > > > rx-ring-ref = "1283" > > > > > event-channel-tx = "8" > > > > > event-channel-rx = "9" > > > > > request-rx-copy = "1" > > > > > feature-rx-notify = "1" > > > > > feature-sg = "1" > > > > > feature-gso-tcpv4 = "1" > > > > > feature-gso-tcpv6 = "1" > > > > > feature-ipv6-csum-offload = "1" > > > > > control = "" > > > > > shutdown = "" > > > > > feature-poweroff = "1" > > > > > feature-reboot = "1" > > > > > feature-suspend = "" > > > > > sysrq = "" > > > > > platform-feature-multiprocessor-suspend = > "1" > > > > > platform-feature-xs_reset_watches = "1" > > > > > data = "" > > > > > drivers = "" > > > > > feature = "" > > > > > attr = "" > > > > > error = "" > > > > > domid = "1" > > > > > store = "" > > > > > port = "1" > > > > > ring-ref = "233473" > > > > > console = "" > > > > > backend = > "/local/domain/0/backend/console/1/0" > > > > > backend-id = "0" > > > > > limit = "1048576" > > > > > type = "xenconsoled" > > > > > output = "pty" > > > > > tty = "/dev/pts/1" > > > > > port = "2" > > > > > ring-ref = "233472" > > > > > vnc-listen = "127.0.0.1" > > > > > vnc-port = "5900" > > > > > image = "" > > > > > device-model-pid = "788" > > > > > vm = "" > > > > > d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f = "" > > > > > name = "guest2" > > > > > uuid = > "d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f" > > > > > start_time = "1520600274.27" > > > > > libxl = "" > > > > > 1 = "" > > > > > device = "" > > > > > vbd = "" > > > > > 51712 = "" > > > > > frontend = > "/local/domain/1/device/vbd/51712" > > > > > backend = > "/local/domain/0/backend/vbd/1/51712" > > > > > params = > "/home/root/guest2/xen-guest-image-minimal-raspberrypi4-64.ext3" > > > > > script = "/etc/xen/scripts/block" > > > > > frontend-id = "1" > > > > > online = "1" > > > > > removable = "0" > > > > > bootable = "1" > > > > > state = "1" > > > > > dev = "xvda" > > > > > type = "phy" > > > > > mode = "w" > > > > > device-type = "disk" > > > > > discard-enable = "1" > > > > > vfb = "" > > > > > 0 = "" > > > > > frontend = "/local/domain/1/device/vfb/0" > > > > > backend = > "/local/domain/0/backend/vfb/1/0" > > > > > frontend-id = "1" > > > > > online = "1" > > > > > state = "1" > > > > > vnc = "1" > > > > > vnclisten = "127.0.0.1" > > > > > vncdisplay = "0" > > > > > vncunused = "1" > > > > > sdl = "0" > > > > > opengl = "0" > > > > > vkbd = "" > > > > > 0 = "" > > > > > frontend = > "/local/domain/1/device/vkbd/0" > > > > > backend = > "/local/domain/0/backend/vkbd/1/0" > > > > > frontend-id = "1" > > > > > online = "1" > > > > > state = "1" > > > > > console = "" > > > > > 0 = "" > > > > > frontend = "/local/domain/1/console" > > > > > backend = > "/local/domain/0/backend/console/1/0" > > > > > frontend-id = "1" > > > > > online = "1" > > > > > state = "1" > > > > > protocol = "vt100" > > > > > vif = "" > > > > > 0 = "" > > > > > frontend = "/local/domain/1/device/vif/0" > > > > > backend = > "/local/domain/0/backend/vif/1/0" > > > > > frontend-id = "1" > > > > > online = "1" > > > > > state = "1" > > > > > script = "/etc/xen/scripts/vif-bridge" > > > > > mac = "e4:5f:01:cd:7b:dd" > > > > > bridge = "xenbr0" > > > > > handle = "0" > > > > > type = "vif" > > > > > hotplug-status = "" > > > > > type = "pvh" > > > > > dm-version = "qemu_xen" > > > > > root@raspberrypi4-64:~/guest1# > > > > > > > > > > Any input as per above? Looking forward to > hearing from you. > > > > > > > > > > Regards, > > > > > Vipul Kumar > > > > > > > > > > On Wed, Oct 26, 2022 at 5:21 AM Stefano > Stabellini <sstabellini@xxxxxxxxxx> wrote: > > > > > Hi Vipul, > > > > > > > > > > If you look at the QEMU logs, it says: > > > > > > > > > > VNC server running on 127.0.0.1:5900 > > > > > > > > > > That is the VNC server you need to > connect to. So in theory: > > > > > > > > > > vncviewer 127.0.0.1:5900 > > > > > > > > > > should work correctly. > > > > > > > > > > > > > > > If you have: > > > > > > > > > > vfb = ["type=vnc"] > > > > > > > > > > in your xl config file and you have > "fbdev" in your Linux guest, it > > > > > should work. > > > > > > > > > > If you connect to the VNC server but > you get a black screen, it might be > > > > > a guest configuration issue. I would > try with a simpler guest, text only > > > > > (no X11, no Wayland) and enable the > fbdev console (fbcon). See > > > > > Documentation/fb/fbcon.rst in Linux. > You should be able to see a > > > > > graphical console over VNC. > > > > > > > > > > If that works, then you know that the > fbdev kernel driver (xen-fbfront) > > > > > works correctly. > > > > > > > > > > If it doesn't work, the output of > "xenstore-ls" would be interesting. > > > > > > > > > > Cheers, > > > > > > > > > > Stefano > > > > > > > > > > > > > > > On Wed, 19 Oct 2022, Vipul Suneja wrote: > > > > > > Hi Stefano, > > > > > > > > > > > > Thanks for the response! > > > > > > > > > > > > I am following the same link you > shared from the beginning. Tried the command "vncviewer > localhost:0" > > in DOM0 > > > but > > > > same > > > > > issue "Can't open > > > > > > display", below are the logs: > > > > > > > > > > > > root@raspberrypi4-64:~# vncviewer > localhost:0 > > > > > > > > > > > > TigerVNC Viewer 64-bit v1.11.0 > > > > > > Built on: 2020-09-08 12:16 > > > > > > Copyright (C) 1999-2020 TigerVNC Team > and many others (see README.rst) > > > > > > See https://www.tigervnc.org for > information on TigerVNC. > > > > > > Can't open display: > > > > > > > > > > > > Below are the netstat logs, i > couldn't see anything running at port 5900 or 5901: > > > > > > > > > > > > root@raspberrypi4-64:~# netstat -tuwx > > > > > > Active Internet connections (w/o > servers) > > > > > > Proto Recv-Q Send-Q Local Address > Foreign Address State > > > > > > tcp 0 164 192.168.1.39:ssh > 192.168.1.38:37472 ESTABLISHED > > > > > > Active UNIX domain sockets (w/o > servers) > > > > > > Proto RefCnt Flags Type > State I-Node Path > > > > > > unix 8 [ ] DGRAM > CONNECTED 10565 /dev/log > > > > > > unix 3 [ ] STREAM > CONNECTED 10891 /var/run/xenstored/socket > > > > > > unix 3 [ ] STREAM > CONNECTED 13791 > > > > > > unix 3 [ ] STREAM > CONNECTED 10843 /var/run/xenstored/socket > > > > > > unix 3 [ ] STREAM > CONNECTED 10573 /var/run/xenstored/socket > > > > > > unix 2 [ ] DGRAM > CONNECTED 14510 > > > > > > unix 3 [ ] STREAM > CONNECTED 13249 > > > > > > unix 2 [ ] DGRAM > CONNECTED 13887 > > > > > > unix 2 [ ] DGRAM > CONNECTED 10599 > > > > > > unix 3 [ ] STREAM > CONNECTED 14005 > > > > > > unix 3 [ ] STREAM > CONNECTED 13258 > > > > > > unix 3 [ ] STREAM > CONNECTED 13248 > > > > > > unix 3 [ ] STREAM > CONNECTED 14003 > > > > > > unix 3 [ ] STREAM > CONNECTED 10572 /var/run/xenstored/socket > > > > > > unix 3 [ ] STREAM > CONNECTED 10786 /var/run/xenstored/socket > > > > > > unix 3 [ ] DGRAM > CONNECTED 13186 > > > > > > unix 3 [ ] STREAM > CONNECTED 10864 /var/run/xenstored/socket > > > > > > unix 3 [ ] STREAM > CONNECTED 10812 /var/run/xenstored/socket > > > > > > unix 2 [ ] DGRAM > CONNECTED 14083 > > > > > > unix 3 [ ] STREAM > CONNECTED 10813 /var/run/xenstored/socket > > > > > > unix 3 [ ] STREAM > CONNECTED 14068 > > > > > > unix 3 [ ] STREAM > CONNECTED 13256 > > > > > > unix 3 [ ] STREAM > CONNECTED 10571 /var/run/xenstored/socket > > > > > > unix 3 [ ] STREAM > CONNECTED 10842 > > > > > > unix 3 [ ] STREAM > CONNECTED 13985 > > > > > > unix 3 [ ] DGRAM > CONNECTED 13185 > > > > > > unix 2 [ ] STREAM > CONNECTED 13884 > > > > > > unix 2 [ ] DGRAM > CONNECTED 14528 > > > > > > unix 2 [ ] DGRAM > CONNECTED 13785 > > > > > > unix 3 [ ] STREAM > CONNECTED 14034 > > > > > > > > > > > > Attaching xen log files of > /var/log/xen. > > > > > > I didn't get the role of QEMU here > because as mentioned earlier, I am porting in raspberrypi > 4B. > > > > > > > > > > > > Regards, > > > > > > Vipul Kumar > > > > > > > > > > > > On Wed, Oct 19, 2022 at 12:43 AM > Stefano Stabellini <sstabellini@xxxxxxxxxx> wrote: > > > > > > It usually works the way it is > described in the guide: > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://www.virtuatopia.com/index.php?title=Configuring_a_VNC_based_Graphical_Console_for_a_Xen_Paravirtualized_domainU_Guest > > > > > > > > > > > > You don't need to install any > VNC-related server software because it is > > > > > > already provided by Xen (to be > precise it is provided by QEMU working > > > > > > together with Xen.) > > > > > > > > > > > > You only need the vnc client in > dom0 so that you can connect, but you > > > > > > could also run the vnc client > outside from another host. So basically > > > > > > the following should work when > executed in Dom0 after creating DomU: > > > > > > > > > > > > vncviewer localhost:0 > > > > > > > > > > > > Can you attach the Xen and QEMU > logs (/var/log/xen/*)? And also use > > > > > > netstat -taunp to check if > there is anything running at port 5900 or > > > > > > 5901? > > > > > > > > > > > > Cheers, > > > > > > > > > > > > Stefano > > > > > > > > > > > > > > > > > > On Tue, 18 Oct 2022, Vipul > Suneja wrote: > > > > > > > Hi Stefano, > > > > > > > > > > > > > > Thanks for the response! > > > > > > > > > > > > > > I could install tigerVNC, > x11vnc & libvncserver in Dom0 xen-image-minimal but only > manage to > > install > > > > > libvncserver(couldn't > > > > > > install tigervnc > > > > > > > & x11vnc because of x11 > > > > > > > support missing, it's > wayland) in DOMU custom graphical image. I tried running > vncviewer with > > IP > > > address & > > > > port > > > > > in dom0 to > > > > > > access the domu > > > > > > > graphical image display as > per below commands. > > > > > > > > > > > > > > vncviewer 192.168.1.42:5901 > > > > > > > > > > > > > > But it showing can't open > display, below are the logs: > > > > > > > > > > > > > > > root@raspberrypi4-64:~/guest1# vncviewer 192.168.1.42:5901 > > > > > > > > > > > > > > TigerVNC Viewer 64-bit v1.11.0 > > > > > > > Built on: 2020-09-08 12:16 > > > > > > > Copyright (C) 1999-2020 > TigerVNC Team and many others (see README.rst) > > > > > > > See https://www.tigervnc.org > for information on TigerVNC. > > > > > > > Can't open display: > > > > > > > root@raspberrypi4-64:~/guest1# > > > > > > > > > > > > > > I am not exactly sure what > the issue is but I thought only libvncserver in DOMU could > work to > > get > > > access but > > > > it > > > > > did not > > > > > > work. > > > > > > > If TigerVNC is the issue here > then is there any other VNC source which could be > installed for > > both > > > x11 & > > > > > wayland supported > > > > > > images? > > > > > > > > > > > > > > Regards, > > > > > > > Vipul Kumar > > > > > > > > > > > > > > On Tue, Oct 18, 2022 at 2:40 > AM Stefano Stabellini <sstabellini@xxxxxxxxxx> wrote: > > > > > > > VNC is typically easier > to setup, because SDL needs extra libraries at > > > > > > > build time and runtime. > If QEMU is built without SDL support it won't > > > > > > > start when you ask for > SDL. > > > > > > > > > > > > > > VNC should work with > both x11 and wayland in your domU. It doesn't work > > > > > > > at the x11 level, it > exposes a special fbdev device in your domU that > > > > > > > should work with: > > > > > > > - a graphical console > in Linux domU > > > > > > > - x11 > > > > > > > - wayland (but I > haven't tested this so I am not 100% sure about it) > > > > > > > > > > > > > > When you say "it > doesn't work", what do you mean? Do you get a black > > > > > > > window? > > > > > > > > > > > > > > You need > CONFIG_XEN_FBDEV_FRONTEND in Linux domU > > > > > > > > (drivers/video/fbdev/xen-fbfront.c). I would try to get a graphical text > > > > > > > console up and running > in your domU before attempting x11/wayland. > > > > > > > > > > > > > > Cheers, > > > > > > > > > > > > > > Stefano > > > > > > > > > > > > > > On Mon, 17 Oct 2022, > Vipul Suneja wrote: > > > > > > > > Hi, > > > > > > > > Thanks! > > > > > > > > > > > > > > > > I have ported xen > minimal image as DOM0 & custom wayland GUI based image as > DOMU in > > raspberry > > > pi4B. I > > > > > am trying to > > > > > > make GUI > > > > > > > display up > > > > > > > > for guest machine. I > tried using sdl, included below line in guest.conf file > > > > > > > > vfb= [ 'sdl=1' ] > > > > > > > > > > > > > > > > But it is throwing > below error: > > > > > > > > > > > > > > > > > root@raspberrypi4-64:~/guest1# xl create -c guest1.cfg > > > > > > > > Parsing config from > guest1.cfg > > > > > > > > libxl: error: > libxl_qmp.c:1400:qmp_ev_fd_callback: Domain 3:error on QMP > socket: > > Connection > > > reset by > > > > > peer > > > > > > > > libxl: error: > libxl_qmp.c:1439:qmp_ev_fd_callback: Domain 3:Error happened > with the > > QMP > > > connection to > > > > > QEMU > > > > > > > > libxl: error: > libxl_dm.c:3351:device_model_postconfig_done: Domain 3:Post DM > startup > > configs > > > failed, > > > > > rc=-26 > > > > > > > > libxl: error: > libxl_create.c:1867:domcreate_devmodel_started: Domain 3:device > model > > did not > > > start: > > > > -26 > > > > > > > > libxl: error: > libxl_aoutils.c:646:libxl__kill_xs_path: Device Model already > exited > > > > > > > > libxl: error: > libxl_domain.c:1183:libxl__destroy_domid: Domain 3:Non-existant > domain > > > > > > > > libxl: error: > libxl_domain.c:1137:domain_destroy_callback: Domain 3:Unable to > destroy > > guest > > > > > > > > libxl: error: > libxl_domain.c:1064:domain_destroy_cb: Domain 3:Destruction of > domain > > failed > > > > > > > > > > > > > > > > Another way is VNC, i > could install tigervnc in DOM0 but same i couldn't in > guest > > machine > > > because it > > > > > doesn't support > > > > > > > x11(supports wayland > > > > > > > > only). I am > completely blocked here, Need your support to enable the display > up. > > > > > > > > Any alternative of > VNC which could work in both x11 & wayland supported > images? > > > > > > > > > > > > > > > > Any input on VNC, SDL > or any other way to proceed on this? Looking forward to > hearing > > from > > > you. > > > > > > > > > > > > > > > > Regards, > > > > > > > > Vipul Kumar > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |