- 浏览: 1483136 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (691)
- linux (207)
- shell (33)
- java (42)
- 其他 (22)
- javascript (33)
- cloud (16)
- python (33)
- c (48)
- sql (12)
- 工具 (6)
- 缓存 (16)
- ubuntu (7)
- perl (3)
- lua (2)
- 超级有用 (2)
- 服务器 (2)
- mac (22)
- nginx (34)
- php (2)
- 内核 (2)
- gdb (13)
- ICTCLAS (2)
- mac android (0)
- unix (1)
- android (1)
- vim (1)
- epoll (1)
- ios (21)
- mysql (3)
- systemtap (1)
- 算法 (2)
- 汇编 (2)
- arm (3)
- 我的数据结构 (8)
- websocket (12)
- hadoop (5)
- thrift (2)
- hbase (1)
- graphviz (1)
- redis (1)
- raspberry (2)
- qemu (31)
- opencv (4)
- socket (1)
- opengl (1)
- ibeacons (1)
- emacs (6)
- openstack (24)
- docker (1)
- webrtc (11)
- angularjs (2)
- neutron (23)
- jslinux (18)
- 网络 (13)
- tap (9)
- tensorflow (8)
- nlu (4)
- asm.js (5)
- sip (3)
- xl2tp (5)
- conda (1)
- emscripten (6)
- ffmpeg (10)
- srt (1)
- wasm (5)
- bert (3)
- kaldi (4)
- 知识图谱 (1)
最新评论
-
wahahachuang8:
我喜欢代码简洁易读,服务稳定的推送服务,前段时间研究了一下go ...
websocket的helloworld -
q114687576:
http://www.blue-zero.com/WebSoc ...
websocket的helloworld -
zhaoyanzimm:
感谢您的分享,给我提供了很大的帮助,在使用过程中发现了一个问题 ...
nginx的helloworld模块的helloworld -
haoningabc:
leebyte 写道太NB了,期待早日用上Killinux!么 ...
qemu+emacs+gdb调试内核 -
leebyte:
太NB了,期待早日用上Killinux!
qemu+emacs+gdb调试内核
tasklist|findstr QQ
在32位的机器上只需要
apt-get install libsvga1*
其实就是
apt-get install libsvga1
apt-get install libsvga1-dev
yum install svgalib*
就喜欢大黑屏
gcc svgtest.c -lvga
需要修改
/etc/vga/libvga.config
fedora17没成功
回家试验ubuntu吧
apt-cache search vga
apt-get install libsvga1
apt-get install libsvga1-dev
apt-get install libsvga*
apt-get install zgv
apt-get install texlive
在32位的机器上只需要
apt-get install libsvga1*
其实就是
apt-get install libsvga1
apt-get install libsvga1-dev
yum install svgalib*
就喜欢大黑屏
gcc svgtest.c -lvga
需要修改
/etc/vga/libvga.config
fedora17没成功
回家试验ubuntu吧
apt-cache search vga
apt-get install libsvga1
apt-get install libsvga1-dev
apt-get install libsvga*
apt-get install zgv
apt-get install texlive
#include <stdlib.h> #include <unistd.h> #include <vga.h> int main(void) { vga_init(); vga_setmode(G320x200x256); vga_setcolor(4); vga_drawpixel(10, 10); vga_drawline(200,300,600,100); sleep(5); vga_setmode(TEXT); return EXIT_SUCCESS; }
oot@ubuntu:~/test# cat testvgafuza.c #include <stdlib.h> #include <unistd.h> #include <time.h> #include <vga.h> #include <math.h> #include <string.h> #define false 0 #define true 1 typedef int bool; int main() { int i; bool flag; int pointx; int pointy; unsigned char *colors; vga_init(); //svgalib初始化 vga_setmode(G800x600x256); //设置屏幕的显示模式,800X600的分辨虑,256色 vga_setcolor(5); //选用5号颜色 vga_drawline(200,300,600,100); //用5号颜色画一条线段 vga_drawpixel(400,100); //在坐标400,200以5号颜色画上一点 for(i=0;i<255;i++) { vga_setcolor(i); vga_drawpixel(i,100); } vga_getch(); //按任意键继续 vga_screenoff();//关闭屏幕,你将什么都看不到 colors=(unsigned char *)malloc(800); for(i=0;i<800;i++) colors[i]=vga_getpixel(i,100); //得到屏幕上纵坐标为100的线的所有点的颜色 vga_drawscanline(15,colors); //画一条水平扫描线,不过由于已关闭屏幕,你将什么都看不到 vga_getch();//按任意键继续 vga_screenon();//打开屏幕,你将发现屏幕上多了个水平扫描线 vga_setpalette(5,20,10,15); //改调色板,胡乱定义5号颜色为R200,G100,B150 vga_setcolor(5); vga_drawline(200,300,700,500); //你将看到以前的那条线的颜色也改变了,因为调色板是全局的 vga_drawscansegment(colors,100,300,50); //画我们所得到的水平扫描线的一部分,从100,300开始50个点 //稍微来点小花样 for(i=0;i<100;i++) { vga_drawscansegment(colors,100+i,10+i,50); vga_drawscansegment(colors,200-i,10+i,50); } for(i=0;i<100;i++) { vga_drawscansegment(colors,600+i/2,10+i,50); vga_drawscansegment(colors,700-i/2,10+i,50); } //下面画个正弦曲线 vga_setcolor(1); vga_drawline(10,300,700,300); vga_drawline(680,280,700,300); vga_drawline(680,320,700,300); vga_drawline(400,50,400,550); vga_drawline(380,70,400,50); vga_drawline(420,70,400,50); pointx=100; pointy=300; vga_setcolor(4); for(i=1;i<540;i++) { vga_drawline(pointx,pointy,100+i,300+100*sin(i*M_PI/180)); pointx=100+i; pointy=300+100*sin(i*M_PI/180); } //下面操作调色板玩玩看看 i=0; flag=true; while(!vga_getkey())//当没有键盘输入的时候循环 { vga_waitretrace(); //等到射线扫描返回,此函数对防止屏幕闪烁很有用 vga_waitretrace(); //呵呵,另外一个作用就是还可以用来延时,大约1/40到1/80秒之间 vga_setpalette(4,i,i,i); vga_setpalette(5,i,i/2,63); if(flag)i++; else i--; if(i==63)flag=false; if(i==1)flag=true; } vga_setmode(TEXT);//回到控制台字符模式 free(colors); return 0; }
root@ubuntu:~/test# cat /etc/vga/libvga.config # Configuration file for svgalib. Default location is /etc/vga. # Other config file locations: ~/.svgalibrc # where SVGALIB_CONFIG_FILE points # Lines starting with '#' are ignored. # If you have two vga cards with the same pci vendor id, svgalib will try # to use the first one, even if the second one is active. In that case, # use PCIStart to force starting the search for a vga card only at a # specific bus and device numbers. For example, an AGP card is usually on # bus 1, while pci is on bus 0, so to use the AGP card, uncomment: # PCIStart 1 0 # Have a deep look at README.config to see what can do here (especially # for mach32). # Mouse type: # mouse Microsoft # Microsoft # mouse MouseSystems # Mouse Systems # mouse MMSeries # Logitech MM Series # mouse Logitech # Logitech protocol (old, newer mice use Microsoft protocol) # mouse Busmouse # Bus mouse # mouse PS2 # PS/2 mouse # mouse MouseMan # Logitech MouseMan # mouse Spaceball # Spacetec Spaceball # mouse IntelliMouse # Microsoft IntelliMouse or Logitech MouseMan+ on serial port # mouse IMPS2 # Microsoft IntelliMouse or Logitech MouseMan+ on PS/2 port # mouse pnp # plug'n'pray # mouse WacomGraphire # Wacom Graphire tablet/mouse # mouse DRMOUSE4DS # Digital Research double-wheeled mouse # mouse none # None mouse unconfigured # (DEBIAN NOTE: the mouse used to default to microsoft, but this was changed # to fix bug #13458. If your mouse used to work fine, you can simply change # it back to read "microsoft" again. If you are careful to change *only that # one word*, and not to add or remove extra whitespace, the package # installation will continue to update this file without requiring user # intervention because of a modified config file. # This applies to all mouse types, not just microsoft.) # Mouse/keyboard customisation by 101 (Attila Lendvai). If you have any good # ideas you can reach me at 101@kempelen.inf.bme.hu # mouse_accel_type normal # No acceleration while delta is less then # threshold but delta is multiplied by # mouse_accel_mult if more. Originally done by # Mike Chapman mike@paranoia.com mouse_accel_type power # The acceleration factor is a power function # of delta until it reaches m_accel_mult. It # starts from the coordinate # [1, 1 + m_accel_offset] and goes to # [m_accel_thresh, m_accel_mult]. If delta # is bigger then m_accel_thresh it is a plain # constant (m_accel_mult). It is the f(delta) # function with which the delta itself will be # multiplied. m_accel_offset is 1 by default, # so for delta = 1 the accelerated delta will # remain 1 (You don't lose resolution). The # starting point of the f(delta) function # might be moved along the Y axis up/down with # m_accel_offset thus defining the initial # minimum acceleration (for delta = 1). # Basically it's like the normal mode but the # acceleration factor grows as you move your # mouse faster and faster, not just turns in # and out. Threshold is the point from where # the f(delta) function gets linear. # This is the one I use for *uaking... =) # mouse_accel_type off # No comment... mouse_accel_mult 60 # This is the number with which delta will # be multiplied. Basically it's the number # that defines how big the acceleration will # be mouse_accel_thresh 4 # This is the threshold. See description by # power mouse_accel_power 0.8 # This is the second parameter of the power # function used in power mode. Used only by # the power mode mouse_accel_offset 30 # This is the offset of the starting point # on the Y axis. With this you can define the # number that will multiply delta = 1 so it's # the initial acceleration. # mouse_accel_maxdelta 600 # This is an upper limit for delta after # the acceleration was applied # mouse_maxdelta 30 # This is an upper limit for the delta # before the acceleration. With this one you # can limit the biggest valid delta that # comes from the mouse. # mouse_force # Force parameters even if they seem strange # By default svgalib prints an error if any # of the numbers are somhow out of the # reasonable limit, (Like a negative mult :) # and uses the default that's in vgamouse.h # The default device is /dev/input/mice. # However, esp. with the Spacetec Spaceball you may # want to specify a different device for svgalib to use # mdev /dev/ttyS0 # mouse is at /dev/ttyS0 # Some multiprotocol mice will need one of the following: # setRTS # set the RTS wire. # clearRTS # clear the RTS wire. # leaveRTS # leave the RTS wire alone (default) (Wire is usually set) # setDTR # set the DTR wire. # clearDTR # clear the DTR wire. # leaveDTR # leave the DTR wire alone (default) (Wire is usually set) # On mice such as the Microsoft IntelliMouse and Logitech MouseMan+, turning # the wheel rotates the mouse around the X axis. mouse_wheel_steps controls # how many steps make up a full 360-degree turn and thus how much rotation # occurs with each step. The default is 18 steps (20 degrees per step), the # real-world value for the IntelliMouse. Adjust it to match your mouse or to # suit your preferences; a negative number reverses the direction and zero # disables rotation. mouse_wheel_steps 18 # For MS IntelliMouse (default) # mouse_wheel_steps 24 # For Logitech FirstMouse+ # mouse_wheel_steps -18 # Reverses direction # mouse_wheel_steps 0 # Disables rotation # mouse_fake_kbd_event sends a fake keyboard event to the program when the # wheel on a Microsoft IntelliMouse, Logitech MouseMan+, or similar wheel # mouse is turned. This can be useful for programs that do not recognize the # Z axis, but only works with some programs that use raw keyboard. # The format is: # # mouse_fake_kbd_event upscancode downscancode # # The up and down scancodes are the scancodes of the keys to simulate when # the wheel is turned up and down, respectively. # # Scancodes can be specified numerically or symbolically; the symbolic names # are determined by the keymap (see below), if no keymap is loaded the default # is the standard US QWERTY keyboard with the following names available: # letters (a-z), numbers (zero-nine), function keys (F1-F12), the keypad # numbers (KP_0-KP_9) and other keys (KP_Multiply, KP_Subtract, KP_Add, # KP_Period, KP_Enter, and KP_Divide), and the following - minus, equal, # Delete, Tab, bracketleft, bracketright, Return, Control, semicolon, # apostrophe, grave, Shift, backslash, comma, period, slash, Shift, Alt, space, # Caps_Lock, Num_Lock, Scroll_Lock, Last_Console, less, Control_backslash, # AltGr, Break, Find, Up, Prior, Left, Right, Select, Down, Next, Insert, # and Remove. # # Note that this option has no effect unless the IntelliMouse or IMPS2 mouse # type is used (see above). Also note that the simulated keypresses are # instantaneous, so they cannot be used for functions that require a key to # be held down for a certain length of time. # This example simulates a press of the left bracket ([) when the wheel is # turned up and a press of the right bracket (]) when the wheel is turned # down (good for selecting items in Quake II): # mouse_fake_kbd_event bracketleft bracketright # Keyboard config: # kbd_keymap allows you to use an alternate keyboard layout with programs that # use raw keyboard support by translating scancodes from the desired layout to # their equivalents in the layout expected by the program. This option has no # affect on programs that do not use raw keyboard. # # Keymap files to convert between any two arbitrary keyboard layouts can be # generated with the svgakeymap utility, but there are limitations to the # translations that can be performed. Read the file README.keymap in the # svgalib documentation directory for more in-depth information. # # You must specify the full path to the keymap file; it is recommended that # keymaps be kept in the same directory as libvga.config, normally /etc/vga. # The keymap specified in the configuration file can be overriden by setting # the environment variable SVGALIB_KEYMAP to point to another keymap file; # this can be useful for setting keymaps on a per-program basis. # # This example will use the provided US-Dvorak to US-QWERTY map to allow a # Dvorak keyboard layout to be used with a program that expects a standard US # QWERTY keyboard, for instance Quake: # kbd_keymap /etc/vga/dvorak-us.keymap # There is a potential security risk in allowing users to remap keyboard # scancodes at will; with this option enabled only keymap files owned by # root can be used. Normally you should leave this on, but if you have a # single-user box or you really trust your users you may find it convenient # to run without it and allow users to load arbitrary keymaps. kbd_only_root_keymaps # kbd_fake_mouse_event, as it says, sends a fake mouse event to the program. # The format is: kbd_fake_mouse_event scancode [flag(s)] command [argument] # Scancode is a raw scancode or a descriptive name, the same as with fake # keyboard events (see above). If you use keymap conversion, specify # scancodes for the keyboard layout the program will receive. # Flags: down - trigger event when the key is pressed (default) # up - the opposite # both - trigger in both case, if pressed/released # repeat - repeat events if the key is kept pressed (off by default) # commands: delta[xyz] - send a fake delta event as if you have moved your # mouse. If the parameter is 'off' / 'on' it will turn # off/on the respective mouse axis (requires a # parameter, of course) # button[123] - send a fake event that the mouse button is pressed # or released that's given by the parameter. # ('pressed' or 'released') # Here are some examples: # This is one I use in *uake: it turns around, looks down a bit and when the # key is released it does the opposite, so it gets back to the starting state. # With this one and the help of a rocket you can fly though the whole map :) # (Scancode 28 is enter) # kbd_fake_mouse_event 28 both deltax 8182 down deltay -1500 up deltay 1500 # This one will switch off the y axis of the mouse while the key (right ctrl) # is kept pressed. # kbd_fake_mouse_event 97 down deltay off up deltay on # This one is the same as if you were pressing the left mouse button. (But # if you move your mouse then the button state will reset even if you keep # right ctrl down...) # kbd_fake_mouse_event 97 down button1 pressed up button1 released # Monitor type: # Only one range can be specified for the moment. Format: # HorizSync min_kHz max_kHz # VertRefresh min_Hz max_Hz # Typical Horizontal sync ranges # (Consult your monitor manual for Vertical sync ranges) # # 31.5 - 31.5 kHz (Standard VGA monitor, 640x480 @ 60 Hz) # 31.5 - 35.1 kHz (Old SVGA monitor, 800x600 @ 56 Hz) # 31.5 - 35.5 kHz (Low-end SVGA, 8514, 1024x768 @ 43 Hz interlaced) # 31.5 - 37.9 kHz (SVGA monitor, 800x600 @ 60 Hz, 640x480 @ 72 Hz) # 31.5 - 48.3 kHz (SVGA non-interlaced, 800x600 @ 72 Hz, 1024x768 @ 60 Hz) # 31.5 - 56.0 kHz (high frequency, 1024x768 @ 70 Hz) # 31.5 - ???? kHz (1024x768 @ 72 Hz) # 31.5 - 64.3 kHz (1280x1024 @ 60 Hz) HorizSync 31.5 35.5 VertRefresh 50 90 # If you have a NeoMagic card on a Toshiba Libretto 100, 110 use that instead # HorizSync 31.5 70 # VertRefresh 50 100 # Modeline "800x480" 50 800 856 976 1024 480 483 490 504 +hsync +vsync # newmode 800 480 256 800 1 # newmode 800 480 32768 1600 2 # newmode 800 480 65536 1600 2 # newmode 800 480 16777216 2400 3 # Monitor timings # # These are prefered over the default timings (if monitor and chipset # can handle them). Not all drivers use them at the moment, and Mach32 # has its own syntax (see below). # The format is identical to the one used by XFree86, but the label # following the modeline keyword is ignored by svgalib. # # Here some examples: # modeline "640x480@100" 43 640 664 780 848 480 483 490 504 # modeline "800x600@73" 50 800 856 976 1024 600 637 643 666 # modeline "1024x768@75" 85 1024 1048 1376 1400 768 771 780 806 # It seems there is a need for a 512x384 mode, this timing was donated # by Simon Hosie <gumboot@clear.net.nz>: (it is 39kHz horz by 79Hz vert) # Modeline "512x384@79" 25.175 512 522 598 646 384 428 436 494 # Here's a 400x300 Modeline (created by svidtune). Note that for # doublescan modes, the Vertical values are half the real one (so XFree86 # modelines can be used). # Modeline "400x300@72" 25.000 400 440 504 520 300 319 322 333 doublescan # Here is a mode for a ZX Spectrum emulator: # Modeline "256x192@73" 12.588 256 269 312 360 192 208 212 240 doublescan # newmode 256 192 256 256 1 # the width must be divisible by 8. Some cards require even divisiblity by # 16, so that's preferable, since there are no standard modes where the # width is not divisible by 16. # The following modes are defined in svgalib, but have no timings in # timing.c, so you'll have to add a modeline in order to use them: # 1280x720, 1360x768, 1800x1012, 1920x1080, 1920x1440, 2048x1152 # and 2048x1536 # Mach32 timings: # e.g. Setup a 320x200 mode for the mach32: #define 320x200x32K 320x200x64K 320x200x16M 320x200x16M32 # 16 320 392 464 552 200 245 265 310 # These are REQUIRED for above mode, please edit to suit your monitor. # (No, I won't pay for a new one) # HorizSync 29 65 # VertRefresh 42 93.5 # Chipset type: # # Use one of the following force chipset type. # Autodetects if no chipset is specified. # # If you have a PCI or AGP card, don't use chipset type forcing. # If the card is not autodetected, its a bug, and it will probably # not work even with forcing. Try running vgatest (with no chipset # line), and send to me (matan@svgalib.org) the output, a copy of # /proc/pci (or lspci -n -vv) and whatever info you have on the card. # # If a chipset driver gives trouble, try forcing VGA. # chipset VGA # Standard VGA # chipset EGA # EGA # chipset ET3000 # Tseng ET3000 # chipset ET4000 # Tseng ET4000 # chipset Cirrus # Cirrus Logic GD542x # chipset TVGA # Trident TVGA8900/9000 # chipset Oak # Oak Technologies 037/067/077 # chipset S3 # S3 chipsets # chipset GVGA6400 # Genoa 6400 # chipset ARK # ARK Logic # chipset ATI # old ATI VGA # chipset Mach32 # ATI Mach32 # chipset ALI # ALI2301 # chipset Mach64 # ATI Mach64 - deprecated # chipset ET6000 # Tseng ET6000 # chipset APM # Alliance Technology AT 24/25/3D # chipset NV3 # nVidia Riva 128 / TNT / GeForce # chipset VESA # nicely behaved Vesa Bioses # chipset MX # MX86251 (some Voodoo Rush boards) # chipset PARADISE # WD90C31 # chipset RAGE # RagePro (and might work with some older mach64) # chipset BANSHEE # Banshee/V3. # chipset SIS # SiS 5597/6326/620/530 cards / integrated vga. # chipset I740 # Intel i740 based cards. # chipset NEOMAGIC # chipset LAGUNA # Cirrus Logic Laguna series (546X) # chipset FBDEV # Use kernel fbdev, instead of direct hardware. # chipset G400 # Matrox Mystique/G100/G200/G400/G450 # chipset R128 # Ati Rage128 # chipset SAVAGE # S3 chipsets Savage # chipset C&T # Chips and Technologies # EGA Color/mono mode: # Required if chipset is EGA. # # Use one of the following digits to force color/mono: # monotext # Card is in monochrome emulation mode # colortext # Card is in color emulation mode colortext # RAMDAC support: # Some chipsets (e.g. S3 and ARK) allows specifying a RAMDAC type. # If your RAMDAC is not autodetected, you can try specifying it. # Do NOT specify a RAMDAC if you card uses the S3 Trio chipset # (the RAMDAC is built in). # Ramdac Sierra32K # Ramdac SC15025 # Ramdac SDAC # S3 SDAC # Ramdac GenDAC # S3 GenDAC # Ramdac ATT20C490 # AT&T 20C490, 491, 492 (and compatibles) # Ramdac ATT20C498 # AT&T 20C498 # Ramdac IBMRGB52x # IBM RGB524, 526, 528 (and compatibles) # Dotclocks: # Some chipsets needs a list of dot clocks for optimum operation. Some # includes or supports a programmable clock chip. You'll need to specify # them here. # Fixed clocks example: # (The following is just an example, get the values for your card from # you XF86Config) # Clocks 25.175 28.3 40 70 50 75 36 44.9 0 118 77 31.5 110 65 72 93.5 # Programmable clockchip example: # Clockchip ICD2061A # The only one supported right now # Here are miscellaneous options to help with specific problems. # VesaText # Helps the VESA driver with text mode restoration # problems. # VesaSave 14 # changing value might help text mode restoring # problems with VESA driver. Legal values: 0-15 # NoVCControl # Disables svgalib's finding a new VC if run # from X. Good fo using dumpreg under X, but # probably bad for standard usage. # RageDoubleClock # If your card is based on ATI's rage card, and # the pixel clock is double what it should be # (main symptom is some modes are out of sync), # try enabling this. If it helps, please report to # me (matan@svgalib.org) # NeoMagicLibretto100 # Enable if you have a NeoMagic card on a Toshiba # Libretto 100, 110, etc root@ubuntu:~/test#
发表评论
-
xl2tp 备份
2019-09-24 16:25 7342019年9月24日更新: 注意,需要开启firewall ... -
sdl笔记
2019-01-31 17:19 741sdl教程教程 https://github.com/Twin ... -
tinyemu
2019-01-24 17:59 1441参考https://bellard.org/jslinux/t ... -
aws搭建xl2tp给iphone使用
2018-12-26 21:37 19022019年12月26日 可以参考原来的配置 https:// ... -
consul的基本使用
2017-06-27 11:13 1409### 安装 [centos7上consul的安装](ht ... -
lvs的helloworld
2017-06-13 20:36 602###################lvs######### ... -
系统调用的helloworld
2017-05-04 16:14 660《2.6内核标准教程》 p293 #include < ... -
bitcoin和cgminer的安装
2017-04-05 22:45 1966参考 http://blog.csdn.net/rion_ch ... -
ceph安装和常用命令
2017-03-21 21:55 966/etc/hosts ssh-keygen ssh-copy- ... -
mobile terminal 笔记
2016-12-02 15:35 650找出旧的iphone4 越狱之后可以变个小操作系统 mobi ... -
socket基础和select(python)
2016-06-14 17:21 1809上接 c语言的socket基础ht ... -
socket基础(c语言)
2016-06-14 16:45 1008不使用select 普通的基础socket连接,对多个客户端的 ... -
ffmpeg+nginx 的直播(2,直播摄像头和麦克风)
2016-05-28 20:21 4386假设我的服务器是centos7 192.168.139.117 ... -
ffmpeg+nginx 的直播(1,直播播放的视频文件)
2016-05-26 17:11 661964位操作系统centos7 ############ 1.一 ... -
socat和netcat(nc)
2016-04-29 22:36 1758转 原文链接: http://www.wenquan.name ... -
neutron基础九(qemu nat网络)
2016-02-06 17:21 1632接上基础八,kvm透传nested忽略 1.在主机ce ... -
neutron基础八(qemu 桥接网络)
2016-02-06 13:13 1550qemu的桥接和nat的qemu启动命令是一样的,但是后续的脚 ... -
neutron基础七(qemu tap)
2016-02-02 17:02 1034使用qemu 建立个虚拟机 然后用tap设备, 根据基础六,t ... -
neutron基础六(bridge fdb)
2016-01-28 18:30 2283转发表 在三台机器上建立三个namespace 192.16 ... -
南北流量
2016-01-23 23:26 1837一、三层网络架构: 接入层:负责服务器的接入和隔离 汇聚层:汇 ...
相关推荐
SvgaLib是一个专门针对SVGA( Scalable Vector Graphics Animation)格式的C++库,它致力于解析和绘制SVGA动画。在深入理解SvgaLib之前,我们需要先了解什么是SVGA动画。 SVGA是一种轻量级的矢量图形动画格式,它...
SVGALib游戏开发平台(SGDP)是一个专为Linux系统设计的开源软件,它提供了一个用C语言编写的框架,使开发者能够轻松地创建2D游戏和图形应用程序。这个平台的核心在于svgalib库,它是一个低级的图形库,直接与硬件...
本文将深入探讨Linux中的X Window系统、SVGALib和Framebuffer这三种主要的图形化技术。 1. X Window系统:X Window是Linux中最常见的图形用户界面(GUI)系统,起源于UNIX系统,其设计目标是为了支持远程图形会话和...
这两个函数虽然不是SVGALIB库的一部分,但它们的出现可能是为了说明如何在使用SVGALIB库的同时处理文件操作。 - `fclose`函数用于关闭一个文件流。 - `feof`函数用于检查文件流是否已经到达文件末尾。 #### 五、...
- **2.1 Linux下SVGALIB库安装**:SVGALIB是一个开源的图形库,为Linux提供低级的VGA图形支持。在开发过程中,需要先在Linux环境中安装SVGALIB库,以便程序能直接与显卡进行通信。 - **2.2 SVGA函数介绍**:...
嵌入式Linux图形系统的核心在于其图形基础设施,主要包括XWindow、SVGALib、FrameBuffer等,它们构成了图形处理的基石,支撑着各种高级图形库和GUI系统的运行。以下是对这些基础设施的详细介绍: ##### XWindow系统...
随着Framebuffer的引入,SVGALib的重要性逐渐降低,许多软件转而支持Framebuffer,尤其是那些高级的函数库如QT和GTK。 1.3 FrameBuffer是一个在Linux内核2.2.xx版本中引入的驱动程序接口。它将显示设备抽象为帧缓冲...
Linux图形化系统主要涉及到几个关键组件,包括X Window系统、SVGALib和FrameBuffer。这些组件都是Linux系统中实现图形用户界面(GUI)的基础。 X Window系统是Linux和Unix环境中广泛使用的桌面图形系统,它为应用...
本文主要探讨了Linux图形领域的基础知识,包括X Window系统、SVGALib、FrameBuffer以及相关的图形库。 首先,X Window系统是Linux图形化的核心,它是一个通信协议,由X server和X client两部分组成。X server负责...
Some of the code below is taken SVGAlib. The original, unmodified copyright notice for that code is below.
该领域的基础设施主要包括 SVGALib、X Window、Frame Buffer 等,它们一般是作为其他高级图形或者图形应用程序的基本函数库。 SVGALib 是 Linux 系统中最早出现的非 X 图形支持库。这个库从最初对标准 VGA 兼容芯片...
它可以在X11、Xv、DGA、OpenGL、SVGAlib、fbdev、AAlib、DirectFB下工作,且能使用GGI和SDL和一些低级的硬件相关的驱动模式(比如Matrox、3Dfx和Radeon、Mach64、Permedia3)。MPlayer还支持通过硬件MPEG解码卡显示...
然而,SVGALib的接口杂乱,没有充分利用新显示芯片的能力,对硬件细节的隐藏不足,移植性差,且随着FrameBuffer驱动的引入,其地位逐渐被替代。因此,对于新的项目,开发者通常会选择其他更先进的图形库。 ...
它可以在X11、Xv、DGA、OpenGL、SVGAlib、fbdev、AAlib、DirectFB下工作,而且你也能使用GGI和SDL和一些低级的硬件相关的驱动模式(比如Matrox、3Dfx和Radeon、Mach64、Permedia3)。MPlayer还支持通过硬件MPEG解码...
它可以在X11、Xv、DGA、OpenGL、SVGAlib、fbdev、AAlib、DirectFB下工作,而且你也能使用GGI和SDL和一些低级的硬件相关的驱动模式(比如Matrox、3Dfx和Radeon、Mach64、Permedia3)。MPlayer还支持通过硬件MPEG解码...
目前,在嵌入式Linux系统中,有一些成熟的GUI系统底层支持库,如SVGAlib、LibGGI、Xwindow和framebuffer等。这些库各自拥有不同的特性和适用场景。 - **SVGAlib**:一种简单的图形库,适用于较简单的硬件配置。 - *...
它可以在X11、Xv、DGA、OpenGL、SVGAlib、fbdev、AAlib、DirectFB下工作,而且你也能使用GGI和SDL和一些低级的硬件相关的驱动模式(比如Matrox、3Dfx和Radeon、Mach64、Permedia3)。MPlayer还支持通过硬件MPEG解码...
文章提到了几种应用于嵌入式Linux系统的成熟GUI底层支持库,如SVGAlib、LibGGI、X Window和Frame Buffer。这些底层图形发生引擎提供了基本的图形和输入功能,可以作为高级图形应用程序的基础。 其中,LibGGI是一个...
【SVGALib与Linux细胞自动机程序】 SVGALib是一个用于Linux系统的低级图形库,它允许程序员直接访问显卡硬件,以实现高效、快速的图形渲染。在本开源项目中,SVGALib被用来创建一个名为“SVGA Cellular Automata ...
Linux提供有svgalib函数库,但这并不是一个标准的UNIX函数库。许多全屏幕应用程序都使用了curses函数库。即使是编写基于字符的全屏幕程序,使用curses函数库的方案也更简明,而程序本身也更独立于具体的终端。在编写...