{"id":27760,"library":"g13-linux","title":"G13 Linux Driver","description":"A Linux driver for the Logitech G13 gamepad, providing macro support, RGB LED control, and LCD display management. Version 1.7.2 requires Python >=3.10. Release cadence is irregular; development on GitHub.","status":"active","version":"1.7.2","language":"python","source_language":"en","source_url":"https://github.com/AreteDriver/G13_Linux.git","tags":["logitech","g13","linux","driver","macro","rgb","lcd"],"install":[{"cmd":"pip install g13-linux","lang":"bash","label":"pip install"}],"dependencies":[{"reason":"USB communication with G13","package":"pyusb","optional":false},{"reason":"Image handling for LCD display","package":"Pillow","optional":true}],"imports":[{"note":"Module is 'g13_linux', not 'g13'","wrong":"import g13","symbol":"G13","correct":"from g13_linux import G13"},{"note":"Old import path removed in 1.6","wrong":"from g13.keys import KeyNames","symbol":"KeyNames","correct":"from g13_linux.keys import KeyNames"}],"quickstart":{"code":"import os\nimport time\nfrom g13_linux import G13\n\ng13 = G13()\ntry:\n    g13.connect()\n    print(\"Connected to G13\")\n    # Set LCD text\n    g13.lcd.set_text(\"Hello G13!\")\n    time.sleep(2)\nfinally:\n    g13.disconnect()","lang":"python","description":"Connects to G13, displays text on LCD, then disconnects."},"warnings":[{"fix":"Use 'from g13_linux import G13' instead of 'import g13'","message":"In v1.6, module name changed from 'g13' to 'g13_linux'. All imports must be updated.","severity":"breaking","affected_versions":">=1.6"},{"fix":"Use 'from g13_linux.keys import Key'","message":"The 'g13_linux.keys.KeyNames' class is deprecated in favor of 'g13_linux.keys.Key' in v1.7.","severity":"deprecated","affected_versions":"1.7.x"},{"fix":"Run with sudo or add a udev rule: SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"046d\", ATTRS{idProduct}==\"c299\", MODE=\"0660\", GROUP=\"plugdev\"","message":"You must run the script with root privileges (e.g., sudo) or set up udev rules, otherwise USB access fails with 'Permission denied'.","severity":"gotcha","affected_versions":"all"},{"fix":"Always call g13.disconnect() in a finally block.","message":"Disconnect properly using g13.disconnect() to release USB device; otherwise, subsequent connections may fail until device is re-plugged.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-09T00:00:00.000Z","next_check":"2026-08-07T00:00:00.000Z","problems":[{"fix":"Run with sudo or add udev rule for G13.","cause":"Script not running as root or missing udev rule.","error":"usb.core.USBError: [Errno 13] Access denied (insufficient permissions)"},{"fix":"Change import to 'from g13_linux import G13'.","cause":"Using old import path after upgrade to 1.6+.","error":"ModuleNotFoundError: No module named 'g13'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}