mirror of
https://github.com/clearlinux/linux-steam-integration.git
synced 2026-09-06 22:01:27 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
378e68804c | ||
|
|
a52a6ad484 | ||
|
|
e104513e1d | ||
|
|
7aa6ceca74 | ||
|
|
5032054c3c | ||
|
|
c196764ba3 | ||
|
|
b5cdbb1c81 | ||
|
|
5543c98324 | ||
|
|
572f41c3c5 | ||
|
|
82512dece0 | ||
|
|
6d6fe3773e |
+21
-3
@@ -8,6 +8,13 @@ This project, and by extension Solus, is not officially endorsed by, or
|
||||
affiliated with, Steam*, or its parent company, Valve*.
|
||||
|
||||
|
||||
Linux Steam Integration (LSI) is a `Solus Project <https://github.com/solus-project/linux-steam-integration/issues/2>`_
|
||||
|
||||
.. image:: https://build.solus-project.com/logo.png
|
||||
:align: center
|
||||
:alt: LSI is a Solus Project
|
||||
|
||||
|
||||
Integrating LSI
|
||||
===============
|
||||
|
||||
@@ -81,7 +88,7 @@ must be ``[Steam]``.
|
||||
|
||||
``use-native-runtime = $boolean``
|
||||
|
||||
If set to a boolean value, (yes/true/on), the host OS's native runtime
|
||||
If set to a true boolean value, (yes/true/on), the host OS's native runtime
|
||||
will be used instead of the Steam provided runtime. If this is set to
|
||||
a false boolean value (no/false/off), then the startup will be modified
|
||||
to export the relevant ``LD_PRELOAD`` and ``STEAM_RUNTIME`` settings.
|
||||
@@ -90,7 +97,7 @@ must be ``[Steam]``.
|
||||
|
||||
``force-32bit = $boolean``
|
||||
|
||||
If set to a boolean value (yes/true/on), the shadowed Steam binary will
|
||||
If set to a true boolean value (yes/true/on), the shadowed Steam binary will
|
||||
be run via the ``linux32`` command. This will force the ``steam`` process
|
||||
and all children to believe they are running on a 32-bit system. This
|
||||
may be useful for 64-bit games that are buggy only on 64-bit.
|
||||
@@ -102,6 +109,17 @@ must be ``[Steam]``.
|
||||
The default value of this variable is ``false``.
|
||||
|
||||
|
||||
Common issues
|
||||
=============
|
||||
|
||||
**Missing tray icon for Steam client using native OS runtime**
|
||||
|
||||
Ensure you have the 32-bit version of libappindicator installed. This
|
||||
is required for the tray icon. libappindicator falls back to a standard
|
||||
X11 tray icon in the absence of desktop appindicator support.
|
||||
|
||||
Related issue: `Steam tray icon missing #2 <https://github.com/solus-project/linux-steam-integration/issues/2>`_
|
||||
|
||||
|
||||
License
|
||||
-------
|
||||
@@ -116,7 +134,7 @@ License
|
||||
main Steam* launcher.
|
||||
libnica is available under the terms of the `LGPL-2.1` license.
|
||||
|
||||
``src/shim``::
|
||||
``src/shim src/frontend``::
|
||||
|
||||
Copyright © 2016 Ikey Doherty
|
||||
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
LSI is still in its infancy, currently only at a 0.1 release. The time to
|
||||
release was dramatic due to an absolute requirement for non-broken Steam
|
||||
to accompany the Solus 1.2 release
|
||||
|
||||
Going forward, there are more items that need implementing to start shaving
|
||||
more rough edges off of Linux gaming.
|
||||
|
||||
Immediate LSI worklist:
|
||||
|
||||
- [x] Add configurable shim to replace /usr/bin/steam, relying on shadowed launcher
|
||||
- [x] Add super-basic UI to configure said shim
|
||||
- [x] Shove out a 0.1 for Solus 1.2
|
||||
- [ ] Replace existing /usr/bin/steam entirely and decouple the tight runtime logic
|
||||
that is currently enforced.
|
||||
- [ ] Remove requirement for steam.sh $bindir/steam entirely - allowing parallel clients.
|
||||
LSI becomes more self contained and no longer needs to prop up Steam, but replaces
|
||||
much of the support tools.
|
||||
- [ ] Replace the existing Steam "run.sh" style launch facilities
|
||||
- [ ] Get to a point that current ubuntu12_32 runtime is no longer required or
|
||||
wanted.
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
AC_INIT([linux-steam-integration], 0.1, [ikey@solus-project.com], [linux-steam-integration], [https://github.com/solus-project/linux-steam-integration/issues])
|
||||
AC_INIT([linux-steam-integration], 0.2, [ikey@solus-project.com], [linux-steam-integration], [https://github.com/solus-project/linux-steam-integration/issues])
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
AM_INIT_AUTOMAKE([-Wno-portability no-dist-gzip dist-xz foreign subdir-objects])
|
||||
AC_PROG_CC
|
||||
|
||||
+9
-9
@@ -41,15 +41,11 @@ int main(int argc, char **argv)
|
||||
GtkWidget *check_native = NULL;
|
||||
GtkWidget *check_emul32 = NULL;
|
||||
GtkWidget *label = NULL;
|
||||
GtkSettings *settings = NULL;
|
||||
int response = 0;
|
||||
bool is_x86_64 = lsi_system_is_64bit();
|
||||
LsiConfig lconfig = { 0 };
|
||||
|
||||
/*dialog = gtk_dialog_new_with_buttons("Linux Steam Integration", NULL, 0,
|
||||
"Apply", GTK_RESPONSE_ACCEPT,
|
||||
"Cancel",
|
||||
GTK_RESPONSE_REJECT,
|
||||
NULL);*/
|
||||
dialog = gtk_dialog_new();
|
||||
g_object_set(G_OBJECT(dialog),
|
||||
"title",
|
||||
@@ -58,18 +54,22 @@ int main(int argc, char **argv)
|
||||
"steam",
|
||||
NULL);
|
||||
|
||||
settings = gtk_settings_get_default();
|
||||
g_object_set(settings, "gtk-application-prefer-dark-theme", TRUE, NULL);
|
||||
|
||||
/* Sort out the buttons */
|
||||
(void)gtk_dialog_add_button(GTK_DIALOG(dialog), "Cancel", GTK_RESPONSE_REJECT);
|
||||
button = gtk_dialog_add_button(GTK_DIALOG(dialog), "OK", GTK_RESPONSE_ACCEPT);
|
||||
gtk_style_context_add_class(gtk_widget_get_style_context(button), "suggested-action");
|
||||
(void)gtk_dialog_add_button(GTK_DIALOG(dialog), "Cancel", GTK_RESPONSE_REJECT);
|
||||
|
||||
/* Pack the grid */
|
||||
grid = gtk_grid_new();
|
||||
gtk_grid_set_column_spacing(GTK_GRID(grid), 6);
|
||||
gtk_grid_set_row_spacing(GTK_GRID(grid), 6);
|
||||
gtk_grid_set_column_spacing(GTK_GRID(grid), 12);
|
||||
gtk_grid_set_row_spacing(GTK_GRID(grid), 12);
|
||||
|
||||
container = gtk_dialog_get_content_area(GTK_DIALOG(dialog));
|
||||
gtk_container_add(GTK_CONTAINER(container), grid);
|
||||
gtk_container_set_border_width(GTK_CONTAINER(container), 6);
|
||||
|
||||
/* Add a splash of colour. */
|
||||
image = gtk_image_new_from_icon_name("steam", GTK_ICON_SIZE_DIALOG);
|
||||
@@ -95,7 +95,7 @@ int main(int argc, char **argv)
|
||||
gtk_grid_attach(GTK_GRID(grid), check_native, 2, 1, 1, 1);
|
||||
|
||||
/* Handle the 32-bit cruft */
|
||||
label = gtk_label_new("Force 32-bit mode for Steam");
|
||||
label = gtk_label_new("Force 32-bit mode for Steam®");
|
||||
_align_label(label);
|
||||
if (is_x86_64) {
|
||||
gtk_widget_set_tooltip_text(label,
|
||||
|
||||
@@ -60,6 +60,10 @@ int main(int argc, char **argv)
|
||||
setenv("STEAM_RUNTIME", "1", 1);
|
||||
}
|
||||
|
||||
/* Vanilla dbus users suffer a segfault on Steam exit, due to incorrect
|
||||
* usage of dbus by Steam. Help them out */
|
||||
setenv("DBUS_FATAL_WARNINGS", "0", 1);
|
||||
|
||||
memset(&n_argv, 0, sizeof(char *) * (argc + 2));
|
||||
|
||||
/* If we're 64-bit and 32-bit is forced, proxy via linux32 */
|
||||
|
||||
Reference in New Issue
Block a user