These are my installation etc. notes for running Linux on my new Thinkpad P14s laptop with 32GB RAM, 1TB SDD and 8 Core, 16 Thread AMD CPU.
Here is what they quoted as the specs after I confirmed my order:
| ################################################################################ | |
| ########### 2024 July 03 - TLP P14s Gen 5 AMD by Sylvain POULAIN ############### | |
| ################################################################################ | |
| # Content of /etc/tlp.d/tlp.conf for P14s Gen 5 AMD | |
| # (Also works with T14 Gen 5 : same hardware, same motherboard) | |
| ################################################################################ | |
| # Complete harware list => https://linux-hardware.org/?probe=1c547a828f | |
| ################################################################################ | |
| # /!\ For better performance use "acpi.ec_no_wakeup=1" in Kernel option | |
| # https://patchwork.kernel.org/project/linux-acpi/patch/ZnFYpWHJ5Ml724Nv@ohnotp/ |
| ################################################################################ | |
| ########### 2025 June 29 - TLP P14s Gen 5 AMD by Sylvain POULAIN ############ | |
| ########### 2025: - Changed ondemand governor with reduced cpu freq ############ | |
| ########### - Removed Wifi powersaving causing bugs | |
| ################################################################################ | |
| # Content of /etc/tlp.d/99-tlp.conf for P14s Gen 5 AMD | |
| # (Also works with T14 Gen 5 : same hardware, same motherboard) | |
| ################################################################################ | |
| # Complete hardware list => https://linux-hardware.org/?probe=1c547a828f | |
| ################################################################################ |
This is surprisingly easy...basically following Arch Wiki:
https://wiki.archlinux.org/index.php/Howdy
After some investigation, here is step by step and preferences
If you install nvidia driver in elementary os (go to AppCenter and it's under updates as a Free app) the 4k screen works perfectly. If you disable the laptop screen you might need to fix the scaling with the gsettings command (see commands below)
https://jakob.soy/blog/2016/scale-elementary-os-hdpi/
https://elementaryos.stackexchange.com/questions/15591/command-to-enable-60hz-on-4k-display
| -Xmx2048m | |
| -Xss256k | |
| -XX:+UseG1GC | |
| -XX:InitiatingHeapOccupancyPercent=65 | |
| -XX:G1HeapRegionSize=16m | |
| -XX:MaxGCPauseMillis=100 |
See this issue.
Docker best practise to Control and configure Docker with systemd.
Create daemon.json file in /etc/docker:
{"hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]}
| # Base settings and GC logging | |
| -server -XX:+AlwaysPreTouch # First should be default, but we make it explicit, second pre-zeroes memory mapped pages on JVM startup -- improves runtime performance | |
| # -Xloggc:gc-%t.log # CUSTOMIZE LOCATION HERE - $path/gc-%t.log -- the %t in the gc log file path is so we get a new file with each JVM restart | |
| -XX:NumberOfGCLogFiles=5 -XX:+UseGCLogFileRotation -XX:GCLogFileSize=20m # Limits the number of files, logs to folder | |
| -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintHeapAtGC -XX:+PrintGCCause | |
| -XX:+PrintTenuringDistribution -XX:+PrintReferenceGC -XX:+PrintAdaptiveSizePolicy # gather info on object age & reference GC time for further tuning if needed. | |
| # G1 specific settings -- probably should be default for multi-core systems with >2 GB of heap (below that, default is probably fine) | |
| -XX:+UseG1GC | |
| -XX:+UseStringDeduplication |
| -server | |
| -Xms2g | |
| -Xmx2g | |
| -Xss16m | |
| -XX:+UseConcMarkSweepGC | |
| -XX:+CMSParallelRemarkEnabled | |
| -XX:ConcGCThreads=4 | |
| -XX:ReservedCodeCacheSize=128m | |
| -XX:+AlwaysPreTouch | |
| -XX:+TieredCompilation |