This sourceforge project comprises a bunch of useful console stuff for VIA's EPIA mini-ITX motherboard.
The VIA EPIA is a mini-ITX form factor motherboard. It uses the Apollo PLE133 chipset, which includes the VT8601A Northbridge chip. This chip has an embedded Trident CyberBladei1 graphics controller.
I'm using a VIA EPIA board as an in-car computer. The idea is for it to play mp3s, DVDs, and maybe do satnav and some other stuff. Whilst the VIA has excellent XFree86 support, I'm really rather keen on minimising the delay between climbing into my car and listening to my sweet MP3s, and sadly X is not a part of that picture.
Consequently I'm left with the console. The VESA framebuffer lacks hardware acceleration. The tridentfb isn't (yet) suitable for the EPIA. Hence the need to come up with something new.
Currently, I envisage this project containing three separate components:
First versions of the framebuffer driver and tvout utility are ready to go. I'm about to start on the DirectFB driver.
Download the source release here.
Here's the README from this archive:
epiafb 0.1 : VIA EPIA console framebuffer driver ------------------------------------------------ (c) 2002 Ant Skelton This is a preliminary release of a console framebuffer driver for VIA's EPIA mini-ITX motherboard. This board uses the Apollo PLE133 chipset, including the VT8601A Northbridge chip which has an embedded Trident CyberBladei1 core. This driver was originally realised as a set of modifications to Jani Monoses' tridentfb driver. However, tridentfb is a very generic driver principally aimed at the LCD crowd, and in the interests of getting the EPIA stuff up and running as quickly as possible, I decided to release this separate driver. It is not inconceivable however that a tridentfb driver will shortly emerge with at least some of the support for the EPIA. Building epiafb as a module --------------------------- Make sure you have the kernel sources in /usr/src/linux. Change to the epiafb directory and type 'make'. The result will be an object file called 'epiafb.o'. Using the epiafb module ----------------------- First, you need the 'fbgen' generic framebuffer module. If it isn't already loaded, type 'insmod fbgen'. Then, in the epiafb directory, type 'insmod epiafb.o'. Module options -------------- epiafb takes a number of options which can be used on the insmod command line, e.g "insmod epiafb.o accel=0 pci_retry=1" mode: specify a start up mode. Not currently supported. bpp: specify a start up bpp. Not currently supported. accel: disable acceleration with "accel=0" memsize: manually specify VGA memory size (in Kb) - normally this is autodetected. e.g. "memsize=8192" memdiff: am adjustment (in Kb) to use if your VGA reports more memory than it actually has. e.g. "memdiff=1024" pci_retry: enable PCI retries with "pci_retry=1". May improve performance with some soundcards. (Disabled by default) pci_burst: disable PCI bursting with "pci_burst=0". (Enabled by default) hsync_fix: Perform overscan timing corrections for 'broken' VGA adaptors - called "KGAs" in XFree86. This is enabled by default, disable with "hsync_fix=0". vsync_fix: See hsync_fix. Similar sort of thing for the vertical timings. Building epiafb as part of the kernel ------------------------------------- Coming soon! TV out support -------------- EPIA motherboards have a VT1621 TV encoder on them. Currently you can download my command line utility "tvout" to enable TV display. I aim to fold this code into this driver soon. AJS 23/10/2002
Download the source release here.
Here's the README from this archive:
VIA EPIA TV-out utility ----------------------- (c) 2002 Ant Skelton This command line utility can be used to control the TV output on VIA EPIA motherboards, which ahve the VT1621 encoder chip. It will also control other boards with the Chrontel CH7005C. In order to use this utility, you need the 'epiafb' framebuffer driver. It may work with the 'tridentfb' driver provided you have a version of tridentfb later than '0.72-fs2', and that Jani has incorporated my changes ;) tvout will read your framebuffer's current resolution and colourdepth, and attempt to enable that for TV out. If it can't, it will complain. In this case you may need to change mode with 'fbset' to a more suitable resolution. Use 'tvout -m' for hints on good modes. Note that not all resolutions are supported - currently this utility supports 640x480 and 800x600 at various colour depths. tvout takes a number of options: -s: save all VGA params to before overwriting them. This is so that they may be later restored with the -r option. -r : restore VGA settings from a file stored previously with -s option. -f : specify an alternate framebuffer device. The default is '/dev/fb0' -c : specify a chipset, can be 'vt1621' or 'ch7005c'. Default is 'vt1621'. -b : specify a broadcast format, can be 'pal' or 'ntsc'. Default is 'pal'. -m : display a list of modes which this util supports -v : be verbose -h : print help summary Since I don't have access to the vt1621 datasheet, there is currently no clean way to disable TV output. The best way is to use the -s option to save your settings before the TV out is enabled, and then to use -r later to restore them, thereby disabling TV output. Building TV out --------------- Ensure you have kernel sources in /usr/src/linux. Change to the tvout directory and type 'make'. AJS 23/10/2003
sourceforge.net project page for epiafb
epiafb forums at sourceforge.net
epiafb mailing lists at sourceforge.net