support for HW_SKIP_CONSOLE breaks use by blind people
hramrach at gmail.com
Thu Jan 10 03:38:13 PST 2013
On 10 January 2013 01:30, Samuel Thibault <samuel.thibault at ens-lyon.org> wrote:
> Michal Suchanek, le Thu 10 Jan 2013 00:45:41 +0100, a écrit :
>> Just backing out HW_SKIP_CONSOLE after years of dummy driver using it
> Did I ever propose that? (As a real upstream change I mean, not the
> workaround I've provided in the Debian report which was never meant to
> be applied upstream)
> Also, backing out decades of dummy driver being useful for blind users
> who have no screen shouldn't have been an option :)
Indeed. HW_SKIP_CONSOLE is a gross hack which was bound to bring bugs.
Reporting the bug years after being introduced is somewhat
>> a proper fix needs something like:
>> 1) introduce a HW_OPEN_CONSOLE flag which is inverse of the HW_SKIP_CONSOLE flag
>> 2) have all drivers but void and dummy set that - dummy has nice
>> example of setting a flag
>> 3) have the input hotplug code handle the flag in addition to the init code
> That's more or less precisely what was suggested earlier in the thread,
> and my precise enquiry waaaay earlier: which way should input drivers
> set the flag, since the mechanism used for video drivers does not exist
> for input drivers.
No. What you proposed is introduce a xorg.conf option for the dummy
driver to open the console.
As I read the patch it makes skipping the HW_SKIP_CONSOLE flag
optional and off by default which results in no change of behaviour
and looks sane. In a latter post, however, you say setting up special
configuration for blind users is unacceptable, and adding that option
seems like a special configuraion to me. If it's acceptable to add an
option in addition to changing the driver to dummy it looks fine.
The proper fix is that evdev opens the console because it's evedev
which needs the console, not dummy. This requires API change but input
API is going through big overhaul in 1.14 anyway. Not sure if video
API is changed yet.
> That said, it's of course way simpler, instead of having to modify all
> drivers, to just make video-dummy and input-void set the SKIP flag,
That's not going to work. If you do not set the flag in dummy the
console will open whatever you set in void. The console is open on
every driver probe starting with dummy. The HW_SKIP_CONSOLE hack
abuses the internal knowledge of driver probing order to set the flag
in the driver which is probed first but which is the wrong one for
setting the flag.
More information about the xorg-devel