{"id":1514,"date":"2013-06-30T03:00:31","date_gmt":"2013-06-30T07:00:31","guid":{"rendered":"http:\/\/adterrasperaspera.com\/blog\/?p=1514"},"modified":"2014-01-05T07:55:03","modified_gmt":"2014-01-05T12:55:03","slug":"running-drmdrimesaddxxorg-from-git-on-debian-sid","status":"publish","type":"post","link":"https:\/\/adterrasperaspera.com\/blog\/2013\/06\/30\/running-drmdrimesaddxxorg-from-git-on-debian-sid\/","title":{"rendered":"Running DRM\/DRI\/Mesa\/DDX\/Xorg from git on Debian Sid"},"content":{"rendered":"<p>A lot of the guides out there on how to build the entire X stack from scratch are missing steps or are only for part of the stack. This assumes you&#8217;re on Radeon, substitute appropriately for Intel or NVidia (download different driver, use different options with Mesa).<\/p>\n<p>Please note: I haven&#8217;t been able to get i386 on amd64 builds to work yet, so if you need to run 32 bit apps on 64 bit, stick with your distro&#8217;s build for everything, don&#8217;t mix and match.<\/p>\n<p><b>To get the source<\/b>:<\/p>\n<pre><code>sudo apt-get build-dep libdrm mesa xserver-xorg-video-ati xorg-server\r\nsudo apt-get install git llvm-3.4-dev libelf-dev linux-headers-`uname -r` build-essential\r\nmkdir xorg && cd xorg\r\ngit clone git:\/\/anongit.freedesktop.org\/git\/xorg\/util\/macros\r\ngit clone git:\/\/anongit.freedesktop.org\/git\/xorg\/proto\/x11proto\r\ngit clone git:\/\/anongit.freedesktop.org\/git\/mesa\/drm\r\ngit clone git:\/\/anongit.freedesktop.org\/git\/xorg\/lib\/libXau\r\ngit clone git:\/\/anongit.freedesktop.org\/xorg\/xserver\r\ngit clone git:\/\/anongit.freedesktop.org\/git\/mesa\/mesa\r\ngit clone git:\/\/anongit.freedesktop.org\/git\/xorg\/driver\/glamor\r\ngit clone git:\/\/anongit.freedesktop.org\/xorg\/driver\/xf86-video-ati\r\ngit clone git:\/\/anongit.freedesktop.org\/xorg\/driver\/xf86-input-evdev\r\n<\/code><\/pre>\n<p><b>LLVM version<\/b><br \/>\nMesa requires LLVM 3.4 or newer, and Debian Sid is still on 3.3 as default. Until this is fixed, make sure the package <code>llvm-3.3<\/code> is not installed, and do <code>ln -s \/usr\/bin\/llvm-config-3.4 \/usr\/bin\/llvm-config<\/code><\/p>\n<p><b>Modify the environment<\/b><br \/>\nAdd to <code>\/etc\/environment<\/code>:<\/p>\n<pre><code>LIBGL_DRIVERS_PATH=\/opt\/xorg\/lib\/dri\/\r\nR600_DEBUG=sb<\/code><\/pre>\n<p>Add to <code>\/etc\/X11\/xorg.conf<\/code>:<\/p>\n<pre><code>Section \"Files\"\r\n        ModulePath \"\/opt\/xorg\/lib\/xorg\/modules,\/usr\/lib\/xorg\/modules\"\r\nEndSection\r\n\r\nSection \"Module\"\r\n  Load \"dri2\"\r\n  Load \"glamoregl\"\r\nEndSection\r\n<\/code><\/pre>\n<p>&#8230; and in the <code>Device<\/code> section for your video card add <code>Option \"AccelMethod\" \"glamor\"<\/code> and make sure <code>Driver<\/code> is set to <code>\"radeon\"<\/code>.<\/p>\n<p>Create <code>\/etc\/ld.so.conf.d\/0-xorg-git.conf<\/code>:<\/p>\n<pre><code>\/opt\/xorg\/lib<\/code><\/pre>\n<p><b>Build the code<\/b><\/p>\n<pre><code>export PKG_CONFIG_PATH=\/opt\/xorg\/lib\/pkgconfig:\\\r\n\/opt\/xorg\/share\/pkgconfig:${PKG_CONFIG_PATH}\r\nexport LD_LIBRARY_PATH=\/opt\/xorg\/lib:${LD_LIBRARY_PATH}\r\nexport LD_RUN_PATH=\/opt\/xorg\/lib:${LD_RUN_PATH}\r\nexport LDFLAGS=-L\/opt\/xorg\/lib CPPFLAGS=-I\/opt\/xorg\/include\r\nexport ACLOCAL=\"\/usr\/bin\/aclocal -I \/opt\/xorg\/share\/aclocal\"\r\n\r\ncd macros\r\n.\/autogen.sh --prefix=\/opt\/xorg\r\nsudo make install\r\ncd ..\r\n\r\ncd x11proto\r\n.\/autogen.sh --prefix=\/opt\/xorg\r\nsudo make install\r\ncd ..\r\n\r\ncd drm\r\n.\/autogen.sh --prefix=\/opt\/xorg\r\nmake -j4\r\nsudo make install\r\ncd ..\r\n\r\ncd libXau\r\n.\/autogen.sh --prefix=\/opt\/xorg\r\nmake -j4\r\nsudo make install\r\ncd ..\r\n\r\ncd xserver\r\n.\/autogen.sh --prefix=\/opt\/xorg --enable-xorg --disable-dmx --disable-xvfb --disable-xnest --disable-xwin\r\nmake -j4\r\nsudo make install\r\ncd ..\r\nsudo chown root \/opt\/xorg\/bin\/Xorg\r\nsudo chmod u+s \/opt\/xorg\/bin\/Xorg\r\nsudo ldconfig\r\nsudo ln -s \/usr\/bin\/xkbcomp \/opt\/xorg\/bin\/xkbcomp\r\nsudo ln -s \/usr\/share\/X11\/xkb\/rules \/opt\/xorg\/share\/X11\/xkb\/rules\r\n\r\ncd mesa\r\nexport DRI_DRIVERS=\"radeon,r200\"\r\nexport GALLIUM_DRIVERS=\"r300,r600,radeonsi,swrast\"\r\n.\/autogen.sh --prefix=\/opt\/xorg --with-dri-drivers=$DRI_DRIVERS --with-gallium-drivers=$GALLIUM_DRIVERS --with-egl-platforms=x11,drm --enable-gbm --enable-shared-glapi --enable-glx-tls --enable-driglx-direct --enable-gles1 --enable-gles2 --enable-r600-llvm-compiler --enable-xorg --enable-xa --enable-gallium-egl --enable-gallium-gbm --enable-texture-float\r\nmake -j4\r\nsudo make install\r\ncd ..\r\n\r\ncd glamor\r\n.\/autogen.sh --prefix=\/opt\/xorg\r\nmake -j4\r\nsudo make install\r\ncd ..\r\n\r\ncd xf86-video-ati\r\n.\/autogen.sh --prefix=\/opt\/xorg --enable-glamor\r\nmake -j4\r\nsudo make install\r\ncd ..\r\n\r\ncd xf86-input-evdev\r\n.\/autogen.sh --prefix=\/opt\/xorg\r\nmake -j4\r\nsudo make install\r\ncd ..\r\n<\/code><\/pre>\n<p>All you have to do now is tell your XDM to use <code>\/opt\/xorg\/bin\/Xorg<\/code> and then restart it. The Xserver puts its log in <code>\/opt\/xorg\/var\/log\/Xorg.0.log<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A lot of the guides out there on how to build the entire X stack from scratch are missing steps or are only for part of the stack. This assumes you&#8217;re on Radeon, substitute appropriately for Intel or NVidia (download different driver, use different options with Mesa). Please note: I haven&#8217;t been able to get [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[404],"tags":[],"_links":{"self":[{"href":"https:\/\/adterrasperaspera.com\/blog\/wp-json\/wp\/v2\/posts\/1514"}],"collection":[{"href":"https:\/\/adterrasperaspera.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/adterrasperaspera.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/adterrasperaspera.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/adterrasperaspera.com\/blog\/wp-json\/wp\/v2\/comments?post=1514"}],"version-history":[{"count":48,"href":"https:\/\/adterrasperaspera.com\/blog\/wp-json\/wp\/v2\/posts\/1514\/revisions"}],"predecessor-version":[{"id":2275,"href":"https:\/\/adterrasperaspera.com\/blog\/wp-json\/wp\/v2\/posts\/1514\/revisions\/2275"}],"wp:attachment":[{"href":"https:\/\/adterrasperaspera.com\/blog\/wp-json\/wp\/v2\/media?parent=1514"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/adterrasperaspera.com\/blog\/wp-json\/wp\/v2\/categories?post=1514"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/adterrasperaspera.com\/blog\/wp-json\/wp\/v2\/tags?post=1514"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}