{"id":79,"date":"2008-05-22T13:44:23","date_gmt":"2008-05-22T12:44:23","guid":{"rendered":"http:\/\/www.instruyete.org\/?p=79"},"modified":"2008-05-22T13:44:23","modified_gmt":"2008-05-22T12:44:23","slug":"koexistenz-von-nvidia-und-mesa-auf-opensuse","status":"publish","type":"post","link":"https:\/\/www.instruyete.org\/?p=79","title":{"rendered":"Koexistenz von NVIDIA und MESA auf openSuSE"},"content":{"rendered":"<p>Beim \u00dcbersetzen von Programmen auf einem System mit NVIDIA Treiber kann man, wenn es dumm l\u00e4uft auf folgendes Problem stossen:<\/p>\n<pre>\n\/usr\/X11R6\/lib\/libGLcore.so.1: undefined reference to `_nv000042gl'\n\/usr\/lib\/gcc\/i586-suse-linux\/4.1.2\/..\/..\/..\/libGL.so: undefined reference to `_nv000044gl'<\/pre>\n<p>Entstanden ist das Problem durch eine unzureichende Abgrenzung zwischen der OpenGL Implementation von MESA und NVIDIA. Es l\u00e4sst sich vollst\u00e4ndig vermeiden, wenn das NVIDIA OpenGL Paket per Paketmanager anstatt manuell eingespielt wird.<\/p>\n<p>nvidia-gfxG01-kmp-default<br \/>\nx11-video-nvidiaG01<\/p>\n<p>W\u00e4hrend erstes Paket nur den Treiber (<strong>nvidia.ko<\/strong>) enth\u00e4lt, beinhaltet das 2.Paket auch die klassische OpenGL Bibliothek (<strong>libGL.so<\/strong>). Der Vorteil dieses Paketes ist, dass alle Teile unter<\/p>\n<pre>\n\/usr\/lib\/X11R6<\/pre>\n<p>landen. Die generische OpenGL Implementation eines jeden Linux Systems wird durch MESA bereitgestellt, welches die gleichen (und ein paar mehr) Dateien unter<\/p>\n<pre>\n\/usr\/lib<\/pre>\n<p>bereitstellt. Jede Anwendung kann dann entscheiden, ob es die generische oder die spezielle NVIDIA OpenGL Implementation nimmt &#8211; was im Normallfall nicht vorkommt.<\/p>\n<p>Das obige \u00dcbersetzungsproblem entsteht nun dadurch, dass man den NVIDIA Treiber manuell installiert, und dabei die OpenGL Implementation nach <strong>\/usr\/lib<\/strong> schreibt. Dadurch ergibt sich in diesem Bereich ein Mix von OpenGL shared objects, die teilweise NVIDIA Code ben\u00f6tigen oder auch nicht.<br \/>\nBereinigen kann man die Situation durch l\u00f6schen aller OpenGL Bestandteile in <strong>\/usr\/lib<\/strong> und Neuinstallation des MESA packages.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Beim \u00dcbersetzen von Programmen auf einem System mit NVIDIA Treiber kann man, wenn es dumm l\u00e4uft auf folgendes Problem stossen: \/usr\/X11R6\/lib\/libGLcore.so.1: undefined reference to `_nv000042gl&#8216; \/usr\/lib\/gcc\/i586-suse-linux\/4.1.2\/..\/..\/..\/libGL.so: undefined reference to `_nv000044gl&#8216; Entstanden ist das Problem durch eine unzureichende Abgrenzung zwischen der OpenGL Implementation von MESA und NVIDIA. Es l\u00e4sst sich vollst\u00e4ndig vermeiden, wenn das NVIDIA OpenGL &hellip; <a href=\"https:\/\/www.instruyete.org\/?p=79\" class=\"more-link\"><span class=\"screen-reader-text\">Koexistenz von NVIDIA und MESA auf openSuSE<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,7],"tags":[],"class_list":["post-79","post","type-post","status-publish","format-standard","hentry","category-linux","category-unix"],"_links":{"self":[{"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/posts\/79","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=79"}],"version-history":[{"count":0,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/posts\/79\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.instruyete.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=79"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=79"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=79"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}