Ubuntu 14.04 有无法识别的显示器(或没有显示器)-启动问题

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

我发现灵感ArchLinuxUnix 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. 以 root 身份创建xorg.conf.new文件Xorg -configure
  3. 重命名xorg.conf.newxorg.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

编辑2: 如果我添加i915.modeset=1grub,效果会更好,因为启动后插入显示器就可以看到 grub。但是 grub 似乎只在我插入时显示,而不是在此之前。

**编辑 3:** 问题似乎来自硬件和启动之间的某个问题。当我添加后,i915.modeset=1我的电脑在没有插入显示器的情况下无法启动,而是等到插入显示器后才能启动。之后,它正常启动。之前什么都没有发生。这意味着i915.modeset=1对我的启动有影响。我不知道如何或在哪里,但似乎有影响。

答案1

我终于解决了这个问题。问题出在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),但计算机无论如何都会启动。

我希望这能够帮助别人。

答案2

有几种方法可以做到这一点。要么为 VGA 端口配备一个假插头来模拟显示器。(你也可以自己制作它们)

VGA 虚拟插头是一种简单的黑客技术,可以欺骗 GPU 和 Windows,让它们认为卡上插着显示器。VGA 虚拟插头的原理很简单:用 3 个电阻模拟显示器 RGB 通道负载。50 到 150 欧姆之间的任何电阻都可以。

您将需要每个 GFX 卡附带的 DVI-VGA 适配器、电阻器和剪刀。您可以使用剪刀或指甲刀,电线很软。

将电阻器的一条腿弯曲,直到它与另一条腿平行,然后剪掉长腿,使其与弯曲腿的长度相同。

该电线的规格刚好适合,可以安全地滑入 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/

或者使用像 So 这样的虚拟驱动程序

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

然后重启。希望可以正常工作。

相关内容