Ubuntu 14.04 с нераспознанным монитором (или без монитора) - проблема с загрузкой

Я Ubuntu 14.04 установлен на моем компьютере. Мне нужно запустить его, даже если не подключен ни один монитор.

По сути, мне нужно это сделать, потому что при запуске мой монитор не распознается, а подключается. Вот почему мне нужно продолжать запуск, даже если X не видит подключенный монитор.

Если нет монитора, мой компьютер вообще не запускается.

Я думал, что проблема возникла из Xserver но это задолго до этого (см. Edit3), но я сделал некоторую работу над X server во всяком случае, чтобы убедиться, что проблема не возникла здесь.

Я попытался вручную добавить файл конфигурации Xorg. Вот мой файл

#/usr/share/X11/xorg.conf.d/10-monitor.conf

Section "Monitor"
    Identifier             "Monitor0"
    Modeline "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
EndSection

Section "Device"
    Identifier             "graphic_card0"
    Driver                 "intel"
    BusID                  "PCI:0:2:0"
    #Driver                 "vesa" #Choose the driver used for this monitor
EndSection

Section "Screen"
    Identifier             "Screen0"  #Collapse Monitor and Device section to Screen section
    Device                 "graphic_card0"
    Monitor                "Monitor0"
    DefaultDepth           24 #Choose the depth (16||24)
    SubSection             "Display"
        Depth              24
        Modes              "1920x1080_60.00" #Choose the resolution
    EndSubSection
EndSection

Я нашел вдохновение в ArchLinux и Unix StackExchange

но это все еще не работает.

Замечания:

  1. PCI:0:2:0 исходит из результата команды:

    lspci | grep VGA

    00:02.0 VGA compatible controller: Intel Corporation ValleyView Gen7 (rev 0e)

Я тоже пробовал это через SSH

  1. Прекратить lightdm
  2. Создавать xorg.conf.new файл с Xorg -configure как корень.
  3. переименовать xorg.conf.new как xorg.conf

Вот сгенерированный файл:

Section "ServerLayout"
    Identifier     "X.org Configured"
    Screen      0  "Screen0" 0 0
    InputDevice    "Mouse0" "CorePointer"
    InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
    ModulePath   "/usr/lib/xorg/modules"
    FontPath     "/usr/share/fonts/X11/misc"
    FontPath     "/usr/share/fonts/X11/cyrillic"
    FontPath     "/usr/share/fonts/X11/100dpi/:unscaled"
    FontPath     "/usr/share/fonts/X11/75dpi/:unscaled"
    FontPath     "/usr/share/fonts/X11/Type1"
    FontPath     "/usr/share/fonts/X11/100dpi"
    FontPath     "/usr/share/fonts/X11/75dpi"
    FontPath     "built-ins"
EndSection

Section "Module"
    Load  "glx"
EndSection

Section "InputDevice"
    Identifier  "Keyboard0"
    Driver      "kbd"
EndSection

Section "InputDevice"
    Identifier  "Mouse0"
    Driver      "mouse"
    Option      "Protocol" "auto"
    Option      "Device" "/dev/input/mice"
    Option      "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
        #Option     "NoAccel"               # [<bool>]
        #Option     "AccelMethod"           # <str>
        #Option     "Backlight"             # <str>
        #Option     "DRI"                   # <str>
        #Option     "Present"               # [<bool>]
        #Option     "ColorKey"              # <i>
        #Option     "VideoKey"              # <i>
        #Option     "Tiling"                # [<bool>]
        #Option     "LinearFramebuffer"     # [<bool>]
        #Option     "VSync"                 # [<bool>]
        #Option     "PageFlip"              # [<bool>]
        #Option     "SwapbuffersWait"       # [<bool>]
        #Option     "TripleBuffer"          # [<bool>]
        #Option     "XvPreferOverlay"       # [<bool>]
        #Option     "HotPlug"               # [<bool>]
        #Option     "ReprobeOutputs"        # [<bool>]
        #Option     "DeleteUnusedDP12Displays"  # [<bool>]
        #Option     "XvMC"                  # [<bool>]
        #Option     "ZaphodHeads"           # <str>
        #Option     "VirtualHeads"          # <i>
        #Option     "TearFree"              # [<bool>]
        #Option     "PerCrtcPixmaps"        # [<bool>]
        #Option     "FallbackDebug"         # [<bool>]
        #Option     "DebugFlushBatches"     # [<bool>]
        #Option     "DebugFlushCaches"      # [<bool>]
        #Option     "DebugWait"             # [<bool>]
        #Option     "BufferCache"           # [<bool>]
    Identifier  "Card0"
    Driver      "intel"
    BusID       "PCI:0:2:0"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device     "Card0"
    Monitor    "Monitor0"
    SubSection "Display"
        Viewport   0 0
        Depth     1
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     4
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     8
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     15
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     16
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     24
    EndSubSection
EndSection

Это все еще не работает.

Кажется, что не все файлы читаются или учитываются.

У кого-нибудь есть идеи?

Заранее спасибо.

Редактировать: вот содержание /var/log/Xorg.0.log (слишком большой, чтобы писать здесь): Xorg.log

Edit2: если я добавлю i915.modeset=1 на grub лучше, потому что я вижу grub, если подключаю монитор после запуска. Но личинка, кажется, показывается только когда я ее подключаю, а не раньше..

** Edit3: ** Проблема, кажется, происходит из-за аппаратного обеспечения и загрузки. Когда я добавил i915.modeset=1 Мой компьютер не запускается без подключенного монитора, но подождите, пока он не будет подключен. После этого начинается нормально. До этого ничего не случилось. Это означает i915.modeset=1 оказывает влияние на мою загрузку. Я не знаю, как и где, но, похоже,

2 ответа

Решение

Я наконец исправил эту проблему. Проблема возникла из grubЭто мой найденный способ.

#/etc/X11/xorg.conf

Section "Device"
  Identifier "card0"
  Driver "intel"
  VendorName  "INTEL Corporation"
  #Option "NoDDC"
EndSection

Section "Monitor"
  Identifier "fake_monitor"
  VendorName "Unknown"
  HorizSync 30-83
  VertRefresh 56-75
  Modeline "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
  Option "PreferredMode" "1920x1080_60.00" 
EndSection

Section "Screen"
  Identifier "screen_without_monitor"
  Device "card0"
  Monitor "fake_monitor"
  SubSection "Display"
    Modes "1920x1080_60.00"
  EndSubSection
EndSection

И самый важный файл:

# /etc/default/grub

GRUB_DEFAULT=10
GRUB_RECORDFAIL_TIMEOUT=10
GRUB_HIDDEN_TIMEOUT_QUIET=false
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.modeset=1"
GRUB_CMDLINE_LINUX=«
GRUB_GFXMODE=1920X1080

После редактирования /etc/default/grub не забывай бегать sudo update-grub, Это будет генерировать истинное grub.cfg файл читается во время загрузки.

Это заставляет мой компьютер запускаться, даже если нет подключенного монитора.

Примечание. Если монитор не подключен вообще, экран будет черным, пока я не подключусь к компьютеру (с TeamViewer например) но компьютер все равно запустится.

Я надеюсь, что это поможет кому-то еще.

Есть несколько способов сделать это. Либо получите фиктивную заглушку для порта VGA для имитации монитора. (вы можете сделать их также)

Заглушка VGA - это простой способ обмануть GPU и Windows, позволив им думать, что на карту вставлен монитор. Принцип простоя VGA прост: имитация загрузки RGB-каналов монитора с 3 резисторами. Любой резистор от 50 до 150 Ом - это нормально.

Вам понадобится адаптер DVI-VGA, который поставляется с каждой картой GFX, резисторами и клипсатором. Вы можете использовать ножницы или кусачки для ногтей, провод мягкий.

Согните одну ножку резистора, пока она не станет параллельной другой, затем отрежьте длинную ножку, чтобы она была такой же длины, что и согнутая ножка.

Провод как раз того размера, который надежно вставляется в VGA plus.

Толкни его домой. Обратите внимание, что вы хотите соединить три верхних штыря справа со штифтами прямо под контактом один к одному. Держите вилку так, чтобы широкая часть находилась сверху.

Чередуйте резисторы так, чтобы нога одного находилась напротив тела другого, чтобы избежать короткого замыкания перемычек.

Руководство с картинками: http://www.overclock.net/t/384733/the-30-second-dummy-plug

Руководство 2: http://www.geeks3d.com/20091230/vga-hack-how-to-make-a-vga-dummy-plug/

ИЛИ использовать фиктивный драйвер, такой как

sudo apt-get install xserver-xorg-video-dummy

Затем настройте файл xorg.conf:

Section "Device"
    Identifier  "Configured Video Device"
    Driver      "dummy"
EndSection

Section "Monitor"
    Identifier  "Configured Monitor"
    HorizSync 31.5-48.5
    VertRefresh 50-70
EndSection

Section "Screen"
    Identifier  "Default Screen"
    Monitor     "Configured Monitor"
    Device      "Configured Video Device"
    DefaultDepth 24
    SubSection "Display"
    Depth 24
    Modes "1024x800"
    EndSubSection
EndSection

Затем перезагрузите. И, надеюсь, работает.

Другие вопросы по тегам