Skip to main content.
Navigation:
DENX
>
DULG
>
AN2005_01_CoralPDrivers
Translations:
Edit
|
Attach
|
Raw
|
Ref-By
|
Printable
|
More
DULG
Sections of this site:
DENX Home
|
DULG
|
ELDK-5
|
Know
|
Training
|
U-Boot
|
U-Bootdoc
Topics
DULG Home
BoardSelect
Manual
FAQ
Application Notes
Changes
Index
List of pages in DULG
Search
---+ Download, Build, Install, and Configure the MB8629x X11 Drivers ---+++ Author This document was written by Nick Ivanter (nick {at} emcraft {dot} com). #DriverAvailability ---+++ Availability: The MB8629x X11 Drivers are available as Free Software under GPL. You can either download and run the binary modules from the DENX FTP server, or you can download the full source tree from the DENX [[http://git.denx.de/?p=x11_mb8629x.git;a=summary][ =git= repository]] and rebuild everything from scratch. #Hardware Setup ---+++ Hardware Setup For correct operation of the Coral-P card with the Linux X11 drivers the jumpers on the card must be set as documented in [[AN2004_06_CoralPInstallation][Installing a Coral-P PCI Evaluation Board]]. #QuickInstallation ---+++ Quick Installation: 1 Download the following files from the DENX FTP server: * ftp://ftp.denx.de/pub/fujitsu/Coral-P/mb86290_drv.o * ftp://ftp.denx.de/pub/fujitsu/Coral-P/libmb86290_fb.a * ftp://ftp.denx.de/pub/fujitsu/Coral-P/XF86Config-4 * ftp://ftp.denx.de/pub/fujitsu/Coral-P/zvideo <br><br> If you are going to test this on a Motorola LITE5200 platform, you can also download a ready-to-run Linux kernel image: * ftp://ftp.denx.de/pub/fujitsu/Coral-P/uImage-LITE5200 1 Install the files on a =Debian GNU/Linux= system as follows: <verbatim> # cp mb86290_drv.o /usr/X11R6/lib/modules/drivers/ # cp libmb86290_fb.a /usr/X11R6/lib/modules/ # cp XF86Config-4 /etc/X11/ # cp zvideo /usr/local/bin/ # chmod 0755 /usr/local/bin/zvideo </verbatim> #DriverDownload ---+++ Source Download: Please use the following command to clone the git repository of the MB8629x X11 Driver source code: <verbatim> git-clone git://git.denx.de/x11_mb8629x.git </verbatim> #DriverBuilding ---+++ Building: To build the drivers you must have the =XFree86= sources. The procedures of getting and unpacking these can vary dependent on the type of OS which you are running. If you use Debian Linux you can perform the following steps to get and unpack the =XFree86= sources: 1 (as ="root"=) Make sure your package database is up to date: <verbatim> # apt-get update </verbatim> 1 (as normal user) Go to your chosen build directory: <verbatim> $ cd Coral-P </verbatim> 1 Get XFree86 sources: <verbatim> $ apt-get source xserver-xfree86 </verbatim> 1 Go to the directory where the package sources has been downloaded; the name of this directory depends on the version of =XFree86=, for example: <verbatim> $ cd xfree86-4.3.0.dfsg.1 </verbatim> 1 Create the build tree (unpack the package): <verbatim> $ debian/rules setup </verbatim> The directory ='build-tree'= will be created and the package will be unpacked in it. 1 Go to ='build-tree'= directory and copy the contents of the ='x11_mb8629x'= CVS tree on top of the ='xc'= directory in the Debian =XFree86= build tree. 1 Go to the ='xc'= directory in the build tree. 1 Set the =KERNELSRC= variable of =programs/Xserver/hw/xfree86/drivers/mb86290/Imakefile= to point to actual location of the MPC5200 Linux kernel sources. 1 Comment out the line ='$(MAKE_CMD) $(MFLAGS) $(WORLDOPTS) World'= in the top-level Makefile in the 'xc' directory. The line is located near the end of the ='World'= in the following context: <verbatim> $(MAKE_CMD) $(MFLAGS) Makefiles $(MAKE_CMD) $(MFLAGS) BOOTSTRAPSUBDIRS= clean $(MAKE_CMD) $(MFLAGS) includes $(MAKE_CMD) $(MFLAGS) depend # $(MAKE_CMD) $(MFLAGS) $(WORLDOPTS) World @echo "" @date @echo "" @$(RM) $(VERSPROG) @$(CC) $(VERSINC) -o $(VERSPROG) $(VERSSRC) @echo Full build of XFree86`$(VERSPROG)` complete. @$(RM) $(VERSPROG) @echo "" </verbatim> 1 Finally, to build the driver, execute the following commands: <verbatim> make World (cd config/util; make) (cd programs/Xserver/hw/xfree86/drivers/mb86290; make) (cd programs/Xserver/mb86290_fb; make) </verbatim> #DriverInstallation ---+++ Installation: Just copy two modules to the directory with X11 modules: 1 <verbatim> # cp programs/Xserver/hw/xfree86/drivers/mb86290/mb86290_drv.o /usr/X11R6/lib/modules/drivers/ </verbatim> 1 <verbatim> # cp programs/Xserver/mb86290_fb/libmb86290_fb.a /usr/X11R6/lib/modules/ </verbatim> #DriverConfiguration ---+++ Configuring Xserver: Now you have to edit the =/etc/X11/XF86Config-4= file as follows: 1 Add a new device section, something like: <verbatim> Section "Device" Identifier "MB86290 card" Driver "mb86290" Option "Accel" "true" EndSection </verbatim> 1 Modify the screen section; the device string has to look like this: <verbatim> Device "MB86290 card" </verbatim> If there are ='DefaultDepth'= or ='DefaultFbBpp'= options - delete them. <br><br> There must be only one display subsection, and it has to look like this: <verbatim> SubSection "Display" Depth 15 Modes "1024x768" EndSubSection </verbatim> #VideoApplication ---+++ Video Application: If you followed the instructions above to build the X11 driver, you can proceed to build the demo video application as follows: <verbatim> $ cd xfree86-4.3.0.dfsg.1/build-tree/zvideo $ make # cp zvideo /usr/local/bin/ </verbatim> There are some known limitations of the video capture software which you need to be aware of: * The video picture cannot be scaled down in one direction (for instance, horizontally) and at the same time scaled up in the other direction (for instance, vertically). It can be either scaled down in both directions (i.e. made smaller), or scaled up (i.e. made bigger). * The video picture cannot be overlapped by other windows. If this happens, the video driver stops displaying video in the window. * A scaled up in vertical direction video picture is of a bad quality. These limitations are actually due to limitations of the MB86295 hardware. We don't believe that they can be overcome in software.