Announcement

Collapse
No announcement yet.

Updated and Optimized Ubuntu Free Graphics Drivers

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

  • oibaf
    started a topic Updated and Optimized Ubuntu Free Graphics Drivers

    Updated and Optimized Ubuntu Free Graphics Drivers

    Note: Phoronix disabled editing forum posts some time ago, so check the main PPA page for updated informations!


    0 - Introduction

    Some year ago I wrote a guide on Installing latest Open Source ATI drivers under Ubuntu to provide the new - at the time - Radeon R500 support with free drivers.

    Now Ubuntu 11.04 (natty) just get released shipping latest official mesa release 7.10.2. However current mesa snapshots have a huge amount of new features which make feel old this official release. Ubuntu 10.10 (maverick) ships an older pre-release snapshot of mesa 7.9.

    So I am now providing a PPA with updated mesa and X drivers as an easy way for users to try all the new features developed in the past months and early detect eventual bugs to report to developers. This is somewhat inspired by the xorg-edgers PPA but it only provides graphics drivers to lower the risk of breakage. Also I want to provide some packaging improvements and possibly new features (e.g. integrate testing branches like glsl-130 or pipe-video) when they'll be sufficient stable.

    Supported Ubuntu versions: 10.10 (maverick) and 11.04 (natty).

    1 - Improvements

    Mesa improvements:

    Note that being snapshots they may also have new bugs.

    Mesa packaging improvements:
    • support for S3TC texture compression* (Recommends included libtxc-dxtn)
    • support for floating-point textures*
    • llvm support (for faster gallium drivers)
    • gallium llvmpipe as the default software renderer rather than classic swrast
    • i915 and nouveau gallium drivers in the experimental package
    • --enable-debug flag (to better debug mesa and games bugs)
    • better package compression with 50% binary size reduction (for faster download)
    • custom OpenGL version string to make sure you are running drivers from this PPA


    *these are patented features that can be used after agreeing the related IP: ARB_texture_float and EXT_texture_compression_s3tc. They are provided here for testing purpose only, anyway.

    For more details check the changelog.

    Updated drivers and libdrm from git:


    Only free drivers will be provided. No binary fglrx and nvidia drivers.

    2 - Installing
    Just type this in a terminal:

    Code:
    sudo add-apt-repository ppa:oibaf/graphics-drivers
    sudo apt-get update
    sudo apt-get dist-upgrade
    Alternatively, add:
    Code:
    ppa:oibaf/graphics-drivers
    to your system's Software Sources and update the package from here.

    If all goes well, and if glxinfo is installed, typing in a shell:
    Code:
    glxinfo | grep OpenGL
    will print the driver type and version with the PPA custom string.

    3 - Using alternative drivers
    Examples on how to run your OpenGL program (in this case glxgears -info) with non default drivers.

    To force the use of gallium llvmpipe software render:
    Code:
    LIBGL_ALWAYS_SOFTWARE=1 glxgears -info
    To force the use of old non-gallium software render:
    Code:
    LIBGL_ALWAYS_SOFTWARE=1 LIBGL_DRIVERS_PATH=/usr/lib/dri-alternates glxgears -info
    To force the use of old non-gallium r300/r600 radeon drivers:
    Code:
    LIBGL_DRIVERS_PATH=/usr/lib/dri-alternates glxgears -info
    Experimental drivers:
    If you want to use the gallium nouveau or i915 driver install also the experimental package:
    Code:
    sudo apt-get install libgl1-mesa-dri-experimental
    The gallium nouveau driver will then be used by default rather than using llvmpipe.

    To force the use of gallium i915 driver (classic driver will still be the default):
    Code:
    LIBGL_DRIVERS_PATH=/usr/lib/dri-alternates glxgears -info
    4 - Debugging and reporting problems

    If you have some problem with the drivers try running the application from the command line and see if there are any graphics related warnings (note that mesa is built with --enable-debug which can provide useful debug informations). Also type dmesg to see if there are other related informations here. If you get crashes install the relevant -dbg pacakges (libgl1-mesa-dri-dbg or libgl1-mesa-dri-experimental-dbg for 3D drivers and xserver-xorg-video-intel-dbg , xserver-xorg-video-nouveau-dbg or xserver-xorg-video-radeon-dbg for X drivers) and reproduce the crash with gdb. Example:
    Code:
    $ gdb glxgears
    [...make your application crash and then get a backtrace with:]
    (gdb) bt
    If X.org crashes look at /var/log/Xorg.0.log (or /var/log/Xorg.0.log.old when a new X session is started after the crash).

    With the gathered informations try querying freedesktop bugzilla for similar bugs (also try with google). If no bugs were already reported, you may want to report a new one:


    5 - Revert to original drivers
    To revert to standard Ubuntu drivers (strongly suggested before an Ubuntu release upgrade) type the following in a prompt shell:
    Code:
    sudo apt-get install ppa-purge
    sudo ppa-purge ppa:oibaf/graphics-drivers
    6 - Requests and suggestions
    Feel free to request new features or propose any suggestions here!
    Last edited by oibaf; 05-26-2017, 11:20 AM.

  • DarkFoss
    replied
    Ruediix Did libdrm-common get installed when you upgraded to zesty? $ apt-cache policy libdrm-common or dpkg -l libdrm-common will show if it's installed, I'm not sure if apt-cache works unless apt-file is installed. The package causes problems with the ppa upgrade on Artful not sure if it was added to Zesty or not.
    Last edited by DarkFoss; 10-03-2017, 12:31 PM.

    Leave a comment:


  • Ruediix
    replied
    OK, I updated to Zesty and am STILL getting some awful dependency hell trying to install this PPA.

    I didn't have this issue in the past, it started a few months ago.

    If you could walk me through finding the problem it would be helpful.
    Last edited by Ruediix; 10-03-2017, 03:29 AM. Reason: more info

    Leave a comment:


  • oibaf
    replied
    I reverted to the old libdrm package. For some reason mesa doesn't build with the updated libdrm.

    Leave a comment:


  • DarkFoss
    replied
    Thanks for the quick response. New error trying to install libdrm-common without purging first:
    Code:
    $ sudo apt-get install libdrm-common
    Reading package lists... Done
    Building dependency tree      
    Reading state information... Done
    The following NEW packages will be installed:
      libdrm-common
    0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded.
    Need to get 0 B/13.1 kB of archives.
    After this operation, 38.9 kB of additional disk space will be used.
    (Reading database ... 151739 files and directories currently installed.)
    Preparing to unpack .../libdrm-common_2.4.83+git1709261752.7c7118~gd~a_all.deb ...
    Unpacking libdrm-common (2.4.83+git1709261752.7c7118~gd~a) ...
    dpkg: error processing archive /var/cache/apt/archives/libdrm-common_2.4.83+git1709261752.7c7118~gd~a_all.deb (--unpack):
     trying to overwrite '/usr/share/libdrm/amdgpu.ids', which is also in package libdrm-amdgpu1:amd64 2.4.83+git1709261752.7c7118~gd~a
    Errors were encountered while processing:
     /var/cache/apt/archives/libdrm-common_2.4.83+git1709261752.7c7118~gd~a_all.deb
    E: Sub-process /usr/bin/dpkg returned an error code (1)
    *edit ppa purged with the help of apt --fix-broken install drm-common is re-installed on default ubuntu . I will check upgrading once mesa build is completed sucessfully.
    Last edited by DarkFoss; 09-26-2017, 04:47 PM.

    Leave a comment:


  • oibaf
    replied
    Originally posted by DarkFoss View Post
    Just a heads up to anyone trying to install the ppa from a clean install of Artful 17.10 daily. Ubuntu seems to have added an extra dependency to libdrm2 that can leave the upgrade broken.
    From apt-cache show :
    Code:
    Package: libdrm2
    Architecture: amd64
    Version: 2.4.82-1
    Multi-Arch: same
    Priority: standard
    Section: libs
    Source: libdrm
    Origin: Ubuntu
    Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
    Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
    Bugs: https://bugs.launchpad.net/ubuntu/+filebug
    Installed-Size: 110
    Depends: libdrm-common (>= 2.4.82-1), libc6 (>= 2.17)
    Filename: pool/main/libd/libdrm/libdrm2_2.4.82-1_amd64.deb
    sudo dpkg --purge libdrm-common will allow the upgrade to continue as oibaf's libdrm2 only depends on libc6.
    I rebased my packages, they should be build in a hour and this issue should hopefully be fixed.

    Leave a comment:


  • DarkFoss
    replied
    Just a heads up to anyone trying to install the ppa from a clean install of Artful 17.10 daily. Ubuntu seems to have added an extra dependency to libdrm2 that can leave the upgrade broken.
    From apt-cache show :
    Code:
    Package: libdrm2
    Architecture: amd64
    Version: 2.4.82-1
    Multi-Arch: same
    Priority: standard
    Section: libs
    Source: libdrm
    Origin: Ubuntu
    Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
    Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
    Bugs: https://bugs.launchpad.net/ubuntu/+filebug
    Installed-Size: 110
    Depends: libdrm-common (>= 2.4.82-1), libc6 (>= 2.17)
    Filename: pool/main/libd/libdrm/libdrm2_2.4.82-1_amd64.deb
    sudo dpkg --purge libdrm-common will allow the upgrade to continue as oibaf's libdrm2 only depends on libc6.

    Leave a comment:


  • Ruediix
    replied
    Originally posted by oibaf View Post

    If someone send me a patch for the package(s) I can apply it. Unfortunately I don't have free time to do this myself currently.
    I've currently got a bad toothache (one more filling and it should be fixed) and backed housework keeping me from getting productive work done. I might add it to my "possible project" list. It would be a good one to get under my belt.

    Leave a comment:


  • oibaf
    replied
    Originally posted by Ruediix View Post

    Yeah, the only problem is the AMDGPU driver now requires a newer XOrg version than is in the older packages. It only properly works with the version that would be in the HWE version. Hence you probably should link Xenial against the HWE version in the Xenial PPA set.

    I'm sure you are aware how HWE versions are used in the LTS releases. Starting around the xx.03 version they switch to use HWE by default, hence you should probably switch your Xenial version to link to those if you aren't packaging your own.
    If someone send me a patch for the package(s) I can apply it. Unfortunately I don't have free time to do this myself currently.

    Leave a comment:


  • debianxfce
    replied
    Originally posted by Ruediix View Post
    Yeah, the only problem is the AMDGPU driver now requires a newer XOrg version than is in the older packages. It only properly works with the version that would be in the HWE version. Hence you probably should link Xenial against the HWE version in the Xenial PPA set.

    Use Debian testing Xfce, it is easier to maintain than ubuntu because of Debian testing is a rolling release distribution. See the second message:
    https://www.phoronix.com/forums/foru...in-living-room

    Leave a comment:

Working...
X