1. Purpose 2. Usage 2.1. modetest (the newer and easier program) 2.2. fbmodes (older and not so flexible program) 3. Some examples 4. fb.modes -> modeline converter |
5. Online demo 6. Copying 7. Drawbacks 8. Feedback 9. Requirements 10. Installation 11. Downloading |
On modern monitors, you probably have to specify the blank part lengths for left, right, top and bottom of screen too.
Missing options. modetest - video mode composer v1.2.1.6 (C) 1992,2002 Bisqwit Developes a screen mode. Usage: modetest <options> [<...>] Options: -V, --version Version information -X, --hslen <num> Horizontal sync length. Range: 0..1 s, default: 1e-6 (1 microsecond) -Y, --vslen <num> Vertical sync length. Range: 0..1 s, default: 46e-6 (46 microseconds) -h, --help Help -n, --ignoretest Ignore mode testing -r, --refresh <num> Screen refresh rate. -x, --xres <visible>[+<invisible>[/<left%>]] Horizontal resolution. -y, --yres <visible>[+<invisible>[/<top%>]] Vertical resolution. You must specify at least xres, yres and refresh. Current assumed monitor and display card limits (used in warnings): Horizontal sync (hsync) range: 30 .. 70 kHz Vertical sync (refresh) range: 50 .. 120 Hz atyfb maxs: h_disp=2048, h_sync_start=4096, hslen=248, v_disp=2048, v_sync_strt=2048, vslen=31 The program tries to set the screenmode with fbset command. You might want to redirect the stderr to a file in case the fbset command fails and renders the screen garbled: modetest [<options>] 2>logfile.txt Example: modetest 2>tmptmp -x1280+296 -y1024+39 -r60 (gives the screenmode I'm using with my framebuffer console) (actually -x1280+296/78.4 -y1024+39/99 to center it)(Note that you need write access to
/dev/vcsa0
and a working fbset (v2.1) program to fully gain the features
this program has to offer.)
fbmodes version 1.2.1.6 Copyright (C) 1992,1999 Bisqwit (http://iki.fi/bisqwit/) Generates various type of video mode entries with given settings Usage: fbmodes [-?xyfrdXYmV] -?, --help Help -x, --xres n Requested horizontal resolution (default: 256) -y, --yres n Requested vertical resolution (default: 256) -f, --hfreq n Horizontal pixel clock/Hz (default: 31500) -r, --refresh n Specify (vertical) display refreshment rate/Hz (default: hfreq/ylen or 120) -xl,--xlen n Specify video line width/pixels (default: xres*3/2) -yl,--ylen n Specify number of scanlines (default: hfreq/refresh) -d, --depth n Specify bitness (used in fb.modes) (default: 8) -X, --xofs n Specify hsyncstart-xres (default: (xlen-xres)/2) -Y, --yofs n Specify vsyncstart-yres (default: (ylen-yres)/3) -xs,--hslen n Specify hsync length/pixels (default: min(40,(xlen-xres)/2-1)) -ys,--vslen n Specify vsync length/pixels (default: min(10,(ylen-yres)/2-1)) -fx,--fontxres n Specify fontxres (used in TextConfig) (default: 8) -fy,--fontyres n Specify fontyres (used in TextConfig) (default: 8) -m, --mem n Video memory size/kB (default: 4000) -V, --version Version information The order of the parameter elements is not important. Also any of them can be omitted. Pparameter translation algorithm: If hfreq was specified and refresh was not specified, refresh gets calculated from hfreq/ylen. Else if refresh was not specified, it is assumed as 120. Next if ylen was not specified, it is calculated from hfreq/refresh. If ylen, refresh and hfreq were specified, ignore hfreq. Next, if hslen and vslen were not specified, calculates them as documented.
mode "2000x1750-40" # D: 186.602 MHz, H: 70.683 kHz, V: 39.687 Hz geometry 2000 1750 2000 1750 8 timings 5359 434 70 29 1 136 1 hsync high vsync high endmode #~/src/fbmodes/fbmodes -x360 -y256 -d32 -ys3 -xs48 -f50000 -m1024 mode "360x256-120" geometry 360 256 360 1000 32 timings 39746 24 72 104 53 48 3 endmode #~/src/fbmodes/fbmodes -x320 -y256 -d32 -ys3 -xs48 -f50000 -m1024 mode "320x256-120" geometry 320 256 320 1000 32 timings 43642 22 69 104 53 48 3 endmode #~/src/fbmodes/fbmodes -x360 -xl460 -y240 -d32 -ys3 -X30 -xs20 -f35000 -m256 -r120 mode "360x240-120" geometry 360 240 360 728 32 timings 62254 50 30 31 17 20 3 endmode #~/src/fbmodes/fbmodes -x320 -y240 -d32 -ys2 -xs48 -f45000 -m1024 mode "320x240-120" geometry 320 240 320 1000 32 timings 48414 22 69 88 45 48 2 endmode #~/src/fbmodes/fbmodes -x576 -y432 -d32 -ys3 -xs48 -f50000 -m512 mode "576x432-120" geometry 576 432 576 910 32 timings 23328 32 79 33 18 48 3 endmode #~/src/fbmodes/modetest -x320+50/20 -y200+100/70 -r120 -X2.5e-6 -Y58e-6 mode "320x200-120" # D: 14.799 MHz, H: 36.360 kHz, V: 120.000 Hz geometry 320 200 320 200 8 timings 67574 10 40 70 30 37 3 vsync high hsync high endmode #~/src/fbmodes/modetest -x384+50/35 -y288+40/80 -r120 -X2.5e-6 -Y58e-6 mode "384x288-120" # D: 19.145 MHz, H: 39.720 kHz, V: 120.000 Hz geometry 384 288 384 288 8 timings 52232 17 33 32 8 48 3 endmode # Generated with: modetest -x256+95/40 -y320+30 -r120 -X0 -Y1e-6 mode "256x320-120" # D: 14.784 MHz, H: 42.120 kHz, V: 120.000 Hz geometry 256 320 256 320 32 timings 67640 38 57 27 3 0 1 vsync high hsync high endmode # Generated with: modetest -x400+60/48 -y320+50/60 -r120 mode "400x320-120" # D: 21.472 MHz, H: 44.640 kHz, V: 120.000 Hz geometry 400 320 400 320 8 timings 46572 28 32 30 20 21 2 vsync high hsync high endmode # Generated with: modetest -x 432+70/50 -y 320+30 -r 120 mode "432x320-120" # D: 22.071 MHz, H: 42.120 kHz, V: 120.000 Hz geometry 432 320 432 320 8 timings 45308 35 35 27 3 22 1 vsync high hsync high endmode # Generated with: modetest -x352+116/35 -y288+120/70 -r124 mode "352x288-124" # D: 25.064 MHz, H: 50.840 kHz, V: 124.000 Hz geometry 352 288 352 288 8 timings 39897 40 76 84 36 25 2 vsync high hsync high endmode # Generated with: modetest -x640+100/97 -y360+30 -r120 mode "640x360-120" # D: 36.503 MHz, H: 47.040 kHz, V: 120.000 Hz geometry 640 360 640 360 8 timings 27394 97 3 27 3 36 2 vsync high hsync high endmode # Generated with: modetest -x640+200 -y480+50 -r120 mode "640x480-120" # D: 57.264 MHz, H: 63.840 kHz, V: 120.000 Hz geometry 640 480 640 480 8 timings 17462 160 40 45 5 57 2 vsync high hsync high endmode # Generated with: modetest -x512+110/90 -y384+30 -r120 mode "512x384-120" # D: 32.648 MHz, H: 49.920 kHz, V: 120.000 Hz geometry 512 384 512 384 8 timings 30630 99 11 27 3 32 2 vsync high hsync high endmode # Generated with: modetest -x720+250/45 -y480+200/50 -r100 mode "720x480-100" # D: 71.100 MHz, H: 68.300 kHz, V: 100.000 Hz geometry 720 480 720 480 8 timings 14064 112 138 100 100 71 3 vsync high hsync high endmode # Generated with: modetest -x640+160/58 -y272+240/60 -r120 mode "640x272-120" # D: 52.551 MHz, H: 61.680 kHz, V: 120.000 Hz geometry 640 272 640 272 8 timings 19029 92 68 144 96 52 2 vsync high hsync high endmode # Generated with: modetest -x632+240/42 -y476+180/50 -r100 mode "632x476-100" # D: 61.485 MHz, H: 65.900 kHz, V: 100.000 Hz geometry 632 476 632 476 8 timings 16264 100 140 90 90 61 3 vsync high hsync high endmodeI have made this much different screen modes to play mpeg4 videos full screen without software rescaling.
The utilities to use MPlayer in Linux framebuffer console can be found at http://iki.fi/bisqwit/source/mplayscript.html.
ruby fb2x.rb < fb.modes > modelines.txt
If you happen to see this program useful for you, I'd
appreciate if you tell me :) Perhaps it would motivate
me to enhance the program.
As of 21.8.2002, still nobody has emailed me anything
about this program, although I have seen hits and downloads
from this page many times a day for half a year already.
$ make $ su # make installIf you do not want to install libargh (included in the archive), do not use "make install" and edit Makefile and enable the STATIC linking instead of DYNAMIC.
Generated from
progdesc.php
(last updated: Sun, 6 Apr 2003 05:28:15 +0300)
with docmaker.php
(last updated: Thu, 13 Feb 2003 15:11:29 +0200)
at Sun, 6 Apr 2003 05:38:40 +0300