Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

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.

share|improve this question
    
+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? –  fossfreedom Jul 16 '12 at 21:53
    
Yes, I tried that video flag too. The PC is a netbook with 1GiB of RAM. –  pablomme Jul 16 '12 at 22:25
add comment

3 Answers

up vote 3 down vote accepted
+200

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).

share|improve this answer
    
the culprit was $vt_handoff in boot option. –  matcha Jul 21 '12 at 9:21
1  
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? –  pablomme Jul 21 '12 at 10:05
    
(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 Jul 21 '12 at 14:35
    
OK got it. Add a line GRUB_GFXPAYLOAD_LINUX="auto" in /etc/default/grub –  matcha Jul 21 '12 at 14:54
1  
I've made an edit to your answer to reflect the simpler working solution, I think you need to accept it before it sticks. –  pablomme Jul 22 '12 at 12:07
show 4 more comments

Firstly, Open terminal and type:

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

  2. Followed by sudo apt-get update

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

This will install INTEL latest drivers. Just reboot once installed and look for changes that have taken place. If none, go to System Settings and see if you got the correct display settings to change the resolution.

If this does not work then try this testing PPA repository:

Open terminal type in:

  1. sudo add-apt-repository ppa:intel-gfx-testing/ppa
  2. Followed by sudo apt-get update

Once you are done, reboot and try to change resolution you are looking for.

share|improve this answer
1  
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 Jul 22 '12 at 11:47
add comment

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|improve this answer
    
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 Jul 17 '12 at 6:13
    
The kernel in Quantal is already configured with CONFIG_DRM_GMA3600=y, so recompiling is unnecessary. –  pablomme Jul 17 '12 at 7:44
    
to resolve this kind of problems do not use unstable software, try with precise pangolin. –  user827992 Jul 17 '12 at 9:48
    
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. –  pablomme Jul 17 '12 at 10:36
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.