The patch titled Detaching fbcon: update documentation has been added to the -mm tree. Its filename is detaching-fbcon-update-documentation.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: Detaching fbcon: update documentation From: "Antonino A. Daplas" <adaplas@xxxxxxxxx> Update Documentation/fb/fbcon.txt on the following: 1. sysfs attributes are now located in class/graphics/fbcon 2. instructions on how to attach, detach and/or unload fbcon Signed-off-by: Antonino Daplas <adaplas@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- Documentation/fb/fbcon.txt | 104 +++++++++++++++++++++++++++++++++-- 1 file changed, 100 insertions(+), 4 deletions(-) diff -puN Documentation/fb/fbcon.txt~detaching-fbcon-update-documentation Documentation/fb/fbcon.txt --- devel/Documentation/fb/fbcon.txt~detaching-fbcon-update-documentation 2006-06-06 15:13:01.000000000 -0700 +++ devel-akpm/Documentation/fb/fbcon.txt 2006-06-06 15:13:01.000000000 -0700 @@ -135,10 +135,10 @@ C. Boot options The angle can be changed anytime afterwards by 'echoing' the same numbers to any one of the 2 attributes found in - /sys/class/graphics/fb{x} + /sys/class/graphics/fbcon - con_rotate - rotate the display of the active console - con_rotate_all - rotate the display of all consoles + rotate - rotate the display of the active console + rotate_all - rotate the display of all consoles Console rotation will only become available if Console Rotation Support is compiled in your kernel. @@ -148,5 +148,101 @@ C. Boot options Actually, the underlying fb driver is totally ignorant of console rotation. ---- +C. Attaching, Detaching and Unloading + +It's possible to detach/attach the framebuffer console from the vt layer by +echoing anything to the following sysfs attributes found +/sys/class/graphics/fbcon. + + attach - attach framebuffer console to vt layer + detach - detach framebuffer console to vt layer + +If fbcon is detached from the vt layer, your boot console driver (which is +usually VGA text mode) will take over. A few drivers (rivafb and i810fb) will +restore VGA text mode for you. With the rest, before detaching fbcon, you +must take a few additional steps to make sure that your VGA text mode is +restored properly. The following is one of the several methods that you can do: + +1. Download or install vbetool. This utility is included with most + distributions nowadays, and is usually part of the suspend/resume tool. + +2. In your kernel configuration, ensure that CONFIG_FRAMEBUFFER_CONSOLE is set + to 'y' or 'm'. Enable one or more of your favorite framebuffer drivers. + +3. Boot into text mode and as root run: + + vbetool vbestate save > <vga state file> + + The above command saves the register contents of your graphics + hardware to <vga state file>. You need to do this step only once as + the state file can be reused. + +4. If fbcon is compiled as a module, load fbcon by doing: + + modprobe fbcon + +5. Now to detach fbcon: + + vbetool vbestate restore < <vga state file> && \ + echo 1 > /sys/class/graphics/fbcon/detach + +6. That's it, you're back to VGA mode. And if you compiled your drivers as + modules, you can unload them at will. So if you want to change your driver + from xxxfb to yyyfb, you can do this: + + detach fbcon + rmmod xxxfb + modprobe yyyfb + + Of course, con2fbmap can do the same thing but will not work if xxxfb + and yyyfb are not compatible (ie, cannot be loaded at the same time). + +7. To reattach fbcon: + + echo 1 > /sys/class/graphics/fbcon/attach + +8. Once the framebuffer console is detached, and if it is compiled as a module, +the module can be unloaded with 'rmmod fbcon'. This feature is great for +developers. + +Notes for vesafb users: +======================= + +Unfortunately, if your bootline includes a vga=xxx parameter that sets the +hardware in graphics mode, such as when loading vesafb, vgacon will not load. +Instead, vgacon will replace the default boot console with dummycon, and you +won't get any display after detaching fbcon. Your machine is still alive, so +you can reattach vesafb. However, to reattach vesafb, you need to do one of +the following: + +Variation 1: + + a. Before detaching fbcon, do + + vbetool vbemode save > <vesa state file> # do once for each vesafb mode, + # the file can be reused + + b. Detach fbcon as in step 5. + + c. Attach fbcon + + vbetool vbestate restore < <vesa state file> && \ + echo 1 > /sys/class/graphics/fbcon/attach + +Variation 2: + + a. Before detaching fbcon, do: + + vbetool vbemode get + + b. Take note of the mode number + + b. Detach fbcon as in step 5. + + c. Attach fbcon: + + vbetool vbemode set <mode number> && \ + echo 1 > /sys/class/graphics/fbcon/attach + +-- Antonino Daplas <adaplas@xxxxxxx> _ Patches currently in -mm which might be from adaplas@xxxxxxxxx are git-intelfb.patch savagefb-allocate-space-for-current-and-saved-register.patch savagefb-add-state-save-and_restore-hooks.patch savagefb-add-state-save-and_restore-hooks-fix.patch fbdev-more-accurate-sync-range-extrapolation.patch nvidiafb-revise-pci_device_id-table.patch atyfb-fix-hardware-cursor-handling.patch atyfb-remove-unneeded-calls-to-wait_for_idle.patch atyfb-set-correct-acceleration-flags.patch epson1355fb-update-platform-code.patch vesafb-update-platform-code.patch vfb-update-platform-code.patch vga16fb-update-platform-code.patch fbdev-static-pseudocolor-with-depth-less-than-4-does.patch savagefb-whitespace-cleanup.patch fbdev-firmware-edid-fixes.patch nvidiafb-add-support-for-geforce-6100-and-related-chipsets.patch vesafb-fix-return-code-of-vesafb_setcolreg.patch vesafb-prefer-vga-registers-over-pmi.patch atyfb-fix-dead-code.patch fbdev-coverity-bug-85.patch fbdev-coverity-bug-90.patch backlight-fix-kconfig-dependency.patch detaching-fbcon-fix-vgacon-to-allow-retaking-of-the.patch detaching-fbcon-fix-give_up_console.patch detaching-fbcon-remove-calls-to-pci_disable_device.patch detaching-fbcon-add-sysfs-class-device-entry-for-fbcon.patch detaching-fbcon-clean-up-exit-code.patch detaching-fbcon-add-capability-to-attach-detach-fbcon.patch detaching-fbcon-update-documentation.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html