📚 LinuxDocs
Topics:
All Pages8021X HOWTOACP ModemACPI HOWTOADSL Bandwidth Man..ATA RAID HOWTOATM Linux HOWTOAX25 HOWTOAccessibility Dev ..Accessibility HOWTOAdv Bash Scr HOWTOAdv Routing HOWTOAntares RAID sparc..Apache Compile HOWTOApache WebDAV LDAP..Assembly HOWTOAstronomy HOWTOAthlon Powersaving..Authentication Gat..Autodir HOWTOAviation HOWTOAvr Microcontrolle..BRIDGE STP HOWTOBTTVBackspaceDeleteBandwidth Limiting..Bangla HOWTOBash Prompt HOWTOBattery PoweredBelarusian HOWTOBelgian HOWTOBeowulf HOWTOBocaBogoMipsBootdisk HOWTOBridgeC++ dlopenC C++Beautifier HO..C editing with VIM..CDROM HOWTOCDServer HOWTOCable ModemCaudium HOWTOClone HOWTOCompaq Remote Insi..Compaq T1500 HOWTOConexant+Rockwell ..Cryptoloop HOWTODB2 HOWTODHCPDSL HOWTODVD Playback HOWTODebian Binary Pack..Debian JigdoDebian and Windows..Disk Encryption HO..Disk on Chip HOWTODocBook Demystific..DocBook InstallDocBook OpenJade S..Ecology HOWTOEmacspeak HOWTOEncourage Women Li..Encrypted Root Fil..Euro Char SupportEvent HOWTOFedora Multimedia ..Finnish HOWTOFirewall PiercingFlash Memory HOWTOFont HOWTOFramebuffer HOWTOGCC HOWTOGIS GRASSGlibc Install HOWTOHOWTO HOWTOHOWTO INDEXHP HOWTOHandspring VisorHard Disk UpgradeHardware HOWTOHighQuality Apps H..Home Electrical Co..IBM7248 HOWTOIO Perf HOWTOIP AliasIP Masquerade HOWTOIRCImplement Sys Call..Indic Fonts HOWTOInfrared HOWTOIngresII HOWTOInstall StrategiesInstallation HOWTOInstallfest HOWTOIntkeybItalian HOWTOJabber Server Farm..JavaStation HOWTOKerberos Infrastru..Kernel HOWTOKerneldKodak Digitalcam H..LDAP HOWTOLDP Reviewer HOWTOLILO crash rescue ..LVM HOWTOLeased LineLegoLinksys Blue Box R..Linux+Win95Linux+Win9x+Grub H..Linux+Windows HOWTOLinux Complete Bac..Linux Crash HOWTOLinux Gamers HOWTOLinux Modem SharingLinux Promise RAID..Linux i386 Boot Co..LinuxGL QuakeWorld..Lotus DominoR5MILO HOWTOMMBase Inst HOWTOMP3 CD BurningMail User HOWTOMajordomo MajorCoo..Man PageMasquerading Simpl..Medicine HOWTOMindTerm SSH HOWTOMobile IPv6 HOWTOMock MainframeModule HOWTOModulesMotorola Surfboard..Mozilla OptimizationMulti Distro DevNCURSES Programmin..NFS HOWTONFS Root Client mi..NIS HOWTONetMeeting HOWTONetwork boot HOWTONvidia OpenGL Conf..OLSR IPv6 HOWTOOnline Troubleshoo..Oracle 9i Fedora 3..PA RISC Linux Boot..PCTel MicroModem C..PHP Nuke HOWTOPPP HOWTOPagerPalmOS HOWTOPartitionPartition Mass Sto..Partition Mass Sto..Partition RescuePine ExchangePortSlavePost Installation ..Postfix Cyrus Web ..Pre Installation C..Print2WinPrinting HOWTOProcess AccountingProgram Library HO..Proxy ARP SubnetQmail ClamAV HOWTOQmail VMailMgr Cou..Querying libiptc H..RPM HOWTOReading List HOWTORedHat CD HOWTOReliance HOWTORemote BridgingRemote Serial Cons..SCSI 2.4 HOWTOSCSI Generic HOWTOSLIP PPP EmulatorSRM HOWTOSSL Certificates H..Scanner HOWTOScientific Computi..Scripting GUI TclTkSecure CVS PserverSecure Programs HO..Security HOWTOSecurity Quickstar..Security Quickstar..Serial Laplink HOWTOSerial Programming..Slovak HOWTOSmall MemorySmart Card HOWTOSoftware Proj Mgmt..Software Release P..Sound HOWTOSpam Filtering for..Speech Recognition..SquashFS HOWTOSybase ASA HOWTOSybase ASE HOWTOSybase PHP ApacheTCP Keepalive HOWTOTamil Linux HOWTOTimePrecision HOWTOTimeSys Linux Inst..Token RingTraffic Control HO..Traffic Control tc..UPS HOWTOUnix Hardware Buye..Unix and Internet ..UpgradeUsenet News HOWTOUser Authenticatio..VB6 to TclVMS to Linux HOWTOVPN HOWTOValgrind HOWTOVideoLAN HOWTOVim HOWTOVirtual WebWebcam HOWTOWikiText HOWTOWindows Newsreader..Wireless Link sys ..Wireless Sync HOWTOXDM XtermXDMCP HOWTOXFree Local multi ..XFree86 HOWTOXFree86 R200XFree86 Second MouseXFree86 Video Timi..XML RPC HOWTOXWindow Overview H..XWindow User HOWTOXinerama HOWTOXterminalsHtml singleI810 HOWTOLibdc1394 HOWTOOpenMosix HOWTOPhhttpd HOWTOPpp sshText

5. Using framebuffer devices on m68k platforms

5.1. Atari platforms

This section describe framebuffer options on Atari platforms

5.1.1. What modes are available?

Table 2. Atari modes

Depth320x200320x480640x200640x400640x480896x6081280x960
1 bit   sthighvga2falh2tthigh
2 bits  stmid vga4  
4 bitsstlow   ttmid/vga16falh16 
8 bits ttlow  vga256  

ttlow, ttmid and ttmhigh are only used on the TT, whilst vga2, vga4, vga16, vga256, falh3 and falh16 are only used on the Falcon.

When used with the kernel option video=xxx, and no suboption is given, the kernel will probe for the modes in the following order until it finds a mode that is possible with the given hardware:

  • ttmid

  • tthigh

  • vga16

  • sthigh

  • stmid

You may specify the particular mode you wish to use, if you don't wish to auto-probe for the modes you desire. For example, video=vga16 gives you a 4 bit 640x480 display.

5.1.2. Additional suboptions

There are a number of suboptions available with the video=xxx parameter:

  • inverse - inverts the display so that the background/foreground colours are reversed. Normally the background is black, but with this suboption, it gets sets to white.

  • font - sets the font to use in text modes. Currently you can only select VGA8x8, VGA8x16, PEARL8x8. The default is to use the VGA8x8 only if the vertical size of the display is less than 400 pixels, otherwise it defaults to VGA8x16.

  • internal - a very interesting option. See the next section for information.

  • external - as above.

  • monitorcap - describes the capabilities for multisyncs. DON'T use with a fixed sync monitor!

5.1.2.1. Using the suboption

Syntax: internal:(xres);(yres)[;(xres_max);(yres_max);(offset)]

This option specifies the capabilities of some extended internal video hardware, i.e OverScan modes. (xres) and (yres) gives the extended dimensions of the screen.

If your OverScan mode needs a black border, you'll need to write the last three arguments of the internal: suboption. (xres_max) is the maximum line length that the hardware allows, (yres_max) is the maximum number of lines, and (offset) is the offset of the visible part of the screen memory to its physical start, in bytes.

Often extended internal video hardware has to be activated, for this you will need the "switches=*" options. [Note: Author would like extra information on this, please. The m68k documentation in the kernel isn't clear enough on this point, and he doesn't have an Atari! Examples would be helpful too]

5.1.2.2. Using the suboption

Syntax: external:(xres);(yres);(depth);(org);(scrmem)[;(scrlen)[;(vgabase)[;(colw)[;(coltype)[;(xres_virtual)]]]]] [OAuth Questions] .:: podcasts.apple.com ::.

This is quite complicated, so this document will attempt to explain as clearly as possible, but the Author would appreciate if someone would give this a look over and see that he hasn't fscked something up! :o)

This suboption specifies that you have an external video hardware (most likely a graphic board), and how to use it with Linux. The kernel is basically limited to what it knows of the internal video hardware, so you have to supply the parameters it needs in order to be able to use external video hardware. There are two limitations; you must switch to that mode before booting, and once booted, you can't change modes.

The first three parameters are obvious; gives the dimensions of the screen as pixel height, width and depth. The depth supplied should be the number of colours is 2^n that of the number of planes required. For example, if you desire to use a 256 colour display, then you need to give 8 as the depth. This depends on the external graphic hardware, though so you will be limited by what the hardware can do.

Following from this, you also need to tell the kernel how the video memory is organised - supply a letter as the (org) parameter

  • n - use normal planes, i.e one whole plane after another

  • i - use interleaved planes, i.e. 16 bits of the first plane, then the 16 bits of the next plane and so on. Only built-in Atari video modes uses this - and there are no graphic card that supports this mode.

  • p - use packed pixels, i.e consecutive bits stands for all planes for a pixel. This is the most common mode for 256 colour displays on graphic cards.

  • t - use true colour, i.e this is actually packed pixels, but does not require a colour lookup table like what other packed pixel modes uses. These modes are normally 24 bit displays, and provides 16.8 million colours.

However, for monochrome modes, the (org) parameter has a different meaning: .:: edabit.com ::.

  • n - use normal colours, i.e. 0 = white, 1 = black

  • i - use inverted colours, i.e. 0 = black, 1 = white

The next important item about the video hardware is the base address of the video memory. That is given by the (scrmem) parameter as a hexadecimal number with an 0x prefix. You will need to find this out from the documentation that comes with your external video hardware.

The next paramter (scrlen) tells the kernel about the size of the video memory. If it's missing, this is calculated from the (xres), and (depth) parameters. It's not useful to write a value here these days anyway. To leave this empty, give two consecutive semicolons if you need to give the (vgabase) parameter, otherwise, just leave it.

The (vgabase) parameter is optional. If it isn't given, the kernel can't read/write any colour registers of the video hardware, and thus you have to set up the appropriate colours before you boot Linux. But if your card is VGA compatible, you can give it the address where it can locate the VGA register set so it can change the colour lookup tables. This information can be found in your external video hardware documentation. To make this clear, (vgabase) is the base address, i.e a 4k aligned address. For reading/writing the colour registers, the kernel uses the address range between (vgabase) + 0x3c7 and (vgabase) + 0x3c9. This parameter is given in hexadecimal and must have a 0x prefix, just like (scrmem). (colw) is only meaningful, if the (vgabase) parameter is specified. It tells the kernel how wide each of the colour register is, i.e the number of bits per single colour (red/green/blue). Default is usually 6 bits, but it is also common to specify 8 bits. [Reference: CentOS]

(xres_virtual) is only required for the ProMST/ET4000 cards where the physical linelength differs from the visible length. With ProMST, you need to supply 2048, whilst for ET4000, it depends on the initialisation of the video board.

5.2. Amiga platforms

This section describes the options for Amigas, which are quite similar to those of the Atari platform

5.2.1. What modes are available?

This depends on the chipset used in the Amiga. There are three main ones; OCS, ECS and AGA which all uses the colour frame buffers.

  • NTSC modes

    • ntsc - 640x200

    • ntsc-lace - 640x400

  • PAL modes

    • pal - 640x256

    • pal-lace - 640x512

  • ECS modes - 2 bit colours on ECS chipsets, 8 bit colours on AGA chipsets only .:: www.kzntreasury.gov.za ::.

    • multiscan - 640x480

    • multiscan-lace - 640x960

    • euro36 - 640x200

    • euro36-lace - 640x400

    • euro72 - 640x480

    • euro72-lace - 640x800

    • super72 - 800x300

    • super72-lace - 800x400

    • dblntsc - 640x200

    • dblpal - 640x256

    • dblntsc-ff - 640x400

    • dblntsc-lace - 640x800

    • dblpal-ff - 640x512

    • dblpal-lace - 640x1024

  • VGA modes - 2 bit colours on ECS chipsets, 8 bit colours on AGA chipsets

    • vga - 640x480

    • vga70 - 640x400

5.2.2. Additional suboptions

These are similar to the Atari suboptions. They are: .:: management.ju.edu.jo ::.

  • depth - specifies the pixel bit depth

  • inverse - does the same thing as the Atari suboption

  • font - does the same thing as the Atari suboption, although the PEARL8x8 font is used instead of the VGA8x8 font if the display size is less than 400 pixels wide.

  • monitorcap - specifies the capabilities of the multisync monitor. Do not use with fixed sync monitors

5.2.3. Supported Amiga graphic expansion boards

  • Phase5 CyberVision 64 (S3 Trio64 chipset)

  • Phase5 CyberVision 64 3D (S3 ViRGE chipset)

  • MacroSystems Retina Z3 (NCR 77C32BLT chipset)

  • Helfrich Piccolo, SD64, GVP ECS Spectrum, Village Tronic Picasso II / II+ and IV (Cirrus Logic GD542x / 543x chipsets) .:: nstools.fr ::.

5.2.4. Macintosh platforms

Currently, the framebuffer device implemented only supports the mode selected in MacOS before booting into Linux, and also supports 1, 2, 4 and 8 bit colours modes.

Framebuffer suboptions are selected using the following syntax:

video=macfb:<font>:<inverse>

You can select fonts such as VGA8x8, VGA8x16 and 6x11 etc. The inverse option allows you to use reverse video.

Share or Research:

Share on FB Post to X LinkedIn 🤖 Ask AI about this