Hi All,
I originally posted this on github, then thought it might be better to post here..
I followed the directions in the Genode book, Section 2.4, to build and run the nova demo on x86_64. I'm using Genode 17.02, and qemu 2.7.1 on Ubuntu 16.04 LTS. When I run
$ make run/demo
everything seems to build just fine, and then qemu launches. The GUI for the demo is then displayed, but freezes immediately. The scout window is displayed with the green x-ray shading, but I cannot move or manipulate it at all. The entire GUI just remains frozen, and I am unable to do anything. Here's the output when I run make run/demo:
including /home/scott/Documents/genode/tool/run/power_on/qemu including /home/scott/Documents/genode/tool/run/log/qemu including /home/scott/Documents/genode/tool/run/image/iso including /home/scott/Documents/genode/tool/run/boot_dir/nova including /home/scott/Documents/genode/repos/os/run/demo.run building targets: core init drivers/timer server/nitpicker app/pointer app/status_bar app/xray_trigger server/liquid_framebuffer app/launchpad app/scout test/nitpicker server/nitlog drivers/framebuffer drivers/input server/report_rom server/rom_filter drivers/platform drivers/acpi server/report_rom drivers/platform/spec/x86/device_pd spawn make core init drivers/timer server/nitpicker app/pointer app/status_bar app/xray_trigger server/liquid_framebuffer app/launchpad app/scout test/nitpicker server/nitlog drivers/framebuffer drivers/input server/report_rom server/rom_filter drivers/platform drivers/acpi server/report_rom drivers/platform/spec/x86/device_pd make[1]: Entering directory '/home/scott/Documents/genode/build/x86_64' Makefile:134: target 'server/report_rom' given more than once in the same rule checking library dependencies... Skip target drivers/framebuffer/spec/exynos because it requires exynos Skip target drivers/framebuffer/spec/imx53 because it requires imx53 Skip target drivers/framebuffer/spec/omap4 because it requires omap4 Skip target drivers/framebuffer/spec/pl11x/pbxa9 because it requires pl11x pbxa9 Skip target drivers/framebuffer/spec/rpi because it requires rpi Skip target drivers/framebuffer/spec/sdl because it requires linux sdl Skip target drivers/input/spec/imx53 because it requires imx53 Skip target drivers/input/spec/ps2/pl050 because it requires pl050 Skip target drivers/platform/spec/arndale because it requires arndale Skip target drivers/platform/spec/imx53 because it requires imx53 Skip target drivers/platform/spec/odroid_x2 because it requires odroid_x2 Skip target drivers/platform/spec/rpi because it requires rpi Skip target drivers/timer/fiasco because it requires fiasco Skip target drivers/timer/foc because it requires foc Skip target drivers/timer/hw because it requires hw Skip target drivers/timer/linux because it requires linux Skip target drivers/timer/pistachio because it requires pistachio Library ldso-startup Library blit Library scout_gfx Library mini_c Library startup-nova Library cxx Library x86emu Library alarm Library config Library ld Library libz_static Library timeout Library base-nova-common Library base Library libpng_static Program drivers/acpi/spec/x86/acpi_drv Program drivers/framebuffer/vesa/fb_drv Program drivers/input/dummy/dummy_input_drv Program drivers/input/spec/ps2/x86/ps2_drv Library core-nova COMPILE version.o MERGE core-nova.lib.a Library base-nova Program drivers/platform/spec/x86/platform_drv Program drivers/timer/nova/nova_timer_drv Program drivers/timer/pit/pit_timer_drv Program server/nitlog/nitlog Program init/init Program server/nitpicker/nitpicker Program server/rom_filter/rom_filter Program server/report_rom/report_rom Program test/nitpicker/testnit Library launchpad Program app/pointer/pointer Program app/status_bar/status_bar Library scout_widgets Program app/xray_trigger/xray_trigger Program core/nova/core Program drivers/platform/spec/x86/device_pd/device_pd Program server/liquid_framebuffer/liquid_fb Program app/launchpad/launchpad Program app/scout/scout make[1]: 'server/report_rom' is up to date. make[1]: Leaving directory '/home/scott/Documents/genode/build/x86_64' genode build completed building targets: lib/ld/nova kernel spawn make lib/ld/nova kernel make[1]: Entering directory '/home/scott/Documents/genode/build/x86_64' checking library dependencies... Library cxx Library alarm Library config Library startup-nova Library ldso-startup Library timed_semaphore Library base-nova-common Library base-nova Library ld-nova Program lib/ld/nova/ld-nova Program kernel/nova/hypervisor make[1]: Leaving directory '/home/scott/Documents/genode/build/x86_64' genode build completed using 'ld-nova.lib.so' as 'ld.lib.so' using 'nova_timer_drv' as 'timer' using 'nova/core.o' as 'core.o' using NOVA kernel at /home/scott/Documents/genode/build/x86_64/kernel/nova/hypervisor install bootloader creating ISO image... Warning: -follow-links does not always work correctly; be careful. Size of boot image is 4 sectors -> No emulation Total translation table size: 2048 Total rockridge attributes bytes: 1544 Total directory bytes: 6882 Path table size(bytes): 50 Max brk space used 23000 3651 extents written (7 MB) spawn qemu-system-x86_64 -no-kvm -display sdl -cpu core2duo -m 256 -serial mon:stdio -cdrom var/run/demo.iso warning: TCG doesn't support requested feature: CPUID.01H:EDX.vme [bit 1] main-loop: WARNING: I/O thread spun for 1000 iterations Bender: Hello World. Need 0068f000 bytes to relocate modules. Relocating to 0f951000: Copying 6724736 bytes... Copying 147800 bytes...
NOVA Microhypervisor v7-2436fe2 (x86_64): Mar 7 2017 13:06:46 [gcc 4.9.2]
[ 0] CORE:0:0:0 6:f:b:0 [0] Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz Hypervisor reports 1x1 CPU Warning: CPU has no invariant TSC. CPU ID (genode->kernel:package:core:thread) remapping remap (0->0:0:0:0) boot cpu Hypervisor info page contains 8 memory descriptors: core image [0000000000100000,0000000000769000) binaries region [000000000020b000,0000000000769000) free for reuse detected physical memory: 0x0000000000000000 - size: 0x000000000009fc00 use physical memory: 0x0000000000000000 - size: 0x000000000009f000 detected physical memory: 0x0000000000100000 - size: 0x000000000fee0000 use physical memory: 0x0000000000100000 - size: 0x000000000fee0000 :virt_alloc: Allocator 0x1d4530 dump: Block: [0x2000,0x3000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x3000,0x4000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x4000,0x5000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x5000,0x6000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x6000,0x7000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x7000,0x8000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x8000,0x9000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x9000,0xa000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0xa000,0xb000] size=0x1000 avail=0x0 max_avail=0x7fff000f9000 Block: [0xb000,0xc000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0xc000,0xd000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0xd000,0xe000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0xe000,0xf000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0xf000,0x10000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x10000,0x11000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x11000,0x12000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x12000,0x13000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x13000,0x14000] size=0x1000 avail=0x0 max_avail=0x7fff000f9000 Block: [0x14000,0x15000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x15000,0x16000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x16000,0x100000] size=0xea000 avail=0xea000 max_avail=0xea000 Block: [0x20b000,0x20c000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x20c000,0x20d000] size=0x1000 avail=0x0 max_avail=0x7fff000f9000 Block: [0x20d000,0x20e000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x20e000,0xa0000000] size=0x9fdf2000 avail=0x9fdf2000 max_avail=0x9fdf2000 Block: [0xb0000000,0xbfeff000] size=0xfeff000 avail=0xfeff000 max_avail=0x7fff000f9000 Block: [0xbff04000,0x7fffbfffd000] size=0x7fff000f9000 avail=0x7fff000f9000 max_avail=0x7fff000f9000 => mem_size=140736145043456 (134216446 MB) / mem_avail=140736144949248 (134216446 MB)
:phys_alloc: Allocator 0x1d3460 dump: Block: [0x1000,0x2000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x2000,0x3000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x3000,0x4000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x4000,0x5000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x5000,0x6000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x6000,0x7000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x7000,0x8000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x8000,0x9000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x9000,0xa000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0xa000,0xb000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0xb000,0xc000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0xc000,0xd000] size=0x1000 avail=0x0 max_avail=0xd176000 Block: [0xd000,0xe000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0xe000,0xf000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0xf000,0x10000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x10000,0x11000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x11000,0x12000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x12000,0x13000] size=0x1000 avail=0x0 max_avail=0xd176000 Block: [0x13000,0x14000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x14000,0x15000] size=0x1000 avail=0x0 max_avail=0x88000 Block: [0x15000,0x16000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x16000,0x17000] size=0x1000 avail=0x0 max_avail=0x88000 Block: [0x17000,0x9f000] size=0x88000 avail=0x88000 max_avail=0x88000 Block: [0x100000,0x101000] size=0x1000 avail=0x0 max_avail=0xd176000 Block: [0x101000,0x102000] size=0x1000 avail=0x0 max_avail=0x0 Block: [0x102000,0x400000] size=0x2fe000 avail=0x2fe000 max_avail=0xd176000 Block: [0x2800000,0xf976000] size=0xd176000 avail=0xd176000 max_avail=0xd176000 => mem_size=223428608 (213 MB) / mem_avail=223330304 (212 MB)
:io_mem_alloc: Allocator 0x1d5618 dump: Block: [0x0,0x1000] size=0x1000 avail=0x1000 max_avail=0x1000 Block: [0x9f000,0x100000] size=0x61000 avail=0x61000 max_avail=0xfffffffff001f000 Block: [0xffe0000,0xfffffffffffff000] size=0xfffffffff001f000 avail=0xfffffffff001f000 max_avail=0xfffffffff001f000 => mem_size=18446744073441644544 (17592186044160 MB) / mem_avail=18446744073441644544 (17592186044160 MB)
:rom_fs: ROM modules: ROM: [000000000ff45000,000000000ff58cc8) acpi_drv ROM: [000000000ffde000,000000000ffdf98f) config ROM: [000000000ff70000,000000000ffddd80) device_pd ROM: [000000000fecd000,000000000ff0d6f0) fb_drv ROM: [0000000000015000,0000000000016000) hypervisor_info_page ROM: [000000000fb20000,000000000fb467c8) init ROM: [000000000fc3f000,000000000fce6b80) launchpad ROM: [000000000feb3000,000000000feb3213) launchpad.config ROM: [000000000fa82000,000000000fb1fc58) ld.lib.so ROM: [000000000fc05000,000000000fc3ef58) liquid_fb ROM: [000000000fe97000,000000000feb2c40) nitlog ROM: [000000000fb5b000,000000000fb94988) nitpicker ROM: [000000000ff0e000,000000000ff441d8) platform_drv ROM: [000000000fb95000,000000000fba6ea0) pointer ROM: [000000000feb4000,000000000fecc4c0) ps2_drv ROM: [000000000ff59000,000000000ff6f270) report_rom ROM: [000000000fbbf000,000000000fbd5270) report_rom ROM: [000000000fbd6000,000000000fbea0f0) rom_filter ROM: [000000000fce7000,000000000fe815a0) scout ROM: [000000000fba7000,000000000fbbe960) status_bar ROM: [000000000fe82000,000000000fe965d0) testnit ROM: [000000000fb47000,000000000fb5a930) timer ROM: [000000000fbeb000,000000000fc04d20) xray_trigger
Genode 17.02 212 MiB RAM assigned to init [init] child "report_rom" announces service "Report" [init] child "report_rom" announces service "ROM" [init] child "acpi_report_rom" announces service "Report" [init] child "acpi_report_rom" announces service "ROM" [init] child "nitpicker_config" announces service "ROM" [init] child "timer" announces service "Timer" [init -> nitpicker_config] Warning: top-level node <xray> missing in input ROM xray [init -> nitpicker_config] Warning: could not obtain input value for input xray_enabled [init -> acpi_drv] Found MADT [init -> acpi_drv] MADT IRQ 0 -> GSI 2 flags: 0 [init -> acpi_drv] MADT IRQ 5 -> GSI 5 flags: 13 [init -> acpi_drv] MADT IRQ 9 -> GSI 9 flags: 13 [init -> acpi_drv] MADT IRQ 10 -> GSI 10 flags: 13 [init -> acpi_drv] MADT IRQ 11 -> GSI 11 flags: 13 [init -> acpi_drv] Warning: 2 dangling allocations at allocator destruction time [init] child "platform_drv" announces service "Platform" [init -> ps2_drv] Using keyboard with scan code set 1 (xlate) [init -> ps2_drv] detected ExPS/2 mouse - activating scroll-wheel and 5-button support [init -> platform_drv] PS2 uses IRQ, vector 0x1 [init -> platform_drv] PS2 uses IRQ, vector 0xc [init] child "ps2_drv" announces service "Input" [init -> fb_drv] Found PCI VGA at 00:02.0 [init -> fb_drv] fb mapped to 0x1000 [init] child "fb_drv" announces service "Framebuffer" [init -> fb_drv] Found: VESA BIOS version 3.0 [init -> fb_drv] OEM: SeaBIOS VBE(C) 2011 [init -> fb_drv] Found: physical frame buffer at 0xfd000000 size: 16777216 [init -> fb_drv] fb mapped to 0xb000000 [init -> fb_drv] using video mode: 2560x1600@...64... [init] child "nitpicker" announces service "Nitpicker" [init -> nitpicker] Warning: not enough RAM to preserve buffer content during resize [init -> scout] png is 101 x 92, depth=8
Any help would be much appreciated.
Thanks in advance,
Scott Constable
Hi,
for the sake of completeness: The issue was solved on GitHub
https://github.com/genodelabs/genode/issues/2309
Scott is using Linux as development system inside VirtualBox. As we had issues with SDL and this setting in the past, we suggested to him to set
export SDL_VIDEO_X11_DGAMOUSE=0
This instructs SDL to not use the DGAMOUSE mode of X11 which seems to produce strange mouse events when Linux runs in VirtualBox (or Vmware). Apparently, this tip solved the issue, which is now closed ;-)
Regards