Библиотека сайта rus-linux.net
Железный Linux
Автор: Алексей Ерохин, Erokhin@HomePC.ru
Опубликовано: 15.12.2002
© 2002, Издательский дом "КОМПЬЮТЕРРА" | http://www.computerra.ru/
Журнал "Домашний компьютер" | http://www.homepc.ru/
Этот материал Вы всегда сможете найти по его постоянному адресу: http://www.homepc.ru/offline/2002/78/22615/
Linux поддерживает большинство существующих чипсетов, процессоров, и с такими устройствами, как флоппи-дисководы, приводы CD-ROM, CD-RW, DVD-ROM и жесткие диски, вопросов, скорее всего, не возникнет.
Первое взаимонепонимание системы и пользователя может встретиться при выборе монитора и видеокарты. С картами от ведущей тройки производителей (ATi, Matrox, nVidia) проблем практически нет (в базе драйверов дистрибутива ALT Linux Junior 2.1 1 пока нет только самых последних моделей: Matrox Perphilia, ATI Radeon 9000 и 9700). Весь список поддерживаемых видеокарт можно посмотреть в директории /usr/share/ldetect-lst/ в файле pcitable. На начальном этапе, например, для любой карты на чипах семейства Radeon предлагается один драйвер - Radeon.
Благодаря тому, что драйверы поставляются самими производителями, карты от ATi, Matrox и nVidia поддерживают полноценное 3D-ускорение. Что касается всех других видеокарт, здесь ситуация "зависит от┘". В разделе "Монитор" DarkConf в режиме "Эксперт" можно посмотреть, какая поддержка обеспечена вашей видеокарте - т. е. в каком режиме обеспечено аппаратное 3D-ускорение и насколько оно надежно. Следующая проблема, которую может встретить пользователь - низкая частота обновления экрана (еще раз напомню, как это вредно - смотреть на экран с частотой обновления ниже 75 Гц). Да, при установке системы, даже при выборе правильной марки монитора и корректном автоопределении видеокарты, может встретиться такая ситуация - вместо положенных, допустим, 85 Гц (вы точно знаете, что ваша видеоподсистема "тянет" такое обновление при разрешении 1152х864 и 32-битной глубине цвета) система самолично устанавливает вам 75 Гц, а то и еще ниже.
Из этой ситуации можно выбраться двумя способами. Первый - вместо реального подключенного монитора вы задаете монитор с лучшими характеристиками. Если у дисплея есть средство для определения частоты обновления, такой способ годится. Но если статус невозможно определить, придется пойти вторым путем - в директории /ect/X11/ отредактировать файл XF86Config. Для этого надо найти секцию Monitor Section и в ней параметр VertRefresh, он и задает диапазон обновления экрана. Если вы точно знаете, что ваша видеоподсистема выдержит, установите, например, диапазон 85-100, тогда ниже 85 Гц частота не опустится.
К сожалению, более изящного способа регулировки частоты обновления система пока не предлагает, хотя более тонкой настройкой (правкой) в том же файле XF86Config можно точно задавать параметры экрана для каждого разрешения.
Сканирование
Пожалуй, сканеры для Linux представляют наиболее капризные девайсы, и перед тем как установить сканер в систему (не говоря уж о приобретении нового сканера для использования его под Linux), желательно уточнить - есть ли Linux-поддержка конкретной модели. И здесь не удастся обойтись средствами дистрибутива. Те же USB-сканеры в изобилии присутствуют в файле usbtable директории /usr/share/ldetect-lst/, и это означает, что система способна только правильно определить подключенный сканер, но не гарантирует наличие для него подходящего драйвера. Поэтому придется обратиться к самому авторитетному сканерному сайту - SANE (http://panda.mostang.com/sane/). Там можно найти все сканеры, на сегодняшний день "принимаемые в обращение" Linux, причем с указанием - насколько хорошо поддерживается та или иная модель.
Вообще, хотя общий алгоритм установки сканера является плохо формализуемым, можно указать несколько действий, которые помогут справиться с этой задачей. Во-первых, на сайте SANE необходимо пройтись по ссылкам Supported devices (complete lists/search function) - List ordered by manufacturer и найти таблицу производителя и затем, уже в таблице, - конкретную интересующую вас модель. В соответствующей строке будут указаны статус (Status) используемого драйвера, комментарий (Comment), название драйвера (Backend) и ссылка на страницу описания настройки драйвера (Manpage).
Status показывает, насколько драйвер отлажен. Уровни stable и beta считаются достаточно хорошими, что их можно рекомендовать к применению. Уровни alpha и untested рекомендовать сложно, но попробовать, насколько они работоспособны, конечно, никому не возбраняется.
Далее Comment покажет, работает ли конкретный сканер под данным драйвером (SANE-драйверы, как правило, могут использоваться для нескольких сканеров, которые, например, собраны на одном чипсете). Причем в пределах одной таблицы комментарии могут быть разные - от радужных "All known modes and functions supported" (все известные режимы и функции поддерживаются) до невеселых "Gray only" (сканирование возможно только в шкале серого цвета) или совсем грустных "Unsupported" (не поддерживается).
Если все этапы пройдены, вероятность, что сканер "станет" под Linux, очень высока. Тогда нужно искать особенности установки разных сканеров в руководстве (man 7 sane). В двух словах они сводятся к следующему:
-
уточняется список поддерживаемых драйвером сканеров;
-
уточняются набор рабочих режимов и функции;
-
подтверждается факт, что если вы устанавливаете SCSI-сканер, скорее всего, проблем не будет никаких, а с LPT- и USB-сканерами придется повозиться;
-
дается путь, где можно найти файл конфигурации данного типа сканеров и рекомендации по его изменению.
SANE расшифровывается как Scanner Access Now Easy (получить доступ к сканеру теперь просто) - это не только готовые и собранные в базы драйверы, но и библиотека (API) для поддержки работы сканеров. Вместе с графической оболочкой они собираются в программу XSane, и она автоматически "подхватывает" установленный сканер и по возможности производит его конфигурацию в системе. И если сканер установился в автоматическом режиме, он начинает работать в интерфейсе XSane, который является единым для всех сканеров.
Как уже говорилось, вероятность, что SCSI-сканер автоматически будет сконфигурирован при вызове XSane - очень велика, при этом рекомендуется не использовать "родную" SCSI-карту сканера, а работать со стандартным SCSI-адаптером. Что касается USB-сканеров, для них нужно запустить команду sane-find-scanner. Скорее всего, команда сообщит: "Found USB scanner (vendor=XXXXXX, product=XXXXXX) at /dev/usb/scanner0". Можно, конечно, по таблице usbtable в директории /usr/share/ldetect-lst/ посмотреть, насколько правильно определился сканер, но лучше сразу отправиться в директорию /ect/sane.d/ и найти файл конфигурации, имя которого совпадает с Backend (именем драйвера). Далее по подсказке команды sane-find-scanner надо снять комментарий со строки, определяющей, где искать драйвер. Например, при установке сканера Epson Perfection 610U sane-find-scanner выдает местонахождение - /dev/usb/scanner0, и в файле epson.conf надо снять знак комментария (#) со строки #usb /dev/usb/scanner0. После этого сканер будет опознан именно как Epson Perfection 610 и доступен из всех сканирующих приложений. Отредактировать файл конфигурации можно только с правами root.
Для LPT-сканеров команда sane-find-scanner ничего не подскажет, поэтому придется сразу приступить к экспериментам с файлами конфигурации. Например, для запуска сканеров Canon CanoScan FB620P/ FB630P/ N640P сначала в файле dll.conf придется снять комментарий со строчки #canon_pp (для автоматического определения сканера), а, если возникнут проблемы с ошибками ввода-вывода в режиме ECP, в файле canon_pp.conf "поколдовать" со строчкой #force_nibble, затем по очереди попробовать сначала автоматический режим инициализации (строчка #init_mode AUTO parport0), а если автоматика не сработает, указать init_mode FB620P parport0 или init_mode FB630P parport0.
Как видите, удобство подключения сканеров пока оставляет желать лучшего, и, к сожалению, для точных рекомендаций всегда придется обращаться к руководству и читать комментарии в файлах конфигурации. Но на этом беды со сканерами не заканчиваются. Дальнейшие приключения связаны с тем, что драйверы пишутся не производителями, а вольными программистами. А для написания полноценного драйвера им, даже если фирма-производитель поделилась некоторой информацией, не хватит данных, чтобы обеспечить правильную цветопередачу отсканированного изображения, а она зависит от очень многих параметров (типа лампы, времени ее эксплуатации, оптических характеристик сканера, способа обработки при избыточных разрядах цвета и черт-знает-чего-на-чем-производители-сканеров-не-одну-собаку-съели). Энтузиасты, как максимум, выжмут из сканера корректную работу, с должной скоростью и разрешением. Но с цветопередачей, наверняка, будут сложности, порой большие. Мы протестировали шесть сканеров (Genius Colorpage HR6 V2, Benq 620u, Mustek BearPaw 2400, Mustek ScanExpress 1200 UB, Epson 610 и Umax Astra 1220U) и ни для одного не получили такой же цветопередачи, какую дает тот же сканер при работе в Windows.
Проверка производилось по эталонной калибровочной мишени AGFA IT8.7/2, где, в частности, показатель хорошей цветопередачи - чистые цвета RGB в колонках 17, 18 и 19. В нижних квадратах от I до L многие сканеры на автоматических настройках дают чистый цвет без примесей. Так, квадрат L17 даст разложение цвета: R=30, G<=5, B<=5, а квадрат J18 - R<=10, G=75, B<=10. Такие результаты получаются при использовании фирменных Windows-драйверов. При сканировании в XSane уровень примесей был очень велик - более 10 для нижних квадратов (уровень K, L) и более 20 для квадратов уровня I и J.
Значит, о верной цветопередаче можно не говорить. Если она понадобится в работе, придется средствами XSane (или графического редактора) подбирать цветовую коррекцию, не факт, что ее удастся быстро найти и она будет успешно работать.
В итоге мы не можем дать привычные для "Советника" рекомендации - "используйте сканеры такие-то, и мы гарантируем, они вас не разочаруют". Со сканированием текста и цветной графики (где нет жестких требований к цветопередаче) сегодня справляется практически любой сканер. И выбор для Linux легко сделать по данным SANE (несколько рекомендуемых моделей вы найдете в табл. 1, где сканеры отобраны только по одному критерию - стабильная работа под Linux). Но для обработки фотографий и, тем более, слайдов, мы не можем порекомендовать ни одного сканера.
Сканеры, стабильно работающие под Linux (по данным сайта http://panda.mostang.com/sane/)
Модель |
Тип |
Статус |
Драйвер |
AgfaSnapScan 1212u |
USB |
stable |
SnapScan |
Agfa SnapScan 1236s |
SCSI |
stable |
SnapScan |
Agfa SnapScan 1236u |
USB |
stable |
SnapScan |
Benq 610s |
SCSI |
stable |
SnapScan |
Benq 620s |
SCSI |
stable |
SnapScan |
Benq 620u |
USB |
stable |
SnapScan |
Benq 640bu |
USB |
stable |
SnapScan |
Benq 640u |
USB |
stable |
SnapScan |
Canon CanoScan FB630P |
LPT (ECP) |
beta |
canon_pp |
Canon CanoScan fb630u |
USB |
beta |
canon630u |
Epson Perfection 610 |
USB |
stable |
epson |
Epson Perfection 636S |
SCSI |
stable |
epson |
Epson Perfection 636U |
USB |
stable |
epson |
Epson Perfection 640 |
USB |
stable |
epson |
Epson Perfection 1200Photo |
USB |
stable |
epson |
Epson Perfection 1200S |
SCSI |
stable |
epson |
Epson Perfection 1200U |
USB |
stable |
epson |
Epson Perfection 1240 |
SCSI USB |
stable |
epson |
Genius Colorpage HR6 V2 |
USB |
stable |
plustek |
Colorpage Vivid III V2 |
LPT (SPP, EPP) |
stable |
plustek |
Genius Colorpage Vivid Pro II Film |
LPT (SPP, EPP) |
stable |
plustek |
Genius ColorPage-HR5 (Pro) |
SCSI |
stable |
umax |
HP 3200C |
LPT (EPP) |
beta |
umax_pp |
HP 5300 |
USB |
beta |
avision |
HP ScanJet 4100C |
USB |
beta |
hp |
HP ScanJet 6100C |
SCSI |
beta |
hp |
HP ScanJet 6200C |
SCSI USB |
beta |
hp |
Microtek ScanMaker 636 |
SCSI |
stable |
microtek2 |
Microtek ScanMaker 3600 |
USB |
alpha |
sm3600 |
Mustek BearPaw 1200 |
USB |
stable |
plustek |
Mustek BearPaw 2400 |
USB |
stable |
plustek |
Umax Astra 1220P |
LPT (EPP) |
beta |
umax_pp |
Umax Astra 1220S |
SCSI |
stable |
umax |
Umax Astra 1220U |
USB |
stable |
umax1220u |
Печать
Чтобы несколько сменить мрачный тон, перейдем к работе принтеров под Linux. Тем более, для работы с ними не придется терпеть такие же мучения, как со сканерами. База поддерживаемых принтеров очень велика. Например, в дистрибутиве Junior 2.1 сегодня вы найдете все, включая 900-ю серию принтеров Hewlett-Packard DeskJet. А на сайте www.linuxprinting.org (основного поставщика принтерных драйверов) уже объявлена поддержка новейших HP DeskJet 5550 и HP PhotoSmart 7530, так что в следующей версии дистрибутива Alt Linux эти принтеры, наверняка, будут включены в базу.
Выбрать и настроить принтер можно еще на этапе установки системы. Причем для каждого принтера предлагается порой несколько драйверов. Официальную поддержку Linux из производителей принтеров оказывают немногие (Hewlett-Packard, Samsung). Так, Hewlett-Packard предложила Linux-сообществу пакет разработки драйверов для струйных принтеров HPIJS. На его базе написаны драйверы, называемые "ChostScript+hpijs" - они дают лучшие результаты для печати. Остальные производители делятся с авторами Linux-драйверов полезной информацией, которую те используют при написании наряду с методом проб и ошибок. Для принтеров Epson и Canon наиболее предпочтительным является драйвер "ChostScript+gimp - print". Поскольку самым продвинутым пакетом обработки изображения в среде Linux является графический редактор GIMP, и в нем есть собственные базы драйверов, которые дают неплохие результаты печати.
При установке принтера в системе придется задать параметры печати по умолчанию (выбрать размер листа, определить разрешение и уровень качества печати, а также ее тип). Причем многие эти параметры нельзя изменить при печати из большинства программ, так что пользователю при смене типа печати либо придется каждый раз перенастраивать принтер, либо один и тот же принтер завести в нескольких вариантах - например для черновой печати, нормальной, печати цветной графики и т. д. На первый взгляд, такой подход кажется диким, но на второй оказывается, он не лишен смысла и даже удобства.
Отдельный разговор - печать из редактора GIMP. По умолчанию она невозможна - осуществляется с помощью плагина gimp-print, присоединяемого к редактору, либо при установке полной версии ОС, либо - с помощью специальной команды. Во втором случае надо войти в "Консоль" под паролем root и дать команду irpmi gimp-print-plugin, после чего в контекстном меню "Файл" (открывается при клике правой клавиши мыши на поле обрабатываемого изображения) появляется подменю Print.
И здесь мы подходим к еще одному неприятному моменту - невозможности дать традиционный совет от "Советника". Так же, как и в случае сканеров, печать под Linux не может похвастаться хорошей цветопередачей. Одна из причин этого - в системе отсутствуют механизмы цветокоррекции. Даже в GIMP нет привязки изображения к цветовому профилю, что делает качественную фотопечать невозможной в принципе, и поскольку с печатью текста и цветной графики сегодня ПРЕКРАСНО справляется любой струйный принтер, совет для Linux можно дать такой: "Выбирайте любой принтер, устраивающий вас по скорости и цене печати. Главное - предварительно убедитесь, что Linux поддерживает выбранную модель, т. е. она не должна быть слишком новой". Что касается фотопечати, по-моему, говорить о ней рано.
Попробую пояснить.
Начнем с того, что теоретически в Linux можно печатать неплохие фотографии. Но! Только на листах формата А4 или А5, а это, согласитесь, не очень выгодно, особенно если принять во внимание, что без механизма точной цветокоррекции придется извести не один лист, пока результат станет удовлетворительным. Почему такой ограниченный выбор формата печати? Все просто - нам придется работать из программы, в которой возможна лишь ограниченная настройка принтера, а совместить форматы печати с форматом, заданным у принтера, можно только при размере листа А4 или А5. Есть еще несколько экзотических форматов (Letter - 8,5х11 дюймов, Legal - 8,5х14 дюймов и Executive - 7,5х10 дюймов), но они слишком велики для фотографии. В случае, если формат печати не совпадает с форматом, заданным у принтера, произойдет пересчет, и на листе вместо полного изображения появится фрагмент, причем заранее сложно угадать, какой именно.
Невеселая картина? А почему же нельзя печатать в редакторе GIMP, который хоть и не снабжен цветовыми профилями, но способен прекрасно масштабировать изображение, приводить его к любому формату, вплоть до А9? Здесь все просто, и объясняется только недоработками в системе. GIMP воспринимает системный принтер как некий абстрактный девайс с названием PostScript Level 2. И, хотя консультанты рассказывали мне про принтеры, замечательно печатающие в этом режиме, ни один из проверенных (Epson Stylus Color 880, Epson Stylus Photo 895, HP DeskJet 845, HP DeskJet 940, HP DeskJet 990, Canon S630, Canon S800 и др.) не стал в нем печатать.
Идем дальше. Если нельзя печатать в PostScript Level 2, почему бы не произвести настройку принтера? Прямо в GIMP в настройке Printer Setup можно выбрать принтер из большого списка (правда, не такого большого, как при выборе принтера в "Центре Управления"). Здесь я не смог получить от консультантов точного ответа - не то GIMP подменяет системный драйвер на свой собственный, не то его таблицы конфигурации накладываются на драйвер, оставляя ему только часть возможностей. Например, в случае принтеров НР 900-й серии максимальное разрешение драйвера "ChostScript+hpijs" 1200 dpi обрезается до 600 dpi. В других случаях количественные показатели не дают явных подсказок, но тестовые фотографии наглядно демонстрируют, как "уходят" цвет и разрешение фотографии.
После таких результатов речь о серьезном тестировании не идет. Можно даже не вспоминать, что Linux-драйверы не поддерживают фирменные технологии Epson PhotoEnhance 4 или Hewlett-Packard PhotoREt III. Какая разница, если печать фотографий настолько урезана в возможностях 2? Какая разница, если существующие сегодня дистрибутивы не поддерживают современный уровень фотопечати? По некоторым данным, такая поддержка появится скоро, возможно, в течение ближайших месяцев . Тогда и потестируем.
Редакция благодарит за консультации и помощь в проведении тестирования Константина Волкова, Станислава Ивлева (ALT Linux), Андрея Коптева, Георгия Бакунова (ASP Linux), а также представительства компаний Canon и Hewlett-Packard в России.
1 (обратно к тексту) - Конкретные примеры в данной статье даются по дистрибутиву Junior 2.1 Home PC Magazine Edition, разработанному компанией Alt Linux специально для "ДК".
2 (обратно к тексту) - Если кому-нибудь все-таки понадобится печатать фотографии под Linux, то наилучшие результаты в GIMP дают принтеры Epson. На распечатки принтеров Hewlett-Packard и Canon лучше не смотреть.