# Radeon M7500 problem z Xami

## arek.k

Próbuję postawić Xserver na starszym sprzęcie z Radeon Mobility 7500. 

```
 lspci | grep -i vga

01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI RV200/M7 [Mobility Radeon 7500]
```

Cały sprzęt też nie należy do najnowszych (delikatnie mówiąc) - IBM T41 proc. Pentium M 1600 MHz.

Kierowałem się zasadniczo podręcznikami: http://www.gentoo.org/doc/pl/xorg-config.xml i https://wiki.gentoo.org/wiki/Radeon#Feature_support.

Po instalacji xorg-x11 i xorg-server

```
emerge xorg-x11 xorg-server -vp

[ebuild   R    ] x11-base/xorg-server-1.13.4:0/1.13.4  USE="ipv6 nptl suid udev xorg -dmx -doc -kdrive -minimal (-selinux) -static-libs -tslib -xnest -xvfb" 0 kB

[ebuild   R    ] x11-base/xorg-x11-7.4-r2  0 kB
```

i uruchomieniu 

```
Xorg -configure
```

otrzymuję niestety listę błędów: 

```
(==) Using system config directory "/usr/share/X11/xorg.conf.d"

(II) [KMS] drm report modesetting isn't supported.

(EE)

(EE) Backtrace:

(EE) 0: Xorg (xorg_backtrace+0x49) [0x81f4549]

(EE) 1: Xorg (0x8048000+0x1b043a) [0x81f843a]

(EE) 2: linux-gate.so.1 (__kernel_rt_sigreturn+0x0) [0xb775040c]

(EE)

(EE) Segmentation fault at address 0x0

Fatal server error:

Caught signal 11 (Segmentation fault). Server aborting
```

Poszukałem trochę na temat tych błędów, ale we wszystkich opisach (jakie znalazłem) dotyczą raczej systemów z procesorem amd64.

Może ktoś z was wpadnie na jakiś pomysł?

Konfig jądra:

```
Processor type and features  --->

    [*] MTRR (Memory Type Range Register) support

Device Drivers  --->

    Graphics support  --->

         <*> /dev/agpgart (AGP Support)  ---> 

                <*>   Intel 440LX/BX/GX, I8xx and E7x05 chipset support

         <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)  --->  

         <*> ATI Radeon 

         [*]   Enable userspace modesetting on radeon (DEPRECATED)

         -*- Support for frame buffer devices  --->

                 [*]   EFI-based Framebuffer Support

                 <*>   ATI Radeon display support

                 [*]     DDC/I2C for ATI Radeon support 

                 [*]     Support for backlight control 

    Generic Driver Options  --->

          -*- Userspace firmware loading support

          [*] Include in-kernel firmware blobs in kernel binary

          ()    External firmware blobs to build into the kernel binary
```

----------

## Oniryczny

jaka wersja kernela?

jaką masz grafikę w make.conf?

pakiet linux-firmware zainstalowany?

----------

## arek.k

kernel: sys-kernel/gentoo-sources-3.10.7

w make.conf: VIDEO_CARDS="radeon"

linux-firmware:

```
emerge linux-firmware -pv

[ebuild  N     ] sys-kernel/linux-firmware-20130728  USE="-savedconfig"
```

czyli nie, ale czy na pewno jest potrzebny? Niby pakiet zawiera firmware, który był wcześniej zawarty w jądrze Linux. 

Chyba jednak to zapewnia flaga radeon "wymuszana" przez VIDEO_CARDS="radeon", przykładowo dla pakietów:

```
x11-base/xorg-drivers-1.13 

x11-libs/libdrm-2.4.45 

media-libs/mesa-9.1.2-r1
```

Jeśli linux-firmware byłby niezbędny, to pewnie wszedłby jako zależność pakietów instalowanych z xorg.

(Ale na wszelki wypadek sprawdziłem i nadal to samo.)

----------

## Oniryczny

https://wiki.gentoo.org/wiki/Radeon

wpisz odpowiednią VIDEO_CARDS

----------

## arek.k

Przecież VIDEO-CARDS="radeon" jest odpowiednia. Alternatywą jest fglrx, ale on jest dla kart (ewentualnie) Radeon HD 2000 (rodzina od R500) i nowszych. Dla Radeon HD 1000 i starszych jest driver radeon (wg https://wiki.gentoo.org/wiki/Fglrx).

Korzystałem już wcześniej ze wskazanego przez Ciebie opisu. Moja karta (Mobility Radeon 7500) należy do rodziny R100.

Doczytałem teraz również, że firmware, o którym mówiłeś (linux-firmware) dotyczy kart rodziny R600 i nowszych.

----------

## Oniryczny

możliwe

ja mam HD4200 i u mnie ustawiłem VIDEO_CARDS="r600"

----------

## arek.k

Wrzucę może jeszcze (oprócz loga z Xorg -configure z pierwszego posta) log błędów po uruchomieniu startx:

```
cat /var/log/Xorg.0.log | grep "(EE)"

        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.

[    55.445] (EE) Failed to load module "vesa" (module does not exist, 0)

[    55.445] (EE) Failed to load module "modesetting" (module does not exist, 0)

[    55.446] (EE) Failed to load module "fbdev" (module does not exist, 0)

[    55.468] (EE) Screen 0 deleted because of no matching config section.

[    55.468] (EE) Device(s) detected, but none match those in the config file.

[    55.468] (EE)

[    55.468] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.

[    55.468] (EE)
```

No i niby błędy wydają się jasne, ale:

```
     -> Device Drivers

         -> Graphics support

   (1)     -> Support for frame buffer devices (FB [=y])   
```

Więc fbdev chyba powinien być, tylko jest wkompilowany w jądro, a nie jako moduł.

Wymaganie modułu vesa - nie rozumiem, przecież chcę korzystać z drivera radeon (czyli chyba DRM_RADEON), który też jest wkompilowany w jądro.

Co do modesetting, to nie mam pojęcia o co chodzi.

----------

## Oniryczny

ja w swoim configu mam dla fbdev załączone tylko vesa vga support

ale

```

# cat /var/log/Xorg.0.log | grep "(EE)"

        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.

[   821.190] (EE) Failed to load module "modesetting" (module does not exist, 0)

[   821.190] (EE) Failed to load module "fbdev" (module does not exist, 0)
```

----------

## arek.k

Postanowiłem olać automatyczny konfigurator i stworzyć pliki ręcznie:

```
> cat /etc/X11/xorg.conf.d/monitor.conf

Section "Monitor"

    Identifier    "Monitor0"

EndSection

Section "Device"

    Identifier    "Device0"

    Driver        "radeon" #Choose the driver used for this monitor

        BusID           "PCI:1:0:0"

        Option          "DynamicClocks" "on"

        Screen          1

EndSection

Section "Screen"

    Identifier    "Screen0"  #Collapse Monitor and Device section to Screen section

    Device        "Device0"

    Monitor       "Monitor0"

    DefaultDepth  24 #Choose the depth (16||24)

    SubSection "Display"

        Depth     24

        Modes     "1024x768" "800x600" "640x480" #Choose the resolution

    EndSubSection

EndSection
```

Efekt (rozszerzony log):

```
>  less /var/log/Xorg.0.log

[   439.439]

X.Org X Server 1.13.4

Release Date: 2013-04-17

[   439.439] X Protocol Version 11, Revision 0

[   439.439] Build Operating System: Linux 3.10.7-gentoo i686 Gentoo

[   439.439] Current Operating System: Linux test 3.10.7-gentoo #8 SMP Thu Sep 26 20:48:43 CEST 2013 i686

[   439.439] Kernel command line: root=/dev/sda3 ro video=uvesafb:mtrr:3,ywrap,1024x768-32@85

[   439.440] Build Date: 25 September 2013  08:58:33PM

[   439.440]

[   439.440] Current version of pixman: 0.28.0

[   439.440]    Before reporting problems, check http://wiki.x.org

        to make sure that you have the latest version.

[   439.440] Markers: (--) probed, (**) from config file, (==) default setting,

        (++) from command line, (!!) notice, (II) informational,

        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.

...

[   439.443] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)

...

[   439.457] (II) [KMS] drm report modesetting isn't supported.

[   439.457] (EE) Screen 0 deleted because of no matching config section.

[   439.457] (II) UnloadModule: "radeon"

[   439.457] (EE) Device(s) detected, but none match those in the config file.

[   439.458]

Fatal server error:

[   439.458] no screens found

[   439.458] (EE)

...
```

Przejrzałem przykładowe configi (np. stąd) i nie kapuję, o co mu chodzi z no matching config section.

----------

## Oniryczny

ja bym zmienił zmienna VIDEO_CARDS na "radeon r100"

przebudował drivery i próbował ponownie

----------

## arek.k

Zmieniłem i przebudowałem pakiety dopuszczające VIDEO_CARDS r100 oprócz radeon (właściwie tylko media-libs/mesa).

Niestety to nie to. Zastanawiam się nad dopuszczeniem jądra z gałęzi ~x86 - może to jądro zawiera jakąś wtopę.

----------

