[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Porting Xen in raspberry pi4B
- To: Stefano Stabellini <sstabellini@xxxxxxxxxx>
- From: Vipul Suneja <vsuneja63@xxxxxxxxx>
- Date: Mon, 19 Dec 2022 20:05:27 +0530
- Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx, oleksandr_andrushchenko@xxxxxxxx, oleksandr_tyshchenko@xxxxxxxx, jgross@xxxxxxxx, boris.ostrovsky@xxxxxxxxxx, Bertrand.Marquis@xxxxxxx, Stewart.Hildebrand@xxxxxxx, michal.orzel@xxxxxxx, vikram.garhwal@xxxxxxx
- Delivery-date: Mon, 19 Dec 2022 14:53:32 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
Hi Stefano, Thanks! I could prepare a patch for adding debug printf logs in xenfb.c & re-compile QEMU in yocto image. Just for reference, I have included logs in all the functions. Attaching qemu log file, could see the entry & exit logs coming up for "xenfb_handle_events" & "xenfb_map_fb" also after the host machine boots up. Can you please further assist, which parameters has to be cross checked or any other input as per logs?
Thanks & Regards, Vipul Kumar
Hi Vipul,
For QEMU you actually need to follow the Yocto build process to update
the QEMU binary. That is because QEMU is a userspace application with
lots of library dependencies so we cannot just do "make" with a
cross-compiler like in the case of Xen.
So you need to make changes to QEMU and then add those changes as a
patch to the Yocto QEMU build recipe, or configure Yocto to your local
tree to build QEMU. I am not a Yocto expert and the Yocto community
would be a better place to ask for advice there. You can see from here
some instructions on how to build Xen using a local tree, see the usage
of EXTERNALSRC (note that this is *not* what you need: you need to build
QEMU with a local tree, not Xen. But I thought that the wikipage might
still be a starting point)
https://wiki.xenproject.org/wiki/Xen_on_ARM_and_Yocto
Cheers,
Stefano
On Thu, 15 Dec 2022, Vipul Suneja wrote:
> Hi Stefano,
>
> Thanks!
>
> I could see QEMU 6.2.0 compiled & installed in the host image xen-image-minimal. I could find xenfb.c source file also & modified the same
> with debug logs.
> I have set up a cross compile environment, did 'make clean' & 'make all' to recompile but it's failing. In case i am doing wrong, Can you
> please assist me
> with the correct steps to compile qemu? Below are the error logs:
>
> agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/Platform/Poky_Kirkstone/build/tmp/work/cortexa72-poky-linux/qemu/6.2.0-r0/build$ make
> all
> [1/3864] Compiling C object libslirp.a.p/slirp_src_arp_table.c.o
> [2/3864] Compiling C object subprojects/libvhost-user/libvhost-user.a.p/libvhost-user.c.o
> [3/3864] Linking static target subprojects/libvhost-user/libvhost-user.a
> [4/3864] Compiling C object libslirp.a.p/slirp_src_vmstate.c.o
> [5/3864] Compiling C object libslirp.a.p/slirp_src_dhcpv6.c.o
> [6/3864] Compiling C object libslirp.a.p/slirp_src_dnssearch.c.o
> [7/3864] Compiling C object libslirp.a.p/slirp_src_bootp.c.o
> [8/3864] Compiling C object libslirp.a.p/slirp_src_cksum.c.o
> [9/3864] Compiling C object libslirp.a.p/slirp_src_if.c.o
> [10/3864] Compiling C object libslirp.a.p/slirp_src_ip6_icmp.c.o
> [11/3864] Compiling C object libslirp.a.p/slirp_src_ip6_input.c.o
> [12/3864] Compiling C object libslirp.a.p/slirp_src_ip6_output.c.o
> [13/3864] Compiling C object libslirp.a.p/slirp_src_ip_icmp.c.o
> [14/3864] Compiling C object libslirp.a.p/slirp_src_ip_input.c.o
> [15/3864] Compiling C object libslirp.a.p/slirp_src_ip_output.c.o
> [16/3864] Compiling C object libslirp.a.p/slirp_src_mbuf.c.o
> [17/3864] Compiling C object libslirp.a.p/slirp_src_misc.c.o
> [18/3864] Compiling C object libslirp.a.p/slirp_src_ncsi.c.o
> [19/3864] Compiling C object libslirp.a.p/slirp_src_ndp_table.c.o
> [20/3864] Compiling C object libslirp.a.p/slirp_src_sbuf.c.o
> [21/3864] Compiling C object libslirp.a.p/slirp_src_slirp.c.o
> [22/3864] Compiling C object libslirp.a.p/slirp_src_socket.c.o
> [23/3864] Compiling C object libslirp.a.p/slirp_src_state.c.o
> [24/3864] Compiling C object libslirp.a.p/slirp_src_stream.c.o
> [25/3864] Compiling C object libslirp.a.p/slirp_src_tcp_input.c.o
> [26/3864] Compiling C object libslirp.a.p/slirp_src_tcp_output.c.o
> [27/3864] Compiling C object libslirp.a.p/slirp_src_tcp_subr.c.o
> [28/3864] Compiling C object libslirp.a.p/slirp_src_tcp_timer.c.o
> [29/3864] Compiling C object libslirp.a.p/slirp_src_tftp.c.o
> [30/3864] Compiling C object libslirp.a.p/slirp_src_udp.c.o
> [31/3864] Compiling C object libslirp.a.p/slirp_src_udp6.c.o
> [32/3864] Compiling C object libslirp.a.p/slirp_src_util.c.o
> [33/3864] Compiling C object libslirp.a.p/slirp_src_version.c.o
> [34/3864] Linking static target libslirp.a
> [35/3864] Generating qemu-version.h with a custom command (wrapped by meson to capture output)
> FAILED: qemu-version.h
> /home/agl/Automotive/ADAS_Infotainment/Platform/Poky_Kirkstone/build/tmp/work/cortexa72-poky-linux/qemu/6.2.0-r0/recipe-sysroot-native/usr
> /bin/meson --internal exe --capture qemu-version.h --/home/agl/Automotive/ADAS_Infotainment/Platform/Poky_Kirkstone/build/tmp/work/cortexa72-poky-linux/qemu/6.2.0-r0/qemu-6.2.0/scripts/qemu-v
> ersion.sh /home/agl/Automotive/ADAS_Infotainment/Platform/Poky_Kirkstone/build/tmp/work/cortexa72-poky-linux/qemu/6.2.0-r0/qemu-6.2.0 ''
> 6.2.0
> /usr/bin/env: ‘nativepython3’: No such file or directory
> ninja: build stopped: subcommand failed.
> make: *** [Makefile:162: run-ninja] Error 1
>
> Thanks & Regards,
> Vipul Kumar
>
> On Wed, Dec 14, 2022 at 4:55 AM Stefano Stabellini <sstabellini@xxxxxxxxxx> wrote:
> 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
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > >
> > >
> > >
> >
> >
> >
>
>
>
Attachment:
qemu-dm-guest2.log
Description: Binary data
|