Saturday, March 3, 2007

auto915Resolution - Ubuntu Resolution fix for Intel chipset 8x-945

If you have an Intel Chipset 8x - 945 series you will have some trouble setting your resolution in Ubuntu.
Theres is a tool, made by Steve Tomljenovic, called 915Resolution that will fix this problem. However you will have to run this tool every time you restart or logoff from Ubuntu because these changes are only temporary. To avoid this you need to create a startup script that will run before the X server starts. So I have written a small script that will automate this process for you that I called auto915resolution.

The script will automatically install 915resolution and will create the startup script for you.

Below is a sample run of the script that will serve as a guide on how to use it and will give you an idea of how it works.

  1. Download auto915Resolution
  2. Extract the file to your home folder (i.e. /home/[your user name]/
  3. Run terminal.
  4. Login as root (you must be logged in as root to create the startup script)
  5. Navigate to that folder. In my case my home folder is "rolando", replace it with your folder name.

    # cd /home/rolando/auto915Resolution/
  6. Run the script. (notice the dot before the forward slash)

    # ./auto915resolution.sh
  7. When you get the prompt to install 915resolution fix enter 'Y'. If you have 915resolution already installed you can choose not to install it.
  8. A list of all available resolutions ( Modes ) will be displayed followed by a prompt to enter the "Mode" you want to replace with you desired screen resolution. (You might have to maximize the terminal window to see the entire list)
    At the top of the list you will see your chipset info. In my case I have a 915GM.

    Example:
    Chipset: 915GM
    BIOS: TYPE 1
    Mode Table Offset: $C0000 + $269
    Mode Table Entries: 36

  9. Enter the "Mode" number you want to replace. You should replace your default resolution. In my case my default resolution was 1024x768 in mode 34.

    # 34
  10. A prompt to enter your desired resolution will be displayed. Enter your horizontal resolution followed by a space and then your vertical resolution. For example for a resolution of "1280x800" enter "1280 800".

    # 1280 800

  11. A prompt for your maximum color depth (in bits) will be displayed. Options are 8, 16, 24 and 32. Most monitors should be able to handle 24, so if you're not sure enter:

    # 24

  12. The resolution (Mode) list is refreshed and the Mode you chose should now be replaced with the new resolution and color depth.
    A prompt to create the startup script will be displayed. You should enter 'y' in here if you see that your changes were applied correctly in the list.
  13. If you entered 'y', then you should see this output:

    Creating startup script...
    The startup script has been created! Please restart for changes to take effect.

  14. Restart your computer.

42 comments:

richtaur said...

Thanks for this! You made my night.

Anonymous said...

Thanks, works here on my dell inspiron 1280 800.. I changed the 54.

Rolando said...

Great! I'm glad it worked guys!

2400 said...

after installing this and rebooting, kubuntu now shows me the splash screen but then goes to what looks like a terminal window. How do I uninstall this startup script so that I can get access to the GUI again?

Rolando said...

Tony,

What kind of Intel Chipset do you have? Make sure that you have an chipset between 8x - 945 series.

If you have one of this chipsets I would recommend that you remove the scripts (see below) and then run the tool again but at the end where it asks you to create the startup scripts just enter "no". If you see that your resolution is fixed then re-run it again selecting the same "mod" and this time enter "yes" to create the script.

If you still have the same problem, please post your Chipset info so that I can do some research on it.

How to remove auto915Resolution:

If you need to remove the startup script you need to cd to /etc/rc2.d
(e.g. cd /etc/rc2.d )
Then type dir and confirm that you have a file called "S08startupscript". If that's the case then type: "sudo rm S08startupscript"

Type dir again just to confirm the file is not there.

Then cd to "/etc/init.d"
Again type dir and check for file called "auto915resolutionScript"

If is there type the remove command: "sudo rm auto915resolutionScript"

Restart your computer and everything should be back to normal.

Good Luck!
Roland

2400 said...

Hey Roland,
I have the Intel 915 chipset.
I've followed your instructions and removed the 2 files you indicated (auto915resolutionScript & S08startupscript) but when I reboot, I still get the kUbuntu splash screen followed by going straight to a (DOS remeniscent type) Terminal screen.

Is there any information that I can post to help with the troubleshooting?

Rolando said...

Tony,

I really don't think that 915resolution or auto915resolution are the is the cause of your problem because this is how they work.
915resolution temporarily alter your video Bios, this means that on restart you will lose the changes what auto915... does is to run 915resolution before the X server starts so that you have your resolution fix on every restart. So I really don't think this should be the problem.

However, lets try a few things.

Enter ctrl + alt + F1 to make sure you have a terminal session.

cd into /etc/X11/

Type dir and check if you have any backups of your xorg.conf file something like xorg.conf.xxxx

If you do then replace your current version with the backup file by typing:
(replace the xxxx with whatever your backup file name is.

sudo cp /etc/X11/xorg.conf.xxxx /etc/X11/xorg.conf

Let's remove 915resolution just in case by typing:
sudo apt-get remove --purge 915resolution

Now lets reconfigure xorg by typing: sudo dpkg-reconfigure xserver-xorg
go through the steps. Defaults are usually ok . Select i810 for your video driver. Once you get to your resolution list options you can select/deselect your resolutions by pressing the space bar.

Once you're done try to start your KDE again by typing:
sudo /etc/init.d/kdm restart

(If instead of Kubuntu you had Ubuntu then you would type sudo /etc/init.d/gdm restart)

Hope this helps.

Roland

Unknown said...

Thank you! Worked well on my Acer Aspire 5610 Series, Ubuntu Edgy 6.10.

Initialy, i tried to replace 34 with 1280x800_24 resolution, and X server refused to start! So i ran again auto915resolution and set 1280x800_32, and everything's just perfect.

Anonymous said...

When I run this it gives me an error saying "line 65: cd: /etc/rc2.d: No such file or directory"...Is there any way to fix this? Because when I restart the script doesn't run and I still get my same old resolution:-( Thanks.

Rolando said...

Bobby,

That directory rc2.d is the one that holds the startup scripts for level 2 (multi-user) of Ubuntu. As far as I know this is the default level of Ubuntu so I would assume that you have it.

Can you please let me know what flavor of Ubuntu do you have (Ubuntu, Kubuntu, Xubuntu..) and the version.

Also CD into etc folder by typing "cd /etc" and once in the folder type: "dir -d rc*" that should list all your rc directories, copy the output and dump it in your comment.

This will give me a better idea of what we're working with.

Thanks

Anonymous said...

Right now I'm running backtrack 2, the slax flavor. And when I run dir -d rc in the /etc/ folder I get this error returned:

/bin/ls: rc: No such file or directory

jivan said...

You said
"What kind of Intel Chipset do you have? Make sure that you have an chipset between 8x - 945 series.

If you have one of this chipsets I would recommend that you remove the scripts (see below) and then run the tool again but at the end where it asks you to create the startup scripts just enter "no". If you see that your resolution is fixed then re-run it again selecting the same "mod" and this time enter "yes" to create the script."

How do I know my resolution is fixed or not. Is there a way (simple way) so tht I can turn off the script & on as I please each time I boot up. Also a screen cast of the above would be welcome if somebody can do it. Thnx in advance

bekir said...

thanks man. it works great

Anonymous said...

I have a portable Acer Aspire 5570Z with the Intel Mobile 945GM/GMS/940GML Express Integrated Graphics Controller, and I was so upset and desperate because my new Ubunty 7.04 Feisty just looked so very fat and ugly! I applied the auto915Resolution and everything just worked great and easy. Thanks for this wonderful contribution, specially because I am a new user.

Yo tengo un portatil Acer Aspire 5570Z con un controlador grafico integrado Intel Mobile 945GM/GMS/940GML Express, ya estaba muy molesto y desesperado porque mi nuevo Ubunty 7.04 Feisty se veia ancho y horrible! Aplique el auto915Resolution y todo trabajo maravillosamente. Gracias por esta maravillosa contribucion, especialmente porque soy un usuario novato.

Mexico aurelio@loprod.com

ropester said...

Worked great on my Dell D820 with Ubuntu 7.04!! Thank you!

macdet said...

thx, i will try it!

http://wiki.mobbing-gegner.de/AmiloSi1520/915resolution

Anonymous said...

10 thumbs up. Great work!

Arturo Ruiz said...

Rolando, necesito que me facilites una direccion de correo, donde me pueda poner en contacto contigo. He tratado de seguir paso a paso la guia, pero por alguna razon (probablemente, que soy un n00b...) no logro poner a funcionar ;la resolucion que deseo.

Si puedes, me puedes escribir a aruizb "at" gmail punto com, y te doy un reply con los pormenores.

Anonymous said...

Everything works fine until it goes to generate the startup script for me. I get the following message:


Creating startup script...
cp: cannot create regular file `/etc/init.d/auto915resolutionScript': Permission denied
chmod: cannot access `auto915resolutionScript': No such file or directory
ln: creating symbolic link `S08startupscript' to `/etc/init.d/auto915resolutionScript': Permission denied
The startup script has been created! Please restart for changes to take effect.

I'm using ubuntu 7.04 on a clean install. It's an aspire 2010 with the 855GM chipset.

Rolando said...

If the system fails to create the startup scripts you most likely are Not executing auto915resolution as root. To execute auto915resolution you must run the script as root (as mentioned in the original post). To do this you could either type:
sudo ./auto915resolution.sh
Which then you'll be prompted for your CURRENT USER's password; OR login as root before executing the script at all by changing the user in terminal just entering: su and you'll be prompted for the ROOT password then you execute the script as mentioned in the post.

Noticed that to login as root You MUST create a root password first if you haven't already. This can be done in System>>Administration>>Users and Groups.

Good Luck,
Roland

Anonymous said...

Hello Roland,

I'm trying to set my resolution to the somewhat high 1680x1050 for my Dell monitor. This resolution works at 32-bit for my Windows Dell laptop but I'm having troubles with my Dell workstation. When Ubuntu boots the screen blackens right after grub initiates and then the monitor goes from a green light to an amber light (like it has no connection). Ubuntu 7.04 Feisty Fawn.

Any ideas?


$ sudo vi S08startupscript
Password:
srwilde@srwilde1:/etc/rc2.d$ sudo 915resolution -l
Intel 800/900 Series VBIOS Hack : version 0.5.2

Chipset: 845G
BIOS: TYPE 2
Mode Table Offset: $C0000 + $38a
Mode Table Entries: 18

Mode 30 : 1680x1050, 8 bits/pixel
Mode 32 : 800x600, 8 bits/pixel
Mode 34 : 1024x768, 8 bits/pixel
Mode 38 : 1280x1024, 8 bits/pixel
Mode 3a : 1600x1200, 8 bits/pixel
Mode 3c : 1920x1440, 8 bits/pixel
Mode 41 : 1680x1050, 16 bits/pixel
Mode 43 : 800x600, 16 bits/pixel
Mode 45 : 1024x768, 16 bits/pixel
Mode 49 : 1280x1024, 16 bits/pixel
Mode 4b : 1600x1200, 16 bits/pixel
Mode 4d : 1920x1440, 16 bits/pixel
Mode 50 : 1680x1050, 32 bits/pixel
Mode 52 : 800x600, 32 bits/pixel
Mode 54 : 1024x768, 32 bits/pixel
Mode 58 : 1280x1024, 32 bits/pixel
Mode 5a : 1600x1200, 32 bits/pixel
Mode 5c : 1920x1440, 32 bits/pixel

-Steve

Rolando said...

Steve,

Is your workstation monitor a Widescreen monitor?

http://en.wikipedia.org/wiki/List_of_common_resolutions

If you're monitor is a standard monitor this won't work. Your monitor needs to support the resolution. I would recommend to look for your monitor model and find what's the maximum resolution supported.

Also make sure you try all the possible color depth settings. You can modify your S08script file to try the different color depth settings.

senthil said...

i have got a toshiba u200-161
my is intet945GM
i did follow all no errors
by still didn't work

iam still stuck on 1024x768


thanks

Francois said...

I found a driver installation instruction here
http://ubuntulinux.or.id/blog/2006/12/19/ubuntu-edgy-on-intel-945gm-graphics-wide-screen-lcd-notebooks/

It works just as well and no scripts

Francois said...
This comment has been removed by the author.
Anonymous said...

Hi Roland,

I have a Dell Widescreen 20 inc E207WEF Monitor with supporting resolution of 1680x1050.

Link to Monitor spec:
http://accessories.us.dell.com/sna/productdetail.aspx?c=us&l=en&s=bsd&cs=04&sku=320-5123

and I have a Dell E520 system with Intel G965 chipset.

I followed your instructions and change mode 8b from 1600x1200 16 =to=> 1680x1050 24 and saved. Then rebooted the system and x sever failed to start.
I had to re-run auto915 script to set it back to 1600x1200 16 to make it work again.
Can you suggest what I am doing wrong?. I have not issues with Win XP

Thanks
Joe

Anonymous said...

In my previous post I forgot to mention what problem I am trying to solve. Here is the problem description,

I installed Ubuntu 7.04 on my Dell E520 ( 20 inc E207WFP monitor). The default screen resolution it came up with is 1280x1000 But I dont have an option to go to 1680x1050 and WinXP supports this on the same PC

Anonymous said...

Any idea why when I follow the instructions on the 915 exactly or run your script, I get no change at all? I have an Inspiron 640m/9400 with a 945GM wireless card. Please help..nothing changes, not even an error screen.

Anonymous said...

THANKS SO MUCH!!!

I just got Feisty Fawn installed, coming back from spending some time working with Windows.

This has proved to me again the support you can get from the open source community!

martin a. said...

I tried all but the system is messing with me: When I have the logon screen it is in native 1200x720 (checked with OSD) format but it defaults after login to 1024x768. If I change the auto915resolution file to have all 1024x768 replaced by 1280x720 the Xserver won't start. If I try to change the screen resolution using the Ubunto menus, I get options 1280x1280 1280x1024, 1280x800, 1280x768, 1024x768 and 800x600...but no 1280x720.
I have an XCcube with 855GME chipset and a 15.4" 1280x720 monitor of unknown brand but with model nr M15WJC.

There's one other point puzzling me: how can I see the current mode that's used and how can I force on of the modes te be used?

Please help, I am getting crazy.

martin a. said...

Tried Windows, but had to reinstalled Intel graphics after switching from 'monitor' to 'laptop'...nice joke that you can switch between monitor and laptop... in an XCcube there is no 'laptop' only 'monitor'. So I ended up with a black screen....no decent view when using windows.
Back to Ubuntu.
Reinstalled Ubuntu (to get grub back).
Didn't switch to intel driver but kept i810.
Got rid of all modes in xorg.conf except 16bit color (32 not supported by 885GM, 24 buggy on screen...at least that's what I read) with resolution 1280x720 and as backup 1024x768.
Installed 915resolution: sudo apt-get install 915resolution
Ran auto915resolution.sh with mode 49 1280 720 16. Mode 49 was originally 1280x1024.
Now it works. One-pixel vertical lines are perfect, but one-pixel horizontal lines have a moire with 11 screen-pixels base. So it seems it's not native 1280x720. More like 1280x800...but if I try to use that resolution (bot in 915resolution and xorg.conf) I get a virtual screen of 1280x800, but the screen resolutions stays 1280x720.
The monitor is officially a Promedion M15W...it is reported as a 1280x720 (ref. http://meridiannl.com/m15wspec.htm)
...seems like I have to look for a different screen, as this one is optically unsuitable for Windows which I intended to use through VMWARE.

Kind Regard
De Groenten
Martin

Anonymous said...

Rolando,

Estoy con el interés de usar el modo 1280x800, 16bit para la consola linux. No sé si esto se puede activar mediante la opción del kernel vga=nnn .El punto es que No encuentro ninguna referencia al modo de vídeo que debo usar para la resolución de consola en este caso. Esto sería para una Laptop Dell Latitude que usa chipset i945. Para el modo de vídeo de X utilizo la aplicación 915resolution y funciona bien, pero para vgafb no encuentro información.

¿Se podrá hacer esto? ¿Existirá algún camino alternativo?

Anonymous said...

Thank you for writing the script for a non-programmer like me. Now I finally can utilize my entire desktop space!

Cheers!

kayrules said...

Wow.. It Works...!!

Thanks to you for the article and thanks also to the script author... :D

Anonymous said...

Outstanding work, sir! Many thanks!

Anonymous said...

Excellent website. Good work. Very useful. I will bookmark!

Anonymous said...

Roland this is a god send!
Just one small problem the link is dead for your file...is there an alternative or does anyone have a copy handy???

Anonymous said...

Hello! Interesting article, thanks to author!

Manav Kataria said...

Ronald,

I am using a LCD Monitor that can support 1280x1024 @ 60 Hz.

When I use 915resolution to change the default mode (54) to 1280x1024, the monitor goes blank/black. Is it possible that the default refresh rate is more than 60Hz?

How do I set a refresh rate on xorg.conf?

What is the relation between hsync and (vertical?) refresh rate?

Thanks for writing and supporting the article till today!

Regards,
MK

Unknown said...

Thnx a lot, I have a Dell 640M and your solution worked :)

h2oz7v said...

Thanks alot for this script.

Thankfully in Gutsy, 915resolution has been made obsolete by the new xorg - which makes it alot easier for everyone.

If your upgrading from feisty, there are a few extra steps involved, as explained here:

h2oz7v.shockv2.com

Unknown said...

Thank you! Acer 3680 running Debian 4.03 now at 1280x800@60 and 32bpp. I changed mode 34 to fix. Was originally stuck on 1024x768@60 and ??bpp.