[meta-intel] [Patch v2 1/1] fri2-noemgd: use fbdev X driver

Kamble, Nitin A nitin.a.kamble at intel.com
Tue Feb 5 16:28:17 PST 2013



> -----Original Message-----
> From: Darren Hart [mailto:dvhart at linux.intel.com]
> Sent: Tuesday, February 05, 2013 3:38 PM
> To: Kamble, Nitin A
> Cc: meta-intel at yoctoproject.org
> Subject: Re: [meta-intel] [Patch v2 1/1] fri2-noemgd: use fbdev X driver
> 
> 
> 
> On 02/05/2013 03:30 PM, Darren Hart wrote:
> > On 02/05/2013 03:18 PM, nitin.a.kamble at intel.com wrote:
> >> From: Nitin A Kamble <nitin.a.kamble at intel.com>
> >>
> >> The systems provided by the Yocto Project Fish River Island 2
> >> Giveaway Program come with the Fast Boot EFI firmware. This firmware
> >> does not provide legacy BIOS support. And because the 'vesafb' X
> >> driver depends on this legacy BIOS support, it fails to work on these
> systems.
> >>
> >> On these systems the 'fbdev' X driver is able to work, giving a
> >> functional X graphical screen. Somehow the 'fbdev' X driver is
> >> finding
> >> 800x600 as the only available mode for display on these systems.
> >>
> >> This 'fbdev' X driver should also work with the other FRI2 systems
> >> which come with the Kontron supplied APTIO (AMI) BIOS.
> >>
> >> This fixes bug:
> >> [YOCTO #3846]
> >>
> >> Signed-off-by: Nitin A Kamble <nitin.a.kamble at intel.com>
> >> ---
> >>  meta-fri2/conf/machine/fri2-noemgd.conf            |    2 +-
> >>  .../xserver-xf86-config/fri2-noemgd/xorg.conf      |    2 +-
> >>  2 files changed, 2 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/meta-fri2/conf/machine/fri2-noemgd.conf
> >> b/meta-fri2/conf/machine/fri2-noemgd.conf
> >> index cb94679..c546ba3 100644
> >> --- a/meta-fri2/conf/machine/fri2-noemgd.conf
> >> +++ b/meta-fri2/conf/machine/fri2-noemgd.conf
> >> @@ -16,7 +16,7 @@ PREFERRED_VERSION_linux-yocto = "3.4%"
> >>
> >>  XSERVER ?= "${XSERVER_IA32_BASE} \
> >>             ${XSERVER_IA32_EXT} \
> >> -           ${XSERVER_IA32_VESA} \
> >> +           ${XSERVER_IA32_FBDEV} \
> >>             "
> >>
> >>  # Syslinux does not know about the 64MHz uart clock and it does not
> >> detect the diff --git
> >> a/meta-fri2/recipes-graphics/xorg-xserver/xserver-xf86-config/fri2-no
> >> emgd/xorg.conf
> >> b/meta-fri2/recipes-graphics/xorg-xserver/xserver-xf86-config/fri2-no
> >> emgd/xorg.conf
> >> index da4fc3c..bda3535 100644
> >> ---
> >> a/meta-fri2/recipes-graphics/xorg-xserver/xserver-xf86-config/fri2-no
> >> emgd/xorg.conf
> >> +++ b/meta-fri2/recipes-graphics/xorg-xserver/xserver-xf86-config/fri
> >> +++ 2-noemgd/xorg.conf
> >> @@ -1,6 +1,6 @@
> >>  Section "Device"
> >>      Identifier	"Generic VESA"
> >> -    Driver	"vesa"
> >> +    Driver	"fbdev"
> >>  EndSection
> >>
> >>  Section "Monitor"
> >>
> >
> > When I configured fbdev to experiment with DisplayLink, I had to
> > manually specify the resolution as in the following example file:
> >
> > Section "Device"
> >         Identifier      "DisplayLinkDevice"
> >         driver          "displaylink"
> >         Option  "fbdev" "/dev/fb1"
> > EndSection
> >
> > Section "Monitor"
> >         Identifier      "DisplayLinkMonitor"
> > EndSection
> >
> > Section "Screen"
> >         Identifier      "DisplayLinkScreen"
> > 	Device          "DisplayLinkDevice"
> >         Monitor         "DisplayLinkMonitor"
> >         SubSection "Display"
> >                 Depth   24
> > 		Modes   "1920x1080"
> >         EndSubSection
> > EndSection
> >
> >
> > I would suggest specifying 1366x768 and seeing if you can get at least
> > that. People wanting to override this resolution or create a more
> > complex xorg.conf for fbdev can, but by default I would like to see if
> > we can use full LVDS resolution.
> >
> > Now, it's possible that this is the EFI framebuffer we're using and
> > that it is only 800x600. We can ask the firmware team to be sure.
> 
> There also appear to be some kernel command line parameters that can
> influence this. See linux/drivers/video/efifb.c for some context on where to
> look next.
> 
The resolution in the xorg.conf is denied by the fbdev X driver.

> It could be we are stuck at 800x600. It could be we need to populate efifb.c
> with FRI2 data.
I think this is what probably is happening. The efifb kernel driver is able to detect the
the fb parameters for display. I think the EFI firmware need to change to get a different
resolution.

> 
> Let's explore our options before we settle on 800x600.
Only option so far I see is change in the EFI firmware.

Thanks,
Nitin


> 
> --
> Darren Hart
> Intel Open Source Technology Center
> Yocto Project - Technical Lead - Linux Kernel



More information about the meta-intel mailing list