}
 
         if (!libgl_handle) {
-            OS::DebugMessage("error: couldn't load %s\n", libgl_filename);
+            OS::DebugMessage("apitrace: error: couldn't load %s\n", libgl_filename);
             OS::Abort();
             return NULL;
         }
     result = dlsym(libgl_handle, symbol);
 
     if (result == dlsym(RTLD_SELF, symbol)) {
-        OS::DebugMessage("error: symbol lookup recursion\n");
+        OS::DebugMessage("apitrace: error: symbol lookup recursion\n");
         OS::Abort();
         return NULL;
     }
 
     case GL_DOUBLE:
         return 8;
     default:
-        OS::DebugMessage("warning: %s: unknown GLenum 0x%04X\n", __FUNCTION__, type);
+        OS::DebugMessage("apitrace: warning: %s: unknown GLenum 0x%04X\n", __FUNCTION__, type);
         return 0;
     }
 }
             }
         }
     } else {
-        OS::DebugMessage("warning: %s: unknown GLenum 0x%04X\n", __FUNCTION__, type);
+        OS::DebugMessage("apitrace: warning: %s: unknown GLenum 0x%04X\n", __FUNCTION__, type);
     }
 
     if (__element_array_buffer) {
 
 static inline GLuint
 __glDrawArraysIndirect_maxindex(const GLvoid *indirect) {
-    OS::DebugMessage("warning: %s: unsupported\n", __FUNCTION__);
+    OS::DebugMessage("apitrace: warning: %s: unsupported\n", __FUNCTION__);
     return 0;
 }
 
 static inline GLuint
 __glDrawElementsIndirect_maxindex(GLenum type, const GLvoid *indirect) {
-    OS::DebugMessage("warning: %s: unsupported\n", __FUNCTION__);
+    OS::DebugMessage("apitrace: warning: %s: unsupported\n", __FUNCTION__);
     return 0;
 }
 
         channels = 4;
         break;
     default:
-        OS::DebugMessage("warning: %s: unknown GLenum 0x%04X\n", __FUNCTION__, target);
+        OS::DebugMessage("apitrace: warning: %s: unknown GLenum 0x%04X\n", __FUNCTION__, target);
         return 0;
     }
 
         channels = 4;
         break;
     default:
-        OS::DebugMessage("warning: %s: unknown GLenum 0x%04X\n", __FUNCTION__, target);
+        OS::DebugMessage("apitrace: warning: %s: unknown GLenum 0x%04X\n", __FUNCTION__, target);
         return 0;
     }
 
     case GL_BGRA:
         return 4;
     default:
-        OS::DebugMessage("warning: %s: unexpected format GLenum 0x%04X\n", __FUNCTION__, format);
+        OS::DebugMessage("apitrace: warning: %s: unexpected format GLenum 0x%04X\n", __FUNCTION__, format);
         return 0;
     }
 }
         bits_per_pixel = 64;
         break;
     default:
-        OS::DebugMessage("warning: %s: unexpected type GLenum 0x%04X\n", __FUNCTION__, type);
+        OS::DebugMessage("apitrace: warning: %s: unexpected type GLenum 0x%04X\n", __FUNCTION__, type);
         bits_per_pixel = 0;
         break;
     }
 
             print '    case GL_%s:' % target
             print '        return & __%s_mapping;' % target.lower()
         print '    default:'
-        print '        OS::DebugMessage("warning: unknown buffer target 0x%04X\\n", target);'
+        print '        OS::DebugMessage("apitrace: warning: unknown buffer target 0x%04X\\n", target);'
         print '        return NULL;'
         print '    }'
         print '}'
         print '            return num_compressed_texture_formats;'
         print '        }'
         print '    default:'
-        print r'        OS::DebugMessage("warning: %s: unknown GLenum 0x%04X\n", __FUNCTION__, pname);'
+        print r'        OS::DebugMessage("apitrace: warning: %s: unknown GLenum 0x%04X\n", __FUNCTION__, pname);'
         print '        return 1;'
         print '    }'
         print '}'
 
         print '        %s = (%s)procPtr;' % (pvalue, ptype)
         print '        return (__GLXextFuncPtr)&%s;' % (f.name,)
         print '    }'
-    print '    OS::DebugMessage("apitrace: unknown function \\"%s\\"\\n", (const char *)procName);'
+    print '    OS::DebugMessage("apitrace: warning: unknown function \\"%s\\"\\n", (const char *)procName);'
     print '    return procPtr;'
     print '}'
     print
     if (!dlopen_ptr) {
         dlopen_ptr = (PFNDLOPEN)dlsym(RTLD_NEXT, "dlopen");
         if (!dlopen_ptr) {
-            OS::DebugMessage("error: dlsym(RTLD_NEXT, \"dlopen\") failed\n");
+            OS::DebugMessage("apitrace: error: dlsym(RTLD_NEXT, \"dlopen\") failed\n");
             return NULL;
         }
     }
 
     if (filename && handle && !libgl_filename) {
         if (0) {
-            OS::DebugMessage("warning: dlopen(\"%s\", 0x%x)\n", filename, flag);
+            OS::DebugMessage("apitrace: warning: dlopen(\"%s\", 0x%x)\n", filename, flag);
         }
 
         // FIXME: handle absolute paths and other versions
                 OS::DebugMessage("apitrace: redirecting dlopen(\"%s\", 0x%x)\n", filename, flag);
                 handle = __dlopen(info.dli_fname, flag);
             } else {
-                OS::DebugMessage("warning: dladdr() failed\n");
+                OS::DebugMessage("apitrace: warning: dladdr() failed\n");
             }
         }
     }
 
         libgl_handle = __dlopen(libgl_filename, RTLD_GLOBAL | RTLD_LAZY);
         if (!libgl_handle) {
-            OS::DebugMessage("error: couldn't find libGL.so\n");
+            OS::DebugMessage("apitrace: error: couldn't find libGL.so\n");
             return NULL;
         }
     }
 
         _writeUInt(sig->num_flags);
         for (unsigned i = 0; i < sig->num_flags; ++i) {
             if (i != 0 && sig->flags[i].value == 0) {
-                OS::DebugMessage("apitrace: sig %s is zero but is not first flag\n", sig->flags[i].name);
+                OS::DebugMessage("apitrace: warning: sig %s is zero but is not first flag\n", sig->flags[i].name);
             }
             _writeString(sig->flags[i].name);
             _writeUInt(sig->flags[i].value);
 
                 print '    %s = (%s)&%s;' % (instance, function.type, f.name);
         
             def handle_default():
-                print '    OS::DebugMessage("apitrace: unknown function \\"%s\\"\\n", lpszProc);'
+                print '    OS::DebugMessage("apitrace: warning: unknown function \\"%s\\"\\n", lpszProc);'
 
             string_switch('lpszProc', func_dict.keys(), handle_case, handle_default)
             print '    }'