Giter VIP home page Giter VIP logo

linux-steam-integration's People

Contributors

alunux avatar davidpocina avatar ikeydoherty avatar philipzae avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

linux-steam-integration's Issues

Project Highrise workaround doesn't succeed

Since I finally got LSI working on my ArchLinux I tried to run "Project Highrise" and the workaround you included, but this results in SIGABRT:

GameAction [AppID 423580, ActionID 3] : LaunchApp changed task to SynchronizingCloud with ""
GameAction [AppID 423580, ActionID 3] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 423580, ActionID 3] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 423580, ActionID 3] : LaunchApp waiting for user response to CreatingProcess ""
GameAction[AppID 423580, ActionID 3] : LaunchApp continues with user response "CreatingProcess"
Opted-in Controller Mask: 0
Game update: AppID 423580 "Project Highrise", ProcID 2166, IP 0.0.0.0:0
ERROR: ld.so: object '/home/andi/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/andi/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
>>> Adding process 2166 for game ID 423580
GameAction [AppID 423580, ActionID 3] : LaunchApp changed task to WaitingGameWindow with ""
>>> Adding process 2167 for game ID 423580
Found path: /home/andi/.local/share/Steam/steamapps/common/Project Highrise/Game.x86_64
GameAction [AppID 423580, ActionID 3] : LaunchApp changed task to Completed with ""
Mono path[0] = '/home/andi/.local/share/Steam/steamapps/common/Project Highrise/Game_Data/Managed'
Mono config path = '/home/andi/.local/share/Steam/steamapps/common/Project Highrise/Game_Data/Mono/etc'
Preloaded 'ScreenSelector.so'
Preloaded 'libCSteamworks.so'
Preloaded 'libsteam_api.so'
Preloaded 'ScreenSelector.so'
Preloaded 'libCSteamworks.so'
Preloaded 'libsteam_api.so'
Player data archive not found at `/home/andi/.local/share/Steam/steamapps/common/Project Highrise/Game_Data/data.unity3d`, using local filesystem
DynamicHeapAllocator allocation probe 1 failed - Could not get memory for large allocation 9223372036854775808.
DynamicHeapAllocator allocation probe 2 failed - Could not get memory for large allocation 9223372036854775808.
DynamicHeapAllocator allocation probe 3 failed - Could not get memory for large allocation 9223372036854775808.
DynamicHeapAllocator allocation probe 4 failed - Could not get memory for large allocation 9223372036854775808.
DynamicHeapAllocator out of memory - Could not get memory for large allocation 9223372036854775808!
Could not allocate memory: System out of memory!
Trying to allocate: 9223372036854775808B with 16 alignment. MemoryLabel: NewDelete
Allocation happend at: Line:0 in Overloaded New[]
Memory overview

[ ALLOC_DEFAULT ] used: 3212472B | peak: 0B | reserved: 9437184B 
[ ALLOC_TEMP_JOB ] used: 0B | peak: 0B | reserved: 1048576B 
[ ALLOC_GFX ] used: 208B | peak: 0B | reserved: 4194304B 
[ ALLOC_CACHEOBJECTS ] used: 85104B | peak: 0B | reserved: 10485760B 
[ ALLOC_TYPETREE ] used: 0B | peak: 0B | reserved: 0B 
[ ALLOC_PROFILER ] used: 0B | peak: 0B | reserved: 0B 
[ ALLOC_TEMP_THREAD ] used: 32768B | peak: 0B | reserved: 1114112B 
Could not allocate memory: System out of memory!
Trying to allocate: 9223372036854775808B with 16 alignment. MemoryLabel: NewDelete
Allocation happend at: Line:0 in Overloaded New[]
Memory overview

[ ALLOC_DEFAULT ] used: 3212472B | peak: 0B | reserved: 9437184B 
[ ALLOC_TEMP_JOB ] used: 0B | peak: 0B | reserved: 1048576B 
[ ALLOC_GFX ] used: 208B | peak: 0B | reserved: 4194304B 
[ ALLOC_CACHEOBJECTS ] used: 85104B | peak: 0B | reserved: 10485760B 
[ ALLOC_TYPETREE ] used: 0B | peak: 0B | reserved: 0B 
[ ALLOC_PROFILER ] used: 0B | peak: 0B | reserved: 0B 
[ ALLOC_TEMP_THREAD ] used: 32768B | peak: 0B | reserved: 1114112B 

 
(Filename:  Line: 1045)

Receiving unhandled NULL exception
#0  0x007ffdfa1f5ec0 in funlockfile
#1  0x007ffdfa1f6470 in std::vector<core::basic_string<char, core::StringStorageDefault<char> >, std::allocator<core::basic_string<char, core::StringStorageDefault<char> > > >::~vector()
#2  0x007ffdfa1f64a0 in std::vector<core::basic_string<char, core::StringStorageDefault<char> >, std::allocator<core::basic_string<char, core::StringStorageDefault<char> > > >::~vector()
#3  0x007ffdfa1f64e0 in std::vector<core::basic_string<char, core::StringStorageDefault<char> >, std::allocator<core::basic_string<char, core::StringStorageDefault<char> > > >::~vector()
#4  0x007ffdfa1f6500 in std::vector<core::basic_string<char, core::StringStorageDefault<char> >, std::allocator<core::basic_string<char, core::StringStorageDefault<char> > > >::~vector()
#5  0x007ffdfa1f65d0 in zcfree
#6  0x007ffdfa1f7430 in __libc_start_main
#7  0x007ffdfa1f74f0 in zcfree
Stacktrace:


Native stacktrace:

	/home/andi/.local/share/Steam/steamapps/common/Project Highrise/Game_Data/Mono/x86_64/libmono.so(+0x922be) [0x7ff0889032be]
	/usr/lib/libpthread.so.0(+0x11d9f) [0x7ff092364d9f]
	/usr/lib/libc.so.6(gsignal+0x110) [0x7ff0914dd860]
	/usr/lib/libc.so.6(abort+0x1c8) [0x7ff0914deec8]
	/home/andi/.local/share/Steam/steamapps/common/Project Highrise/Game.x86_64() [0xa3bb3b]
	/home/andi/.local/share/Steam/steamapps/common/Project Highrise/Game_Data/Mono/x86_64/libmono.so(+0xd13e2) [0x7ff0889423e2]
	/home/andi/.local/share/Steam/steamapps/common/Project Highrise/Game_Data/Mono/x86_64/libmono.so(+0x350bd) [0x7ff0888a60bd]
	/usr/lib/libpthread.so.0(+0x11d9f) [0x7ff092364d9f]
	/home/andi/.local/share/Steam/steamapps/common/Project Highrise/Game.x86_64() [0xaa46f4]
	/home/andi/.local/share/Steam/steamapps/common/Project Highrise/Game.x86_64() [0xaa4863]
	/home/andi/.local/share/Steam/steamapps/common/Project Highrise/Game.x86_64() [0xaaa92e]
	/home/andi/.local/share/Steam/steamapps/common/Project Highrise/Game.x86_64() [0xaaf10b]
	/home/andi/.local/share/Steam/steamapps/common/Project Highrise/Game.x86_64() [0x4556ac]
	/usr/lib/libc.so.6(__libc_start_main+0xe9) [0x7ff0914c9f49]
	/home/andi/.local/share/Steam/steamapps/common/Project Highrise/Game.x86_64() [0x45f358]

Debug info from gdb:


=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

pid 2172 != 2167, skipping destruction (fork without exec?)
Game removed: AppID 423580 "Project Highrise", ProcID 2166 
No cached sticky mapping in ActivateActionSet.

I have 8GB RAM and only 1.5GB used, so that should be enough for this game :)

Bendy and the Ink machine fails to launch

I tried to run it from inside steam and from binary, it opened a black screen and then closes down. Here is the log with LSI debugging on:

GameAction [AppID 622650, ActionID 3] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 622650, ActionID 3] : LaunchApp waiting for user response to CreatingProcess ""
GameAction[AppID 622650, ActionID 3] : LaunchApp continues with user response "CreatingProcess"
Opted-in Controller Mask: 0
Game update: AppID 622650 "Bendy and the Ink Machine", ProcID 6776, IP 0.0.0.0:0
ERROR: ld.so: object '/home/juan/snap/linux-steam-integration/x1/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/juan/snap/linux-steam-integration/x1/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
>>> Adding process 6776 for game ID 622650
GameAction [AppID 622650, ActionID 3] : LaunchApp changed task to WaitingGameWindow with ""
>>> Adding process 6777 for game ID 622650
[lsi:vendor_offender] Enforcing snapd DRI links: /usr/lib/glx-provider/default/tls/i965_dri.so -> /usr/lib/dri/i965_dri.so
GameAction [AppID 622650, ActionID 3] : LaunchApp changed task to Completed with ""
Found path: /home/juan/snap/linux-steam-integration/x1/.local/share/Steam/steamapps/common/Bendy and the Ink Machine/BATIM.x86_64
Mono path[0] = '/home/juan/snap/linux-steam-integration/x1/.local/share/Steam/steamapps/common/Bendy and the Ink Machine/BATIM_Data/Managed'
Mono path[1] = '/home/juan/snap/linux-steam-integration/x1/.local/share/Steam/steamapps/common/Bendy and the Ink Machine/BATIM_Data/Mono'
Mono config path = '/home/juan/snap/linux-steam-integration/x1/.local/share/Steam/steamapps/common/Bendy and the Ink Machine/BATIM_Data/Mono/etc'
[lsi:vendor_offender] fixed invalid suffix dlopen() /home/juan/snap/linux-steam-integration/x1/.local/share/Steam/steamapps/common/Bendy and the Ink Machine/BATIM_Data/Managed/mscorlib.dll.so -> /home/juan/snap/linux-steam-integration/x1/.local/share/Steam/steamapps/common/Bendy and the Ink Machine/BATIM_Data/Managed/mscorlib.dll
Preloaded 'ScreenSelector.so'
Player data archive not found at `/home/juan/snap/linux-steam-integration/x1/.local/share/Steam/steamapps/common/Bendy and the Ink Machine/BATIM_Data/data.unity3d`, using local filesystem[lsi:vendor_offender] forcing use of host library libSDL2-2.0.so.0 -> /usr/lib32/libSDL2-2.0.so.0
Installing breakpad exception handler for appid(gameoverlayui)/version(20171030190939)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
Game removed: AppID 622650 "Bendy and the Ink Machine", ProcID 6777 
No cached sticky mapping in ActivateActionSet.

Unity workaround introduces issues with several games

Hand of Fate: game doesn't launch with Unity workaround enabled. Solved by disabling Unity hack and deleting the config file, so the game creates default file again.

SUPERHOT: game launches in a window with no possibility to go fullscreen (the game works fine in fullscreen). Solution is the same.

I can check the logs of the games if it's needed. Also I'll check other Unity games to see if this hack causes problems with them.

WAKFU does not detect the installed JRE

When the game WAKFU is launched from LSI Steam with the redirect module enabled (use-libredirect = true), it seems to not detect the already installed JRE (OpenJDK 8) on my system.
We can see that in the logs at line 61: https://pastebin.com/yCnDjUGd

[SCRIPT ] Using java from :/home/leeo/.local/share/Steam/steamapps/common/Wakfu/jre/bin/java amd64

When the game is launched from normal Steam or by disabling the redirect module, it works as expected.
Exemple at line 58-59, 62: https://pastebin.com/aLKckVt9

[SCRIPT ] Installed JRE:1.8.0.144(amd64)  in : /usr/bin/java
[SCRIPT ] Using system JRE
[SCRIPT ] Using java from :/usr/bin/java amd64

Super Hexagon fails to launch

Issue

Super Hexagon fails to launch with LSI enabled, shows: ./x86_64/superhexagon.x86_64: error while loading shared libraries: libGLEW.so.1.6: cannot open shared object file: No such file or directory and full log after starting the game:

Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198009869259 [API loaded no]
GameAction [AppID 221640, ActionID 1] : LaunchApp changed task to SynchronizingCloud with ""
Installing breakpad exception handler for appid(steam)/version(1508273419)                                               
GameAction [AppID 221640, ActionID 1] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 221640, ActionID 1] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 221640, ActionID 1] : LaunchApp waiting for user response to CreatingProcess ""
GameAction[AppID 221640, ActionID 1] : LaunchApp continues with user response "CreatingProcess"
Opted-in Controller Mask: 0  
Game update: AppID 221640 "Super Hexagon", ProcID 14133, IP 0.0.0.0:0     
[1022/180817.441886:ERROR:web_plugin_impl.cc(38)] Widevine registration is not supported after context initialization
>>> Adding process 14133 for game ID 221640                               
GameAction [AppID 221640, ActionID 1] : LaunchApp changed task to WaitingGameWindow with ""
ERROR: ld.so: object '/home/joshua/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/joshua/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/joshua/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/joshua/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.       
GameAction [AppID 221640, ActionID 1] : LaunchApp changed task to Completed with ""
>>> Adding process 14134 for game ID 221640                                                                                                                                   
ERROR: ld.so: object '/home/joshua/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
[lsi:vendor_offender] blacklisted loading of vendor library: /home/joshua/.local/share/Steam/ubuntu12_32/libSDL2-2.0.so.0                                                     
./x86_64/superhexagon.x86_64: error while loading shared libraries: libGLEW.so.1.6: cannot open shared object file: No such file or directory
>>> Adding process 14135 for game ID 221640                                                                                                                                 
>>> Adding process 14136 for game ID 221640                        
Game removed: AppID 221640 "Super Hexagon", ProcID 14133                                                                                                                      
No cached sticky mapping in ActivateActionSet.    

Expected result

Super Hexagon to launch and things be hunky dory.

Other information

Tested on 2b2e73b in redirect branch.

Latest steam beta fails to load steamui.so

After installing the latest steam beta I got the following error:

You are missing the following 32-bit libraries, and Steam may not run:
libva.so.1
libva.so.1
libva-x11.so.1

And then:

Fatal Error: Failed to load steamui.so

Steam won't load.

I googled and found a temporary fix here: NixOS/nixpkgs#31384

$ rm -r ~/.local/share/Steam/ubuntu* ~/.local/share/Steam/package/beta

After this I was able to install steam again and re-login. I did get another warning about libc, but steam works anyways. I opted out of the beta for now.

I also found a bug report on the ValveSoftware/steam-for-linux repository from the NixOS guy, where Valve says the won't fix this issue, it's a maintainer problem: ValveSoftware/steam-for-linux#5233

XDG is not respected for paths

Functions such as lsi_get_user_config_dir() manually build the path all the time instead of checking if it is overridden first. This is needed for Flatpak for example.

Wrong snap package name in readme

Hi,
the current readme states to install the (snap) runtime and lsi with

sudo snap install --edge solus-runtime-gaming
sudo snap install --devmode --edge solus-runtime-gaming

but it should be

sudo snap install --edge solus-runtime-gaming
sudo snap install --devmode --edge linux-steam-integration

Redo lsi-settings UI

We actually need to add a new toggle here for liblsi-redirect, but then the UI is gonna be too
ugly and bloaty.

Redo the UI to not be ugly and then add the switch in.

Fix for Divinity: Original Sin EE

D: OSEE has a longstanding bug with Mesa that prevents it from starting. There is a workaround for it though, requiring to compile shim for the game and LD_PRELOAD it. It seems that both Mesa and Larian won't make a proper fix for this, so... can it be implemented in LSI?

Black Mesa fails with libGL error

With my Radeon R7 370 using Radeonsi Black Mesa will not load unless I remove libstdc++.so.6 in the game's bin folder. Trying to launch the game results in the usual:

libGL error: unable to load driver: radeonsi_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: radeonsi
libGL error: unable to load driver: radeonsi_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: radeonsi
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  155 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  100
  Current serial number in output stream:  101
Game removed: AppID 362890 "", ProcID 24451

I've attached a log of Steam's output:
steam-black-mesa.log

Skullgirls: can't locate libSDL2_locale.so.0

Running a fresh install of Solus, the game Skullgirls is unable to run due to not being able to find a library:

/home/*****/.local/share/Steam/steamapps/common/Skullgirls/SkullGirls.x86_64-pc-linux-gnu: error while loading shared libraries: libSDL2_locale.so.0: cannot open shared object file: No such file or directory

The library appears to have been packaged with the game itself (as there's a copy of that file in ~/.local/share/Steam/steamapps/common/Skullgirls/lib). With LSI native runtime turned off the game functions correctly.

Is there a way to have Steam/LSI prioritize packaged-with-game libraries over searching on the system? I'm unable to find a package that would provide libSDL2_locale.so.0 on either the Solus distros or in general. I'd rather avoid symlinking the libraries to my path if possible.

Outlast not opening

I've been testing some Steam games on a fresh up to date install of Solus 3 Budgie and when starting Outlast the "Preparing to launch Outlast..." window appears then disappears and nothing starts. I also tried opening it directly using the binary, but that also failed. I have also looked in the system monitor and am seeing no activity.

Nvidia "glXChooseVisual failed" error

Just tried to run the snap from my other box which has an nvidia 1050 in it. After I agreed to the TOS on steam, it updated, then gave me a dialog with glXChooseVisual failed. I noticed you had a full-nvidia-support branch of snapd, then checked the official one from snapcore, which has the same changes. System is Arch linux + latest proprietary drivers + gtx 1050. A friend of mine has a gtx 970 and had the same issue

Slow mouse movements not registered in CS:GO

I'm not sure if this is a linux-steam-integration bug, it's been happening since the update yesterday. Maybe libinput? Please delete if this is wrong here.

Mouse movement on the Desktop and even in the in-game menu of CS:GO is ok, but as soon as I am connected to a server and I move the mouse slowly the crosshair won't move.

The sensitivity feels a lot lower all together now as well because of this.

System information:
CPU: Ryzen 5 1600
GPU: Nvidia Geforce GTX 770
Mouse: Steelseries Rival 300

Snap version 0.6 fails to launch on Ubuntu 17.10

After downloading updates, it shows the message "glXChooseVisual failed" before I get to the login screen. The output on the command line is:

bash-4.3$ $SNAP/linux-steam-integration
[lsi:__init__] PATH = /snap/linux-steam-integration/x1/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
[lsi:__init__] PATH = /snap/linux-steam-integration/x1/bin:/snap/linux-steam-integration/x1/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
[lsi:__init__] XDG_CONFIG_DIRS = /etc/xdg:/etc/xdg/xdg-/usr/share/xsessions/plasma:/etc/xdg:/usr/share/kubuntu-default-settings/kf5-settings
[lsi:__init__] XDG_CONFIG_DIRS = /usr/share/xdg:/etc/xdg:/etc/xdg/xdg-/usr/share/xsessions/plasma:/etc/xdg:/usr/share/kubuntu-default-settings/kf5-settings
[lsi:__init__] XDG_CONFIG_DIRS = /snap/linux-steam-integration/x1/etc/xdg:/usr/share/xdg:/etc/xdg:/etc/xdg/xdg-/usr/share/xsessions/plasma:/etc/xdg:/usr/share/kubuntu-default-settings/kf5-settings
[lsi:__init__] XDG_CONFIG_DIRS = /snap/linux-steam-integration/x1/usr/xdg:/snap/linux-steam-integration/x1/etc/xdg:/usr/share/xdg:/etc/xdg:/etc/xdg/xdg-/usr/share/xsessions/plasma:/etc/xdg:/usr/share/kubuntu-default-settings/kf5-settings
[lsi:__init__] XDG_DATA_DIRS = /snap/linux-steam-integration/x1/usr/share:/usr/share//usr/share/xsessions/plasma:/home/john/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
[lsi:__init__] XDG_DATA_DIRS = /usr/share:/snap/linux-steam-integration/x1/usr/share:/usr/share//usr/share/xsessions/plasma:/home/john/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
[lsi:__init__] XDG_DATA_DIRS = /snap/linux-steam-integration/x1/usr/share:/usr/share:/snap/linux-steam-integration/x1/usr/share:/usr/share//usr/share/xsessions/plasma:/home/john/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
[lsi:__init__] XDG_DATA_DIRS = /home/john/snap/linux-steam-integration/x1:/snap/linux-steam-integration/x1/usr/share:/usr/share:/snap/linux-steam-integration/x1/usr/share:/usr/share//usr/share/xsessions/plasma:/home/john/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
[lsi:__init__] LD_AUDIT = /snap/linux-steam-integration/x1/usr/$LIB/liblsi-intercept.so
[lsi:__init__] LD_PRELOAD = /snap/linux-steam-integration/x1/usr/$LIB/liblsi-redirect.so
Running Steam on ubuntu 17.10 64-bit
STEAM_RUNTIME is disabled by the user
[lsi:__init__] loading libintercept for 'steam'
Installing breakpad exception handler for appid(steam)/version(1509425745)
[lsi:steam] Enforcing Mesa snapd driver links: /usr/lib32/libGL.so.1 -> /usr/lib32/glx-provider/default/libGL.so.1
[lsi:steam] Enforcing snapd DRI links: /usr/lib/glx-provider/default/tls/swrast_dri.so -> /usr/lib32/dri/swrast_dri.so
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Installing breakpad exception handler for appid(steam)/version(1509425745)
Installing breakpad exception handler for appid(steam)/version(1509425745)
[lsi:steam] blacklisted loading of vendor library: /home/john/snap/linux-steam-integration/x1/.local/share/Steam/ubuntu12_32/libSDL2-2.0.so.0
Installing breakpad exception handler for appid(steam)/version(1509425745)
[lsi:__init__] loading libintercept for 'steamwebhelper'
[lsi:steamwebhelper] blacklisted loading of vendor library: ./libSDL2-2.0.so.0
[lsi:steam] Enforcing snapd DRI links: /usr/lib/glx-provider/default/tls/swrast_dri.so -> /usr/lib32/dri/swrast_dri.so
[lsi:steamwebhelper] Enforcing hostfs snapd driver links: /usr/lib64/libGL.so.1 -> /var/lib/snapd/lib/gl/libGL.so.1
[lsi:steamwebhelper] Enforcing NVIDIA snapd driver links: ./tls/haswell/x86_64/libGLdispatch.so.0 -> /var/lib/snapd/lib/gl/libGLdispatch.so.0
[lsi:steamwebhelper] Enforcing NVIDIA snapd driver links: ./tls/haswell/x86_64/libnvidia-tls.so.387.22 -> /var/lib/snapd/lib/gl/libnvidia-tls.so.387.22
[lsi:steamwebhelper] Enforcing NVIDIA snapd driver links: ./tls/haswell/x86_64/libnvidia-glcore.so.387.22 -> /var/lib/snapd/lib/gl/libnvidia-glcore.so.387.22
[lsi:steamwebhelper] Enforcing NVIDIA snapd driver links: ./tls/haswell/x86_64/libEGL_nvidia.so.0 -> /var/lib/snapd/lib/gl/libEGL_nvidia.so.0
[lsi:steamwebhelper] Enforcing NVIDIA snapd driver links: ./tls/haswell/x86_64/libnvidia-glsi.so.387.22 -> /var/lib/snapd/lib/gl/libnvidia-glsi.so.387.22
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
glXChooseVisual failedMain.cpp (321) : Assertion Failed: Fatal Error: glXChooseVisual failed
Assert( Assertion Failed: Fatal Error: glXChooseVisual failed ):Main.cpp:321

Installing breakpad exception handler for appid(steam)/version(1509425745)
No minidump written, nothing to upload.
/home/john/snap/linux-steam-integration/x1/.local/share/Steam/ubuntu12_64/steamwebhelper.sh: line 5:  9975 Segmentation fault      (core dumped) ./steamwebhelper "$@"

I am using proprietary nvidia drivers version 387.22 and I had to update snapd from the "Snappy Edge" ppa. Hope this can help!

with-steam-binary build option is ignored

I build LSI on Ubuntu 17.04 but option -Dwith-steam-binary=/usr/games/steam is completely ignored. Even if I change default values in meson_options.txt file. I need to create symbolic link to /usr/bin/steam to force lsi-steam work.

x264 encoding fails for in house streaming

Hello, I'm running updated Solus OS and I've found that in house streaming doesn't work unless /usr/lib64/libx264.so.142 is linked to /usr/lib32/libx264.so.142 which causes steam to crash and restart. Would there be a way to fix this within the intergration?

Steam tray icon missing

After installing LSI, Steam launches, native runtime is successfully disabled, but the Steam tray icon is missing.

Running on:
*Arch 4.5.5-1-ck x86_64 GNU/Linux
*steam 1.0.0.52-2

Launching Steam from terminal doesn't produce much, besides
[0528/211044:ERROR:main_delegate.cc(779)] Could not load cef_extensions.pak
which I suppose is irrelevant.

Create a README for normal humans

The current README is overtly technical in some places and bland in others. Separate into a technical doc and a landing page README

LD_AUDIT sacrifices some performance

There's an issue in Glibc that, when LD_AUDIT is non-empty, causes all calls via PLT (i.e. normally all calls to functions implemented in shared libraries) to go via a hook that saves some registers (including vector registers that may hold passed arguments) on stack, calls into dynamic linker to invoke la_pltenter hooks (even if none registered), restores registers, invokes the original destination function, invokes la_pltexit hooks, and finally returns to caller. Obviously this is slow and unnecessary if all the audit module wants is to redirect some libraries. The Glibc bugreport is here: https://sourceware.org/bugzilla/show_bug.cgi?id=15533 (I've hit this issue back then when playing with an idea similar to yours).

It appears you're setting LD_AUDIT for all child processes including games, so that slows games to some degree. If not, can you add a clarifying comment somewhere?

(edited: grammar and clarity)

Controllers stop working with some games if Generic Gamepad Configuration Support enabled

Previously I had a working Steam controller that adjusted as designed for each game.
Turns out the issue started because I enabled Steam's Generic Gamepad Configuration Support. Disabling this feature allows the Steam Controller and my Xeox Pro Wireless controller to function in all games. On Ubuntu 16.04 and testing Rocket League the controllers continue to function with the Gamepad Configuration enabled.

Original post

Firstly sorry I did not report this bit earlier. It did not work quite out of the box as /dev/uinput was not having correct ACL set. I fixed this by renaming 99-steam-controller-perms.rules to 60-steam-controller-perms.rules. I picked up somewhere on the inter-webs at some point that some changes in udev rule processing had adjusted where the processing of devices tagged uaccess was done and thus the steam controller rules needed to be defined sooner. So it might be worth updating the steam package to do that.

Anyway I have confirmed that my user has access to write to uinput:

$ getfacl /dev/uinput 
getfacl: Removing leading '/' from absolute path names
# file: dev/uinput
# owner: root
# group: root
user::rw-
user:magicmyth:rw-
group::rw-
mask::rw-
other::rw-

To make sure I also sudo chmod 666 /dev/uinput but this had no affect.

On launching Steam the controller will act in its desktop mode when Steam is in desktop mode and when in Big Picture it still works as expected. It is when I launch a game that input stops working.

I've tested SC-Controller and it works just fine there. I also disabled all Solus Steam Linux integration to no affect and I opted into the Steam beta to see if changes there made a difference but unfortunately not.

I tested an older unstable test build (linux-steam-integration-0.5-18-1-x86_64.eopkg) which had worked previously with the controller (at least as I recall over the Steam Link) to no avail. So it seems to be somewhere else in the recent updates.

I've attached the output of Steam with Solus integration enabled and LSI_DEBUG on.
steam-controller.log

That output is me simply starting Steam and launching Super Meat Boy which should switch the controller to standard gamepad mode. Looking at the logs Steam seems to think it is doing just that as it outputs Controller 0 Gamepad With Camera Controls uses xinput : true and with my past experience if it was the normal uinput write access issue it would mention the write issue but that is not happening here.

Note that message ioctl (SFEATURE): Broken pipe does not appear when I have LSI switched off.

liblsi-intercept crashes Steam streaming

Running Solus (up-to-date) Budgie install version and trying to stream a game from it to any client - tested both Steam Link and Steam Linux on other machines - causes the the host Steam to crash and restart. If I disable liblsi-intercept via the Linux Steam Integration tool then streaming works just fine.

To rule out it being a window manager issue I installed Kwin and Plasma and tried from there with compositing disabled but Steam still crashed the same way.

Steps to reproduce:

  • Enable liblsi-intercept.
  • Launch Steam on Solus.
  • Launch Steam (same Steam account) on any other client machine (or use a Steam Link).
  • On the client machine choose a game to stream from the Solus host and click Stream.
  • Steam crashes on Solus host.

I've attached the output of Steam to the console when causing the streaming crash:

Steam Interceptor Steam Link crash2.txt

I can upload the dmp generated as well if that would help?

My machine is a new Ryzen 5 1600, B350, Radeon R7 370 build with a fresh install of Solus.

Cannot browse to /opt/ to add library

Games that I want installed on my SSD I want to put in /opt/games/SteamLibrary, but I cannot browse to /opt/ when selecting a new library.

Ubuntu 16.04, LSI 0.7.2.

Implement snapd support

Basically we'll need to add a configure option that builds LSI as needing snapd support.

This will initially teach it to look at the $SNAP environmental variable to build all file paths
relative to it.

Right now that'll include a relative (not system-wide "packaging") of Steam, so looking at /usr is now out of the picture.

We'll also need to figure a nice way to build the LD_PRELOAD/LD_AUDIT paths based on the snapd root, perhaps something like:

LD_AUDIT=`/snap/linux-steam-integration/x1/\$LIB/liblsi-intercept.so

Given that we know we're going to be using Solus in the runtime, we can safely use /lib32 /lib64 relative to the base of the snap.

Additionally we might want to drop the derpy dependency on zenity and just implement our own error dialog.

Don't Starve (Together) fails to grab mouse control/events

As written in the title, both games

  • Don't Starve, and
  • Don't Starve Together

cannot be controlled with the mouse when started through lsi-steam.
The game seems to fail grabbing the mouse control completely. The cursor seems to be stuck at the bottom left-hand corner. I cannot move the cursor but I seem to be able to click on objects, as long as they overlap with the position where the cursor is stuck at.

I am using Archlinux and have installed linux-steam-integration through the AUR package linux-steam-integration

Using the normal steam package, both games succeed in grabbing mouse control/events.
I am not sure how to provide more information to help.

Usual system information:

Linux 4.13.11-1-ARCH #1 SMP PREEMPT Thu Nov 2 10:25:56 CET 2017 x86_64 GNU/Linux

Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  1
Core(s) per socket:  4
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               42
Model name:          Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz
Stepping:            7
CPU MHz:             3292.618
CPU max MHz:         3700.0000
CPU min MHz:         1600.0000
BogoMIPS:            6587.62
Virtualization:      VT-x
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            6144K
NUMA node0 CPU(s):   0-3
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat
                     pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx
                     rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl
                     xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 
                     monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1
                     sse4_2 popcnt tsc_deadline_timer aes xsave avx lahf_lm epb 
                     tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm ida arat pln 
                     pts

01:00.0 VGA compatible controller: NVIDIA Corporation GF114 [GeForce GTX 560 Ti] (rev a1)
                                   (prog-if 00 [VGA controller]) 
	Subsystem: eVga.com. Corp. GF114 [GeForce GTX 560 Ti] 
	Flags: bus master, fast devsel, latency 0, IRQ 31 
	Memory at f6000000 (32-bit, non-prefetchable) [size=32M] 
	Memory at e0000000 (64-bit, prefetchable) [size=128M] 
	Memory at ec000000 (64-bit, prefetchable) [size=64M] 
	I/O ports at cf00 [size=128] [virtual] E
	xpansion ROM at 000c0000 [disabled] [size=128K] 
	Capabilities: <access denied> 
	Kernel driver in use: nvidia 
	Kernel modules: nouveau, nvidia_drm, nvidia

Create bundling helpers

Create some helper pieces for bundled LSI installs to allow access to fonts, etc.

#deliberatelyvague

snapd: Sanity check NVIDIA drivers on shim entry

[01:25:01] <ikey> i can add a sanity test to LSI on entry too
[01:25:21] <ikey> i.e. if /var/lib/snapd/lib/gl/libGL.so.1 exists, but /var/lib/snapd/lib/gl/32/libGL.so.1 *doesn't* exist, start complaining
[01:25:30] <ikey> if we're 32-bit, complain that store wont work
[01:25:35] <ikey> if we're 64-bit - complain that nothing will work
[01:25:49] <ikey> instead of steams entirely unhelpful "libGL.so.1" error dialog

libbz2 is missing / can't load steamui

Hello, wanted to try LSI after watching this project since a long time.

Used Copr repo for Fedora, followed all instructions, and I have bz2 libs installed (32&64 bits).
However when I launch LSI Steam, it says that libbz2 is missing and that it can't load steamui.

I have Steam from RPMFusion, installed and used before trying LSI.
Client switched to beta version. Didn't try Negativo17 version but shouldn't be required.

Respect existing LD_PRELOAD

In master we currently overwrite LD_PRELOAD to use liblsi-redirect. Going forward, prior to release, we must merge existing LD_PRELOAD so that Simple Screen Recorders glinject works (and others)

undefined symbol: udev_new

This is probably an Arch related bug because of the udev shim they use.

When starting Game Dev Tycoon I get that undefined symbol from the console.

Nothing mutch to add for now.

Automatically scale the CPU

Bit of a "would be nice" request atm, but it would be good if we make use of a decent polkit policy and daemon to automatically adjust the CPU to a performance governer.

Additionally newer Feral Ports (such as F1 2017) will complain on startup when not using a performance governor - which is kinda irritating even if it is true.

Thus:

Have some kind of magic pony daemon that knows how many "connections" (live games) we have, and move into performance mode when loading games but not the Steam client, and restore it again when the last client is gone.

Logically we could spawn this from the shim in a fork and kill the daemon when the child steam process has exited, to ensure we always perform our cleanup. The ref count can be a very simple "i have a connected socket and I live in a registered Steam installation path"

Steam beta update

In latest steam beta update was introduced new runtime behaivor and steam now trying load system libraries by default. Also two new variables are there

  • Improved interactions between the Steam runtime and host distribution libraries, which should let Steam work out of the box with open-source graphics drivers on modern distributions. If using an older distribution or running into problems, use STEAM_RUNTIME_PREFER_HOST_LIBRARIES=0 to revert to previous behavior.
  • Unify close-to-tray behavior with other platforms. If using a distribution that doesn't have proper compatible tray support, use STEAM_FRAME_FORCE_CLOSE=0

So, can you make switches for this new functions? This would be very convenient

LSI opens different icon

I added LSI to my favorites and instead of opening on the existing icon it opens on a new one.

  • Ubuntu 17.10
  • Gnome 3.26.2
  • Dash to Panel extension

Made LSI icon black to distinguish the two:

error: cannot communicate with server

hi,
sudo snap install --edge solus-runtime-gaming gives this error error: cannot communicate with server: Post http://localhost/v2/snaps/solus-runtime-gaming: dial unix /run/snapd.socket: connect: no such file or directory

snap --version:
snap 2.30dev+171219+g5f5180e-1
snapd unavailable
series -

Feral options menu is all white when running from snapped LSI

Using Ubuntu 17.10
image

Tested on:

  • Dirt Rally
  • Middle-earth: Shadow of Mordor
  • Mad Max (vulkan beta)

This appears on the command line:

[1114/101734:ERROR:browser_main_loop.cc(170)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.
LaunchProcess: failed to execvp:
/media/slow-storage/john/SteamLibrary/steamapps/common/DiRT Rally/bin/DirtRally
LaunchProcess: failed to execvp:
/proc/self/exe

Could LSI be misinterpreted as cheating in games?

I know this is not a bug, but I was wondering if using LD_PRELOAD and other techniques could be misinterpreted as cheating in games. I think this is a real concern for people using LSI since some games have anti-cheat software's, and one could be blocked out of their own (usually payed) game. This should at least be clarified in the README page.

I know that some people were getting banned from games like Warcraft when playing with Wine, that's why I'm posting this issue.

Investigate GLES issue with swiftshader

Steam is trying to load its own libGLESv2.so for swiftshader, and failing quite spectacularly to do so.

[LSI:steamwebhelper]: debug: blacklisted loading of vendored library: /home/ufee1dead/.local/share/Steam/ubuntu12_64/swiftshader/libGLESv2.so
[1015/192432.518908:ERROR:gl_implementation.cc(246)] Failed to load /home/ufee1dead/.local/share/Steam/ubuntu12_64/swiftshader/libGLESv2.so: cannot open shared object file: No such file or directory

It would appear this is more dlopen than simple linking, which is why the blacklisting is borking it a bit.

Hyper Light Drifter crashes due to blacklisted libcurl

With liblsi-intercept enabled, the game Hyper Light Drifter crashes immediately because of libcurl.so.4 being black-listed. It works as expected if I turn off liblsi-intercept in lsi-settings.

Here's the part of the Steam log from launching the game (with LSI_DEBUG=1), and a full log is at https://pastebin.com/raw/2UqFCGm1

GameAction [AppID 257850, ActionID 1] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 257850, ActionID 1] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 257850, ActionID 1] : LaunchApp waiting for user response to CreatingProcess ""
GameAction[AppID 257850, ActionID 1] : LaunchApp continues with user response "CreatingProcess"
Opted-in Controller Mask: 2
Game update: AppID 257850 "Hyper Light Drifter", ProcID 4387, IP 0.0.0.0:0
ERROR: ld.so: object '/home/fourwood/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/fourwood/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/fourwood/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
[LSI:vendor_offender]: debug: blacklisted loading of vendored library: ./lib/libcurl.so.4
./HyperLightDrifter: /usr/lib32/libcurl.so.4: no version information available (required by ./HyperLightDrifter)
./HyperLightDrifter: symbol lookup error: /usr/lib32/libcurl.so.4: undefined symbol: SSL_CTX_set_alpn_protos
>>> Adding process 4387 for game ID 257850
GameAction [AppID 257850, ActionID 1] : LaunchApp changed task to WaitingGameWindow with ""
>>> Adding process 4388 for game ID 257850
GameAction [AppID 257850, ActionID 1] : LaunchApp changed task to Completed with ""
Game removed: AppID 257850 "Hyper Light Drifter", ProcID 4387 
No cached sticky mapping in ActivateActionSet.Installing breakpad exception handler for appid(steam)/version(1507938604)

I guess the SSL_CTX_set_alpn_protos() call it's missing is in OpenSSL. It should supposedly be in OpenSSL v1.0.2, which is what's in stable/Shannon, but I dunno, maybe it's shipping/linking to 1.1.0 or something.

meson fails

+ exec meson setup --prefix /usr --libdir /usr/lib --libexecdir /usr/lib --bindir /usr/bin --sbindir /usr/bin --includedir /usr/include --datadir /usr/share --mandir /usr/share/man --infodir /usr/share/info --localedir /usr/share/locale --sysconfdir /etc --localstatedir /var --sharedstatedir /var/lib --buildtype release --warnlevel 2 --wrap-mode nofallback linux-steam-integration-0.4 build -Dwith-shim=replacement -Dwith-frontend=true -Dwith-steam-binary=/usr/lib/steam/steam -D b_lto=true
The Meson build system
Version: 0.43.0
Source dir: /mnt/hdd/aur/maintained-packages/linux-steam-integration/src/linux-steam-integration-0.4
Build dir: /mnt/hdd/aur/maintained-packages/linux-steam-integration/src/build
Build type: native build

Meson encountered an error in file meson_options.txt, line 1, column 0:
Invalid kwargs for option "with-shim": "default"

A full log can be found at /mnt/hdd/aur/maintained-packages/linux-steam-integration/src/build/meson-logs/meson-log.txt

meson version is 0.43.0

Removing the default keyword plus value works

--- src/linux-steam-integration-0.4/meson_options.txt   2017-10-11 01:32:29.000000000 +0200
+++ meson_options.txt   2017-10-11 10:33:18.994398657 +0200
@@ -1,4 +1,4 @@
-option('with-shim', type : 'combo', choices : ['replacement', 'co-exist', 'none'], default: 'replacement',
+option('with-shim', type : 'combo', choices : ['replacement', 'co-exist', 'none'],
        description : 'control how the shim is deployed')
 option('with-steam-binary', type: 'string', description: 'Set the path to the Steam binary', value: '/usr/lib/steam/steam')
 option('with-frontend', type: 'boolean', description: 'Build the LSI Settings UI', value: false)

Mount snap "solus-runtime-gaming" (11) (info failed to parse: invalid snap type: "base")

So I tried to install LSI via snap but:

 leeo  ~  sudo snap install --edge solus-runtime-gaming
2017-12-30T12:59:21+01:00 INFO Waiting for restart...
error: cannot perform the following tasks:
- Mount snap "solus-runtime-gaming" (11) (info failed to parse: invalid snap type: "base")
 leeo  ~  sudo snap install --devmode --edge solus-runtime-gaming
[sudo] Mot de passe de leeo : 
2017-12-30T13:22:22+01:00 INFO Waiting for restart...
error: cannot perform the following tasks:
- Mount snap "solus-runtime-gaming" (11) (info failed to parse: invalid snap type: "base")

I tried on Arch Linux and Debian (Buster).

Dying Light not working via Arch AUR package, works via snap, problem with libc

Hi. I managed to get Dying Light to run via the snap package on Arch, but I was unable to get it running on the Arch AUR package due to a segmentation fault with libc. I feel this is because the snap package uses solus runtimes which include glibc, where the Arch package does not, and Arch's native glibc causes the crash. Rolling back the Arch package did not resolve the issue. I do realize this may be an issue related to Arch, and not this project, just posting in case there is some workaround. If not feel free to close. Dying Light does not play friendly with Arch's version of glibc. Error log:

{17:01:09.380} INFO: [INFO] > Caught signal 11 (Segmentation fault).
{17:01:09.382} INFO: [INFO] > /usr/lib/libc.so.6(+0x34920) [0x7f13d3090920]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.