Announcement

Collapse
No announcement yet.

DRI, FreeBSD and Wolfenstein

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • DRI, FreeBSD and Wolfenstein

    Hi!

    Could anyone help me to make RTCW run under FreeBSD (XF86 4.1.0)?
    I have no hw 3D under X.

    My specs:
    FreeBSD 4.4 (Linux libs 6) , XFree86 4.1.0, Matrox G400 32DH.

  • #2
    I don't think it will ever work without hardware acceleration, as RTCW uses heavily Quake III's engine and Q3 doesn't run software only.
    Hey, maybe you and I could... you know... [SLAP] Agh!

    Comment


    • #3
      I mean I couldnt make hw 3d acc. to work properly. Glxgears shows pretty weak performance only ~140 fps. Under Suse 7.3 Linux it shows about 740 fps and rtcw works very well.
      Anyone here using FreeBSD with XF 4.1.0 hw 3d enabled?

      Comment


      • #4
        I have a G450 with DRI enabled under FreeBSD 4.4. It runs RTCW reasonably well. You need to get the drm-kmod port and install it. Then you should be good to go.

        Comment


        • #5
          Thx cRock.
          I've installed the kmod but on reboot I got this error message:
          "/kernel: link_elf: symbol agp_get_info undefined"
          There is only tdfx loaded.
          I use XFree86 4.1.0_6 and linux_base-6.1 .
          I will reinstall the whole system from the cd.

          Did u recompile anything?
          Do u use utah-glx or linux_mesa or anything else?

          Comment


          • #6
            Sounds like you have an AGP problem.

            Make sure you have the following in /boot/loader.conf

            agp_load="YES"

            Then recompile your kernel without AGP. This will force the system to load AGP as a module.

            Comment


            • #7
              thx, I've made it.

              the modules load nicely, mga module reports the G400 with AGP shared memory.
              The fps numbers of glxgears is grew to 180 which is better than before but still too low.
              glxinfo reports no dri is in use.

              how did u enable it?
              I have the Section "DRI" in my xconfig file.

              Comment


              • #8
                Well, I dunno. Sounds like you've got the hard part done. I get 435 FPS in gears (2 x 1gig durons).

                Here is my XF86Config for reference:

                Section "ServerLayout"
                Identifier "XFree86 Configured"
                Screen 0 "Screen0" 0 0
                InputDevice "Mouse0" "CorePointer"
                InputDevice "Keyboard0" "CoreKeyboard"
                EndSection

                Section "Files"
                RgbPath "/usr/X11R6/lib/X11/rgb"
                ModulePath "/usr/X11R6/lib/modules"
                FontPath "/usr/X11R6/lib/X11/fonts/misc/"
                FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
                FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
                FontPath "/usr/X11R6/lib/X11/fonts/CID/"
                FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
                FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
                FontPath "${PREFIX}/share/AbiSuite/fonts"
                EndSection

                Section "Module"
                Load "dbe"
                Load "dri"
                Load "extmod"
                Load "glx"
                Load "pex5"
                Load "record"
                Load "xie"
                Load "type1"
                EndSection

                Section "InputDevice"
                Identifier "Keyboard0"
                Driver "keyboard"
                EndSection

                Section "InputDevice"
                Identifier "Mouse0"
                Driver "mouse"
                Option "Protocol" "auto"
                Option "Device" "/dev/sysmouse"
                Option "Buttons" "6"
                Option "ZAxisMapping" "4 5"
                EndSection

                Section "Monitor"
                Identifier "Monitor0"
                VendorName "NEC"
                ModelName "NEC FE700+"
                HorizSync 31.0 - 70.0
                VertRefresh 55.0 - 120.0
                EndSection

                Section "Device"
                ### Available Driver options are:-
                ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
                ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
                ### [arg]: arg optional
                #Option "SWcursor" # [<bool>]
                #Option "HWcursor" # [<bool>]
                #Option "PciRetry" # [<bool>]
                #Option "SyncOnGreen" # [<bool>]
                #Option "NoAccel" # [<bool>]
                #Option "ShowCache" # [<bool>]
                #Option "Overlay" # [<str>]
                #Option "MGASDRAM" # [<bool>]
                #Option "ShadowFB" # [<bool>]
                #Option "UseFBDev" # [<bool>]
                #Option "ColorKey" # <i>
                #Option "SetMclk" # <freq>
                #Option "OverclockMem" # [<bool>]
                #Option "VideoKey" # <i>
                #Option "Rotate" # [<str>]
                #Option "TexturedVideo" # [<bool>]
                #Option "Crtc2Half" # [<bool>]
                #Option "Crtc2Ram" # <i>
                #Option "Int10" # [<bool>]
                Option "AGPMode" "2"
                #Option "DigitalScreen" # [<bool>]
                #Option "TV" # [<bool>]
                #Option "TVStandard" # [<str>]
                #Option "CableType" # [<str>]
                #Option "NoHal" # [<bool>]
                #Option "SwappedHead" # [<bool>]
                #Option "DRI" # [<bool>]
                Identifier "Card0"
                Driver "mga"
                VendorName "Matrox"
                BoardName "MGA G450 AGP"
                BusID "PCI:1:5:0"
                EndSection

                Section "Screen"
                Identifier "Screen0"
                Device "Card0"
                Monitor "Monitor0"
                DefaultDepth 24
                SubSection "Display"
                Depth 1
                EndSubSection
                SubSection "Display"
                Depth 4
                EndSubSection
                SubSection "Display"
                Depth 8
                EndSubSection
                SubSection "Display"
                Depth 15
                EndSubSection
                SubSection "Display"
                Depth 16
                Modes "1024x768"
                EndSubSection
                SubSection "Display"
                Depth 24
                Modes "1024x768"
                EndSubSection
                Option "DPMS"
                EndSection

                Comment


                • #9
                  cRock,

                  does DRI work for ya with the GENERIC kernel? How did u install Xfree86 (eg. sources or packages - if packages which ones)?

                  what does glxinfo write (eg. DRI status and renderer device)

                  I made a link in wolf's directory libGL.so -> X11/modules/libGL.so.1
                  When I try to run wolf it fails with the error 'libGL.so failed, ABI unknown' (this isn't the exact msg)

                  Another question: does FBSD utilize ur dual Durons? What mobo do u have?

                  Comment


                  • #10
                    You need the Linux DRI libs to run wolf (do not link linux binaries to freebsd libs!). Look under /usr/ports/graphics/linux-dri. You might need to update your ports as this one is fairly recent.

                    My X is 4.1.0 from ports.

                    glxinfo:
                    name of display: :0.0
                    display: :0 screen: 0
                    direct rendering: Yes
                    server glx vendor string: SGI
                    server glx version string: 1.2
                    server glx extensions:
                    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
                    client glx vendor string: SGI
                    client glx version string: 1.2
                    client glx extensions:
                    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
                    GLX extensions:
                    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
                    OpenGL vendor string: VA Linux Systems Inc.
                    OpenGL renderer string: Mesa DRI G400 20010321 AGP 2x x86/MMX
                    OpenGL version string: 1.2 Mesa 3.4.2
                    OpenGL extensions:
                    GL_ARB_multitexture, GL_ARB_transpose_matrix, GL_EXT_abgr,
                    GL_EXT_blend_func_separate, GL_EXT_clip_volume_hint,
                    GL_EXT_compiled_vertex_array, GL_EXT_histogram, GL_EXT_packed_pixels,
                    GL_EXT_polygon_offset, GL_EXT_rescale_normal, GL_EXT_stencil_wrap,
                    GL_EXT_texture3D, GL_EXT_texture_env_add, GL_EXT_texture_object,
                    GL_EXT_vertex_array, GL_MESA_window_pos, GL_MESA_resize_buffers,
                    GL_NV_texgen_reflection, GL_PGI_misc_hints, GL_SGIS_pixel_texture,
                    GL_SGIS_texture_edge_clamp
                    glu version: 1.3
                    glu extensions:
                    GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess

                    FreeBSD loves my dual durons! All I need was a basic kernel recompile. I did have patch in AGP support for the AMD 762 chipset before I could run DRI, but that was fairly painless. I'm running a Tyan Tiger MP S2640, great board.

                    Comment


                    • #11
                      cRock, thanx for all,

                      finally I made it!
                      I downloaded the linux-dri port 'leaf' manually, made a dir into /usr/ports/graphics and then fired up make , make install, and voila, it works!

                      Glxinfo showed DRI disabled - I found out that my X was in 8 bit mode (lame!). Switched to 16bit and dri became enabled.
                      I have about 1060 fps in glxgears, which is not bad for my G400 and Duron 800 (a single one).

                      Again, thank you cRock!

                      (anyway, how to update the whole ports tree?)

                      Comment


                      • #12
                        Glad to hear you got it running!!!! Sounds fast too!

                        There is a good section on updating the ports tree in the handbook. Basically, you use cvsup.

                        If you need an in-depth explanation (for just about anything), head over to http://www.freebsdforums.org or http://www.freebsddiary.org for all kinds of great info.

                        Comment


                        • #13
                          still dri, in general

                          Another conflict I discovered I have no sound. I've recompiled the kernel with PCM (I have via686a ac97 codec and Gravis Ultrasound PnP - both of them work perfect under suse/bsd).
                          Sound works on desktop, I can listen to CD, mp3/ogg, wav, midi but not in Wolf.
                          I've installed the vsound from ports but it doesn't help.
                          Is there any package I have to install? (I think vsound is not that kind)

                          Another question, related to hw 3d:
                          Tuxkart is sluggish. IMHO it runs in sw render but dunno how to make it to use dri. Any idea?

                          BTW wolf under freebsd looks better than under linux. I like it.

                          Comment


                          • #14
                            All of the games from Id use mmaped sound. Unfortunately, mmapped sound is broken in 4.3 and 4.4. An upgrade to 4.5 should give you sound.

                            I dunno about tuxcart. It runs okay for me so I never had to mess with it.

                            Comment


                            • #15
                              cRock,

                              can I upgrade via sources?

                              Comment

                              Working...
                              X