Announcement

Collapse
No announcement yet.

Running radeonsi on Ubuntu 13.04

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Originally posted by Zgembo View Post
    Since the recent refresh of xorg-edgers repositories, it has become much easier to compile the necessary
    mesa support without the need fro llvm3.3. Here is a recipe for easy enabling radeonsi,
    tested working on both Ubuntu 12.10 & 13.04. This can be easily made into install script,
    feel free to do it at your own convenience.

    First, we need to temporarily enable xorg-edgers repo, just to retrieve the sources & some dev tools and libs
    Code:
    sudo apt-get -y install build-essential git xutils-dev xorg-dev
    mkdir radeonsi
    cd radeonsi
    sudo add-apt-repository -y -s ppa:xorg-edgers/ppa
    sudo apt-get update
    apt-get source mesa
    apt-get source xserver-xorg-video-ati
    sudo apt-get -y build-dep mesa
    sudo apt-get -y install mesa-utils
    sudo add-apt-repository -r -y ppa:xorg-edgers/ppa
    sudo apt-get update
    Next, we compile mesa, with gbm support enabled (this will take some time)
    Code:
    JOBS=$(cat /proc/cpuinfo | grep ^processor | tail -n1 | awk '{ print $3 }')
    ARCH=$([ "$(uname -m)" != "x86_64" ] && echo "i386" || echo "amd64")
    MESAREVISION=$(ls -d mesa*/ | grep -o "9.[0-9].[0-9]~git[a-z0-9.+]*")
    MESAPPAREVISION=$(ls mesa_$MESAREVISION*.dsc | grep -o "\-[0-9]ubuntu[0-9][a-z]*[~_a-z3864]*")
    MESAPKGSUFFIX=${MESAREVISION}${MESAPPAREVISION}_${ARCH}.deb
    ATIDRVREVISION=$(ls -d xserver-xorg-video-ati*/ | grep -o "[\.0-9]*+git[a-z0-9.]*")
    ATIDRVPPAREVISION=$(ls xserver-xorg-video-ati_$ATIDRVREVISION*.dsc | grep -o "\-[0-9]ubuntu[0-9][a-z]*[~_a-z3864]*")
    ATIDRVPKGSUFFIX=${ATIDRVREVISION}${ATIDRVPPAREVISION}_${ARCH}.deb
    cd mesa-$MESAREVISION
    sed -i 's|../../configure --prefix=/usr|../../configure --enable-gbm --prefix=/usr|' debian/rules
    time dpkg-buildpackage -b -j$JOBS
    cd ..
    Next, assuming the mesa compilation was successful, we install mesa packages
    Code:
    sudo dpkg -i libegl1-mesa_$MESAPKGSUFFIX libegl1-mesa-dev_$MESAPKGSUFFIX \
                 libegl1-mesa-drivers_$MESAPKGSUFFIX libgbm1_$MESAPKGSUFFIX \
                 libgbm-dev_$MESAPKGSUFFIX libgl1-mesa-dev_$MESAPKGSUFFIX \
                 libgl1-mesa-dri_$MESAPKGSUFFIX libgl1-mesa-dri-experimental_$MESAPKGSUFFIX \
                 libgl1-mesa-glx_$MESAPKGSUFFIX libglapi-mesa_$MESAPKGSUFFIX \
                 libgles1-mesa_$MESAPKGSUFFIX libgles1-mesa-dev_$MESAPKGSUFFIX \
                 libgles2-mesa_$MESAPKGSUFFIX libgles2-mesa-dev_$MESAPKGSUFFIX \
                 mesa-common-dev_$MESAPKGSUFFIX libosmesa6_$MESAPKGSUFFIX \
                 libosmesa6-dev_$MESAPKGSUFFIX libxatracker1_$MESAPKGSUFFIX \
                 libxatracker-dev_$MESAPKGSUFFIX libopenvg1-mesa_$MESAPKGSUFFIX \
                 libopenvg1-mesa-dev_$MESAPKGSUFFIX
    Next, time to compile and install glamor. Unfortunately, this will not be packaged into a deb, manuall install is nedeed
    Code:
    git clone git://anongit.freedesktop.org/git/xorg/driver/glamor
    cd glamor
    ./autogen.sh --enable-glx-tls --prefix=/usr
    make -j$JOBS
    sudo make install
    cd ..
    Almost there, time to compile and install ati/radeon driver for X
    Code:
    sudo apt-get -y build-dep xserver-xorg-video-ati
    cd xserver-xorg-video-ati-$ATIDRVREVISION
    sed -i 's|\(XXV=xserver-xorg-video\)|\1\n\noverride_dh_auto_configure:\n\tdh_auto_configure -- --enable-glamor|' debian/rules
    sed -i 's|dh_shlibdeps -- --warnings=6|dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info|' debian/rules
    time dpkg-buildpackage -b -j$JOBS
    cd ..
    sudo dpkg -i xserver-xorg-video-ati_$ATIDRVPKGSUFFIX xserver-xorg-video-radeon_$ATIDRVPKGSUFFIX

    Finally, all left to be done is a manual change of xorg.conf
    Code:
    [ -f /etc/xorg.conf ] && sudo cp /etc/xorg.conf /etc/xorg.conf.BACKUP.$(date -Iseconds)
    TAB="$(printf '\t')"
    sudo bash -c "cat > /etc/xorg.conf" << EOF
    Section "Module"
    ${TAB}Load "dri2"
    ${TAB}Load "glamoregl"
    EndSection
    
    Section "Device"
    ${TAB}Identifier "ati"
    ${TAB}Driver "ati"
    ${TAB}Option "AccelMethod" "glamor"
    EndSection
    EOF
    Now, if only somebody with the proper authority can convince xorg-edgers into adding --enable-gbm switch into mesa, this would be way more easier to do...
    BTW, anyone heard of glamor deb package?
    I get an error about

    configure: error: Package requirements (libdrm >= 2.4.46) were not met:

    Requested 'libdrm >= 2.4.46' but version of libdrm is 2.4.43

    then completely fails.

    Comment


    • #17
      Okay, don't compile that above. It will really break your system. I guess I'm stuck with Mesa 9.1 lacking S3TC texture support.
      Last edited by mmstick; 07-11-2013, 02:14 PM.

      Comment


      • #18
        You need to compile s3tc library from here http://cgit.freedesktop.org/~mareko/libtxc_dxtn/ and then compile mesa also with --enable-texture-float

        Comment


        • #19
          Originally posted by Tommy666 View Post
          You need to compile s3tc library from here http://cgit.freedesktop.org/~mareko/libtxc_dxtn/ and then compile mesa also with --enable-texture-float
          Compiling and installing a custom version of mesa breaks the system, so no can do.

          Comment


          • #20
            Can anyone make a better guide on installing the latest mesa with glamor AND s3tc support now that kernel 3.11-rc1 is out and runs well? I don't know too much about compiling some of the more complicated stuff nor feel too comfortable about messing around with trying to do it.

            Comment


            • #21
              Originally posted by mmstick View Post
              Can anyone make a better guide on installing the latest mesa with glamor AND s3tc support now that kernel 3.11-rc1 is out and runs well? I don't know too much about compiling some of the more complicated stuff nor feel too comfortable about messing around with trying to do it.
              I can't write an exact guide as I don't use ubuntu, but I can tell you it was easier than I thought it would be. I did the same thing on Fedora a few months back. Basically I went for a 'rip-and-replace' kind of solution, probably not the best one thinking about it now.

              I removed the relevant packages (outside the package manager in some cases as it would otherwise mean getting rid of dependencies I wanted to keep) and then built Mesa, GLAMOR, xf86-video-ati and libtxc_dxtn in that order (libtxc_dxtn is a runtime dependency if I remember rightly). The key thing was using the right configure switches to make sure the dri modules and so on go to the right location, but you can figure this out by looking at your existing system first. Also, if you are on an x64 system, you will obviously need to build Mesa twice if you want 32-bit compatibility.

              Sorry, not very precise I know but hopefully will point you in the right direction - bear in mind the way I did it could potentially hose your X install if the ABIs are mismatched or anything else like that, so take great care :-D

              I think there is also a way to build a separate Mesa and use that with LD_LIBRARY_PATH, not tried it myself though.

              Comment


              • #22
                solution for radeonsi on ubuntu

                I don't have ubuntu but you can see this thrad, Maybe you find answer.
                http://phoronix.com/forums/showthrea...aphics-Drivers

                Comment


                • #23
                  solution for radeonsi on ubuntu

                  @mmstick
                  maybe this thread will help:

                  update drivers on ubuntu

                  Comment

                  Working...
                  X