Topic Title: Intel HD 4000 + AMD Radeon HD 8750M + Linux
Topic Summary:
Created On: 08/02/2014 06:31 AM
Status: Post and Reply
Linear : Threading : Single : Branch
Search Topic Search Topic
Topic Tools Topic Tools
View similar topics View similar topics
View topic in raw text format. Print this topic.
 08/02/2014 06:31 AM
User is offline View Users Profile Print this message

Author Icon
natasha
Peon

Posts: 23
Joined: 04/25/2014

Good afternoon.

For several months I try to run graphics on discrete AMD GPU with proprietary driver under openSUSE 13.1 on my Lenovo IdeaPad G500A (see hardware information below) without any success.

Before installation of AMD driver all works well: glxinfo, glxgears give the proper results. But after installation of the proprietary driver the black screen is obtained. The Xorg.0.log is here.

After deleting xorg.conf file, X starts on Intel GPU without OpenGL effects.

If the "minimal" xorg.conf,

Section "ServerLayout"
             Identifier     "Lout"
EndSection

is created, it is possible to swith to the Intel card properly:

# --aticonfig --px-igpu

After restart X graphics runs properly on the Intel card; glxinfo, glxgears, fglrxinfo give meaningfull results, but after switching to AMD GPU X doesn't really start on it; three abovementioned commands return the same error:

name of display: :0
X Error of failed request: BadRequest (invalid request code or no such operation)
Major opcode of failed request: 153 (GLX)
Minor opcode of failed request: 19 (X_GLXQueryServerString)
Serial number of failed request: 12
Current serial number in output stream: 12

Corresponding Xorg.0.log is here.

Could anybody help me to run X on AMD discrete GPU with proprietary driver? What is wrong in my actions?

Thank you in advance.

Regards,
Natalia

-------------------------------------------

The installation is performed through following steps.

    Install all system updates.
    Install all components listed in Latest Beta Release Notes on the page with the driver.
     # ./amd-driver-installer-14.20-x86.x86 64.run
     # aticonfig --initial -f
     # reboot



-------------------------

Lenovo IdeaPad G500A (59-381065): Intel Core i5-3230M, Intel HD Graphics 4000, AMD Radeon HD 8750M; openSUSE 13.1 (x86_64), Windows 7 Ultimate (64 bit)



Edited: 12/06/2014 at 04:54 AM by natasha
 08/03/2014 07:07 PM
User is offline View Users Profile Print this message

Author Icon
Eydee
Ninja Zombie Killer

Posts: 4905
Joined: 12/27/2008

Turn off the Intel GPU in the BIOS if it's possible. Switchable graphics is a headache under linux, both for AMD and nvidia.



-------------------------

CPU: AMD Phenom II X4 810 @ 3120MHz | RAM: Kingmax 2x2GB DDR2 800 @ 833MHz| MoBo: MSI K9A2 CF v1.0 (BIOS: 1.D)| GPU: Asus HD 6850 1024MB (DirectCu) @ 835/1135MHz | Display: L24FHD | PSU: PC Power & Cooling Silencer 750 Quad | OS: MS Windows 3.11 Pro x64

 08/04/2014 04:31 AM
User is offline View Users Profile Print this message

Author Icon
natasha
Peon

Posts: 23
Joined: 04/25/2014

Thank you for reply.

The Intel card cannot be turned off in my laptop. This is the main complexity of such (muxless) systems... The ATI card hasn't physical connection to the screen. All have to be organized through the software...

But how?..



-------------------------

Lenovo IdeaPad G500A (59-381065): Intel Core i5-3230M, Intel HD Graphics 4000, AMD Radeon HD 8750M; openSUSE 13.1 (x86_64), Windows 7 Ultimate (64 bit)



Edited: 08/15/2014 at 11:38 AM by natasha
 12/02/2014 09:13 PM
User is offline View Users Profile Print this message

Author Icon
FRo_OG
Peon

Posts: 7
Joined: 12/02/2014

???????? ?????? ?? ??????????? 
What results do you have ? 

 12/04/2014 06:19 AM
User is offline View Users Profile Print this message

Author Icon
natasha
Peon

Posts: 23
Joined: 04/25/2014

Nothing good.


Thanks to my friend it became possible to start both intel and fglrx drivers, but all the same X don't start.

The corresponding xorg.conf:

Section "ServerLayout"
    Identifier    "Lout"
    Screen 0 "Screen0" 0 0
    Screen 1 "Screen1" RightOf "Screen0"
EndSection

Section "Device"
    Identifier "IntelGPU"
    BusID      "PCI:00:02:0"
    Driver     "intel"
EndSection

Section "Device"
    Identifier "Oland"
    BusID      "PCI:01:00:0"
    Driver     "fglrx"
EndSection

Section "Monitor"
    Identifier "MonitorI"
EndSection

Section "Monitor"
    Identifier "MonitorAMD"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device     "IntelGPU"
    Monitor    "MonitorI"
EndSection

Section "Screen"
    Identifier "Screen1"
    Device     "Oland"
    Monitor    "MonitorAMD"
EndSection

The corresponding logs: aticonfig --px-dgpu, aticonfig --px-igpu.

May be, somebody can give some advice about this...



-------------------------

Lenovo IdeaPad G500A (59-381065): Intel Core i5-3230M, Intel HD Graphics 4000, AMD Radeon HD 8750M; openSUSE 13.1 (x86_64), Windows 7 Ultimate (64 bit)

 12/04/2014 09:41 AM
User is offline View Users Profile Print this message

Author Icon
dormon
Peon

Posts: 5
Joined: 12/02/2014

Were you able to start xserver manually?

boot with boot parameters: "text" and maybe "nomodeset"

log in

su xinit -- :7 vt -config <xorg.cong for discrete gpu>

switch to tty7

glxgears

 12/04/2014 04:33 PM
User is offline View Users Profile Print this message

Author Icon
FRo_OG
Peon

Posts: 7
Joined: 12/02/2014

badly  
 I do not want more windows

 12/05/2014 07:07 AM
User is offline View Users Profile Print this message

Author Icon
FRo_OG
Peon

Posts: 7
Joined: 12/02/2014

 try to get Bumblebee working

 12/06/2014 05:29 AM
User is offline View Users Profile Print this message

Author Icon
natasha
Peon

Posts: 23
Joined: 04/25/2014

Thank you for answers. Sorry for delay in responding.

@dormon

I have done the following:

boot into multiuser level (tried both with "nomodeset" and without it)
> su
# rm /etc/X11/xorg.conf
# aticonfig --initial #or creating the xorg.conf like in the post from 12/04/2014 02:19 PM
# aticonfig --px-dgpu
# xinit -- :7 vt -config /etc/X11/xorg.conf

The black screen is obtained in all these cases. About logs:

  • without "nomodeset", aticonfig --initial: the logs are the same as in the first my post (first link), apart from numbers of lines, etc, of course.
  • without "nomodeset", doublescreen xorg.conf: I have found differences only in the backtrace and in the adress of SegFault. For this case they are the following:
    [    55.929] (EE) Backtrace:
    [    55.965] (EE) 0: X (xorg_backtrace+0x3d) [0x585abd]
    [    55.965] (EE) 1: X (0x400000+0x189829) [0x589829]
    [    55.965] (EE) 2: /lib64/libpthread.so.0 (0x7f6594428000+0xf9f0) [0x7f65944379f0]
    [    55.965] (EE) 3: X (xf86GetEntityPrivate+0x1d) [0x4702ad]
    [    55.965] (EE) 4: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (xdl_xs114_atiddxPxPreInit+0xf4) [0x7f65901163b4]
    [    55.965] (EE) 5: /usr/lib64/xorg/modules/drivers/fglrx_drv.so (xdl_xs114_atiddxPreInit+0x227b) [0x7f65900f169b]
    [    55.965] (EE) 6: X (InitOutput+0x9cf) [0x47db6f]
    [    55.965] (EE) 7: X (0x400000+0x2bfcb) [0x42bfcb]
    [    55.965] (EE) 8: /lib64/libc.so.6 (__libc_start_main+0xf5) [0x7f659329cbe5]
    [    55.965] (EE) 9: X (0x400000+0x2c501) [0x42c501]
    [    55.965] (EE)
    [    55.965] (EE) Segmentation fault at address 0xfffffffc9c0b7b50
    [    55.965] (EE)
    Fatal server error:
    [    55.965] (EE) Caught signal 11 (Segmentation fault). Server aborting
    [    55.965] (EE)
  • nomodeset, aticonfig --initial: Xorg.7.log
  • nomodeset, doublescreen xorg.conf: Xorg.7.log.

@FRo_OG

As I know, Bumblebee works with Intel / nVidia systems.

P.S.
The second link in the first post is fixed.



-------------------------

Lenovo IdeaPad G500A (59-381065): Intel Core i5-3230M, Intel HD Graphics 4000, AMD Radeon HD 8750M; openSUSE 13.1 (x86_64), Windows 7 Ultimate (64 bit)

 12/06/2014 06:30 AM
User is offline View Users Profile Print this message

Author Icon
FRo_OG
Peon

Posts: 7
Joined: 12/02/2014

see link 

 12/07/2014 09:26 AM
User is offline View Users Profile Print this message

Author Icon
natasha
Peon

Posts: 23
Joined: 04/25/2014

Have you tried this?



-------------------------

Lenovo IdeaPad G500A (59-381065): Intel Core i5-3230M, Intel HD Graphics 4000, AMD Radeon HD 8750M; openSUSE 13.1 (x86_64), Windows 7 Ultimate (64 bit)

 12/07/2014 11:12 AM
User is offline View Users Profile Print this message

Author Icon
FRo_OG
Peon

Posts: 7
Joined: 12/02/2014

have not had time. I think you? experience will be more than me

 12/08/2014 09:41 AM
User is offline View Users Profile Print this message

Author Icon
natasha
Peon

Posts: 23
Joined: 04/25/2014

Ok. Actually, my experience starts from getting this laptop...

I am trying to run Bumblebee now. It seems, part of the files with code should be corrected in order to support our hardware.

Now I am in the following stage. I have downloaded common-amd branch of the project from GitHub.

My

# lspci | grep 'VGA\|ATI'
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
01:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Mars [Radeon HD 8670A/8670M/8750M]

So, it is called "Display controller", not "VGA compatible controller", as elder cards. Because of this I have added the line

#define PCI_CLASS_DISPLAY_VGA 0x0300
#define PCI_CLASS_DISPLAY_3D  0x0302
#define PCI_CLASS_DISPLAY_OTHER  0x0380

to the Bumblebee-common-amd/src/pci.h file. Definition of this parameter I have taken in /usr/src/linux-3.11.10-21/include/linux/pci_ids.h file.

Further, I have done

# cd ~/Directory with Bumblebee sources/
# ./configure --sysconfdir /etc CONF_DRIVER=fglrx
# make
# make install
# reboot #I usually do this, just in case

I have created the Bumblebee group and added myself there:

# groupadd bumblebee
# usermod -a -G bumblebee natasha

# export PATH=/usr/local/sbin:$PATH
friend:/home/natasha # export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
friend:/home/natasha # bumblebeed --daemon
FATAL: Module bbswitch not found.
friend:/home/natasha # bumblebeed --debug
[  121.947039] [INFO]Loading driver bbswitch (module bbswitch)
[  121.947154] [DEBUG]Process modprobe started, PID 1762.
FATAL: Module bbswitch not found.
[  121.948482] [DEBUG]Process with PID 1762 returned code 1
[  121.948642] [ERROR]Module bbswitch could not be loaded (timeout?)
[  121.948648] [DEBUG]bbswitch is not available, perhaps you need to insmod it?
[  121.948652] [INFO]Skipping switcheroo PM method because it is not explicitly selected in the configuration.
[  121.948656] [WARN]No switching method available. The dedicated card will always be on.
[  121.948659] [DEBUG]Active configuration:
[  121.948662] [DEBUG] bumblebeed config file: /etc/bumblebee/bumblebee.conf
[  121.948665] [DEBUG] X display: :8
[  121.948668] [DEBUG] LD_LIBRARY_PATH:
[  121.948672] [DEBUG] Socket path: /var/run/bumblebee.socket
[  121.948674] [DEBUG] pidfile: /var/run/bumblebeed.pid
[  121.948678] [DEBUG] xorg.conf file: /etc/bumblebee/xorg.conf.DRIVER
[  121.948681] [DEBUG] ModulePath:
[  121.948684] [DEBUG] GID name: bumblebee
[  121.948687] [DEBUG] Power method: auto
[  121.948689] [DEBUG] Stop X on exit: 1
[  121.948692] [DEBUG] Driver: fglrx
[  121.948695] [DEBUG] Driver module: fglrx
[  121.948698] [DEBUG] Card shutdown state: 1
[  121.948771] [DEBUG]Process /sbin/modinfo started, PID 1763.
[  121.948822] [DEBUG]Hiding stderr for execution of /sbin/modinfo
[  121.950274] [DEBUG]SIGCHILD received, but wait failed with No child processes
[  121.950298] [DEBUG]Configuration test passed.
[  121.950330] [ERROR]Daemon already running, pid 1758

I have tried to install bbswitch, but it haven't work, the problem was in the finding of the executable and some .ko files. As far I understand from the GitHub discussion, bbswitch module serves to change cards and it is for nVidia only. So, I don't know is the sence to try to customize bbswitch for AMD or it is better to try to somehow introduce aticonfig there...



-------------------------

Lenovo IdeaPad G500A (59-381065): Intel Core i5-3230M, Intel HD Graphics 4000, AMD Radeon HD 8750M; openSUSE 13.1 (x86_64), Windows 7 Ultimate (64 bit)



Edited: 12/08/2014 at 12:20 PM by natasha
 12/08/2014 07:40 PM
User is offline View Users Profile Print this message

Author Icon
Pablo
Peon

Posts: 3
Joined: 10/16/2014

just one thing to say..

amd sucks, they dont give a ***** for their customers,
what abbout sell a card that i cannot use?

i got a dell with intel hd 4400 and amd radeon 8850m with the same problems,
you will find many posts with the same isue and no one have a official answer.

 12/13/2014 08:38 AM
User is offline View Users Profile Print this message

Author Icon
natasha
Peon

Posts: 23
Joined: 04/25/2014

Originally posted by: natasha

 Because of this I have added the line

#define PCI_CLASS_DISPLAY_VGA 0x0300
#define PCI_CLASS_DISPLAY_3D  0x0302
#define PCI_CLASS_DISPLAY_OTHER  0x0380

to the Bumblebee-common-amd/src/pci.h file. Definition of this parameter I have taken in /usr/src/linux-3.11.10-21/include/linux/pci_ids.h file.

Excuse me for incomplete explanation. The changes have to be done also in the file Bumblebee-common-amd/src/pci.c (function struct pci_bus_id *pci_find_gfx_by_vendor(unsigned int vendor_id, unsigned int idx)):

while (fgets(buf, sizeof(buf) - 1, fp)) {
    if (sscanf(buf, "%x %x", &bus_id_numeric, &vendor_device) != 2) {
      continue;
    }
    /* VVVVDDDD becomes VVVV */
    if (vendor_device >> 0x10 == vendor_id) {
      if (pci_parse_bus_id(result, bus_id_numeric)) {
        int pci_class = pci_get_class(result);
        if (pci_class == PCI_CLASS_DISPLAY_VGA ||
                pci_class == PCI_CLASS_DISPLAY_3D || pci_class == PCI_CLASS_DISPLAY_OTHER) {
          /* yay, found device. Now get next, or clean up and return */
          if (idx--) {
            /* It's not yet our device */
            continue;
          }
          fclose(fp);
          return result;
        }
      }
    }
  }

------------------------------------------------

As far I understand, this error in the bumblebeed --debug

FATAL: Module bbswitch not found.

seems to be not critical ([WARN]No switching method available. The dedicated card will always be on. -- OK for me).

I have tried to run glxgears via optirun with the following sequence of actions:

boot with Intel card
> su
# export PATH=/usr/local/sbin:$PATH
# export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
# bumblebeed --daemon
# bumblebeed --debug
# optirun -vv glxgears
[  146.118799] [DEBUG]Reading file: /etc/bumblebee/bumblebee.conf
[  146.119144] [INFO]Configured driver: fglrx
[  146.119310] [DEBUG]optirun version 3.0.1-2012-10-05-Format:%h$ starting...
[  146.119321] [DEBUG]Active configuration:
[  146.119325] [DEBUG] bumblebeed config file: /etc/bumblebee/bumblebee.conf
[  146.119330] [DEBUG] X display: :8                                                                                                                                                           
[  146.119334] [DEBUG] LD_LIBRARY_PATH:                                                                                                                                                        
[  146.119339] [DEBUG] Socket path: /var/run/bumblebee.socket                                                                                                                                  
[  146.119344] [DEBUG] VGL Compression: proxy 
                                                                                                                                                 
[  148.423626] [INFO]Response: No - error: [XORG] (EE) fglrx(0): Failed to open CMMQS connection.                                                                                              
                                                                                                                                                                                               
[  148.423650] [ERROR]Cannot access secondary GPU - error: [XORG] (EE) fglrx(0): Failed to open CMMQS connection.                                                                              

[  148.423654] [DEBUG]Socket closed.
[  148.423701] [ERROR]Aborting because fallback start is disabled.
[  148.423707] [DEBUG]Killing all remaining processes.
# aticonfig --px-dgpu
PowerXpress: Discrete GPU is selected (High-Performance mode), please restart Xserver(s) for changes to take effect!
# optirun -vv glxgears

It writes the same lines, as shown with Italic font, and hangs. The screen becomes black, the machine doesn't respond on the keys pressing. The Xorg.8.log file is empty.

Preliminary running optirun -vv glxgears on the Intel card is needed to properly enable GlamorEGL, otherwise it returns errors about this when running on AMD card.

So, I don't know what to do further. May be, somebody has any suggestions about this?

Also I think, it is reasonable to join the GitHub discussion about this issue. May be, I will do this some later...

Thank you, FRo_OG, for this link to the GitHub discussion. I hope, we will achieve success in this driver issue sooner or later.


 



-------------------------

Lenovo IdeaPad G500A (59-381065): Intel Core i5-3230M, Intel HD Graphics 4000, AMD Radeon HD 8750M; openSUSE 13.1 (x86_64), Windows 7 Ultimate (64 bit)

Statistics
88897 users are registered to the AMD Support and Game forum.
There are currently 6 users logged in.

FuseTalk Hosting Executive Plan v3.2 - © 1999-2014 FuseTalk Inc. All rights reserved.