LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux From Scratch (https://www.linuxquestions.org/questions/linux-from-scratch-13/)
-   -   BLFS - ATI Radeon & Xorg - drm report modesetting isn't supported (https://www.linuxquestions.org/questions/linux-from-scratch-13/blfs-ati-radeon-and-xorg-drm-report-modesetting-isnt-supported-4175475327/)

svadi666 08-30-2013 11:27 AM

BLFS - ATI Radeon & Xorg - drm report modesetting isn't supported
 
Hello there,

I have often found solutions for problems with Linux here by searching through the forum, now is the first time for me to ask for help, because neither google nor linuxquestions.org are helpful with my issue with Xorg.



Recently I set up a LFS 7.3 system and am now trying to get on to make it my own unique working environment.

Currently I have problems getting Xorg Server to work with my two Radeon HD 6570 cards.

I compiled all the packages in "BLFS - 24. X Window System Environment", recompiled the Kernel with ATI Radeon Graphics Support and with the firmware for my cards.

my xorg.conf as suggested at BLFS - Glamor Acceleration:
Code:

Section "Module"
        Load "dri2"
        Load "glamoregl"
EndSection

Section "Device"
        Identifier "radeon"
        Driver "radeon"
        Option "AccelMethod" "glamor"
EndSection

With this, X won't start at all. If I comment that out, X only starts with VESA drivers:

/var/log/Xorg.0.log (only the interesting parts with warnings and errors):
Code:

...(initializing, loading modules ...) ...
[  6602.756] (II) LoadModule: "modesetting"
[  6602.756] (WW) Warning, couldn't open module modesetting
[  6602.756] (II) UnloadModule: "modesetting"
[  6602.756] (II) Unloading modesetting
[  6602.756] (EE) Failed to load module "modesetting" (module does not exist, 0)
... (loading drivers) ...
[  6602.758] (--) using VT number 7

[  6602.762] (II) [KMS] drm report modesetting isn't supported.
[  6602.762] (WW) Falling back to old probe method for fbdev
[  6602.762] (II) Loading sub module "fbdevhw"
[  6602.762] (II) LoadModule: "fbdevhw"
[  6602.762] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[  6602.762] (II) Module fbdevhw: vendor="X.Org Foundation"
[  6602.762]    compiled for 1.14.2, module version = 0.0.2
[  6602.762]    ABI class: X.Org Video Driver, version 14.1
[  6602.762] (EE) open /dev/fb0: No such file or directory
[  6602.762] (EE) Screen 0 deleted because of no matching config section.
[  6602.762] (II) UnloadModule: "radeon"
... (initializing VESA driver) ...

Does anybody have a hint how to make Xorg using the Radeon driver?

stoat 08-30-2013 01:39 PM

Quote:

Originally Posted by svadi666

Does anybody have a hint how to make Xorg using the Radeon driver?

Well first, I don't own your exact device. I'm using an older HD3450 card, so I may not know some of the detail you need. Anyway, here are some things you might check or try...

1. Even though it may still work, xorg.conf has been replaced by .conf files in /etc/X11/xorg.conf.d. But you may not need anything at all in there. I use one that I named radeon.conf for a Device section to specify the radeon driver only to clean up the messaging in the Xorg log. It's strictly cosmetic for the startup messaging. Except for that reason, I wouldn't need any Xorg config files. For now, I would skip it because it may confuse other issues.

2. I recommend that you compile the kernel with the radeon driver built as a module. If you build it in, then the kernel may attempt to access the firmware before it has access to the filesystem. That can cause it to drop back to vesa. If this is so in your case, there is a way to deal with the firmware when the driver is built in. But it's simpler and perfectly effective just to build the radeon driver as a module and be done with this issue.
Code:

<M> ATI Radeon (CONFIG_DRM_RADEON=m, module=radeon)
NOTE: There used to be a kernel option right below that to enable radeon modesetting...
Code:

[*] Enable modesetting on radeon by default (CONFIG_DRM_RADEON_KMS, module=drm_kms_helper)
...but that modesetting option disappeared from recent kernels, and drm_kms_helper now is enabled when CONFIG_DRM_RADEON is enabled.
3. Enable Direct Rendering Manager as a module.
Code:

<M> Direct Rendering Manager (CONFIG_DRM=m, module=drm)
4. Enable support for framebuffer devices, but disable radeon framebuffering (radeonfb) because it conflicts with the newer method of using the kernel framebuffer device (fbcon) and radeondrmfb driver (radeon).
Code:

{M} Support for framebuffer devices (CONFIG_FB=m, module=fb)
< > ATI Radeon display support (CONFIG_FB_RADEON is not set, module=radeonfb)

5. The above options also will automatically select a couple of other things needed (at least by me anyway)...
Code:

-M- Framebuffer Console support (CONFIG_FRAMEBUFFER_CONSOLE=m, module=fbcon, selected by DRM_KMS_HELPER)
-*- Map the console to the primary display device (CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y, selected by DRM_KMS_HELPER)

6. For X in a BLFS system, you also will need to properly configure MesaLib for the drivers your device uses.

No promises for anything above this sentence.

svadi666 08-30-2013 02:46 PM

Thanks for your detailed reply.

I already tested the kernel with ATI Radeon driver as module without success. The other options you mentioned were already activated as built-ins.

Now I recompiled the kernel with all options from your post as modules, but I still get only VESA.

/var/log/Xorg.0.log still complains about "[KMS] drm report modesetting isn't supported."

Any more suggestions?

ReaperX7 08-30-2013 05:02 PM

If in doubt, just grab a kernel configuration from the Slackware-Current x86 or x64 trees and use them to build your kernel. Slackware's kernel is fairly much foolproof, and, while it may build non-essential drivers, it may have an option LFS/BLFS doesn't cover specifically, plus it saves a ton of grunt-work to determine what is and isn't used by your system.

You should also check your x11-drivers, libmesa, and radeon driver setup and configurations before you proceed further.

Do note that some of the Radeon series cards from the most recent batch from AMD have only experimental support in both the kernel and drivers, especially those using Southern Islands series GPUs.

Because you have a 6570 series Radeon HD you should probably first attempt to use the standard libmesa acceleration rather than the glamor-egl. If all else fails you can always grab the Proprietary driver from AMD and give it a shot.

stoat 08-30-2013 06:07 PM

I saw in the BLFS book where you got the xorg.conf file stuff for glamor. So do what the book says for that. I still think it would be more consistent with the Xorg-7.7 Testing and Configuration section of the book for that config stuff to be in /etc/X11/xorg.conf.d, but that isn't very relevant at the moment.
P.S.: I take that statement back, sort of. The xorg.conf.d folder may be the recommended way nowadays, but the xorg.conf file still is acceptable and read by the xorg server. In fact, xorg.conf, when it exists, takes precedence over files in /etc/X11/xorg.conf.d.
For the radeon driver and KMS business, study the output of dmesg for clues about anything that is missing for the radeon driver. Like firmware, for example. The Gentoo Radon wiki identifies what firmware the HD6570 needs. Check that you have all of that stuff installed somewhere in /lib/firmware. It's not unheard of to have to install some firmware not provided by the kernel. I had to find and install a single firmware file, and discovering that was not straight-forward.

Other sites that may help...

http://wiki.x.org/wiki/radeonBuildHowTo/
http://www.freedesktop.org/wiki/Software/Glamor/

adamk75 08-30-2013 07:59 PM

Please show your full Xorg.0.log file.

Adam

svadi666 08-31-2013 05:12 AM

I already have all the needed firmware files installed.

Code:

# ls /lib/firmware/radeon
BTC_rlc.bin  R600_pfp.bin  RV620_me.bin  RV670_pfp.bin  SUMO_uvd.bin
R100_cp.bin  RS600_cp.bin  RV620_pfp.bin  RV710_me.bin  TURKS_mc.bin
R200_cp.bin  RS690_cp.bin  RV630_me.bin  RV710_pfp.bin  TURKS_me.bin
R300_cp.bin  RS780_me.bin  RV630_pfp.bin  RV730_me.bin  TURKS_pfp.bin
R420_cp.bin  RS780_pfp.bin  RV635_me.bin  RV730_pfp.bin  TURKS_smc.bin
R520_cp.bin  RV610_me.bin  RV635_pfp.bin  RV770_me.bin
R600_me.bin  RV610_pfp.bin  RV670_me.bin  RV770_pfp.bin

I can't find something in the output of dmesg, however, I don't know what to look for. Here is it, perhaps you find something:
http://pastebin.com/aPkpMWyF

Here is the full /var/log/Xorg.0.log:
http://pastebin.com/hxrFYckf

adamk75 08-31-2013 08:10 AM

The first thing that jumps out at me is that you have the AMD proprietary driver installed, yet you are trying to use the open source driver. You need to remove the proprietary one. The next thing I see is that the kernel is never loading it's direct rendering module for your hardware. If you log in at the console and type 'modprobe radeon' (as root or with sudo) do you get any error?

Adam

svadi666 08-31-2013 09:42 AM

That was it, adamk75, thank you very much!
The kernel module wasn't loaded. There were no errors after modprobing it and X started just fine with the radeon driver.

Since I'm doing that all for learning and experience, please, would you point me to the lines from which you concluded that the module was missing and the proprietary driver was installed (yes it was, but I thought I wiped it off the disk - however, it is blacklisted and does not seem to interfere)?

adamk75 08-31-2013 10:11 AM

Quote:

Originally Posted by svadi666 (Post 5019374)
That was it, adamk75, thank you very much!
The kernel module wasn't loaded. There were no errors after modprobing it and X started just fine with the radeon driver.

Since I'm doing that all for learning and experience, please, would you point me to the lines from which you concluded that the module was missing and the proprietary driver was installed (yes it was, but I thought I wiped it off the disk - however, it is blacklisted and does not seem to interfere)?

Check the difference in the 'dmesg' output before and after you run 'modprobe radeon' and you will see how I knew that the kernel module wasn't loaded. You may want to create an initrd to load the radeon kernel module early in the boot process, or perhaps even build the radeon driver directly into the kernel.

And, yes, the fglrx driver is interfering. If you check the Xorg log file, when it loads the GLX module, you can see it's loading the proprietary GLX module from AMD, not the open source one from Xorg. 3D acceleration will not work.

Adam

svadi666 08-31-2013 07:10 PM

Thank you, I really appreciate your kind help.
I have now everything running properly. Radeon module is loading during boot, and I got rid of the remains of the fglrx driver completely and got 3D acceleration running.
Next step will be to configure X for a dual head setup. I will try first by myself - when I get stuck, I know where to get support :)

rewilliams1988 10-05-2015 01:18 PM

Quote:

Originally Posted by adamk75 (Post 5019336)
The first thing that jumps out at me is that you have the AMD proprietary driver installed, yet you are trying to use the open source driver. You need to remove the proprietary one. The next thing I see is that the kernel is never loading it's direct rendering module for your hardware. If you log in at the console and type 'modprobe radeon' (as root or with sudo) do you get any error?

Adam

How can i tell if I am using the open source driver? And how can you tell if the kernel is not loading? Pretty sure i have the same problem here.

ReaperX7 10-06-2015 02:28 AM

If your Xorg configuration uses driver "ati" then it's the Free driver. The OEM driver is "fglrx".

rewilliams1988 10-06-2015 08:53 AM

Quote:

Originally Posted by ReaperX7 (Post 5430590)
If your Xorg configuration uses driver "ati" then it's the Free driver. The OEM driver is "fglrx".

I have been changing my xorg.conf files to both of these. Both produce different errors.

xorg.conf
Quote:

Section "Device"
Identifier "Videocard0"
Driver "radeon"
EndSection

------ to this -----

Section "Device"
Identifier "Videocard0"
Driver "vesa"
EndSection
Error with Radeon
Quote:

(II) [KMS] drm report modesetting isn't supported.
(EE)
Fatal server error:
(EE) no screens found(EE)
(EE)
Please consult the Red Hat, Inc. support
at https://www.redhat.com/apps/support/
for help.
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional info rmation.
(EE)
(EE) Server terminated with error (1). Closing log file.
giving up.
xinit: Connection refused (errno 111): unable to connect to X server
xinit: No such process (errno 3): Server error.
I dont think i should be using a Radeon driver , but i could be wrong.

When I use the vesa driver, it seems to hang but does not start. Here is the end of the output of "startx"
Quote:

Loading extension GLX
GNOME_KEYRING_SOCKET=/tmp/keyring-Trcn3k/socket
SSH_AUTH_SOCK=/tmp/keyring-Trcn3k/socket.ssh
GNOME_KEYRING_PID=10917
Once i kill the process i get the following

Quote:

waiting for X server to shut down gnome-session: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.
gnome-settings-daemon: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.
error setting MTRR (base = 0xe8000000, size = 0x04000000, type = 1) Invalid argument (22)
(EE) Server terminated successfully (0). Closing log file.
Dmesg errors
Quote:

uhci_hcd 0000:02:00.4: Controller not stopped yet!
fuse init (API version 7.16)
mtrr: no MTRR for e8000000,4000000 found
mtrr: no MTRR for e8000000,4000000 found
mtrr: no MTRR for e8000000,4000000 found
mtrr: no MTRR for e8000000,4000000 found
Thanks for the reply, I have been stuck on this for a week. Please let me know if you would like to see something else.

ReaperX7 10-06-2015 07:08 PM

Try removing all configurations for X and use the method to generate a configuration as posted in this section. That should help. Also, try installing the firmware for the video adapter as well. The latest BLFS book should describe how to do this.


All times are GMT -5. The time now is 05:26 AM.