7670m and ATI drivers causes screen corruption

Hello all, here’s my problem:

  • Installed OpenSUSE 13.1 (IceWM > Cinnamon + GDM), and installed every update and dup with zypper

  • Upgraded to 3.13 Kernel. I don’t remember the exact version, but the latest from the stable repo

  • Installed ATI Propietary Drivers (latest beta 14.3 V1.0) from the rpm

  • After the first reboot, the screen got corrupted, even the Terminal screen (Ctrl+Alt+F1)

After that:

  • Uninstalled Installed ATI Propietary Drivers with /usr/share/ati/fglrx-uninstall.sh (screen go back to normality)

  • Downgraded to Kernel 3.11

  • Installed ATI Propietary Drivers (latest beta 14.3 V1.0)

  • After the first reboot, the screen got corrupted, even the Terminal screen (Ctrl+Alt+F1)

And, for the last time:

  • Uninstalled Installed ATI Propietary Drivers with /usr/share/ati/fglrx-uninstall.sh (screen go back to normality)

  • Installed ATI Propietary Drivers with 1 Click Install

  • After the first reboot, the screen got corrupted, even the Terminal screen (Ctrl+Alt+F1)

Screenshots:

http://i1203.photobucket.com/albums/bb400/SnakeHaveYou/20140322_010242_Night.jpg](http://s1203.photobucket.com/user/SnakeHaveYou/media/20140322_010242_Night.jpg.html)

http://i1203.photobucket.com/albums/bb400/SnakeHaveYou/th_20140322_010401_Night.jpg](http://s1203.photobucket.com/user/SnakeHaveYou/media/20140322_010401_Night.jpg.html)

This is my laptop:

  • Toshiba Satellite L845-SP4105LA

  • CPU: Core i7 i7-3632QM

  • AMD Radeon HD7670M 1GB

  • Chipset Mobile Intel HM76 Express

  • 14" 1366 x 768

  • Dual boot, EFI mode. Windows 8.1 x64

  • 1TB Disk, ALL FORMATED, no recovery nor OEM partitions…

Any ideas?
Tell me if i need to provide more info :slight_smile:

Thanks!

Hello!

I have not the same, but a similar problem with my Lenovo IdeaPad G500A (Intel Core i5-3230M, Intel HD Graphics 4000, AMD Radeon HD 8750M) at OpenSUSE 12.3.

In my case, formally, the fglrx driver can be installed, but it is not configured properly to cooperate with integrated Intel HD card. Before installing fglrx driver all works well. Once I install the proprietary driver of any version and reboot, X doesn’t start, but Terminal screens are working. The reason is that only the fglrx driver is started, and the intel driver isn’t. But AMD card can reach display only via Intel one, which only one is physically connected to monitor. That’s why X doesn’t start.

If the /etc/X11/xorg.conf is killed, X starts on the intel driver, but glxinfo gives error. If fglrx driver is uninstalled, all works properly.

I read different articles in forums, tried to install driver on different OSs (OpenSUSE 11.4, 12.2, 12.3, 13.1, Ubuntu 12.04 LTS), but without any success. I wrote to the AMD and OpenSUSE forums, but there are no answers.

Have you had success with other versions of driver or OpenSUSE?

Could you show the /var/log/Xorg.0.log file for unsuccessfull start?

Does the killing of the xorg.conf file start X?

Yes. The xorg.conf file is no longer used. Ever since HAL has been deprecated. The udev and udev rules enable device detection in X.
You can add specific entries in /etc/X11/xorg.conf.d/ .conf files.

See https://forums.opensuse.org/showthread.php/438705-opensuse-graphic-card-practical-theory-guide-users

Recommended reading for ATI cards

http://en.opensuse.org/HCL:ATI_video_cards
http://wiki.cchtml.com/index.php/Main_Page

Installation Help from AMD for openSUSE
http://wiki.cchtml.com/index.php/SUSE/openSUSE

If, after having installed FGLRX, you find that X is unable to start. This procedure describes the process of re-enabling the open source radeon driver. **

Blacklist**

One of the first things fglrx does to ensure that radeon doesn’t interfere with it is it blacklists the radeon module so that the kernel doesn’t load it while booting.

rm /etc/modprobe.d/fglrx.conf

or

rm /etc/modprobe.d/50-fglrx.conf

X11 Configuration

When fglrx is installed, aticonfig creates xorg.conf containing configuration details for running fglrx. The default configuration files are in /etc/X11/xorg.conf.d/, so it’s ok, in this case, to completely remove xorg.conf.

rm /etc/X11/xorg.conf

Load radeon

The next thing you’ll want to do is to load the radeon module. Modprobe makes this easy:

modprobe radeon

Restart X

Restarting X is relatively simple: [Ctrl]-[Alt]-[Backspace]+[Backspace]

](http://wiki.cchtml.com/index.php/SUSE/openSUSE)

Important Note

Before trying to install the fglrx rpm package it’s recommended to disable the open-source radeon driver.

  1. Start your computer

  2. At the Grub2 boot menu select Advanced -->Recovery Mode

  3. Press “e” (for edit)

  4. With the arrow key navigate to the line beginning with linux

  5. After the last word “xfailsafe” add " radeon.modeset=0 blacklist=radeon 3" (without the quotes)

  6. Press enter F10

  7. It will boot your system in console mode, once you see a prompt login, use the root account

    **
    Recreate the initrd **without the open-source radeon driver loaded. Type:

# mkinitrd

Type:

shutdown -r now

Add these two repositories to Yast:

Xorg - Update the Mesa rpms
http://download.opensuse.org/repositories/X11:/XOrg/openSUSE_13.1/
**
Install the fglrx openSUSE 13.1 ATI driver**
http://geeko.ioda.net/mirror/amd-fglrx/openSUSE_13.1/

I was on Fedora 20, but it’s the same problem… I’ll return to OpenSUSE right now, and will try that configuration!

Just remember to start with the instructions from comment #5 first.
Before installing the rpm, you must install the kernel sources and development files. This will allow you to compile the radeon driver(s) into the kernel.

kernel-source kernel-devel kernel-desktop-devel gcc gcc-c++ make

Next install the fglrx rpm. After fglrx rpm installation has finished:

  • Generate Config file via console
sudo aticonfig --initial -f
  • Reboot
shutdown -r now

Thank you Romanator, but that didn’t work with an EFI installation.With a Legacy (Non-EFI) installation, and the propietary ATI drivers works like a charm… But i wanted a GPT/EFI system…

There are two non-wanted workarounds:

1- Suspend and wake up the laptop (but rebooting/power off the laptop will broke the screen again)
or
2- Install OpenSUSE in Legacy (Non-EFI) mode… And forget about Windows 8…

So…

After hours of testing, messing and testing with the bootloaders, ELILO, Grub2-EFI… I managed to fix it:

The idea went into my mind when, after modifying the grub.conf resolutions and modes, the corrupted part of the screen showed in only a quarter of the screen… I mean, changing the grub.conf resolutions, changed the corrupted areas/zones…

As my last option, installed rEFInd in a flashdrive (the img version, with a dd command)… And was the same thing… Corrupted/shifted screen… Just like Grub2-EFI…
After a close look at the refind.conf file, i saw that there was a “new tipe of resolution” named GOP… Uncommented that line, rebooted and booted again with rEFInd into OpenSUSE and the corruption/shifted screen was fixed!!!

The problem seems to be that Grub2-EFI and ELILO doesn’t use/support GOP (Graphics Output Protocol). Or maybe i don’t know how to change to that mode…

Step by Step

1- Download rEFInd rpm: http://sourceforge.net/projects/refind/files/0.7.8/refind-0.7.8-1.x86_64.rpm/download and install it
2- Reboot and boot with rEFInd (Booting with rEFInd, instead of Grub2-EFI, should be automatic).

You’ll see at least two OpenSUSE entries… Chose the one that says something like Boot from kernel 3.xx.xx on EXT4

3- Your screen will be corrupted in OpenSUSE, so you’ll need to use the 1st workaround
4- In a Terminal:

If you’re using Gnome

gnomesu gedit /boot/efi/EFI/refind/refind.conf

If using KDE

kdesu kate /boot/efi/EFI/refind/refind.conf

5- Look for the line

#resolution 3

and uncomment it.

6- save, reboot and boot with rEFInd

The only thing i don’t know is what is that parameter “3”, the rEFInd resolution is very low with it, but it just works!

Hmm. Very different but effective. It’s great to hear that you were able to resolve the problem.
When you boot to the UEFI interface can you disable the Secure Boot only to resolve the problem.

Are you able to access it?

I have Secure Boot disabled since i bought this laptop. I always installed OpenSUSE/Fedora with Secure Boot disabled. So that’s not an/the issue :slight_smile:
The issue is clearly that GOP isn’t supported by Grub2 or ELILO. And seems that my laptop/GPU needs a GOP compatible bootloader.

I found some info regarding GOP:

Here talks about the GOP resolution modes
http://en.helpdoc-online.com/virtualbox_4.1.2/source/ch03s12.html

The most important thing is that, in rEFInd, you can set:

resolution X

Where X can be 0, 1, 2, 3, or 4 referring to the 640x480, 800x600, 1024x768, 1280x1024, or 1440x900 screen resolution respectively.

In my laptop, the native screen resolution is 1366x768, so i need to use **resolution 2

**Of course, if i comment that line, rEFInd boots with UGA, leading to the shifted/corrupted screen. No matters how i install the ATI Propietary driver, using the latest beta, different Kernels (3.11, 3.13), different X11, mesa versions, that will lead to a shifted/corrupted screen.

Uncommenting that line, forces rEFInd to boot with GOP video mode, and OpenSUSE boots normaly

(BTW, sorry about my english hehe)

I have exactly the same issue, I solved it by switching form uefi to CSM boot mode. FGLRX does not work with UEFI, this is a bug AMD knows about. Either convert your opensuse installation to CSM/Bios Mode or wait for the update that fixes this bug.

Thats not necesary… Read my posts with the fix and you can keep the UEFI/GPT scheme.

I’m using OpenSUSE 13.1, UEFI/GPT scheme, latest ATI proprietary beta drivers and Kernel 3.13 without problems… No screen corruption, no artifacts and no shifted screen… Of course, using rEFInd with GOP video mode…

We have almost the same laptop

I would also recommend installing experimenting with the efibootmgr. Grub2-EFI does support GOP.
However, you must manually insert the following to grub.cfg to enable GRUB to pass the video mode correctly to the kernel.


insmod efi_gop
insmod efi_uga
insmod font

if loadfont ${prefix}/unicode.pf2
then
    insmod gfxterm
    set gfxmode=auto
    set gfxpayload=keep
    terminal_output gfxterm
fi

Follow Up

We have thousands of users working with openSUSE 13.1 on laptops from Toshiba, HP, Acer, Lenovo and the list goes on.
They have UEFI firmware and Radeon cards and Grub2-EFI has accommodated them very well. There is no need for rEFInd.

Just make sure that you’ve also installed the efibootmgr.

efibootmgr - EFI Boot Manager

The EFI Boot Manager allows the user to edit the Intel Extensible Firmware Interface (EFI) Boot Manager variables.
Additional information about the EFI can be found at http://developer.intel.com/technology/efi/efi.htm

Grub2-EFI supports GOP. You can see the entries in your Grub.cfg file. Can you please post your /boot/grub2/grub.cfg file on paste.opensuse.org?
As a test start Yast -->System -->Boot loader -->Grub2-EFI ->BootLoader Options button → Vga Mode. From the drop down menu choose 1024x768, 16 bits (mode 0x317)
Click on the OK buttons to complete and restart.

Yes, i know. Even my:

Gigabyte G1.Assassin 2
Intel i7 3820 (Socket 2011)
ATI 7970 3GB (Gigabyte Windforce)

WIth an Windows 7 x64 Pro + Fedora 20 (or OpenSUSE 13.1), installed in a GPT disk in UEFI mode, works out of the box with the ATI Proprietary drivers. And there’s no need to install rEFInd…

But, there are some users, that have an ATI 7670m, and they have the same issue with an EFI installation.
One of them is AndrewAmmerlaan (exactly the same issue).
There are others like:

https://forums.opensuse.org/showthread.php/489376-ragged-shifted-screen-on-HD7670M-w-radeon-fglrx

And two more i think…

Maybe the issue is 7670m related, Toshiba BIOS related, Grub-EFI related… I don’t know hehe…

If it’s Toshiba related… Well… I prefer to use rEFInd with GOP mode, instead of wait that Toshiba fix the issue…

Maybe it’s not an issue… Just a compatibility thing…

But don’t worry Romanator! I really like rEFInd! I like it more than Grub2 (yesterday, i installed it in my desktop also)
Right now, i’ve deleted Grub2-EFI folders in /boot/efi/EFI/

So, here is a recapitulation, plus a new bug!
Seems that 3.14 Kernel doesn’t like my laptop too, hehe…

Config 1:

Kernel= 3.14.0-2.gfa168d7-desktop
Video= Open Source Radeon driver. Latest version using the Repo you gave me.
Bootloader= Grub2-EFI, untouched config
Bug= Flashing screen, flashing terminal (Ctrl+F1-6)

Config 2:

Kernel= 3.14.0-2.gfa168d7-desktop
Video= Open Source Radeon driver. Latest version using the Repo you gave me.
Bootloader= rEFInd, untouched config
Bug= Flashing screen, flashing terminal (Ctrl+F1-6)

Config 3:

Kernel= 3.14.0-2.gfa168d7-desktop
Video= Open Source Radeon driver. Latest version using the Repo you gave me.
Bootloader= rEFInd, GOP video mode enabled using resolution 2
Bug= None. System boots normaly

About grub.cfg… Here is the grub.cfg: http://paste.opensuse.org/78568731

I don’t know where to put those lines… In the cfg, there is a script that does something with the video modes, but i don’t know if thats related

And here’s a video:

//youtu.be/ogcsVK-6q6c

1st boot it’s using the Config 1 (Grub2-EFI, untouched grub.cfg). 2nd Boot is using Config 3 (rEFInd and GOP enabled)

Interesting. If you look at your grub.cfg from lines 44 to 56 down you will see the entry below:


function load_video {
 if  x$feature_all_video_module = xy ]; then
 insmod all_video
 else
 insmod efi_gop
 insmod efi_uga
 insmod ieee1275_fb
 insmod vbe
 insmod vga
 insmod video_bochs
 insmod video_cirrus
 fi
}

You can see that GOP is supported. However, I cannot see an entry for changing the resolution. I would submit a bug report with Bugzilla (submit it under Yast Boot Loader/Grub2)
so that they add a drop-down menu for GOP resolution. Similar to Vga mode in the Yast Boot Loader. Did you get a chance to adjust it or is it set to “Unspecified”?
I would try it out to see if there are any changes.

As far as the code insert add it just above line 102. Make sure you add a space after the curly brackets.

### END /etc/grub.d/00_header ###

Resave the grub.cfg file changes and restart your laptop. However, if you are happy with REFind then stick with it.

Perhaps the Bugzilla people might have some ideas.