* Sane behavior of fbset
@ 2004-06-18 1:45 Antonino A. Daplas
2004-06-18 8:24 ` Geert Uytterhoeven
` (2 more replies)
0 siblings, 3 replies; 27+ messages in thread
From: Antonino A. Daplas @ 2004-06-18 1:45 UTC (permalink / raw)
To: Linux Fbdev development list
Hi,
Currently, using fbset either corrupts the display, or at worst, hangs the GPU. I consider
this a critical bug. I don't want to discuss the pros/cons of using fbset vs stty to
change the console size, but we need to make sure that using fbset (or any utility
that utilizes the fb_set_var ioctl) does not produce undefined behavior. There are
at least 3 possibilities:
1. Revert to 2.4 behavior. This is easy to add since fbdev already has a notifier
support. (I already have working code for this). Of course, stty will still work.
2. Make the set_var ioctl return immediately if the vc_mode of the current display is
KD_TEXT. Basically, fbset becomes an informational utility only. I don't know the
repercussions of this with userland fb applications though.
3. Modify fbset (and other similar utilities, if there are any) so it also issues an
'stty-like' call after a 'set_var' call.
Note: As mentioned by many people before, it's almost impossible to completely
preserve per-console mode info because of the lack of a per-display var. So even
if we agree to implement #1, it cannot completely match 2.4 behavior. Also, the lack
of per-display var means that drivers must be able to handle mode changes without
any help. James' fb_find_mode support in fbcon_resize does partly alleviate this
limitation.
Comments?
Tony
-------------------------------------------------------
This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND
^ permalink raw reply [flat|nested] 27+ messages in thread* Re: Sane behavior of fbset 2004-06-18 1:45 Sane behavior of fbset Antonino A. Daplas @ 2004-06-18 8:24 ` Geert Uytterhoeven 2004-06-23 18:52 ` jsimmons 2004-06-18 13:31 ` John Zielinski 2004-06-18 17:38 ` David Eger 2 siblings, 1 reply; 27+ messages in thread From: Geert Uytterhoeven @ 2004-06-18 8:24 UTC (permalink / raw) To: Antonino Daplas; +Cc: Linux Fbdev development list On Fri, 18 Jun 2004, Antonino A. Daplas wrote: > Currently, using fbset either corrupts the display, or at worst, hangs the GPU. I consider > this a critical bug. I don't want to discuss the pros/cons of using fbset vs stty to > change the console size, but we need to make sure that using fbset (or any utility > that utilizes the fb_set_var ioctl) does not produce undefined behavior. There are > at least 3 possibilities: > > 1. Revert to 2.4 behavior. This is easy to add since fbdev already has a notifier > support. (I already have working code for this). Of course, stty will still work. > > 2. Make the set_var ioctl return immediately if the vc_mode of the current display is > KD_TEXT. Basically, fbset becomes an informational utility only. I don't know the > repercussions of this with userland fb applications though. > > 3. Modify fbset (and other similar utilities, if there are any) so it also issues an > 'stty-like' call after a 'set_var' call. > > Note: As mentioned by many people before, it's almost impossible to completely > preserve per-console mode info because of the lack of a per-display var. So even > if we agree to implement #1, it cannot completely match 2.4 behavior. Also, the lack > of per-display var means that drivers must be able to handle mode changes without > any help. James' fb_find_mode support in fbcon_resize does partly alleviate this > limitation. > > Comments? I vote for 1, and re-adding per-display vars. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ------------------------------------------------------- This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: Sane behavior of fbset 2004-06-18 8:24 ` Geert Uytterhoeven @ 2004-06-23 18:52 ` jsimmons 2004-06-23 18:59 ` Geert Uytterhoeven 0 siblings, 1 reply; 27+ messages in thread From: jsimmons @ 2004-06-23 18:52 UTC (permalink / raw) To: Geert Uytterhoeven; +Cc: Antonino Daplas, Linux Fbdev development list > > 1. Revert to 2.4 behavior. This is easy to add since fbdev already has a notifier > > support. (I already have working code for this). Of course, stty will still work. > > > > 2. Make the set_var ioctl return immediately if the vc_mode of the current display is > > KD_TEXT. Basically, fbset becomes an informational utility only. I don't know the > > repercussions of this with userland fb applications though. > > > > 3. Modify fbset (and other similar utilities, if there are any) so it also issues an > > 'stty-like' call after a 'set_var' call. > > > > Note: As mentioned by many people before, it's almost impossible to completely > > preserve per-console mode info because of the lack of a per-display var. So even > > if we agree to implement #1, it cannot completely match 2.4 behavior. Also, the lack > > of per-display var means that drivers must be able to handle mode changes without > > any help. James' fb_find_mode support in fbcon_resize does partly alleviate this > > limitation. > > > > Comments? > > I vote for 1, and re-adding per-display vars. I have no problem adding in a notifier for fbset. I don't agree with adding in per VC vars. The reason is that every VC, all 64, will have a copy of struct fb_var_screeninfo. That is really heavy for embedded devices. Instead with a modedb we have one copy of different kinds of modes. What we need to do is add valid modes that are not present in modedb. ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: Sane behavior of fbset 2004-06-23 18:52 ` jsimmons @ 2004-06-23 18:59 ` Geert Uytterhoeven 2004-06-23 19:07 ` jsimmons 0 siblings, 1 reply; 27+ messages in thread From: Geert Uytterhoeven @ 2004-06-23 18:59 UTC (permalink / raw) To: jsimmons; +Cc: Antonino Daplas, Linux Fbdev development list On Wed, 23 Jun 2004 jsimmons@pentafluge.infradead.org wrote: > > > 1. Revert to 2.4 behavior. This is easy to add since fbdev already has a notifier > > > support. (I already have working code for this). Of course, stty will still work. > > > Note: As mentioned by many people before, it's almost impossible to completely > > > preserve per-console mode info because of the lack of a per-display var. So even > > > if we agree to implement #1, it cannot completely match 2.4 behavior. Also, the lack > > > of per-display var means that drivers must be able to handle mode changes without > > > any help. James' fb_find_mode support in fbcon_resize does partly alleviate this > > > limitation. > > > > I vote for 1, and re-adding per-display vars. > > I have no problem adding in a notifier for fbset. I don't agree with > adding in per VC vars. The reason is that every VC, all 64, will have a > copy of struct fb_var_screeninfo. That is really heavy for embedded > devices. Instead with a modedb we have one copy of different kinds of > modes. What we need to do is add valid modes that are not present in > modedb. If size matters, embedded devices can always disable virtual consoles completely, so only one var is needed. Furthermore, what about making the maximum number of virtual consoles configurable, and/or handling them dynamically (most systems have only a few of them in active use)? Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: Sane behavior of fbset 2004-06-23 18:59 ` Geert Uytterhoeven @ 2004-06-23 19:07 ` jsimmons 2004-06-23 19:17 ` Geert Uytterhoeven 0 siblings, 1 reply; 27+ messages in thread From: jsimmons @ 2004-06-23 19:07 UTC (permalink / raw) To: Geert Uytterhoeven; +Cc: Antonino Daplas, Linux Fbdev development list > > I have no problem adding in a notifier for fbset. I don't agree with > > adding in per VC vars. The reason is that every VC, all 64, will have a > > copy of struct fb_var_screeninfo. That is really heavy for embedded > > devices. Instead with a modedb we have one copy of different kinds of > > modes. What we need to do is add valid modes that are not present in > > modedb. > > If size matters, embedded devices can always disable virtual consoles > completely, so only one var is needed. > > Furthermore, what about making the maximum number of virtual consoles > configurable, and/or handling them dynamically (most systems have only a few of > them in active use)? That is a 2.7.X issue. Even still having 2 VCs meanings having two identical vars. That is heavy. Having that mode stored in modedb is one copy for both VCs. ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: Sane behavior of fbset 2004-06-23 19:07 ` jsimmons @ 2004-06-23 19:17 ` Geert Uytterhoeven 2004-06-23 19:21 ` jsimmons 0 siblings, 1 reply; 27+ messages in thread From: Geert Uytterhoeven @ 2004-06-23 19:17 UTC (permalink / raw) To: jsimmons; +Cc: Antonino Daplas, Linux Fbdev development list On Wed, 23 Jun 2004 jsimmons@pentafluge.infradead.org wrote: > > > I have no problem adding in a notifier for fbset. I don't agree with > > > adding in per VC vars. The reason is that every VC, all 64, will have a > > > copy of struct fb_var_screeninfo. That is really heavy for embedded > > > devices. Instead with a modedb we have one copy of different kinds of > > > modes. What we need to do is add valid modes that are not present in > > > modedb. > > > > If size matters, embedded devices can always disable virtual consoles > > completely, so only one var is needed. > > > > Furthermore, what about making the maximum number of virtual consoles > > configurable, and/or handling them dynamically (most systems have only a few of > > them in active use)? > > That is a 2.7.X issue. Even still having 2 VCs meanings having two > identical vars. That is heavy. Having that mode stored in modedb is one > copy for both VCs. And how much space does modedb (which used to be __initdata) need? Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: Sane behavior of fbset 2004-06-23 19:17 ` Geert Uytterhoeven @ 2004-06-23 19:21 ` jsimmons 0 siblings, 0 replies; 27+ messages in thread From: jsimmons @ 2004-06-23 19:21 UTC (permalink / raw) To: Geert Uytterhoeven; +Cc: Antonino Daplas, Linux Fbdev development list > > identical vars. That is heavy. Having that mode stored in modedb is one > > copy for both VCs. > > And how much space does modedb (which used to be __initdata) need? I couldn't agree with you more. Currently modedb is way to heavy. It needs to be cleaned up. ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: Sane behavior of fbset 2004-06-18 1:45 Sane behavior of fbset Antonino A. Daplas 2004-06-18 8:24 ` Geert Uytterhoeven @ 2004-06-18 13:31 ` John Zielinski 2004-06-18 17:38 ` David Eger 2 siblings, 0 replies; 27+ messages in thread From: John Zielinski @ 2004-06-18 13:31 UTC (permalink / raw) To: adaplas; +Cc: Linux Fbdev development list Antonino A. Daplas wrote: >1. Revert to 2.4 behavior. This is easy to add since fbdev already has a notifier >support. (I already have working code for this). Of course, stty will still work. > > > Definitely #1. The functionality is very easy to add to the kernel as most of it is already in place. >2. Make the set_var ioctl return immediately if the vc_mode of the current display is >KD_TEXT. Basically, fbset becomes an informational utility only. I don't know the >repercussions of this with userland fb applications though. > > > Several people have already started doing work adding fb mode changing to sysfs. Fbset will most likely become a wrapper around the sysfs interface. >3. Modify fbset (and other similar utilities, if there are any) so it also issues an >'stty-like' call after a 'set_var' call. > > > Ug, please no. That's just asking for trouble. Now the app would have to figure out what the font size is so that adds a third call. If the app gets the calculation between x-y -> row-col wrong then the screen would be messed up at best or we'd get an infinite loop at worse (like one of the earlier patches to the kernel did). >Note: As mentioned by many people before, it's almost impossible to completely >preserve per-console mode info because of the lack of a per-display var. So even >if we agree to implement #1, it cannot completely match 2.4 behavior. Also, the lack >of per-display var means that drivers must be able to handle mode changes without >any help. James' fb_find_mode support in fbcon_resize does partly alleviate this >limitation. > > Several people on the list are pushing to have per-console var put back in. This is a far as it should go for the 2.6.x series. There are more elaborate solutions proposed for the 2.7 kernel. John ------------------------------------------------------- This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: Sane behavior of fbset 2004-06-18 1:45 Sane behavior of fbset Antonino A. Daplas 2004-06-18 8:24 ` Geert Uytterhoeven 2004-06-18 13:31 ` John Zielinski @ 2004-06-18 17:38 ` David Eger 2004-06-18 18:40 ` Antonino A. Daplas 2 siblings, 1 reply; 27+ messages in thread From: David Eger @ 2004-06-18 17:38 UTC (permalink / raw) To: adaplas; +Cc: Linux Fbdev development list On Fri, Jun 18, 2004 at 09:45:12AM +0800, Antonino A. Daplas wrote: > Hi, > > Currently, using fbset either corrupts the display, or at worst, hangs the GPU. I consider > this a critical bug. I don't want to discuss the pros/cons of using fbset vs stty to > change the console size, but we need to make sure that using fbset (or any utility > that utilizes the fb_set_var ioctl) does not produce undefined behavior. There are > at least 3 possibilities: > > 1. Revert to 2.4 behavior. This is easy to add since fbdev already has a notifier > support. (I already have working code for this). Of course, stty will still work. Just for my enlightenment, could you give a synopsis of 2.4 behavior versus 2.6 behavior? -dte ------------------------------------------------------- This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: Sane behavior of fbset 2004-06-18 17:38 ` David Eger @ 2004-06-18 18:40 ` Antonino A. Daplas 2004-06-19 3:16 ` David Eger 0 siblings, 1 reply; 27+ messages in thread From: Antonino A. Daplas @ 2004-06-18 18:40 UTC (permalink / raw) To: David Eger, adaplas; +Cc: Linux Fbdev development list On Saturday 19 June 2004 01:38, David Eger wrote: > On Fri, Jun 18, 2004 at 09:45:12AM +0800, Antonino A. Daplas wrote: > > Hi, > > > > Currently, using fbset either corrupts the display, or at worst, hangs > > the GPU. I consider this a critical bug. I don't want to discuss the > > pros/cons of using fbset vs stty to change the console size, but we need > > to make sure that using fbset (or any utility that utilizes the > > fb_set_var ioctl) does not produce undefined behavior. There are at > > least 3 possibilities: > > > > 1. Revert to 2.4 behavior. This is easy to add since fbdev already has > > a notifier support. (I already have working code for this). Of course, > > stty will still work. > > Just for my enlightenment, could you give a synopsis of 2.4 behavior > versus 2.6 behavior? > In 2.4 1. you can use fbset to change the console window size. 2. stty will not change the window size (produce a small viewport or the contents will be clipped) 3. Switching from one console to another will preserve the video mode. Example: tty1 - 800x600-16@85 tty2 - 1024x768-8@60 When switching from tty2 to tty1 or vice versa, your mode setting will be retained. This is because each console has its own copy of fb_var_screeninfo. 4. The need to create/validate a modeline is optional as this is expected to be done in userland. In 2.6 1. If you use fbset, you will get screen corruption or hang the GPU 2. stty will do the function of fbset. However, stty will only pass rows and cols (xres and yres respectively). There is no information for bit depth, timings, virtual resolution, etc. 3. Switching from one console to another may or may not preserve your mode settings. In the example above, If I switch from tty2 to tty1, I might get a display with a refresh of 60Hz at 8 bpp. The mode you get will depend on the drivers capability to pick/create a modeline. This is because you only have 1 valid fb_var_screeninfo at one time, and this is info->var. 4. Creation/validation of modelines by drivers is practically a necessity. Of course, 2.6 does have some good points. It's easier to write a driver for it, the resulting driver code is probably smaller, it's faster, and fbcon and fbdev are separated, ie you can load fbdev without taking over your console. The last one is probably useful for embedded devices. Tony ------------------------------------------------------- This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: Sane behavior of fbset 2004-06-18 18:40 ` Antonino A. Daplas @ 2004-06-19 3:16 ` David Eger 2004-06-19 6:13 ` Antonino A. Daplas ` (2 more replies) 0 siblings, 3 replies; 27+ messages in thread From: David Eger @ 2004-06-19 3:16 UTC (permalink / raw) To: adaplas, jsimmons; +Cc: Linux Fbdev development list On Sat, Jun 19, 2004 at 02:40:46AM +0800, Antonino A. Daplas wrote: > > In 2.6 > > 1. If you use fbset, you will get screen corruption or hang the GPU > > 2. stty will do the function of fbset. However, stty will only pass rows and > cols (xres and yres respectively). There is no information for bit depth, > timings, virtual resolution, etc. > So *this* is what's going on with my port of the cirrusfb driver--why fbset wasn't working... for radeonfb fbset still works in 2.6, so i didn't realize there was this problem... What's so wonky with the fbset code path that screws things up? and why does stty work? heck, in this case, I'm of the mind to just send the cirrusfb update upstream... James? you ever test the patch on your hardware? -dte ------------------------------------------------------- This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: Sane behavior of fbset 2004-06-19 3:16 ` David Eger @ 2004-06-19 6:13 ` Antonino A. Daplas 2004-06-19 15:59 ` John Zielinski 2004-06-23 15:55 ` Benjamin Herrenschmidt 2004-06-19 15:50 ` John Zielinski 2004-06-23 18:55 ` jsimmons 2 siblings, 2 replies; 27+ messages in thread From: Antonino A. Daplas @ 2004-06-19 6:13 UTC (permalink / raw) To: David Eger, jsimmons; +Cc: Linux Fbdev development list On Saturday 19 June 2004 11:16, David Eger wrote: > On Sat, Jun 19, 2004 at 02:40:46AM +0800, Antonino A. Daplas wrote: > > In 2.6 > > > > 1. If you use fbset, you will get screen corruption or hang the GPU > > > > 2. stty will do the function of fbset. However, stty will only pass rows > > and cols (xres and yres respectively). There is no information for bit > > depth, timings, virtual resolution, etc. > > So *this* is what's going on with my port of the cirrusfb driver--why fbset > wasn't working... for radeonfb fbset still works in 2.6, so i didn't > realize there was this problem... What's so wonky with the fbset code path > that screws things up? and why does stty work? The flow of fbset is upstream: fbset->fbdev->fbcon->vc (2.4 code) The flow of stty is downstream: stty->vc->fbcon->fbdev (2.6 code) I don't know how radeonfb does it though. Tony ------------------------------------------------------- This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: Sane behavior of fbset 2004-06-19 6:13 ` Antonino A. Daplas @ 2004-06-19 15:59 ` John Zielinski 2004-06-23 18:57 ` jsimmons 2004-06-23 15:55 ` Benjamin Herrenschmidt 1 sibling, 1 reply; 27+ messages in thread From: John Zielinski @ 2004-06-19 15:59 UTC (permalink / raw) To: adaplas; +Cc: David Eger, jsimmons, Linux Fbdev development list Antonino A. Daplas wrote: >The flow of fbset is upstream: fbset->fbdev->fbcon->vc (2.4 code) >The flow of stty is downstream: stty->vc->fbcon->fbdev (2.6 code) > > The flow of fbset in 2.6: fbset->fbdev->fbcon The flow of fbset after my patch: fbset->fbdev->fbcon->vc The flow of fbset if calc error: fbset->fbdev->fbcon->vc->fbcon->fbdev->fbcon->vc-> etc. As long as graphics_res / font_size = text_res then fbcon will not try to resize the vc. If there are any errors introduced into the calculations then you end up with an infinite loop. John ------------------------------------------------------- This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: Sane behavior of fbset 2004-06-19 15:59 ` John Zielinski @ 2004-06-23 18:57 ` jsimmons 0 siblings, 0 replies; 27+ messages in thread From: jsimmons @ 2004-06-23 18:57 UTC (permalink / raw) To: John Zielinski; +Cc: adaplas, David Eger, Linux Fbdev development list > >The flow of fbset is upstream: fbset->fbdev->fbcon->vc (2.4 code) > >The flow of stty is downstream: stty->vc->fbcon->fbdev (2.6 code) > > > > > The flow of fbset in 2.6: fbset->fbdev->fbcon > The flow of fbset after my patch: fbset->fbdev->fbcon->vc > The flow of fbset if calc error: > fbset->fbdev->fbcon->vc->fbcon->fbdev->fbcon->vc-> etc. > > As long as graphics_res / font_size = text_res then fbcon will not try > to resize the vc. If there are any errors introduced into the > calculations then you end up with an infinite loop. That shouldn't be the case. fbcon picks a rounded up mode from the text resolution. It is a best fit match. ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: Sane behavior of fbset 2004-06-19 6:13 ` Antonino A. Daplas 2004-06-19 15:59 ` John Zielinski @ 2004-06-23 15:55 ` Benjamin Herrenschmidt 2004-06-23 16:08 ` Geert Uytterhoeven ` (3 more replies) 1 sibling, 4 replies; 27+ messages in thread From: Benjamin Herrenschmidt @ 2004-06-23 15:55 UTC (permalink / raw) To: adaplas; +Cc: David Eger, James Simmons, Linux Fbdev development list > The flow of fbset is upstream: fbset->fbdev->fbcon->vc (2.4 code) > The flow of stty is downstream: stty->vc->fbcon->fbdev (2.6 code) > > I don't know how radeonfb does it though. I still think (didn't I repeat it often enough) that the whole idea of stty "inventing" modes based on console size is broken. We simply can't rely on good enough monitor detection & mode list building to be able to pick proper modes. Not only our code is far from ready for that, but it will also call all sort of problems to users (remember you monitors that need different subtle geometry settings for each different mode you use ?) It may have looked like a nice idea, but I think it's just wrong. fbset sends an ioctl straight to the fbdev, and doesn't update fbcon at the moment. The callback mecanism I added for power management should allow to restore 2.4 functionality there, but this has not been implemented yet afaik. Ben. ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: Sane behavior of fbset 2004-06-23 15:55 ` Benjamin Herrenschmidt @ 2004-06-23 16:08 ` Geert Uytterhoeven 2004-06-23 17:29 ` John Zielinski ` (2 subsequent siblings) 3 siblings, 0 replies; 27+ messages in thread From: Geert Uytterhoeven @ 2004-06-23 16:08 UTC (permalink / raw) To: Benjamin Herrenschmidt Cc: Antonino Daplas, David Eger, James Simmons, Linux Fbdev development list On Wed, 23 Jun 2004, Benjamin Herrenschmidt wrote: > > The flow of fbset is upstream: fbset->fbdev->fbcon->vc (2.4 code) > > The flow of stty is downstream: stty->vc->fbcon->fbdev (2.6 code) > > > > I don't know how radeonfb does it though. > > I still think (didn't I repeat it often enough) that the whole idea > of stty "inventing" modes based on console size is broken. We simply > can't rely on good enough monitor detection & mode list building to > be able to pick proper modes. Not only our code is far from ready for > that, but it will also call all sort of problems to users (remember > you monitors that need different subtle geometry settings for each > different mode you use ?) > > It may have looked like a nice idea, but I think it's just wrong. > > fbset sends an ioctl straight to the fbdev, and doesn't update fbcon > at the moment. The callback mecanism I added for power management > should allow to restore 2.4 functionality there, but this has not > been implemented yet afaik. Oh yes, patches for that are starting to flow around! Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: Sane behavior of fbset 2004-06-23 15:55 ` Benjamin Herrenschmidt 2004-06-23 16:08 ` Geert Uytterhoeven @ 2004-06-23 17:29 ` John Zielinski 2004-06-23 20:39 ` jsimmons 2004-06-23 19:00 ` jsimmons 2004-06-24 2:17 ` Antonino A. Daplas 3 siblings, 1 reply; 27+ messages in thread From: John Zielinski @ 2004-06-23 17:29 UTC (permalink / raw) To: Benjamin Herrenschmidt Cc: adaplas, David Eger, James Simmons, Linux Fbdev development list Benjamin Herrenschmidt wrote: >It may have looked like a nice idea, but I think it's just wrong. > > I think that the implementation is wrong, not the whole idea. Currently the vt_resize ioctl changes the vt size then tries to set the resolution leading to a whole bunch of problems when a suitable resolution can't be found and makes the fbset result ion change code path ugly as well. What should happen is that the vt_resize ioctl should be sent to the console driver first and then the console driver calls back the vt layer with the modified row and column numbers based on the closest resolution found. So what we have right now is: vt_ioctl (VT_RESIZE) -> vc_resize -> resize_screen -> con_resize -> fb_set_var -> fbcon_event_notify -> vc_resize* * or equivilent code depending on who's patch you use Which should be: vt_ioctl (VT_RESIZE) -> resize_screen -> con_resize -> fb_set_var & vc_resize You'd have to have a per vt var in order to have different console sizes on different vt's this way. The reason for not using the fbcon_event_notify is that it won't be called when the vt is not in the forground and I don't belive that a we need to resize the console when switching between different vt's. A vc_resize would the be necessary in the fb_ioctl FBIOPUT_VSCREENINFO code path in this case. John ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: Sane behavior of fbset 2004-06-23 17:29 ` John Zielinski @ 2004-06-23 20:39 ` jsimmons 2004-06-23 21:44 ` John Zielinski 0 siblings, 1 reply; 27+ messages in thread From: jsimmons @ 2004-06-23 20:39 UTC (permalink / raw) To: John Zielinski Cc: Benjamin Herrenschmidt, adaplas, David Eger, Linux Fbdev development list > Benjamin Herrenschmidt wrote: > > >It may have looked like a nice idea, but I think it's just wrong. > > > > > I think that the implementation is wrong, not the whole idea. Currently > the vt_resize ioctl changes the vt size then tries to set the resolution > leading to a whole bunch of problems when a suitable resolution can't be > found and makes the fbset result ion change code path ugly as well. > > What should happen is that the vt_resize ioctl should be sent to the > console driver first and then the console driver calls back the vt layer > with the modified row and column numbers based on the closest > resolution found. > > So what we have right now is: > > vt_ioctl (VT_RESIZE) -> vc_resize -> resize_screen -> con_resize -> > fb_set_var -> fbcon_event_notify -> vc_resize* Good catch. We need a flag to determine which layer it came from. Tony posted a patch dealing with that. > > * or equivilent code depending on who's patch you use > > Which should be: > > vt_ioctl (VT_RESIZE) -> resize_screen -> con_resize -> fb_set_var & > vc_resize > > You'd have to have a per vt var in order to have different console sizes > on different vt's this way. The reason for not using the > fbcon_event_notify is that it won't be called when the vt is not in the > forground and I don't belive that a we need to resize the console when > switching between different vt's. A vc_resize would the be necessary in > the fb_ioctl FBIOPUT_VSCREENINFO code path in this case. > > John > > > > > ------------------------------------------------------- > This SF.Net email sponsored by Black Hat Briefings & Training. > Attend Black Hat Briefings & Training, Las Vegas July 24-29 - > digital self defense, top technical experts, no vendor pitches, > unmatched networking opportunities. Visit www.blackhat.com > _______________________________________________ > Linux-fbdev-devel mailing list > Linux-fbdev-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/linux-fbdev-devel > ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: Sane behavior of fbset 2004-06-23 20:39 ` jsimmons @ 2004-06-23 21:44 ` John Zielinski 0 siblings, 0 replies; 27+ messages in thread From: John Zielinski @ 2004-06-23 21:44 UTC (permalink / raw) To: jsimmons Cc: Benjamin Herrenschmidt, adaplas, David Eger, Linux Fbdev development list jsimmons@pentafluge.infradead.org wrote: >Good catch. We need a flag to determine which layer it came from. Tony >posted a patch dealing with that. > > I took a look and I'm going to merge that into my kernel and trace trough the ioctl call paths again. The VT_RESIZE path looks good with his patch but I think that the FBIOPUT_VSCREENINFO may loop through a few functions a second time. I'll know for sure when I trace things out later. But my thinking was that vc_resize (or part of it split of into a seperate function) should be the final terminus of the code path. That way you wouldn't need flags or anything else to break out of the circular code path we have now. The code would be easier to follow and be less prone to mistakes. I'll see if I can whip up a patch that works with our current single var to show you what I mean. John ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: Sane behavior of fbset 2004-06-23 15:55 ` Benjamin Herrenschmidt 2004-06-23 16:08 ` Geert Uytterhoeven 2004-06-23 17:29 ` John Zielinski @ 2004-06-23 19:00 ` jsimmons 2004-06-23 19:38 ` Benjamin Herrenschmidt 2004-06-24 2:17 ` Antonino A. Daplas 3 siblings, 1 reply; 27+ messages in thread From: jsimmons @ 2004-06-23 19:00 UTC (permalink / raw) To: Benjamin Herrenschmidt; +Cc: adaplas, David Eger, Linux Fbdev development list > I still think (didn't I repeat it often enough) that the whole idea > of stty "inventing" modes based on console size is broken. We simply > can't rely on good enough monitor detection & mode list building to > be able to pick proper modes. Not only our code is far from ready for > that, but it will also call all sort of problems to users (remember > you monitors that need different subtle geometry settings for each > different mode you use ?) > > It may have looked like a nice idea, but I think it's just wrong. Its a POSIX standard. You need to yell at them. > fbset sends an ioctl straight to the fbdev, and doesn't update fbcon > at the moment. The callback mecanism I added for power management > should allow to restore 2.4 functionality there, but this has not > been implemented yet afaik. It will be added back. I didn't merge the one from before because it had problems. ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: Sane behavior of fbset 2004-06-23 19:00 ` jsimmons @ 2004-06-23 19:38 ` Benjamin Herrenschmidt 2004-06-23 20:03 ` jsimmons 0 siblings, 1 reply; 27+ messages in thread From: Benjamin Herrenschmidt @ 2004-06-23 19:38 UTC (permalink / raw) To: jsimmons; +Cc: adaplas, David Eger, Linux Fbdev development list On Wed, 2004-06-23 at 14:00, jsimmons@pentafluge.infradead.org wrote: > > I still think (didn't I repeat it often enough) that the whole idea > > of stty "inventing" modes based on console size is broken. We simply > > can't rely on good enough monitor detection & mode list building to > > be able to pick proper modes. Not only our code is far from ready for > > that, but it will also call all sort of problems to users (remember > > you monitors that need different subtle geometry settings for each > > different mode you use ?) > > > > It may have looked like a nice idea, but I think it's just wrong. > > Its a POSIX standard. You need to yell at them. I don't remember seeing anything in POSIX regarding tweaking monitor video modes ;) > > fbset sends an ioctl straight to the fbdev, and doesn't update fbcon > > at the moment. The callback mecanism I added for power management > > should allow to restore 2.4 functionality there, but this has not > > been implemented yet afaik. > > It will be added back. I didn't merge the one from before because it had > problems. -- Benjamin Herrenschmidt <benh@kernel.crashing.org> ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: Sane behavior of fbset 2004-06-23 19:38 ` Benjamin Herrenschmidt @ 2004-06-23 20:03 ` jsimmons 2004-06-23 20:12 ` Benjamin Herrenschmidt 0 siblings, 1 reply; 27+ messages in thread From: jsimmons @ 2004-06-23 20:03 UTC (permalink / raw) To: Benjamin Herrenschmidt; +Cc: adaplas, David Eger, Linux Fbdev development list > > > can't rely on good enough monitor detection & mode list building to > > > be able to pick proper modes. Not only our code is far from ready for > > > that, but it will also call all sort of problems to users (remember > > > you monitors that need different subtle geometry settings for each > > > different mode you use ?) > > > > > > It may have looked like a nice idea, but I think it's just wrong. > > > > Its a POSIX standard. You need to yell at them. > > I don't remember seeing anything in POSIX regarding tweaking monitor > video modes ;) Just do a web search on POSIX and TIOCSWINSZ. ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: Sane behavior of fbset 2004-06-23 20:03 ` jsimmons @ 2004-06-23 20:12 ` Benjamin Herrenschmidt 2004-06-23 23:50 ` Antonino A. Daplas 0 siblings, 1 reply; 27+ messages in thread From: Benjamin Herrenschmidt @ 2004-06-23 20:12 UTC (permalink / raw) To: jsimmons; +Cc: adaplas, David Eger, Linux Fbdev development list On Wed, 2004-06-23 at 15:03, jsimmons@pentafluge.infradead.org wrote: > > > > can't rely on good enough monitor detection & mode list building to > > > > be able to pick proper modes. Not only our code is far from ready for > > > > that, but it will also call all sort of problems to users (remember > > > > you monitors that need different subtle geometry settings for each > > > > different mode you use ?) > > > > > > > > It may have looked like a nice idea, but I think it's just wrong. > > > > > > Its a POSIX standard. You need to yell at them. > > > > I don't remember seeing anything in POSIX regarding tweaking monitor > > video modes ;) > > Just do a web search on POSIX and TIOCSWINSZ. And besides, that's irrelevant, especially since there are way too much cases where we simply won't do the right thing (monitors lying about their modes or incorrectly detected for example). There is a reason why most OSes have this dialog asking you to confirm a resolution change and click OK... It's fine with scaled flat panels to scale to pretty much anything, but other cases are a bit more dodgy. Anyway, the point is, such an option has NOTHING to do in the fbcon layer unless we have fully implemented & properly working monitor detection, which we are only starting to have and only in some drivers. Ben. ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: Sane behavior of fbset 2004-06-23 20:12 ` Benjamin Herrenschmidt @ 2004-06-23 23:50 ` Antonino A. Daplas 0 siblings, 0 replies; 27+ messages in thread From: Antonino A. Daplas @ 2004-06-23 23:50 UTC (permalink / raw) To: Benjamin Herrenschmidt, jsimmons Cc: adaplas, David Eger, Linux Fbdev development list On Thursday 24 June 2004 04:12, Benjamin Herrenschmidt wrote: > > Just do a web search on POSIX and TIOCSWINSZ. > > And besides, that's irrelevant, especially since there are way too much > cases where we simply won't do the right thing (monitors lying about > their modes or incorrectly detected for example). There is a reason why > most OSes have this dialog asking you to confirm a resolution change and > click OK... It's fine with scaled flat panels to scale to pretty much > anything, but other cases are a bit more dodgy. > > Anyway, the point is, such an option has NOTHING to do in the fbcon > layer unless we have fully implemented & properly working monitor > detection, which we are only starting to have and only in some drivers. > stty has its pros, such as allowing a user to at least set the video resolution without being root. And, of course, its cons, such as crashing the machine simply by using stty, iff fbdev cannot handle these mode requests properly. Tony ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: Sane behavior of fbset 2004-06-23 15:55 ` Benjamin Herrenschmidt ` (2 preceding siblings ...) 2004-06-23 19:00 ` jsimmons @ 2004-06-24 2:17 ` Antonino A. Daplas 3 siblings, 0 replies; 27+ messages in thread From: Antonino A. Daplas @ 2004-06-24 2:17 UTC (permalink / raw) To: Benjamin Herrenschmidt Cc: David Eger, James Simmons, Linux Fbdev development list On Wednesday 23 June 2004 23:55, Benjamin Herrenschmidt wrote: > > The flow of fbset is upstream: fbset->fbdev->fbcon->vc (2.4 code) > > The flow of stty is downstream: stty->vc->fbcon->fbdev (2.6 code) > > > > I don't know how radeonfb does it though. > > I still think (didn't I repeat it often enough) that the whole idea > of stty "inventing" modes based on console size is broken. We simply > can't rely on good enough monitor detection & mode list building to > be able to pick proper modes. Not only our code is far from ready for > that, but it will also call all sort of problems to users (remember > you monitors that need different subtle geometry settings for each > different mode you use ?) > > It may have looked like a nice idea, but I think it's just wrong. > It started out like this, during 2.5 development. The discussions were not very clear cut, as ironing bugs was the main concerned, but basically it all boils down to the following points: a. fbset functionality was lost (or removed), so how do we change the resolution of fbdev? b. what should be the correct behavior of stty? So there were 2 ideas: 1. An stty call will just have to modify the video mode. This will require that fbdev must be able to handle mode change requests independently. 2. stty will just have to produce a smaller or larger viewport, without changing the resolution of the video mode. This will involve that fbcon must be able to do clipping, otherwise it will attempt to write past fb memory if vc size > fbdev size. So, I submitted 2 patches. For 1, I added a hook for con_resize. And for 2, I added clipping code for all the accel_* functions, no con_resize hook. You probably guessed correctly which got merged, 1. And because 1 requires fbdev to handle mode changes independently, it's unavoidable that we need functions to help drivers validate and choose the correct modelines. So, EDID parsing, GTF calculation, and mode validation were introduced in fbmon.c (fbset behavior remained undefined until this thread) Tony ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: Sane behavior of fbset 2004-06-19 3:16 ` David Eger 2004-06-19 6:13 ` Antonino A. Daplas @ 2004-06-19 15:50 ` John Zielinski 2004-06-23 18:55 ` jsimmons 2 siblings, 0 replies; 27+ messages in thread From: John Zielinski @ 2004-06-19 15:50 UTC (permalink / raw) To: David Eger; +Cc: adaplas, jsimmons, Linux Fbdev development list David Eger wrote: >So *this* is what's going on with my port of the cirrusfb driver--why fbset >wasn't working... for radeonfb fbset still works in 2.6, so i didn't realize >there was this problem... What's so wonky with the fbset code path that >screws things up? and why does stty work? > > The radeonfb fbset doesn't work right out of the box. The fbset path doesn't resize the vc rows and columns. I use a patch to get things to work. You have to be careful as there is potential for an infinite loop if the calculation between xres-yres and cols-rows is off. I can't post the patch just yet as things have changed in fbcon.c in 2.6.7 so I need to update and test it. John ------------------------------------------------------- This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND ^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: Sane behavior of fbset 2004-06-19 3:16 ` David Eger 2004-06-19 6:13 ` Antonino A. Daplas 2004-06-19 15:50 ` John Zielinski @ 2004-06-23 18:55 ` jsimmons 2 siblings, 0 replies; 27+ messages in thread From: jsimmons @ 2004-06-23 18:55 UTC (permalink / raw) To: David Eger; +Cc: adaplas, Linux Fbdev development list > wasn't working... for radeonfb fbset still works in 2.6, so i didn't realize > there was this problem... What's so wonky with the fbset code path that > screws things up? and why does stty work? radeonfb work? Interesting. > heck, in this case, I'm of the mind to just send the cirrusfb update > upstream... James? you ever test the patch on your hardware? I didn't get a chance last night. I test Riva instead. ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com ^ permalink raw reply [flat|nested] 27+ messages in thread
end of thread, other threads:[~2004-06-24 2:21 UTC | newest] Thread overview: 27+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2004-06-18 1:45 Sane behavior of fbset Antonino A. Daplas 2004-06-18 8:24 ` Geert Uytterhoeven 2004-06-23 18:52 ` jsimmons 2004-06-23 18:59 ` Geert Uytterhoeven 2004-06-23 19:07 ` jsimmons 2004-06-23 19:17 ` Geert Uytterhoeven 2004-06-23 19:21 ` jsimmons 2004-06-18 13:31 ` John Zielinski 2004-06-18 17:38 ` David Eger 2004-06-18 18:40 ` Antonino A. Daplas 2004-06-19 3:16 ` David Eger 2004-06-19 6:13 ` Antonino A. Daplas 2004-06-19 15:59 ` John Zielinski 2004-06-23 18:57 ` jsimmons 2004-06-23 15:55 ` Benjamin Herrenschmidt 2004-06-23 16:08 ` Geert Uytterhoeven 2004-06-23 17:29 ` John Zielinski 2004-06-23 20:39 ` jsimmons 2004-06-23 21:44 ` John Zielinski 2004-06-23 19:00 ` jsimmons 2004-06-23 19:38 ` Benjamin Herrenschmidt 2004-06-23 20:03 ` jsimmons 2004-06-23 20:12 ` Benjamin Herrenschmidt 2004-06-23 23:50 ` Antonino A. Daplas 2004-06-24 2:17 ` Antonino A. Daplas 2004-06-19 15:50 ` John Zielinski 2004-06-23 18:55 ` jsimmons
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).