Hi, I have not so big undersdanding on VB internals, so any hints or comments are welcome.
I have patched vboxvideo.ko driver to support as many framebuffer devices as displays are configured in VB setting, so for example if VM has set 2 displays, then vboxvideo.ko registers two framebuffers (/dev/fb0/ and /dev/fb1). Such patched driver works fine in one VM instance but not works on any other instances I have tried to create by myself. On any of new VM instance I created the VM works until I try to init second framebuffer (by fbset -fb /dev/fb1 -accel 1). The same command works just fine on first instance, but that one I got from outside as *.owa image. If I enter such command on any other VM instance (that is on any which I created by myself), the console get freezed for very long time (more minutes? I never count it exactly) and after that it continue working normally, but second FB is still unconfigured. Believe me, I did many kind of comparisons of two VMs (one working and other nope), starting from kernel part (kernels are ttoally same, also configs are same), and also tried to compare VM's Logs, but found nothing what should point me to any solution. I tried to trace vboxvideo driver to find where is the difference and found that it differs in getting info from VBoxHGSMIGetModeHints in vbox_update_mode_hints() in vbox_irq.c In working VM, it returns: [ 6.463058] vboxvideo: 114: crtc_id=0, mode 800x600(enabled:1),-1x-1 [ 6.463061] vboxvideo: 114: crtc_id=1, mode 800x600(enabled:1),-1x-1 in non working node, it returns: [ 5.968331] vboxvideo: 114: crtc_id=0, mode 800x600(enabled:1),-1x-1 [ 5.968333] vboxvideo: 114: crtc_id=1, mode 800x600(enabled:0),-1x-1 Also on regular vboxvideo.ko startup there is seen the difference: Working VM: [ 0.424048] vesafb: mode is 640x480x32, linelength=2560, pages=0 [ 0.424049] vesafb: scrolling: redraw [ 0.424050] vesafb: Truecolor: size=8:8:8:8, shift=24:16:8:0 [ 0.424059] vesafb: framebuffer at 0xe0000000, mapped to 0xffffc90000400000, using 1216k, total 1216k [ 0.425803] fb0: VESA VGA frame buffer device [ 5.093053] vboxguest: misc device minor 58, IRQ 20, I/O port d020, MMIO at 00000000f0400000 (size 0x400000) [ 5.093055] vboxguest: Successfully loaded version 5.1.4_OSE (interface 0x00010004) [ 5.315918] vboxsf: Successfully loaded version 5.1.4_OSE (interface 0x00010004) [ 5.951340] fb: switching to vboxdrmfb from VESA VGA [ 5.951516] fbcon: vboxdrmfb (fb0) is primary device [ 5.962601] vboxvideo 0000:00:02.0: fb0: vboxdrmfb frame buffer device [ 5.969418] vboxvideo 0000:00:02.0: fb1: vboxdrmfb frame buffer device [ 5.969423] [drm] Initialized vboxvideo 1.0.0 20130823 for 0000:00:02.0 on minor 0 And nonworking one: [ 0.381390] vesafb: mode is 640x480x32, linelength=2560, pages=0 [ 0.381391] vesafb: scrolling: redraw [ 0.381392] vesafb: Truecolor: size=8:8:8:8, shift=24:16:8:0 [ 0.381402] vesafb: framebuffer at 0xe0000000, mapped to 0xffffc90000200000, using 1216k, total 1216k [ 0.383053] fb0: VESA VGA frame buffer device [ 5.428216] vboxguest: misc device minor 58, IRQ 20, I/O port d020, MMIO at 00000000f0400000 (size 0x400000) [ 5.428218] vboxguest: Successfully loaded version 5.1.4_OSE (interface 0x00010004) [ 5.479183] vboxsf: Successfully loaded version 5.1.4_OSE (interface 0x00010004) [ 6.028637] fb: switching to vboxdrmfb from VESA VGA [ 6.028735] fbcon: vboxdrmfb (fb0) is primary device [ 6.032341] vboxvideo 0000:00:02.0: fb0: vboxdrmfb frame buffer device [ 6.039472] vboxvideo 0000:00:02.0: No connectors reported connected with modes [ 6.039621] vboxvideo 0000:00:02.0: fb1: vboxdrmfb frame buffer device [ 6.039623] [drm] Initialized vboxvideo 1.0.0 20130823 for 0000:00:02.0 on minor 0 That last dmesg points to "No connectors reported connected with modes", but I don't know to tell him right mode or so. If anybody is willing to help me, I can send diff for GA changes. Or even image files. BR. /Jan
_______________________________________________ vbox-dev mailing list vbox-dev@virtualbox.org https://www.virtualbox.org/mailman/listinfo/vbox-dev