well, it's a bug in their part. I've isolated the problem to a simple
libdrm subcase of their vbltest.c, reported to:
https://www.virtualbox.org/ticket/13265 But I'm not sure how fast they
handle this.

You don't need to detect virtualbox per se, only if vboxvideo is
loaded, then stat to /sys/module/vboxvideo is enough.

One thing is that libdrm provides drmOpen() that takes a module name
(ie: nvidia, vboxvideo), while we open the /dev directly. So far it
seems to be okay, but I guess in future they may change this and add
some ioctl from inside such API to configure and in that case we'll
enter into problems. It would also be nice to know which device we're
using, suppose we have more than one video card, then we need to use
the current one, not the first one.


On Wed, Aug 6, 2014 at 7:53 PM, Carsten Haitzler <ras...@rasterman.com> wrote:
> On Wed, 6 Aug 2014 17:57:05 -0300 Gustavo Sverzut Barbieri 
> <barbi...@gmail.com>
> said:
>
>> update, this is caused by efl/src/lib/ecore_x/xlib/ecore_x_vsync.c
>> "#define ECORE_X_VSYNC_DRM 1". If you remove that line (or #undef the
>> sym), it works, now to find out the actual call that triggers it to
>> produce a test case for them...
>
> aaah shit. the code is really simple - it really does one of 4 things.
> open /dev/dri/card0, call a drm lib call to schedule a new vsync event, and
> then select to listen on the drm fd with a timeout and then use drm call to
> "read" the fd for the event info. one of those would do it. given that, i 
> would
> imagine it's the schedule of a new vsync interrupt one.
>
> is there a nice simple way to know you have a vbox virtual driver in the 
> kernel
> and are a guest? i can put in something to veto it (eg something in /proc
> or /sys - some file that exists only inside vbox if the guest driver is there 
> -
> i can put in a simple stat for it and avoid if there)?
>
>> On Wed, Aug 6, 2014 at 12:38 PM, Gustavo Sverzut Barbieri
>> <barbi...@gmail.com> wrote:
>> > sorry for the noise, this has nothing to do with Enlightenment or new
>> > vsync. I've disabled it and still happens, we're just triggering a bug
>> > in drm.
>> >
>> > if you suffer from this problem just remove virtualbox-guest-modules
>> > and you'll fallback to fbdev without problems (just setting X to use
>> > fbdev does not help, you need to remove vboxvideo.ko so it's never
>> > loaded).
>> >
>> > On Wed, Aug 6, 2014 at 11:42 AM, Gustavo Sverzut Barbieri
>> > <barbi...@gmail.com> wrote:
>> >> Hi all,
>> >>
>> >> Just a heads up that recent Enlightenment (GIT) is causing problems
>> >> with ArchLinux vanilla kernel (3.15.8-1-ARCH), at least running inside
>> >> VirtualBox 4.3.14.
>> >>
>> >> I'm trying to isolate the problem to report that to kernel guys since
>> >> a Kernel Oops is always a kernel bug, until then watch out if you want
>> >> to update and run similar setup.
>> >>
>> >> The relevant dmesg part is:
>> >>
>> >> [    7.142526] BUG: unable to handle kernel NULL pointer dereference at
>> >> (null) [    7.142532] IP: [<  (null)>]   (null)
>> >> [    7.142534] *pde = 00000000
>> >> [    7.142536] Oops: 0000 [#1] PREEMPT SMP
>> >> [    7.142539] Modules linked in: ext4 crc16 mbcache jbd2 ppdev
>> >> snd_intel8x0 snd_ac97_codec intel_rapl microcode ac97_bus pcspkr
>> >> snd_pcm psmouse serio_raw snd_timer i2c_piix4 joydev mousedev snd
>> >> soundcore mac_hid e1000 parport_pc parport floppy(+) ac battery
>> >> intel_agp intel_gtt button evdev vboxvideo(O) drm agpgart i2c_core
>> >> vboxsf(O) vboxguest(O) hid_generic usbhid hid crc32c_generic btrfs xor
>> >> raid6_pq sd_mod crc_t10dif crct10dif_common atkbd libps2 ohci_pci
>> >> ohci_hcd ehci_pci ehci_hcd ahci libahci libata scsi_mod usbcore
>> >> usb_common i8042 serio
>> >> [    7.142562] CPU: 0 PID: 254 Comm: enlightenment Tainted: G
>> >>  O  3.15.8-1-ARCH #1
>> >> [    7.142564] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS
>> >> VirtualBox 12/01/2006
>> >> [    7.142566] task: f39fd2c0 ti: f3a58000 task.ti: f3a58000
>> >> [    7.142568] EIP: 0060:[<00000000>] EFLAGS: 00210046 CPU: 0
>> >> [    7.142570] EIP is at 0x0
>> >> [    7.142572] EAX: f5228400 EBX: f5228400 ECX: f8b7d140 EDX: 00000000
>> >> [    7.142573] ESI: f9fdb560 EDI: 00000000 EBP: f3a59de4 ESP: f3a59d90
>> >> [    7.142574]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
>> >> [    7.142576] CR0: 80050033 CR2: 00000000 CR3: 33a5c000 CR4: 000006d0
>> >> [    7.142581] Stack:
>> >> [    7.142583]  f9fda8c2 f53a1d90 f5228400 f5228438 f5121cc0 00000000
>> >> f539f9c0 f3a59db4
>> >> [    7.142586]  f9fdd1e0 00200046 f52284e8 f52284ea 00200246 00000000
>> >> 00000000 f5b75024
>> >> [    7.142589]  f539f9c0 c29a0d46 f5228400 f9fdb560 04000001 f3a59e44
>> >> f9fdb5d8 f57cf948
>> >> [    7.142592] Call Trace:
>> >> [    7.142601]  [<f9fda8c2>] ? drm_vblank_get+0xd2/0x240 [drm]
>> >> [    7.142607]  [<f9fdd1e0>] ? drm_minor_release+0x10/0x20 [drm]
>> >> [    7.142613]  [<f9fdb560>] ? drm_modeset_ctl+0x70/0x70 [drm]
>> >> [    7.142617]  [<f9fdb5d8>] drm_wait_vblank+0x78/0x5e0 [drm]
>> >> [    7.142622]  [<c12320e0>] ? lockref_put_or_lock+0x20/0x40
>> >> [    7.142625]  [<c11835f6>] ? mntput_no_expire+0x26/0x160
>> >> [    7.142629]  [<f9fdb560>] ? drm_modeset_ctl+0x70/0x70 [drm]
>> >> [    7.142633]  [<f9fd7585>] drm_ioctl+0x1f5/0x560 [drm]
>> >> [    7.142637]  [<f9fdb560>] ? drm_modeset_ctl+0x70/0x70 [drm]
>> >> [    7.142641]  [<c1175d2d>] ? do_filp_open+0x3d/0xa0
>> >> [    7.142645]  [<f9fd7390>] ? drm_copy_field+0x70/0x70 [drm]
>> >> [    7.142648]  [<c11782c2>] do_vfs_ioctl+0x302/0x4f0
>> >> [    7.142651]  [<c11713bd>] ? final_putname+0x1d/0x40
>> >> [    7.142653]  [<c11713bd>] ? final_putname+0x1d/0x40
>> >> [    7.142656]  [<c10ad8f0>] ? ktime_get_ts+0x40/0x140
>> >> [    7.142658]  [<c1181547>] ? __fget+0x57/0x90
>> >> [    7.142661]  [<c1178530>] SyS_ioctl+0x80/0x90
>> >> [    7.142665]  [<c14575e3>] sysenter_do_call+0x12/0x12
>> >> [    7.142666] Code:  Bad EIP value.
>> >> [    7.142669] EIP: [<00000000>] 0x0 SS:ESP 0068:f3a59d90
>> >> [    7.142672] CR2: 0000000000000000
>> >> [    7.142674] ---[ end trace 9c935fa0060b0fa8 ]---
>> >> [    7.142677] note: enlightenment[254] exited with preempt_count 2
>> >>
>> >> If someone has the same problem running outside of VirtualBox let me
>> >> know, likely kernel guys will not look at it since it's "tainted",
>> >> however I don't think there is any relation to that.
>> >>
>> >> --
>> >> Gustavo Sverzut Barbieri
>> >> --------------------------------------
>> >> Mobile: +55 (19) 99225-2202
>> >> Contact: http://www.gustavobarbieri.com.br/contact
>> >
>> >
>> >
>> > --
>> > Gustavo Sverzut Barbieri
>> > --------------------------------------
>> > Mobile: +55 (19) 99225-2202
>> > Contact: http://www.gustavobarbieri.com.br/contact
>>
>>
>>
>> --
>> Gustavo Sverzut Barbieri
>> --------------------------------------
>> Mobile: +55 (19) 99225-2202
>> Contact: http://www.gustavobarbieri.com.br/contact
>>
>> ------------------------------------------------------------------------------
>> Infragistics Professional
>> Build stunning WinForms apps today!
>> Reboot your WinForms applications with our WinForms controls.
>> Build a bridge from your legacy apps to the future.
>> http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
>> _______________________________________________
>> enlightenment-devel mailing list
>> enlightenment-de...@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>
>
>
> --
> ------------- Codito, ergo sum - "I code, therefore I am" --------------
> The Rasterman (Carsten Haitzler)    ras...@rasterman.com
>



-- 
Gustavo Sverzut Barbieri
--------------------------------------
Mobile: +55 (19) 99225-2202
Contact: http://www.gustavobarbieri.com.br/contact

------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls. 
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
_______________________________________________
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users

Reply via email to