Fixing 800x600 resolution in Toshiba NB510 (GMA 3650) with vesa driver

11,000

Solution 1

The black-screen problem is in fact a backlight brightness issue. If you look closely you can see the screen actually displays what it should, but the backlight is off.

Here are the steps I followed with the help of @pablomme to fix the issue using daily build of Quantal on new generation Atom Netbook. I tried it on N2800 and should be same for N2600 with the infamous GMA36x0 integrated graphics card, hopefully when using either the binary driver from Sarvatt's PPA or the gma500_gfx driver:

  1. At the GRUB prompt, select the Ubuntu entry and press e.
  2. Using the cursor keys, move to the line containing quiet splash and delete $vt_handoff from it.
  3. Press F10 to boot.
  4. At the desktop press Ctrl+Alt+T to open a terminal, type:

    sudo gedit /etc/default/grub
    

    press Enter, enter your password when prompted and press Enter.

  5. In the editor that opens add the following line at the end of the file:

    GRUB_GFXPAYLOAD_LINUX="auto"
    

    Then save the file and close the editor.

  6. In the terminal type:

    sudo update-grub
    

    and press Enter. Once it's finished you can close the terminal.

With the above the brightness should no longer be reset to zero at boot-time, so you'll be able to see the screen. If you would like to change the brightness, open a terminal and enter:

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

where CC is the value of the brightness (hexadecimal, going from 00 to FF; e.g. 00=minimum, 33=dark, 77=medium, BB=light, FF=maximum).

Solution 2

The support for your GMA3600 can be provided directly by the kernel if you compile it with the option

CONFIG_DRM_GMA3600=y

many users on the internet report this option working well with the kernel 3.3 or higher.

This option is usually disabled and not adopted by many kernels that comes by default in many distros, Ubuntu isn't an exception.

just run this command

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

and you will get what i'm saying.

I suggest to re-compile the kernel https://help.ubuntu.com/community/Kernel/Compile or to compile the driver that you need as module and load it if it's possible with your actual kernel configuration, remember to use a kernel >= 3.3 .

I also have found a topic in french that marked this issue as solved http://forum.ubuntu-fr.org/viewtopic.php?id=852521 .

the solution in that french thread is basically about installing this PPA https://launchpad.net/~sarvatt/+archive/cedarview and all the 3 packages in it http://forum.ubuntu-fr.org/viewtopic.php?pid=10015261#p10015261 .

There is also this blog with a slightly different solution using the same PPA as before http://daily.siebler.eu/2012/06/ubuntu-12-04-driver-for-intel-cedarview-atom-n2000-und-d2000-serie/

Share:
11,000

Related videos on Youtube

pablomme
Author by

pablomme

Updated on September 18, 2022

Comments

  • pablomme
    pablomme over 1 year

    After installing Ubuntu 12.04 on a Toshiba NB510 the screen resolution is 800x600 instead of the native 1024x600. This is a netbook that contains the infamous GMA3650 (aka PowerVR SGX5450) which is poorly supported by the Linux kernel. I've looked around and tried several different solutions. Namely:

    • I've tried installing a newer kernel (3.3+), since some people have reported success with it. That didn't seem to fix the resolution problem.
    • I've tried installing an older version of Ubuntu (10.04), since someone suggested there's an older driver that should provide basic support for the card, but the liveCD image wouldn't boot.
    • I've tried using this ppa. On first reboot, the screen resolution was correct. Subsequent reboots lead to a blank screen immediately after grub.
    • I've tried passing the kernel option video=1024x600 with the above PPA, to no avail.
    • I've tried installing a daily build of Quantal. The live image boots with the correct resolution. The installed system boots to a blank screen. The video=1024x600 option doesn't work here either.
    • On Quantal I've blacklisted the gma500_gfx driver to force the use of vesa. This causes Ubuntu to boot into a 800x600 resolution.
    • After this, I've tried using the following 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
      

      where the modeline comes from DDC, as reported in /var/log/Xorg.0.log. This seems to have no effect, with the resolution stuck at 800x600.

    • Additionally, adding nomodeset to the kernel command line does not help with either the resolution problem or the blank-screen problem.

    Ideally, since I don't think I can trust the gma500_gfx driver or that from Meego (the one in Sarvatt's PPA), I would like to use the vesa driver (probably reverting to 12.04), and specify the resolution in a xorg.conf file, but I can't seem to get this to work. Any ideas?

    BTW, this is a problem I'm helping a friend with, I don't have direct access to the machine.

    • nilsonneto
      nilsonneto almost 12 years
      +1 excellent research. Just one comment - in the description in the PPA says you need to use the grub parameter video=LVDS-1:d - did you boot with this? If the PC has more than 4Gb - did you use the 4G boot parameter?
    • pablomme
      pablomme almost 12 years
      Yes, I tried that video flag too. The PC is a netbook with 1GiB of RAM.
  • pablomme
    pablomme almost 12 years
    Thanks for your answer. I have tried the 3.3+ kernel solution, including installing Quantal. I'll check whether Quantal's kernel config contains the GMA3600 key enabled, and may try recompiling the kernel if not. I have already tried Sarvatt's PPA with the drivers from Meego (which, by the way, are going to be in Precise soon, says the PPA). Note that the situation is that I get a 800x600 display with the vesa driver, or a single boot into 1024x600 and subsequent blank screens with both the gma500_gfx or the Meego drivers. A solution to either is a valid answer.
  • pablomme
    pablomme almost 12 years
    The kernel in Quantal is already configured with CONFIG_DRM_GMA3600=y, so recompiling is unnecessary.
  • flower
    flower almost 12 years
    to resolve this kind of problems do not use unstable software, try with precise pangolin.
  • pablomme
    pablomme almost 12 years
    Yes, I've tried Precise and Lucid in addition to Quantal. Quantal has the advantage of coming with a newer kernel with explicit support for the GMA36x0. The outcome is the same anyway: vesa at 800x600, and other drivers at 1024x600 only once. I'd like to either fix my xorg.conf (what am I doing wrong?), which is the simplest-looking solution, or fix whatever makes second boots trigger blank screens (a very annoying problem, because it does do 1024x600, but not reliably). It's likely that the system will get Precise reinstalled depending on the final solution.
  • matcha
    matcha almost 12 years
    the culprit was $vt_handoff in boot option.
  • pablomme
    pablomme almost 12 years
    Hmm.. no idea. That option has to do with the grub->plymouth->X transition, so it kind of makes sense, but I don't see why it would affect the brightness. Two things: (1) you shouldn't edit /etc/grub/grub.cfg, but /etc/default/grub, since the former will be overwritten whenever a new kernel is installed (I need to look up how to remove $vt_handoff from the latter, but it is possible if I remember correctly); and (2) for the first bit of your solution you could simply edit the boot command line in grub and remove $vt_handoff, and avoid the "blind" setpci step, no?
  • matcha
    matcha almost 12 years
    (1) I do not know how to remove $vt_handoff options in /etc/default/grub. (2) yes I could simply edit the boot command line in grub and remove $vt_handoff option. I realized that later. Thanks.
  • matcha
    matcha almost 12 years
    OK got it. Add a line GRUB_GFXPAYLOAD_LINUX="auto" in /etc/default/grub
  • pablomme
    pablomme almost 12 years
    The Intel GMA 3650 is not actually an Intel GPU, and is not covered by the xserver-xorg-video-intel driver. The GPU core is by a company called PowerVR, a division of Imagination Technologies, who won't release open-source drivers or even specifications for their hardware. Intel has recently decided to do the GPU for new Atom machines themselves, which is great news for Linux users, but these won't come out until 2013..
  • pablomme
    pablomme almost 12 years
    I've made an edit to your answer to reflect the simpler working solution, I think you need to accept it before it sticks.
  • matcha
    matcha almost 12 years
    Should not this be tagged as Quantal too.
  • pablomme
    pablomme almost 12 years
    If I'm not mistaken there's the policy of not allowing questions on askubuntu regarding unreleased Ubuntu versions. The question and answer remain valid for Precise with Sarvatt's PPA or a newer kernel with gma500_gfx, there is actually no need for Quantal.
  • matcha
    matcha almost 12 years
    I tried today 12.10 kernel on 12.04 userspace - packages.qa.ubuntu.com/qatracker/milestones/223/builds , brightness is better than Quantal experience. So Grub GRUB_GFXPAYLOAD_LINUX="auto" trick works. only issue is the brightness keys do not work.
  • pablomme
    pablomme almost 12 years
    Good to know. I'm more interested about some forthcoming changes to Quantal, where they are getting rid of Unity 2D and using llvmpipe to do OpenGL graphics. The experience should improve a lot with unsupported GPUs (I hope). I've tried the oibaf/graphics-drivers PPA on my (proper) Intel-GPU laptop, but it's rather crashy at the moment. I hope it'll get better before October.