2019-08-24 09:21 CEST

View Issue Details Jump to Notes ] Related Changesets ]
IDProjectCategoryView StatusLast Update
0005640Spring engineGeneralpublic2017-07-10 20:42
Reporterabma 
Assigned Toabma 
PrioritynormalSeverityminorReproducibilityhave not tried
StatusresolvedResolutionfixed 
Product Version103.0 +git 
Target Version104.0Fixed in Version 
Summary0005640: Popup "You are using an open-source (Mesa / Gallium) graphics card driver"...
Descriptionthe OS mesa driver is / will be the successor of the binary ATI driver. Its already in a very good state: i basicly had no crash since ages with it, only several errors / warnings with shaders because the shader itself was invalid: i.e. because of a missing version, it couldn't be compiled.

the popup should be removed as the hint "switch to proprietary drivers" isn't useful. ATI binary (=fglrx) drivers on linux are deprecated!
Additional InformationIMHO the problem here is that most devs use nvidia binary drivers: stuff isn't tested on other drivers.
TagsNo tags attached.
Checked infolog.txt for lua Errors
Attached Files
  • txt file icon infolog.txt (8,468 bytes) 2017-07-10 06:31 -
    Using configuration source: "/mnt/tmp/home/dev/spring/develop/springsettings.cfg"
    Using additional configuration source: "/home/abma/.config/spring/springsettings.cfg"
    Using additional configuration source: "/home/abma/.spring/springsettings.cfg"
    Available log sections: RoamMeshDrawer, Piece, DynWater, ArchiveScanner, Shader, Net, Path, VFS, Sound, AutohostInterface, CrashHandler, GroundMoveType, SkyBox, LuaSocket, ModelRenderContainer, GameServer, Font, DecalsDrawerGL4, Model, OBJParser, KeyBindings, Texture, FarTextureHandler, CSMFGroundTextures, BumpWater, CregSerializer
    Enabled log sections: Sound(Notice)
    Enable or disable log sections using the LogSections configuration key
      or the SPRING_LOG_SECTIONS environment variable (both comma separated).
      Use "none" to disable the default log sections.
    LogOutput initialized.
    ============== <User Config> ==============
      AllowDeferredMapRendering = 1
      AllowDeferredModelRendering = 1
      Fullscreen = 0
      InputTextGeo = 0.26 0.73 0.02 0.028
      LastSelectedMap = Red Comet
      LastSelectedMod = Balanced Annihilation test-6746-4ee1729
      LastSelectedScript = Player Only: Testing Sandbox
      LastSelectedSetting = LogClientData
      LogClientData = 1
      RotateLogFiles = 1
      ShadowMapSize = 2047
      Shadows = 1
      ShowFPS = 1
      ShowPlayerInfo = 0
      ShowSpeed = 1
      SpringData = /home/abma/dev/spring/develop:/home/abma/dev/spring/develop/cont
      WindowPosX = 289
      WindowPosY = 193
      XResolutionWindowed = 1207
      YResolutionWindowed = 727
      snd_volmaster = 8
    ============== </User Config> ==============
    ============== <User System> ==============
      Spring 103.0.1-1177-gbce9931d8 develop
        Build Environment: boost-106200, GNU libstdc++ version 20170516
         Compiler Version: gcc-6.3.0 20170516
         Operating System: Linux 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u2 (2017-06-26) x86_64
         Binary Word Size: 64-bit (native)
         Deque Chunk Size: 128
            Process Clock: std::chrono::high_resolution_clock
       Physical CPU Cores: 8
        Logical CPU Cores: 8
    ============== </User System> ==============
    [good_fpu_init] CPU SSE mask: 1023, flags:
    	SSE 1.0:  1,  SSE 2.0:  1
    	SSE 3.0:  1, SSSE 3.0:  1
    	SSE 4.1:  1,  SSE 4.2:  1
    	SSE 4.0A: 1,  SSE 5.0A: 1
    	using streflop SSE FP-math mode, CPU supports SSE instructions
    [WatchDogInstall] Installed (HangTimeout: 10sec)
    [WatchDog::RegisterThread] registering controls for thread [main]
    [GL::CheckAvailableVideoModes] desktop={1680x1050x24bpp@60Hz} current={1680x1050x24bpp@60Hz}
    	display=1 modes=20 bounds={x=0, y=0, w=1680, h=1050}
    		[ 1] 1680x1050x24bpp@60Hz
    		[ 3] 1440x900x24bpp@60Hz
    [GR::CreateSDLWindow] using 0x anti-aliasing and 24-bit depth-buffer (PF="SDL_PIXELFORMAT_RGB888")
    Warning: You are using an open-source (Mesa / Gallium) graphics card driver, which may not work well with the Spring engine.
    
    If you experience problems, switch to proprietary drivers or try "spring --safemode".
    
    [GR::LogVersionInfo]
    	SDL version : 2.0.5 (linked) / 2.0.5 (compiled)
    	GL version  : 3.0 Mesa 13.0.6
    	GL vendor   : X.Org
    	GL renderer : Gallium 0.4 on AMD JUNIPER (DRM 2.48.0 / 4.9.0-3-amd64, LLVM 3.9.1)
    	GLSL version: 1.30
    	GLEW version: 2.0.0
    	GPU memory  : 1024MB (total) / 1024MB (available)
    	SwapInterval: 1
    	
    	ARB shader support        : 1
    	GLSL shader support       : 1
    	FBO extension support     : 1
    	NPOT-texture support      : 1 (1)
    	texture query-LOD support : 1 (1)
    	24-bit Z-buffer support   : 1 (-)
    	primitive-restart support : 1 (1)
    	clip-space control support: 0 (1)
    	frag-depth layout support : 0 (-)
    	
    	max. FBO samples             : 8
    	max. texture size            : 16384
    	max. texture anisotropy level: 16.000000
    	max. vec4 varyings/attributes: 32/16
    	max. draw-buffers            : 8
    	max. rec. indices/vertices   : 3000/3000
    	max. uniform buffer-bindings : 72
    	max. uniform block-size      : 64KB
    	
    	enable ATI-hacks : 0
    	compress MIP-maps: 0
    [GR::ToggleGLDebugOutput] OpenGL debug-context not installed (dbgErrors=0 dbgTraces=0)
    [VSync::SetInterval] interval=0 (disabled)
    [GR::LogDisplayMode] display-mode set to 1207x727x24bpp@60Hz (windowed::decorated)
    [DataDirs] Portable Mode!
    Using read-write data directory: /mnt/tmp/home/dev/spring/develop/
    Using read-only data directory: /home/abma/.config/spring/
    Using read-only data directory: /home/abma/.spring/
    Using read-only data directory: /home/abma/dev/spring/develop/cont/
    Scanning: /home/abma/dev/spring/develop/cont/base
    Scanning: /home/abma/.spring/maps
    Scanning: /home/abma/.spring/games
    Scanning: /home/abma/.spring/packages
    Scanning: /home/abma/.config/spring/packages
    Scanning: /mnt/tmp/home/dev/spring/develop/base
    Error: Found a "/home/abma/.spring/packages/218ecdc52138b9171a38598cd0982d98.sdp" already in "/home/abma/.config/spring/packages/218ecdc52138b9171a38598cd0982d98.sdp", ignoring.
    [~ScopedOnceTimer][CArchiveScanner::ScanAllDirs] 10ms
    [ThreadPool::SetThreadCount][1] wanted=4 current=1 maximum=8
    [ThreadPool::SetThreadCount][2] workers=3
    [Threading] Main thread CPU affinity mask set: 24 (config is 248)
    [f=-000001] [Sound] [Sound::InitThread] OpenAL info:
    [f=-000001] [Sound]   Available Devices:
    [f=-000001] [Sound]               Internes Audio Analog Stereo
    [f=-000001] [Sound]   Device:     OpenAL Soft
    [f=-000001] [Sound]   Vendor:         OpenAL Community
    [f=-000001] [Sound]   Version:        1.1 ALSOFT 1.17.2
    [f=-000001] [Sound]   Renderer:       OpenAL Soft
    [f=-000001] [Sound]   AL Extensions:  AL_EXT_ALAW AL_EXT_BFORMAT AL_EXT_DOUBLE AL_EXT_EXPONENT_DISTANCE AL_EXT_FLOAT32 AL_EXT_IMA4 AL_EXT_LINEAR_DISTANCE AL_EXT_MCFORMATS AL_EXT_MULAW AL_EXT_MULAW_BFORMAT AL_EXT_MULAW_MCFORMATS AL_EXT_OFFSET AL_EXT_source_distance_model AL_LOKI_quadriphonic AL_SOFT_block_alignment AL_SOFT_buffer_samples AL_SOFT_buffer_sub_data AL_SOFT_deferred_updates AL_SOFT_direct_channels AL_SOFT_loop_points AL_SOFT_MSADPCM AL_SOFT_source_latency AL_SOFT_source_length
    [f=-000001] [Sound]   ALC Extensions: ALC_ENUMERATE_ALL_EXT ALC_ENUMERATION_EXT ALC_EXT_CAPTURE ALC_EXT_DEDICATED ALC_EXT_disconnect ALC_EXT_EFX ALC_EXT_thread_local_context ALC_SOFTX_device_clock ALC_SOFT_HRTF ALC_SOFT_loopback ALC_SOFT_pause_device
    [f=-000001] [Sound]   Max Sounds: 128
    [f=-000001] [Sound]   EFX Enabled: yes
    [f=-000001] [Sound] [Sound::UpdateThread][1] maxSounds=128
    [f=-000001] [WatchDog::RegisterThread] registering controls for thread [audio]
    [f=-000001] [Sound] [Sound::UpdateThread][2]
    [f=-000001] Joysticks found: 0
    [f=-000001] Warning: AI Interface property 'supportsLookup' could not be found.
    [f=-000001] [VSync::SetInterval] interval=0 (disabled)
    [f=-000001] [GR::LogDisplayMode] display-mode set to 1207x727x24bpp@60Hz (windowed::decorated)
    [f=-000001] [SelectMenu] user exited
    [f=-000001] [SpringApp::Kill][1] fromRun=1
    [f=-000001] [ThreadPool::SetThreadCount][1] wanted=0 current=4 maximum=8
    [f=-000001] 	[async=0] threads=4 tasks=90 {sum,avg}{exec,wait}time={{5.994, 0.067}, {8.639, 0.096}}ms
    [f=-000001] 		thread=0 tasks=1 (1.111%) {sum,min,max,avg}{exec,wait}time={{0.000, 0.000, 0.000, 0.000}, {8.577, 8.577, 8.577, 8.577}}ms
    [f=-000001] 		thread=1 tasks=89 (98.889%) {sum,min,max,avg}{exec,wait}time={{5.994, 0.000, 0.095, 0.067}, {0.062, 0.000, 0.010, 0.001}}ms
    [f=-000001] 	[async=1] threads=4 tasks=3 {sum,avg}{exec,wait}time={{0.698, 0.233}, {0.121, 0.040}}ms
    [f=-000001] 		thread=1 tasks=1 (33.333%) {sum,min,max,avg}{exec,wait}time={{0.039, 0.039, 0.039, 0.039}, {0.029, 0.029, 0.029, 0.029}}ms
    [f=-000001] 		thread=2 tasks=1 (33.333%) {sum,min,max,avg}{exec,wait}time={{0.017, 0.017, 0.017, 0.017}, {0.036, 0.036, 0.036, 0.036}}ms
    [f=-000001] 		thread=3 tasks=1 (33.333%) {sum,min,max,avg}{exec,wait}time={{0.643, 0.643, 0.643, 0.643}, {0.056, 0.056, 0.056, 0.056}}ms
    [f=-000001] [ThreadPool::SetThreadCount][2] workers=0
    [f=-000001] [SpringApp::Kill][2]
    [f=-000001] [WatchDog::DeregisterThread] deregistering controls for thread [audio]
    [f=-000001] [Sound] [Sound::UpdateThread][3] efx=0x7fd01c00e5e0
    [f=-000001] [Sound] [Sound::UpdateThread][4]
    [f=-000001] [SpringApp::Kill][3]
    [f=-000001] [SpringApp::Kill][4]
    [f=-000001] [SpringApp::Kill][5]
    [f=-000001] [SpringApp::Kill][6]
    [SpringApp::Kill][7]
    [LuaSocket] Dumping luasocket rules:
    [LuaSocket] TCP_CONNECT ALLOW * -1
    [LuaSocket] TCP_LISTEN  ALLOW * -1
    [LuaSocket] UDP_LISTEN  ALLOW * -1
    [SpringApp::Kill][8]
    [WatchDog::DeregisterThread] deregistering controls for thread [main]
    [WatchDog::Uninstall][1] hangDetectorThread=0x562142c2a3f0
    [WatchDog::Uninstall][2]
    [WatchDog::Uninstall][3]
    [SpringApp::Kill][9]
    
    txt file icon infolog.txt (8,468 bytes) 2017-07-10 06:31 +

-Relationships
+Relationships

-Notes

~0017986

Kloot (developer)

Last edited: 2017-07-10 10:27

View 2 revisions

"the OS mesa driver is / will be the successor of the binary ATI driver."

no, what do you even base this on? amdgpu is, for which the popup won't show.

the fact is that mesa (after 20+ years of development) still can not touch nvidia's binary blob and is unlikely to ever do given the complexity of modern GPU's, so the warning *is* useful.

~0017987

abma (administrator)

Last edited: 2017-07-10 10:53

View 2 revisions

amdgpu is for newer gpus only, fglrx is deprecated.

so the radeon driver must be used on older gpus as the binary driver fglrx isn't supported any more.

-> radeon + amdgpu (or amdgpu-pro which has some more binary blobs but uses a lot of stuff from amdgpu afaik) should be used for best performance / features / stability

some references:

https://www.phoronix.com/scan.php?page=news_item&px=SteamOS-2.115-Released
https://wiki.debian.org/ATIProprietary

"<!> This driver is incompatible with the GNOME desktop, as it does not support the EGL interface. It is recommended to use the free radeon driver instead. "

current debian 9 isn't listed there, not sure why.


> the fact is that mesa (after 20+ years of development) still can not touch nvidia's binary blob

i disagree, the OS ati and Intel drivers are pretty good. My impression is that OS-Intel drivers are better on linux as on windows. Nvidia-OS drivers are far behind because they don't support OS it seems.

https://mesamatrix.net/

A LOT of code is optimized for the nvidia-binary drivers, thats what causes most problems.

~0017988

abma (administrator)

in other words:

- for nvidia os driver this message is still valid
- for intel (is there a binary driver for intel?) and ati cards it isn't

~0017989

Kloot (developer)

Last edited: 2017-07-10 11:26

View 3 revisions

yes, it is. radeon/amdgpu should be the first choice for all ATI users, not mesa.

"the OS ati and Intel drivers are pretty good." -> certainly better, but nowhere near nvidia blobs wrt performance.

~0017996

abma (administrator)

how to check which driver is used?

lshw -c video
  *-display
       description: VGA compatible controller
       product: Juniper PRO [Radeon HD 5750]
       vendor: Advanced Micro Devices, Inc. [AMD/ATI]
       physical id: 0
       bus info: pci@0000:01:00.0
       version: 00
       width: 64 bits
       clock: 33MHz
       capabilities: pm pciexpress msi vga_controller bus_master cap_list rom
       configuration: driver=radeon latency=0
       resources: irq:41 memory:d0000000-dfffffff memory:fea20000-fea3ffff ioport:e000(size=256) memory:c0000-dffff


for me it looks like the radeon driver is loaded and used for spring, also only one gpu is available:

xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x59 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 6 outputs: 4 associated providers: 0 name:ATI Radeon HD 5700 Series @ pci:0000:01:00.0

~0017997

Kloot (developer)

"radeon" is both the name of the driver and the hardware chipset.

what does glxinfo say? the radeon driver should have different version and renderer strings (i.e. not "Gallium 0.4..." but something like "ATI Radeon HD") according to google.

~0017998

abma (administrator)

the same:

glxinfo |grep OpenGL
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD JUNIPER (DRM 2.48.0 / 4.9.0-3-amd64, LLVM 3.9.1)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 13.0.6
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 13.0.6
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 13.0.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:

~0017999

Kloot (developer)

hmm, now I'm not sure because the HD5750 driver would be r600g which is built on gallium (part of mesa). I guess we can check for "AMD" in the renderer string and skip the warning if that is present.

~0018000

abma (administrator)

Last edited: 2017-07-10 16:33

View 2 revisions

vice versa, force enabling software rendering on the same hardware leads to this:

LIBGL_ALWAYS_SOFTWARE=1 ./spring

[...]
    SDL version : 2.0.5 (linked) / 2.0.5 (compiled)
    GL version : 3.0 Mesa 13.0.6
    GL vendor : VMware, Inc.
    GL renderer : Gallium 0.4 on llvmpipe (LLVM 3.9, 128 bits)
    GLSL version: 1.30
    GLEW version: 2.0.0
    GPU memory : 16001MB (total) / 16001MB (available)
    SwapInterval: 0
[...]

~0018001

abma (administrator)

LIBGL_ALWAYS_SOFTWARE=1 GALLIUM_DRIVER=softpipe ./spring

    SDL version : 2.0.5 (linked) / 2.0.5 (compiled)
    GL version : 3.0 Mesa 13.0.6
    GL vendor : VMware, Inc.
    GL renderer : Gallium 0.4 on softpipe
    GLSL version: 1.30
    GLEW version: 2.0.0
    GPU memory : 16001MB (total) / 16001MB (available)
    SwapInterval: 0

~0018003

abma (administrator)

i'll remove the check:

- its not our job to warn about someone using softwarerendering (with softwarerendering even the desktop gui is slow)
- mesa drivers are IMHO mature
- string parsing is faulty / idk if there is even a standard how the gallium driver creates the string. On weston (which is becoming default on desktop envs soon i guess) the string could look completely different

~0018004

abma (administrator)

Fix bfbf9d69fc4ff59c24c0e7467d29b0c0c93a5aeb committed to develop branch: fix 0005640:
remove invalid check / mesa is mature!, repo: spring changeset id: 8492

~0018005

abma (administrator)

- an OS project should encourage to use OS software! :-)
+Notes

+Related Changesets

-Issue History
Date Modified Username Field Change
2017-07-10 06:27 abma New Issue
2017-07-10 06:30 abma Product Version => 103.0 +git
2017-07-10 06:30 abma File Added: infolog.txt
2017-07-10 06:30 abma File Deleted: infolog.txt
2017-07-10 06:31 abma File Added: infolog.txt
2017-07-10 10:26 Kloot Note Added: 0017986
2017-07-10 10:27 Kloot Note Edited: 0017986 View Revisions
2017-07-10 10:51 abma Note Added: 0017987
2017-07-10 10:53 abma Note Edited: 0017987 View Revisions
2017-07-10 11:11 abma Note Added: 0017988
2017-07-10 11:21 Kloot Note Added: 0017989
2017-07-10 11:25 Kloot Note Edited: 0017989 View Revisions
2017-07-10 11:26 Kloot Note Edited: 0017989 View Revisions
2017-07-10 15:58 abma Note Added: 0017996
2017-07-10 16:17 Kloot Note Added: 0017997
2017-07-10 16:19 abma Note Added: 0017998
2017-07-10 16:28 Kloot Note Added: 0017999
2017-07-10 16:33 abma Note Added: 0018000
2017-07-10 16:33 abma Note Edited: 0018000 View Revisions
2017-07-10 16:57 abma Note Added: 0018001
2017-07-10 20:39 abma Note Added: 0018003
2017-07-10 20:39 abma Changeset attached => spring develop bfbf9d69
2017-07-10 20:39 abma Note Added: 0018004
2017-07-10 20:39 abma Assigned To => abma
2017-07-10 20:39 abma Status new => resolved
2017-07-10 20:39 abma Resolution open => fixed
2017-07-10 20:42 abma Note Added: 0018005
+Issue History