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

Darren Hart dvhart at linux.intel.com
Tue Feb 5 15:38:24 PST 2013



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-noemgd/xorg.conf b/meta-fri2/recipes-graphics/xorg-xserver/xserver-xf86-config/fri2-noemgd/xorg.conf
>> index da4fc3c..bda3535 100644
>> --- a/meta-fri2/recipes-graphics/xorg-xserver/xserver-xf86-config/fri2-noemgd/xorg.conf
>> +++ b/meta-fri2/recipes-graphics/xorg-xserver/xserver-xf86-config/fri2-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.

It could be we are stuck at 800x600. It could be we need to populate
efifb.c with FRI2 data.

Let's explore our options before we settle on 800x600.

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



More information about the meta-intel mailing list