From owner-freebsd-x11@FreeBSD.ORG Wed Apr 29 15:07:51 2009 Return-Path: Delivered-To: x11@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3DB86106566B for ; Wed, 29 Apr 2009 15:07:51 +0000 (UTC) (envelope-from lehmann@ans-netz.de) Received: from avocado.salatschuessel.net (avocado.salatschuessel.net [78.111.72.186]) by mx1.freebsd.org (Postfix) with SMTP id A67448FC0C for ; Wed, 29 Apr 2009 15:07:50 +0000 (UTC) (envelope-from lehmann@ans-netz.de) Received: (qmail 66113 invoked by uid 89); 29 Apr 2009 14:41:08 -0000 Received: from unknown (HELO kartoffel.salatschuessel.net) (78.111.72.187) by avocado.salatschuessel.net with SMTP; 29 Apr 2009 14:41:08 -0000 Date: Wed, 29 Apr 2009 16:41:13 +0200 From: Oliver Lehmann To: x11@freebsd.org Message-Id: <20090429164113.f0b48048.lehmann@ans-netz.de> X-Mailer: Sylpheed 2.6.0 (GTK+ 2.16.1; amd64-portbld-freebsd7.1) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: Subject: Problem with OpenGL and ATI HD3850 X-BeenThere: freebsd-x11@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: X11 on FreeBSD -- maintaining and support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Apr 2009 15:07:51 -0000 Hi, I must admit that I'm not that familiar with the topic, but anyhow: I'm trying to get an application to run which is called "freeorion". It uses as a backend GiGi which itself uses Ogre3D. Inside Ogre3D, the GL Renderer is used for rendering (Not SDL for example). When I now startup the application, All I get is unknown chip id 0x9515, can't guess. main() caught exception(std::exception): basic_string::_S_construct NULL not valid The exception is caused because glGetString(GL_VERSION) returns NULL which is assigned afterwards. The "unknown chip id..." comes out of dri from the radeon driver. It is clear to me, that there is no hardware 3D support for my card. This is not the point. I wonder why the GL is moving to the radeon driver. Shouldn't DRI support a software 3D emulation which should be used if there is no hardware support? Executing glxgears for example says olivleh1@kartoffel olivleh1> glxgears -info unknown chip id 0x9515, can't guess. GL_RENDERER = Software Rasterizer GL_VERSION = 2.1 Mesa 7.4 GL_VENDOR = Mesa Project So GL_VERSION seems to be indeed something - So I wonder what could cause the NULL exception here.... In Ogre3D, the failing code part is: void GLSupport::initialiseExtensions(void) { // Set version string const GLubyte* pcVer = glGetString(GL_VERSION); printf("ogre 110\n"); assert(pcVer && "Problems getting GL version string using glGetString"); printf("ogre 110.1\n"); String tmpStr = (const char*)pcVer; printf("ogre 110.2\n"); LogManager::getSingleton().logMessage("GL_VERSION = " + tmpStr); printf("ogre 110.3\n"); mVersion = tmpStr.substr(0, tmpStr.find(" ")); 110.1 gets printed out and then the exception is raised. 110.2 is not printed out. assert(pcVer && "Problems getting GL version string using glGetString"); should rule out that pcVer contains a NULL string so String tmpStr = (const char*)pcVer; could not raise a NULL-exception or am I wrong? Unfortunally I was not able to printout with a printf what glGetString() really returns here. Everything I tried resultet in a SegViol. -- Oliver Lehmann http://www.pofo.de/ http://wishlist.ans-netz.de/