Find the answer to your Linux question:
Page 1 of 3 1 2 3 LastLast
Results 1 to 10 of 27
Just got a quick question about ATI and X.org As of right now, there havent been any X.org drivers released from ATI, and I was wondering what to do about ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Jun 2004
    Posts
    44

    X.org + ATI


    Just got a quick question about ATI and X.org

    As of right now, there havent been any X.org drivers released from ATI, and I was wondering what to do about it, or even if they did come out would they be an improvement from the radeon driver that comes with X.org?

    I get about 250 fps with glxgears, and I have a Radeon 9600Pro (Standard settings, not like an EZ version or anything), and Ive heard I should be getting like 1000 fps. Not to mention the screensavers that use GL get like sub-10 fps...\

    Any solutions? or just leave it alone?

  2. #2
    Linux Guru sarumont's Avatar
    Join Date
    Apr 2003
    Location
    /dev/urandom
    Posts
    3,682
    Use the ati drivers for XFree86. I'm using them with xorg on an ATI AIW 9600 and getting 3K+ on glx gears.
    "Time is an illusion. Lunchtime, doubly so."
    ~Douglas Adams, The Hitchhiker's Guide to the Galaxy

  3. #3
    Just Joined!
    Join Date
    Jan 2004
    Location
    Egypt
    Posts
    54
    yeah i also am using slack 10 and my graphic card is 9600 pro
    here is how i did it

    1. download the ati drivers, make sure you get the xfree 4.3 ones.
    2. open terminal.
    3. su
    4. cd into directory containing the drivers you just downloaded
    5. rpm2tgz fglrx****.rpm
    6. installpkg fglrx****.tgz
    7. cd /lib/modules/fglrx/build_mod
    8. sh make.sh
    9. cd ..
    10. sh make_install.sh
    11. fglrxconfig
    12. rename /etc/X11/XF86Config-4 to xorg.conf (backup your xorg.conf first)
    13. reboot or restart x server
    14. open terminal
    15. glxinfo it should say near the top direct rendering YES. (which means hardware opengl working)

  4. $spacer_open
    $spacer_close
  5. #4
    Just Joined!
    Join Date
    Jul 2004
    Posts
    1
    I just tried this on my slack box with a 9600se, worked like a champ.

    Thanks alot!

  6. #5
    Just Joined!
    Join Date
    Jun 2004
    Posts
    44
    I appreciate the help guys. The drivers installed successfully, but unfortunately, im getting worse fps than I was with the X.org drivers. Glxinfo says no on direct rendering, but inside my config file, the line for dri isnt commented out or anything.

    Any ideas?

    (I did allow access for everyone to GL btw)

  7. #6
    Just Joined!
    Join Date
    Jun 2004
    Posts
    44
    After some quick research, I found this in my xorg log in /var.

    (II) fglrx(0): driver needs XFree86 version: 4.3.x
    (WW) fglrx(0): could not detect XFree86 version (query_status=-3)
    (II) Loading extension ATIFGLRXDRI
    (II) fglrx(0): doing DRIScreenInit
    drmOpenDevice: minor is 0
    drmOpenDevice: node name is /dev/dri/card0
    drmOpenDevice: open result is -1, (No such device)
    drmOpenDevice: open result is -1, (No such device)
    drmOpenDevice: Open failed
    drmOpenDevice: minor is 0
    drmOpenDevice: node name is /dev/dri/card0
    drmOpenDevice: open result is -1, (No such device)
    drmOpenDevice: open result is -1, (No such device)
    drmOpenDevice: Open failed
    drmOpenDevice: minor is 0
    drmOpenDevice: node name is /dev/dri/card0
    drmOpenDevice: open result is 4, (OK)
    drmGetBusid returned ''
    (II) fglrx(0): [drm] loaded kernel module for "fglrx" driver
    (II) fglrx(0): [drm] created "fglrx" driver at busid "PCI:2:0:0"
    (II) fglrx(0): [drm] added 8192 byte SAREA at 0xf8b1b000
    (II) fglrx(0): [drm] mapped SAREA 0xf8b1b000 to 0x40023000
    (II) fglrx(0): [drm] framebuffer handle = 0xc0000000
    (II) fglrx(0): [drm] added 1 reserved context for kernel
    (II) fglrx(0): DRIScreenInit done
    (II) fglrx(0): Kernel Module Version Information:
    (II) fglrx(0): Name: fglrx
    (II) fglrx(0): Version: 3.9.0
    (II) fglrx(0): Date: May 11 2004
    (II) fglrx(0): Desc: ATI Fire GL DRM kernel module
    (II) fglrx(0): Kernel Module version matches driver.
    (II) fglrx(0): Kernel Module Build Time Information:
    (II) fglrx(0): Build-Kernel UTS_RELEASE: 2.4.26
    (II) fglrx(0): Build-Kernel MODVERSIONS: no
    (II) fglrx(0): Build-Kernel __SMP__: no
    (II) fglrx(0): Build-Kernel PAGE_SIZE: 0x1000
    (II) fglrx(0): [drm] register handle = 0xe9000000
    (EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENOMEM"
    (EE) fglrx(0): cannot init AGP
    (II) fglrx(0): [drm] removed 1 reserved context for kernel
    (II) fglrx(0): [drm] unmapping 8192 bytes of SAREA 0xf8b1b000 at 0x40023000
    (WW) fglrx(0): ***********************************************
    (WW) fglrx(0): * DRI initialization failed! *
    (WW) fglrx(0): * (maybe driver kernel module missing or bad) *
    (WW) fglrx(0): * 2D acceleraton available (MMIO) *
    (WW) fglrx(0): * no 3D acceleration available *
    (WW) fglrx(0): ********************************************* *
    (II) fglrx(0): FBADPhys: 0xc0000000 FBMappedSize: 0x08000000
    (II) fglrx(0): FBMM initialized for area (0,0)-(1024,8191)
    (II) fglrx(0): FBMM auto alloc for area (0,0)-(1024,76 (front color buffer - assumption)
    (==) fglrx(0): Backing store disabled
    (==) fglrx(0): Silken mouse enabled
    (II) fglrx(0): Using hardware cursor (scanline 76
    (II) fglrx(0): Largest offscreen area available: 1024 x 7419
    (**) Option "dpms"
    (**) fglrx(0): DPMS enabled
    (II) fglrx(0): Using XFree86 Acceleration Architecture (XAA)
    Screen to screen bit blits
    Solid filled rectangles
    Solid Horizontal and Vertical Lines
    Offscreen Pixmaps
    Setting up tile and stipple cache:
    32 128x128 slots
    32 256x256 slots
    16 512x512 slots
    (II) fglrx(0): Acceleration enabled
    (II) fglrx(0): Direct rendering disabled

    Any ideas how to fix this?

  8. #7
    Just Joined!
    Join Date
    Jun 2004
    Posts
    44
    After reading glxinfo again, I noticed the driver's vendor says Mesa. How do I uninstall these drivers so i can install the ATI driver's properly? (I tried a couple different methods like removepkg but it says i dont have it installed)

    Also when I try to install with the rpm, it says im missing a bunch of libraries. Is this just because im using the rpm? or do i need to install these libraries?

    bash-2.05b$ rpm -Uh --force fglrx-4.3.0-3.9.0.i386.rpm
    error: Failed dependencies:
    /bin/sh is needed by fglrx-4.3.0-3.9.0
    ld-linux.so.2 is needed by fglrx-4.3.0-3.9.0
    libX11.so.6 is needed by fglrx-4.3.0-3.9.0
    libXext.so.6 is needed by fglrx-4.3.0-3.9.0
    libc.so.6 is needed by fglrx-4.3.0-3.9.0
    libdl.so.2 is needed by fglrx-4.3.0-3.9.0
    libm.so.6 is needed by fglrx-4.3.0-3.9.0
    libpthread.so.0 is needed by fglrx-4.3.0-3.9.0
    libc.so.6(GLIBC_2.0) is needed by fglrx-4.3.0-3.9.0
    libc.so.6(GLIBC_2.1) is needed by fglrx-4.3.0-3.9.0
    libc.so.6(GLIBC_2.1.3) is needed by fglrx-4.3.0-3.9.0
    libm.so.6(GLIBC_2.0) is needed by fglrx-4.3.0-3.9.0
    libpthread.so.0(GLIBC_2.0) is needed by fglrx-4.3.0-3.9.0

  9. #8
    Linux Guru sarumont's Avatar
    Join Date
    Apr 2003
    Location
    /dev/urandom
    Posts
    3,682
    Post the output of glxinfo, please.
    "Time is an illusion. Lunchtime, doubly so."
    ~Douglas Adams, The Hitchhiker's Guide to the Galaxy

  10. #9
    Just Joined!
    Join Date
    Jan 2004
    Location
    Egypt
    Posts
    54
    have u choose to use external AGP GART ?

    Do you want to use the external AGP GART module (y/n)? [n] y

    here is my fglrxconfig :

    ================================================== ============================
    ATI - FIRE GL - BE THE CREATOR
    ================================================== ============================

    This program will create the ATI "XF86Config-4" file
    - based on your selections - for the below listed boardtypes...

    - ATI Radeon 8500 / 9100
    - ATI FireGL 8700 / 8800 / E1
    - ATI FireGL T2
    - ATI Radeon 9000
    - ATI Radeon 9200
    - ATI Radeon 9500
    - ATI Radeon 9600
    - ATI Radeon 9700
    - ATI Radeon 9800
    - ATI FireGL Z1 / X1 / X2
    - ATI Mobility M9
    - ATI Mobility FireGL 9000
    - ATI Mobility M9PLUS

    The "XF86Config-4" file usually resides in /etc/X11.


    Press [Enter] to continue, press 'q'&[Enter] or [Ctrl]+'c' to abort.






    ================================================== ============================
    Mouse
    ================================================== ============================

    Specify the mouse port type. Choose one from the following list:

    1. Serial Port
    2. PS/2 or USB with PS/2 protocol
    3. Inport Bus

    Enter the number for your port type: [2] 2







    Specify the mouse model. Choose one from the following list:

    1. PS/2 Mouse (X11 generic ps/2 mouse driver)
    2. PS/2 Wheel Mouse (X11 generic ps/2 wheel mouse driver)
    3. Microsoft Intellimouse (PS2)
    4. Microsoft IntelliMouse Explorer (PS2)
    5. Kensington ThinkingMouse (PS2)
    6. Logitech MouseManPlus (PS2)
    7. Alps Glidepoint PS/2 Touchpad
    8. Genius NetMouse
    9. Genius NetScroll

    Enter the number for your mouse model: [2] 2


    If your mouse has only two buttons, it is recommended that you enable
    Emulate3Buttons.

    Do you want to enable Emulate3Buttons (y/n)? [n] n

    Now give the full device name that the mouse is connected to, for example
    /dev/tty00 or /dev/mouse or /dev/psaux (includes IBM Laptops).

    Mouse device: [/dev/mouse] /dev/psaux






    ================================================== ============================
    Keyboard
    ================================================== ============================

    Please select one of the following keyboard types that is the better
    description of your keyboard. If nothing really matches,
    choose 1 (Generic 101-key PC)

    1. Generic 101-key PC
    2. Generic 102-key (Intl) PC
    3. Generic 104-key PC
    4. Generic 105-key (Intl) PC
    5. Dell 101-key PC
    6. Everex STEPnote
    7. Keytronic FlexPro
    8. Microsoft Natural
    9. Northgate OmniKey 101
    10. Winbook Model XP5
    11. Japanese 106-key
    12. PC-98xx Series

    Enter a number to choose the keyboard type: [1] 1






    Please select the layout corresponding to your keyboard

    1. U.S. English
    2. U.S. English w/ISO9995-3
    3. Belgian
    4. Bulgarian
    5. Canadian
    6. Czechoslovakian
    7. German
    8. Swiss German
    9. Danish
    10. Spanish
    11. Finnish
    12. French
    13. Swiss French
    14. United Kingdom
    15. Hungarian
    16. Italian
    17. Japanese
    18. Norwegian

    Press [Enter] for the next page or
    enter the number for your keyboard layout country: 1






    ================================================== ============================
    FireGL Display Settings
    ================================================== ============================

    Quad Buffer Stereo ("Active Stereo"):

    This driver does support Quad Buffer Stereo ("Active Stereo")
    in combination with a CRT monitor (refresh rate abt. 100 to 120 Hz)
    and the appropiate stereo viewing subsystem hardware. This can be
    e.g. a shutter glasses system (infrared or wired) or an active
    polarisation device paired with passive stereo polarization glasses.

    Do you want to enable "Quad Buffer Stereo" (y/n)? [n] n






    ================================================== ============================
    TV out Configuration
    ================================================== ============================

    Do you want to enable TV out (y/n)? [n] n






    ================================================== ============================
    FireGL Screen Layout
    ================================================== ============================

    ------------------------------------------------------------------------------
    | Maximum resolution for OpenGL operation |
    | |
    | - R200 chip family (Radeon 8500-9100 Pro, FireGL 8700/8800/E1): |
    | 2048x2048 |
    | - R300 chip family (Radeon 9500-9700 Pro, FireGL T2/Z1/X1/X2): |
    | 2560x2560 |
    ------------------------------------------------------------------------------

    Choose configuration from the list below

    1. Single Head (1 screen, second dark)
    2. Laptop Mode (Ability to toggle between internal / external screen)
    3. Clone Mode (2 screens - same content)
    4. Big Desktop (2 screens - one framebuffer)
    5. Dual Head (2 screens - two drivers)

    Enter the number for your configuration: [1] 1






    ================================================== ============================
    Single Head selected
    ================================================== ============================





    ================================================== ============================
    Monitor Settings
    ================================================== ============================

    Now we want to set the specifications of the monitor(s). The two critical
    parameters are the vertical refresh rate, which is the rate at which the
    the whole screen is refreshed, and most importantly the horizontal sync rate,
    which is the rate at which scanlines are displayed.

    The valid range for horizontal sync and vertical sync should be documented
    in the manual of your monitor. If in doubt, check the monitor database
    /usr/X11R6/lib/X11/doc/Monitors to see if your monitor is there.

    Press [Enter] to continue, press 'q'&[Enter] or [Ctrl]+'c' to abort.






    You must indicate the horizontal sync range of your monitor. You can either
    select one of the predefined ranges below that correspond to industry-
    standard monitor types, or give a specific range.

    It is VERY IMPORTANT that you do not specify a monitor type with a horizontal
    sync range that is beyond the capabilities of your monitor. If in doubt,
    choose a conservative setting.

    hsync in kHz; monitor type with characteristic modes
    1. 31.5 ; up to 640x480 @ 60 Hz (VGA)
    2. 31.5 - 37.9; up to 800x600 @ 60 Hz (SVGA)
    3. 31.5 - 48.4; up to 1024x768 @ 60 Hz (XGA)
    4. 31.5 - 60.0; up to 1024x768 @ 75 Hz (XGA)
    5. 31.5 - 68.7; up to 1024x768 @ 85 Hz (XGA)
    6. 31.5 - 80.5; up to 1280x1024 @ 75 Hz (SXGA)
    7. 31.5 - 91.1; up to 1280x1024 @ 85 Hz (SXGA)
    8. Enter your own horizontal sync range

    Enter your choice (1-: [1] 5


    You must indicate the vertical sync range of your monitor. You can either
    select one of the predefined ranges below or give a specific range.

    1. 20 - 60 (e.g. slow scan flat panels with DVI cable)
    2. 50 - 70 (VGA)
    3. 60 - 75
    4. 60 - 85
    5. 60 - 100
    6. Specify your own vertical sync range

    Enter your choice: [1] 3






    ================================================== ============================
    Display Modes
    ================================================== ============================

    The default resolution that the server will start-up with will be the first
    listed mode that can be supported by the monitor and card.
    Currently it is set to:

    "640x480" for 24-bit

    Modes that cannot be supported due to monitor or clock constraints will
    be automatically skipped by the server.

    1. Change the modes for 24-bit (24-bit color)
    2. The modes are OK, continue.

    Enter your choice: 1

    Select your modes from the following list:

    1 "640x480"
    2 "800x600"
    3 "1024x768"
    4 "1152x864"
    5 "1280x960"
    6 "1280x1024"
    7 "1400x1050"
    8 "1600x1200"
    9 "1792x1344"

    Please list the digits and characters for the modes that you want to use.
    For example, '632' selects "1280x1024" "1024x768" "800x600", with
    the default mode of "1280x1024".

    Which modes do you want? 3

    The default resolution that the server will start-up with will be the first
    listed mode that can be supported by the monitor and card.
    Currently it is set to:

    "1024x768" for 24-bit

    Modes that cannot be supported due to monitor or clock constraints will
    be automatically skipped by the server.

    1. Change the modes for 24-bit (24-bit color)
    2. The modes are OK, continue.

    Enter your choice: 2

    You can have a virtual screen (desktop), which is screen area that is larger
    than the physical screen and which is panned by moving the mouse to the edge
    of the screen. The largest resolution in the modelist is used for any of the
    listed resolution with less dimensions. Each color depth can have a
    differently-sized virtual screen. Virtual screens resolutions are set
    for each color depth separately.


    Note: This grafics adapter will always select the maximum
    x and y resolution as the default virtual desktop resolution.
    This complies with general X11 specifications. see "man XF86Config".

    Do you want to use a virtual desktop where the dimensions are bigger
    than your maximum x and y screen resolution? (y/n) [n] n











    ================================================== ============================
    Direct Rendering Interface Restrictions
    ================================================== ============================

    Please specify which restriction sheme you want to implement:

    1. no restrictions - any user has access to the OpenGL ICD
    2. limited to group 'users' - only group members can access the OpenGL ICD
    3. limited to group 'root' - only group members can access the OpenGL ICD
    4. limited to group 'video' - only group members can access the OpenGL ICD
    5. limited to group 'dri' - only group members can access the OpenGL ICD

    Enter the number for your default user restrictions: [1] 1






    ================================================== ============================
    Application Profiles
    ================================================== ============================

    Please select application specific profile:

    1. Default
    2. Individual Configuration of Capabilities
    3. Maya
    4. SOFTIMAGE|XSI
    5. SOFTIMAGE|3D
    6. Houdini 4.0
    7. Houdini 5.0
    8. Houdini 5.5

    Enter the number for your profile: [1] 1






    ================================================== ============================
    Advanced Graphics Features Settings
    ================================================== ============================

    Do you want to initialize xfree86-dga (y/n)? [n] y

    Do you want to export pseudo color visuals (y/n)? [n] n

    Do you want to synchronize buffer swaps
    with the vertical sync signal (y/n)? [n] y






    ================================================== ============================
    Full Scene Anti Aliasing (FSAA)
    ================================================== ============================

    Please select multi sample visuals you want to share:

    1 = All (Visuals for 2,4 and 6 Samples per Pixel)
    2 = Visuals for 2 Samples per Pixel
    4 = Visuals for 4 Samples per Pixel
    6 = Visuals for 6 Samples per Pixel

    Please enter: [1] 1

    Do you want to force multi sample visuals
    for every OpenGL application? (y/n)? [n] n

    Disable FSAA Gamma (y/n)? [n] n

    Customize FSAA Multi Sample Position (y/n)? [n] n






    ================================================== ============================
    Advanced OS Settings
    ================================================== ============================

    External AGPGART module:

    It is possible (but not recommended) to turn off the usage of
    built-in agp support of the provided fglrx kernel module and
    use the external AGP GART module (agpgart.o) of the Linux kernel.
    If you want to use the external module then ensure that it loads
    prior to the drivers full startup. In order to manually load the
    external agpgart module execute this on the commandline (as root):
    /sbin/insmod agpgart
    or alternatively configure your system to auto load the module.

    Do you want to use the external AGP GART module (y/n)? [n] y






    AGP Locked User Pages

    The grafics driver is able to read and write textures and bitmaps trough AGP
    mapped and locked views of the main memory for the application's mem space.
    Performing those mapping task depends on several successfull interaction steps
    with the Linux kernel. A failure in this process might lead to some messages
    in the kernel log. If these kernel functions are failing silently or in case
    of other heavy incompatibility (e.g. a new kernel memory manger) then there
    is a high chance that the system will hang as soon as the graphics adpater
    wants to read from assumed but nor really mapped memory location.

    If you do see that the advanced fgl_glxgears application halts your session
    whilst the simple glxgears does run nicely then please disable this feature.

    If you do see lots of notifications about failed kernel calls for mem locking
    then please disable this feature and re-check the kernel message log.

    Do you want to enable "AGP Locked User Pages" (y/n)? [y] y






    TLS Method: *** this only applys to the FireGL workstation boards ***

    The grafics driver supports two different methods of thread local storage.
    The first method is fast but might immediately abort when used with
    WineX, VM emulators or some other advanced programming tools.
    The second method is up to 10% slower in a few rendering cases
    but does nicely cope with any sort of exotic software.

    For more details on this topic, please see the readme.

    If not totally sure about your needs, then please select "0 - default".

    0 - default (FireGL workstation boards: fast)
    1 - fast operation (only for standard gnu C/C++ OpenGL applications)
    2 - compatible operation (for WineX, VM emulators and some profilers)

    Which storage method do you want to use? [0] 0






    ================================================== ============================
    Finish
    ================================================== ============================

    I am going to write the XF86Config-4 file now. Make sure you don't accidently
    overwrite a previously configured one.

    Shall I write it to '/etc/X11/XF86Config-4' (y/n)? y

  11. #10
    Just Joined!
    Join Date
    Jun 2004
    Posts
    44
    I have no problem configuring fglrx. And I didn't set up the external agpgart...when i had Slackware 9.1 and xfree86 I didnt set up the external one either, but it worked. Should I be using the external one?

    Here is my glxinfo

    bash-2.05b$ glxinfo
    name of display: :0.0
    display: :0 screen: 0
    direct rendering: No
    server glx vendor string: SGI
    server glx version string: 1.2
    server glx extensions:
    GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating,
    GLX_EXT_import_context, GLX_SGI_make_current_read, GLX_SGIS_multisample
    client glx vendor string: ATI
    client glx version string: 1.3
    client glx extensions:
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context,
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_ATI_pixel_format_float,
    GLX_ATI_render_texture
    GLX extensions:
    GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating,
    GLX_EXT_import_context
    OpenGL vendor string: Mesa project: www.mesa3d.org
    OpenGL renderer string: Mesa GLX Indirect
    OpenGL version string: 1.2 (1.4 Mesa 5.0.2)

    OpenGL extensions:
    GL_ARB_imaging, GL_ARB_multitexture, GL_ARB_texture_border_clamp,
    GL_ARB_texture_cube_map, GL_ARB_texture_env_add,
    GL_ARB_texture_env_combine, GL_ARB_texture_env_dot3,
    GL_ARB_transpose_matrix, GL_EXT_abgr, GL_EXT_blend_color,
    GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_texture_env_add,
    GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3,
    GL_EXT_texture_lod_bias
    glu version: 1.3
    glu extensions:
    GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess

    visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
    id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
    ----------------------------------------------------------------------
    0x23 24 tc 0 24 0 r y . 8 8 8 0 0 16 0 0 0 0 0 1 0 None
    0x24 24 tc 0 24 0 r y . 8 8 8 0 0 16 8 16 16 16 0 1 0 None
    0x25 24 tc 0 32 0 r y . 8 8 8 8 0 16 8 16 16 16 16 1 0 None
    0x26 24 tc 0 32 0 r . . 8 8 8 8 0 16 8 16 16 16 16 1 0 None
    0x27 24 dc 0 24 0 r y . 8 8 8 0 0 16 0 0 0 0 0 1 0 None
    0x28 24 dc 0 24 0 r y . 8 8 8 0 0 16 8 16 16 16 0 1 0 None
    0x29 24 dc 0 32 0 r y . 8 8 8 8 0 16 8 16 16 16 16 1 0 None
    0x2a 24 dc 0 32 0 r . . 8 8 8 8 0 16 8 16 16 16 16 1 0 None

Page 1 of 3 1 2 3 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •