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.

  • oibaf
    replied
    Not enough info to debug (what do you mean with "not quite working"? distro version? installed packages? full commands output? other PPA installed? ...).

    Anyway about the removal apt and ppa-purge may not always properly work. You may want to should use the force options to restore your system.

    Leave a comment:


  • cnxsoft
    replied
    Are the drivers supposed to work on AMD Ryzen 7 2700U as well? It's not quite working for me.

    I can't uninstall it completely apparently. After removing it with the ppa-purge instructions, I still have references to it.

    Example
    The following packages have unmet dependencies:
    libgl1-mesa-glx : Depends: libgl1 but it is not going to be installed
    Depends: libglx-mesa0 but it is not going to be installed
    sudo apt install libglx-mesa0
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:

    The following packages have unmet dependencies:
    libglx-mesa0 : Depends: libglapi-mesa (= 19.0.2-1ubuntu1.1~18.04.2) but 19.2~git1908060730.5544b2~oibaf~b is to be installed
    E: Unable to correct problems, you have held broken packages

    Leave a comment:


  • oibaf
    replied
    Everyone still using cosmic/18.10 should upgrade to disco/19.04 ASAP.

    Cosmic will EOL in some days, the cosmic PPA will no longer be able to accept new packages and I'll soon remove the remaining old packages. For more info about the upgrade of the PPA, see PPA page.

    Leave a comment:


  • oibaf
    replied
    And I also publish arm64 packages.

    Leave a comment:


  • oibaf
    replied
    This is mostly because I also publish dbg packages in addition to release packages. Dbg packages uses lot of space, check their size in my PPA.

    Also I manage 4 Ubuntu versions.

    And I update the packages twice every day, and older packages require some days before being purged, increasing PPA size.

    Lastly I also have some other bonus packages, like newer versions of 0 AD game, which is a relatively big package.

    Llvm has nothing to do with the size.

    Leave a comment:


  • oibaf
    replied
    Since 1 May mesa packages on oibaf PPA (for all 4 supported Ubuntu versions) are built with LTO! Binaries size:
    • dri drivers are 5% smaller with LTO;
    • gallium drivers are 9% smaller with LTO.

    Leave a comment:


  • MaXaMaR
    replied
    Problem is, I dumped Ubuntu & installed Debian, latest firmware-amd package looks to be 15 days outdated in debian. Now it just shows black screen with mouse pointer.

    Leave a comment:


  • MaXaMaR
    replied
    So the fix was to upgrade to disco, great.

    Leave a comment:


  • MaXaMaR
    replied
    Hi hope somebody can help me with my issue.
    Ubuntu 18.10 (non-lts, normal) on top of ESXi box, RX590, gives messages
    Code:
    [    5.154978] amdgpu 0000:13:00.0: BAR 6: can't assign [??? 0x00000000 flags 0x20000000] (bogus alignment)
    [    5.432083] amdgpu 0000:13:00.0: Direct firmware load for amdgpu/polaris10_k_mc.bin failed with error -2
    lspci shows:
    Code:
    13:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X] (rev e1) (prog-if 00 [VGA controller])
        Subsystem: Sapphire Technology Limited Nitro+ Radeon RX 580 4GB
    Added this repository and nothing changed. Can't install AMDGPU-PRO as only 18.04 is supported.
    Windows 10 is doing ok, recognizing as RX590.
    Maybe I need to update amdgpu, haven't found how.

    Leave a comment:

Working...
X