No announcement yet.

Updated and Optimized Ubuntu Free Graphics Drivers

  • 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:

    sudo add-apt-repository ppa:oibaf/graphics-drivers
    sudo apt-get update
    sudo apt-get dist-upgrade
    Alternatively, add:
    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:
    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:
    LIBGL_ALWAYS_SOFTWARE=1 glxgears -info
    To force the use of old non-gallium software render:
    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:
    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:
    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):
    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:
    $ gdb glxgears
    [...make your application crash and then get a backtrace with:]
    (gdb) bt
    If 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:
    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.

  • maestrodan
    Hello, I have some problem with this ppa and ubuntu 18.04, 16.04 and 17.10, driver is nouveau on nv43(GeForce 6600), it can't work.
    glxinfo | grep OpenGL

    libGL error: failed to create dri screen
    libGL error: failed to load driver: nouveau
    OpenGL vendor string: VMware, Inc.
    OpenGL renderer string: llvmpipe (LLVM 6.0, 128 bits)
    OpenGL core profile version string: 3.3 (Core Profile) Mesa 18.2.0-devel
    OpenGL core profile shading language version string: 3.30
    OpenGL core profile context flags: (none)
    OpenGL core profile profile mask: core profile
    OpenGL core profile extensions:
    OpenGL version string: 3.1 Mesa 18.2.0-devel
    OpenGL shading language version string: 1.40
    OpenGL context flags: (none)
    OpenGL extensions:
    OpenGL ES profile version string: OpenGL ES 3.0 Mesa 18.2.0-devel
    OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
    OpenGL ES profile extensions:

    dmesg | grep nouveau

    [ 1.946935] nouveau 0000:04:00.0: NVIDIA NV43 (043100a4)
    [ 1.978810] nouveau 0000:04:00.0: bios: version
    [ 1.979634] nouveau 0000:04:00.0: fb: 512 MiB DDR2
    [ 2.028805] nouveau 0000:04:00.0: DRM: VRAM: 508 MiB
    [ 2.028806] nouveau 0000:04:00.0: DRM: GART: 512 MiB
    [ 2.028810] nouveau 0000:04:00.0: DRM: TMDS table version 1.1
    [ 2.028812] nouveau 0000:04:00.0: DRM: DCB version 3.0
    [ 2.028815] nouveau 0000:04:00.0: DRM: DCB outp 00: 01000300 00000028
    [ 2.028818] nouveau 0000:04:00.0: DRM: DCB outp 01: 04011320 00000028
    [ 2.028820] nouveau 0000:04:00.0: DRM: DCB outp 02: 04011322 00000000
    [ 2.028822] nouveau 0000:04:00.0: DRM: DCB outp 03: 020223f1 00a0c030
    [ 2.028824] nouveau 0000:04:00.0: DRM: DCB conn 00: 0000
    [ 2.028825] nouveau 0000:04:00.0: DRM: DCB conn 01: 1130
    [ 2.028827] nouveau 0000:04:00.0: DRM: DCB conn 02: 0210
    [ 2.028828] nouveau 0000:04:00.0: DRM: DCB conn 03: 0211
    [ 2.028830] nouveau 0000:04:00.0: DRM: DCB conn 04: 0213
    [ 2.029095] nouveau 0000:04:00.0: DRM: Saving VGA fonts
    [ 2.082443] nouveau 0000:04:00.0: DRM: MM: using M2MF for buffer copies
    [ 2.082456] nouveau 0000:04:00.0: DRM: Setting dpms mode 3 on TV encoder (output 3)
    [ 2.220206] nouveau 0000:04:00.0: DRM: allocated 1024x768 fb: 0x9000, bo 000000003e1c19e6
    [ 2.249930] fbcon: nouveaufb (fb0) is primary device
    [ 2.520971] nouveau 0000:04:00.0: fb0: nouveaufb frame buffer device
    [ 2.536301] [drm] Initialized nouveau 1.3.1 20120801 for 0000:04:00.0 on minor 0
    [ 17.521310] nouveau 0000:04:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=nonewns=io+mem

    And I can't use any games. What is solution? I saw, that for nouveau i need to install libdrm mesa experimental package, but there is no such package in ppa. What should I do?

    Leave a comment:

  • Dukenukemx
    I wanna ask someone who's using Oibaf's PPA on Pitcairn and switched to AMDGPU. Has it been stable for you? I have a Radeon HD 7850 and AMDGPU on kernel 4.15 and 4.16 will freeze Cinnamon within a few minutes from booting. Kernels 4.13 and 4.14 won't but applications like Firefox and Dolphin will freeze instead. I've found 4.13 to be the most stable.

    I have to switch back to Radeon but I want that Vulkan goodness from AMDGPU. Has anyone with Radeon HD 7000 series or whatever Pitcairn GPU to be stable with AMDGPU?

    Leave a comment:

  • Back
    Hey, just wanted to say thanks to Oibaf for putting together this PPA, has REALLY helped sort out GPU drivers on my machine (running Linux Mint 18.3 mate). Just have a quick question.

    I get an update for mesa just about everyday, sometimes twice a day, actually rare to see a day without a mesa update. Are the drivers actually being updated that quickly or is something else going on? Nothing bad has happened, just curious.

    Leave a comment:

  • zukov
    Any workaround to install this package on Debian?

    Leave a comment:

  • oibaf
    For the record I recently added 1.13 releases of both xcb-proto and libxcb, now required by mesa.

    Leave a comment:

  • Ruediix
    Could we get a Podoka Dev branch with the release dev branch (as opposed to git). I know this branch is only sometimes ahead of stable, but when it is, it's a substantial update. It should also use the latest dev branch release (as opposed to git) of LLVM and other dependencies.

    Also, getting the Podoka stable to more accurately stay in line with the stable branch of Mesa would be good. It's currently a few behind a few versions, which contain several important bugfixes.

    Leave a comment:

  • farestp
    Hello, at first i want to give thanks to oibaf and friends who maintenance the ppa oibaf driver.

    I want to ask, how i install a newer opencl version? On the ppa description said that "OpenCL support with updated libclc", so how to install opencl 2.0 or 2.2? I am newbie to linux and driver things. I just want to use blender with gpu compute but must need opencl. I want to update the newer opencl version because when i run blender with "CYCLES_OPENCL_SPLIT_KERNEL_TEST=1" the terminal said that "OpenCL version 1.1 does not support the 'static' storage class specifier". Thank you

    Leave a comment:

  • debianxfce
    A lot of thanks to Oibaf again, bionic version is compatible with Debian sid.

    Leave a comment:

  • Melcar
    Originally posted by Dukenukemx View Post

    Padoka PPA is broken badly for Mint users. I have more than one machine and they all had Padoka until one day the updates had held back packages. Ppa-purge even with -d xenial will result in you losing nearly your whole system if you aren't careful. One day a dist-upgrade resulted in me losing everything from Cinnamon to a bunch of other applications. I had to reinstall everything. I wasn't paying attention and didn't realize I had uninstalled half my system.

    Oibaf PPA tends to be more friendlier to Mint users but it has it's moments of breaking. But I can ppa-purge without issue. Plus I can communicate with Oibaf where Padoka is harder to find. I doubt Padoka realizes his PPA has been broken for Mint users for over a month.
    Ha, that happened to me also a couple of times. Doing a purge of the Padoka ppas always wants to remove half your system. The first time I was not careful and had to reinstall. Never had the same issues with oibaf, but at the moment it's unusable for me. Fortunately there isn't much of a performance difference with the programs/games I run, except for some games that stopped working with Wine.

    Leave a comment: