2009-04-29 10:03:55

by Peter Hanzel

[permalink] [raw]
Subject: Intel KMS + fbcon + Mplayer

Hello.

I have tried Intel KMS in kernel 2.6.91.1 with fbcon. I am using only
framebuffer console.
Most fb apps works, but I have problem with mplayer.
The init works but the video is badly displayed.
I have investigated the problem and found, that for my laptop mode
1280x800-32.

The ioctl on /dev/fb0 FBIOGET_VSCREENINFO returns.
var.bits_per_pixel=32
var.transp.length = 0.

So the mplayer thinks we are in 24 bit mode (maybe this is bug in mplayer,
because bits_per_pixel is 32).

But next I have checked it with kernel vesafb and for same mode
(1280x800-32, vga=0x362 )
The fb ioctl returns
var.bits_per_pixel=32
var.transp.length = 8.

So is this intentionally made so. Because I think this mode use only red,
green,blue and no transp. But for one pixel you must write 4 bytes. (so
transp is not used).


2009-04-29 11:22:00

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: Intel KMS + fbcon + Mplayer

On Wed, Apr 29, 2009 at 12:04, Peter Hanzel <[email protected]> wrote:
> I have tried Intel KMS in kernel 2.6.91.1 with fbcon. I am using only
> framebuffer console.
> Most fb apps works, but I have problem with mplayer.
> The init works but the video is badly displayed.
> I have investigated the problem and found, that for my laptop mode
> 1280x800-32.
>
> The ioctl on /dev/fb0 FBIOGET_VSCREENINFO returns.
> var.bits_per_pixel=32
> var.transp.length = 0.
>
> So the mplayer thinks we are in 24 bit mode (maybe this is bug in mplayer,
> because bits_per_pixel is 32).
>
> But next I have checked it with kernel vesafb and for same mode
> (1280x800-32, vga=0x362 )
> The fb ioctl returns
> var.bits_per_pixel=32
> var.transp.length = 8.
>
> So is this intentionally made so. Because I think this mode use only red,
> green,blue and no transp. But for one pixel you must write 4 bytes. (so
> transp is not used).

That must be a bug in mplayer, as var.bits_per_pixel = 32. If there's
no transparency, it's
correct to hav var.transp.length = 0 . The additional 8 bits may be unused.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2009-04-29 13:19:06

by Jakob Bornecrantz

[permalink] [raw]
Subject: Re: Intel KMS + fbcon + Mplayer

On 29 apr 2009, at 12.04, Peter Hanzel wrote:
> Hello.
>
> I have tried Intel KMS in kernel 2.6.91.1 with fbcon. I am using only
> framebuffer console.
> Most fb apps works, but I have problem with mplayer.
> The init works but the video is badly displayed.
> I have investigated the problem and found, that for my laptop mode
> 1280x800-32.
>
> The ioctl on /dev/fb0 FBIOGET_VSCREENINFO returns.
> var.bits_per_pixel=32
> var.transp.length = 0.
>
> So the mplayer thinks we are in 24 bit mode (maybe this is bug in
> mplayer,
> because bits_per_pixel is 32).
>
> But next I have checked it with kernel vesafb and for same mode
> (1280x800-32, vga=0x362 )
> The fb ioctl returns
> var.bits_per_pixel=32
> var.transp.length = 8.
>
> So is this intentionally made so. Because I think this mode use only
> red,
> green,blue and no transp. But for one pixel you must write 4 bytes.
> (so
> transp is not used).

Hmm, if I remember correctly from running mplayer in the early days of
kms mplayer has two fbdev drivers and I think that only #2 worked. It
did worked back then but it was a long time ago. Heck it was one of
the first things we demoed kms with.

Cheers Jakob.