How to set Display Resolution while having to use "NOMODESET" on boot

I have a Samsung laptop with a Radeon graphics chip.

Live-Images and graphical installation have always worked on this laptop with the proper resolution of 1366×768. However, after Ubuntu had been installed, I ran into the black screen problem which so far, I solved by setting nomodeset temporarily during the first boot which gave me a resolution of 1024×768. Having booted like that, I would then install the fglrx driver, reboot and enjoy my Ubuntu with the proper resolution.

Since I can’t use the fglrx driver in Ubuntu 16.04 I am stuck with either a black screen (without using nomodeset) or a distorted display due to the wrong resolution of 1024×768. I tried setting the resolution manually with xrandr but I think since I have to use nomodeset there’s no way that I can do that.

Is there any way to fix this?
I know that I could stick with Ubuntu 15.10 but I would really prefer an LTS version.

Here is Solutions:

We have many solutions to this problem, But we recommend you to use the first solution because it is tested & true solution that will 100% work for you.

Solution 1

I have 4 laptops upgraded with 16.04, and they all behave a little different with what GRUB accepts. The preferred way should be to set in /etc/default/grub


with the part after the equal sign the allowed resolutions for your device. Use either c at the GRUB prompt and enter vbeinfo, or run sudo hwinfo --framebuffer from the console in linux to get a list of accepted modes.

Sometimes, even if the screen is a 16:10 1920×1200 or similar, only a resolution of 1600×1200 is accepted, so watch out for this. This is the setting for GRUB. To have it carry over to the booting system, use a line


after that.

For some devices, this (preferred) option has no effect. But for my two problem children, commenting out the GRUB_GFXMODE line, keeping the GRUB_GFXPAYLOAD_LINUX line and using the deprecated option vga= with nomodeset was sufficient:

GRUB_CMDLINE_LINUX_DEFAULT="nomodeset vga=0x35a quiet splash"

sets the tty to 1600×1200 with 24 bit. Use the hex value sudo hwinfo --framebuffer gives you.

Solution 2

I had the same problem and was finding nomodeset annoying not just because of the screen resolution, but because it really made compiz suck cpu. So I went back to not using nomodeset because I’d found that if I waited 5 minutes after booting, the screen would come on.

Anyway, just now when I booted, it went black after the grub screen as usual, but the screen turned on just before the login screen appeared. I remembered I took an update this morning that included Ubuntu base, so I’m speculating that the problem was addressed. It isn’t fully fixed, but is 95% better, so give it a go if you haven’t taken this update yet.

Solution 3

I’ve had the exact same problem. Blank screen on boot-time, that I’ve partially solved withe nomodeset. But after that, I could not use my external HDMI monitor.

So I’ve finally solved it by leaving GRUB_CMDLINE_LINUX_DEFAULT="" like that. It seems to me (I’m guessing) that removing the splash option does not force to load any video requirements, and hence once the boot is completed, and because I’m not using nomodeset, external monitor can be detected. But again, just a guess…

I’m using ubuntu 20.04.

OS: Ubuntu 20.04 LTS x86_64 
Host: 20N3S01B00 ThinkPad T490 
Kernel: 5.4.0-29-generic 
Uptime: 7 mins 
Packages: 1735 (dpkg), 6 (snap) 
Shell: bash 5.0.16 
Resolution: 1366x768, 1440x900 
WM: Mutter 
WM Theme: Adwaita 
Theme: Yaru [GTK2/3] 
Icons: Yaru [GTK2/3] 
Terminal: gnome-terminal 
CPU: Intel i7-8565U (8) @ 4.600GHz 
GPU: Intel UHD Graphics 620 
Memory: 2461MiB / 7617MiB 

Solution 4

There is one more method which is very simple you can try to change screen resolution, or can change font size, icon size in desktop

  • First, download gnome tweaks from ubuntu software, this will allow you to do some changes regarding font size, font family, icon resolution, screen resolution and many more
  • Open Gnome tweaks
  • Go to Fonts
  • In the end there is option Scaling Factor you can decrease it as it will increase your resolution (I decreased it upto 0.80 for better result).

For icon size in desktop

  • you can go to Extensions
  • and there click in setting icon on Desktop icons option
  • these you will see an option for size for desktop icon you can change it to small if it is standard or large

If the icon in desktop is still looking large then run command in terminal

  • sudo gedit /usr/share/gnome-shell/extensions/[email protected]/prefs.js

  • Enter password to open file

  • In file search area containing lines as follows

    const ICON_SIZE = { ‘small’: 40, ‘standard’: 64, ‘large’: 96 };
    const ICON_WIDTH = { ‘small’: 90, ‘standard’: 116, ‘large’: 116 };
    const ICON_HEIGHT = { ‘small’: 80, ‘standard’: 102, ‘large’: 134 };

You can reduce their value by keeping in mind that:

  • ICON_SIZE : changes the icon image size
  • ICON_WIDTH : changes whole width including the padding given around it
  • ICON_HEIGHT : changes whole height including the padding given around it

Note: Use and implement solution 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from or, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply