使用 vesa 驱动程序修复 Toshiba NB510 (GMA 3650) 的 800x600 分辨率

使用 vesa 驱动程序修复 Toshiba NB510 (GMA 3650) 的 800x600 分辨率

在东芝 NB510 上安装 Ubuntu 12.04 后,屏幕分辨率为 800x600,而不是原始的 1024x600。这是一台上网本,包含臭名昭著的 GMA3650(又名 PowerVR SGX5450),Linux 内核对它的支持很差。我四处寻找并尝试了几种不同的解决方案。即:

  • 我尝试安装较新的内核(3.3+),因为有人报告说安装成功了。但这似乎无法解决分辨率问题。
  • 我尝试安装旧版本的 Ubuntu(10.04),因为有人建议有一个旧的驱动程序可以为该卡提供基本支持,但 liveCD 映像无法启动。
  • 我试过使用此 ppa。第一次重启时,屏幕分辨率正确。后续重启导致 grub 后立即出现空白屏幕。
  • 我尝试使用video=1024x600上述 PPA 传递内核选项,但无济于事。
  • 我尝试安装 Quantal 的每日版本。实时图像以正确的分辨率启动。安装的系统启动后出现空白屏幕。该video=1024x600选项在这里也不起作用。
  • 在 Quantal 上,我已将gma500_gfx驱动程序列入黑名单以强制使用vesa。这会导致 Ubuntu 以 800x600 分辨率启动。
  • 在此之后,我尝试使用以下方法xorg.conf

    Section "Device"
        Identifier  "card"
        Driver      "vesa"
    EndSection
    
    Section "Monitor"
        Identifier  "panel"
        Modeline    "1024x600_DDC" 54.03 1024 1048 1184 1344 600 603 609 670 -hsync -vsync
        Option      "PreferredMode" "1024x600_DDC"
    EndSection
    
    Section "Screen"
        Identifier  "screen"
        Device      "card"
        Monitor     "panel"
        DefaultDepth    24
        SubSection "Display"
            Depth   24
            Modes   "1024x600_DDC"
        EndSubSection
    EndSection
    

    其中模式行来自 DDC,如 中所述/var/log/Xorg.0.log。这似乎没有效果,分辨率停留在 800x600。

  • 此外,添加nomodeset内核命令行对于解决分辨率问题和黑屏问题都无济于事。

理想情况下,由于我认为我不能信任该gma500_gfx驱动程序或 Meego 的驱动程序(Sarvatt 的 PPA 中的驱动程序),我想使用该vesa驱动程序(可能恢复为 12.04),并在文件中指定分辨率xorg.conf,但我似乎无法让它工作。有什么想法吗?

顺便说一句,这是我正在帮助朋友解决的问题,我无法直接访问机器。

答案1

黑屏问题其实是背光亮度问题。如果你仔细看,你会发现屏幕实际上显示的是它应该显示的内容,但背光却关闭了。

以下是我在 @pablomme 的帮助下使用 Quantal 的每日构建版本在新一代 Atom Netbook 上解决问题的步骤。我在 N2800 上尝试过,对于配备臭名昭著的 GMA36x0 集成显卡的 N2600 来说应该也是一样的,希望在使用 Sarvatt 的 PPA 中的二进制驱动程序或驱动程序时gma500_gfx

  1. 在 GRUB 提示符下,选择 Ubuntu 条目并按e
  2. 使用光标键,移动到包含的行quiet splash$vt_handoff从中删除。
  3. 按下F10即可启动。
  4. 在桌面按++Ctrl打开终端,输入:AltT

    sudo gedit /etc/default/grub
    

    Enter,出现提示时输入密码,然后按Enter

  5. 在打开的编辑器中,在文件末尾添加以下行:

    GRUB_GFXPAYLOAD_LINUX="auto"
    

    然后保存文件并关闭编辑器。

  6. 在终端类型中:

    sudo update-grub
    

    然后按Enter。完成后,您可以关闭终端。

使用上述方法后,亮度在启动时不再重置为零,因此您将能够看到屏幕。如果您想更改亮度,请打开终端并输入:

sudo setpci -s "00:02.0" F4.B=BB

其中CC是亮度值(十六进制,从00FF;例如00=最小,33=暗,77=中等,BB=亮,FF=最大)。

答案2

如果你使用选项编译内核,那么对 GMA3600 的支持可以直接由内核提供

CONFIG_DRM_GMA3600=y

互联网上有许多用户报告说此选项在内核 3.3 或更高版本上运行良好。

该选项通常被禁用,并且不被许多发行版中默认的许多内核采用,Ubuntu 也不例外。

只需运行此命令

cat /boot/config-$(uname -r) | grep -i gma

你就会明白我的意思。

我建议重新编译内核https://help.ubuntu.com/community/Kernel/Compile或者将您需要的驱动程序编译为模块并加载它(如果您的实际内核配置允许的话),请记住使用内核 >= 3.3 。

我还发现了一个法语主题,该主题将此问题标记为已解决http://forum.ubuntu-fr.org/viewtopic.php?id=852521

那个法语帖子中的解决方案基本上是关于安装这个 PPAhttps://launchpad.net/~sarvatt/+archive/cedarview以及其中的所有 3 个包http://forum.ubuntu-fr.org/viewtopic.php?pid=10015261#p10015261

这篇博客也提供了略有不同的解决方案,使用与之前相同的 PPA http://daily.siebler.eu/2012/06/ubuntu-12-04-driver-for-intel-cedarview-atom-n2000-und-d2000-serie/

答案3

首先,打开终端并输入:

  1. sudo add-apt-repository ppa:ubuntu-x-swat/x-updates

  2. 其次是sudo apt-get update

  3. sudo apt-get install xserver-xorg-video-intel

这将安装最新的英特尔驱动程序。安装后只需重新启动并查看是否发生了更改。如果没有,请转到系统设置并查看您是否获得了正确的显示设置来更改分辨率。

如果这不起作用,请尝试这个测试 PPA 存储库:

打开终端输入:

  1. sudo add-apt-repository ppa:intel-gfx-testing/ppa
  2. 其次是sudo apt-get update

完成后,重新启动并尝试更改您想要的分辨率。

相关内容